src/hotspot/cpu/ppc/register_ppc.hpp

Print this page




 446 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR14, (14));
 447 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR15, (15));
 448 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR16, (16));
 449 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR17, (17));
 450 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR18, (18));
 451 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR19, (19));
 452 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR20, (20));
 453 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR21, (21));
 454 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR22, (22));
 455 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR23, (23));
 456 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR24, (24));
 457 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR25, (25));
 458 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR26, (26));
 459 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR27, (27));
 460 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR28, (28));
 461 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR29, (29));
 462 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR30, (30));
 463 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR31, (31));
 464 
 465 #ifndef DONT_USE_REGISTER_DEFINES
 466 #define vnoreg ((VectorRegister)(vnoreg_VectorRegisterEnumValue))
 467 #define VR0    ((VectorRegister)(   VR0_VectorRegisterEnumValue))
 468 #define VR1    ((VectorRegister)(   VR1_VectorRegisterEnumValue))
 469 #define VR2    ((VectorRegister)(   VR2_VectorRegisterEnumValue))
 470 #define VR3    ((VectorRegister)(   VR3_VectorRegisterEnumValue))
 471 #define VR4    ((VectorRegister)(   VR4_VectorRegisterEnumValue))
 472 #define VR5    ((VectorRegister)(   VR5_VectorRegisterEnumValue))
 473 #define VR6    ((VectorRegister)(   VR6_VectorRegisterEnumValue))
 474 #define VR7    ((VectorRegister)(   VR7_VectorRegisterEnumValue))
 475 #define VR8    ((VectorRegister)(   VR8_VectorRegisterEnumValue))
 476 #define VR9    ((VectorRegister)(   VR9_VectorRegisterEnumValue))
 477 #define VR10   ((VectorRegister)(  VR10_VectorRegisterEnumValue))
 478 #define VR11   ((VectorRegister)(  VR11_VectorRegisterEnumValue))
 479 #define VR12   ((VectorRegister)(  VR12_VectorRegisterEnumValue))
 480 #define VR13   ((VectorRegister)(  VR13_VectorRegisterEnumValue))
 481 #define VR14   ((VectorRegister)(  VR14_VectorRegisterEnumValue))
 482 #define VR15   ((VectorRegister)(  VR15_VectorRegisterEnumValue))
 483 #define VR16   ((VectorRegister)(  VR16_VectorRegisterEnumValue))
 484 #define VR17   ((VectorRegister)(  VR17_VectorRegisterEnumValue))
 485 #define VR18   ((VectorRegister)(  VR18_VectorRegisterEnumValue))
 486 #define VR19   ((VectorRegister)(  VR19_VectorRegisterEnumValue))


 503   return (VectorSRegister)(intptr_t)encoding;
 504 }
 505 
 506 // The implementation of Vector-Scalar (VSX) registers on POWER architecture.
 507 class VectorSRegisterImpl: public AbstractRegisterImpl {
 508  public:
 509   enum {
 510     number_of_registers = 64
 511   };
 512 
 513   // construction
 514   inline friend VectorSRegister as_VectorSRegister(int encoding);
 515 
 516   // accessors
 517   int encoding() const { assert(is_valid(), "invalid register"); return value(); }
 518 
 519   // testers
 520   bool is_valid() const { return 0 <=  value() &&  value() < number_of_registers; }
 521 
 522   const char* name() const;



 523 };
 524 
 525 // The Vector-Scalar (VSX) registers of the POWER architecture.
 526 
 527 CONSTANT_REGISTER_DECLARATION(VectorSRegister, vsnoreg, (-1));
 528 
 529 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR0,  ( 0));
 530 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR1,  ( 1));
 531 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR2,  ( 2));
 532 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR3,  ( 3));
 533 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR4,  ( 4));
 534 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR5,  ( 5));
 535 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR6,  ( 6));
 536 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR7,  ( 7));
 537 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR8,  ( 8));
 538 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR9,  ( 9));
 539 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR10, (10));
 540 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR11, (11));
 541 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR12, (12));
 542 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR13, (13));




 446 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR14, (14));
 447 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR15, (15));
 448 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR16, (16));
 449 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR17, (17));
 450 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR18, (18));
 451 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR19, (19));
 452 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR20, (20));
 453 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR21, (21));
 454 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR22, (22));
 455 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR23, (23));
 456 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR24, (24));
 457 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR25, (25));
 458 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR26, (26));
 459 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR27, (27));
 460 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR28, (28));
 461 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR29, (29));
 462 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR30, (30));
 463 CONSTANT_REGISTER_DECLARATION(VectorRegister, VR31, (31));
 464 
 465 #ifndef DONT_USE_REGISTER_DEFINES
 466 #define vnoregi ((VectorRegister)(vnoreg_VectorRegisterEnumValue))
 467 #define VR0    ((VectorRegister)(   VR0_VectorRegisterEnumValue))
 468 #define VR1    ((VectorRegister)(   VR1_VectorRegisterEnumValue))
 469 #define VR2    ((VectorRegister)(   VR2_VectorRegisterEnumValue))
 470 #define VR3    ((VectorRegister)(   VR3_VectorRegisterEnumValue))
 471 #define VR4    ((VectorRegister)(   VR4_VectorRegisterEnumValue))
 472 #define VR5    ((VectorRegister)(   VR5_VectorRegisterEnumValue))
 473 #define VR6    ((VectorRegister)(   VR6_VectorRegisterEnumValue))
 474 #define VR7    ((VectorRegister)(   VR7_VectorRegisterEnumValue))
 475 #define VR8    ((VectorRegister)(   VR8_VectorRegisterEnumValue))
 476 #define VR9    ((VectorRegister)(   VR9_VectorRegisterEnumValue))
 477 #define VR10   ((VectorRegister)(  VR10_VectorRegisterEnumValue))
 478 #define VR11   ((VectorRegister)(  VR11_VectorRegisterEnumValue))
 479 #define VR12   ((VectorRegister)(  VR12_VectorRegisterEnumValue))
 480 #define VR13   ((VectorRegister)(  VR13_VectorRegisterEnumValue))
 481 #define VR14   ((VectorRegister)(  VR14_VectorRegisterEnumValue))
 482 #define VR15   ((VectorRegister)(  VR15_VectorRegisterEnumValue))
 483 #define VR16   ((VectorRegister)(  VR16_VectorRegisterEnumValue))
 484 #define VR17   ((VectorRegister)(  VR17_VectorRegisterEnumValue))
 485 #define VR18   ((VectorRegister)(  VR18_VectorRegisterEnumValue))
 486 #define VR19   ((VectorRegister)(  VR19_VectorRegisterEnumValue))


 503   return (VectorSRegister)(intptr_t)encoding;
 504 }
 505 
 506 // The implementation of Vector-Scalar (VSX) registers on POWER architecture.
 507 class VectorSRegisterImpl: public AbstractRegisterImpl {
 508  public:
 509   enum {
 510     number_of_registers = 64
 511   };
 512 
 513   // construction
 514   inline friend VectorSRegister as_VectorSRegister(int encoding);
 515 
 516   // accessors
 517   int encoding() const { assert(is_valid(), "invalid register"); return value(); }
 518 
 519   // testers
 520   bool is_valid() const { return 0 <=  value() &&  value() < number_of_registers; }
 521 
 522   const char* name() const;
 523 
 524   // convert to VR
 525   VectorRegister to_vr() const;
 526 };
 527 
 528 // The Vector-Scalar (VSX) registers of the POWER architecture.
 529 
 530 CONSTANT_REGISTER_DECLARATION(VectorSRegister, vsnoreg, (-1));
 531 
 532 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR0,  ( 0));
 533 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR1,  ( 1));
 534 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR2,  ( 2));
 535 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR3,  ( 3));
 536 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR4,  ( 4));
 537 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR5,  ( 5));
 538 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR6,  ( 6));
 539 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR7,  ( 7));
 540 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR8,  ( 8));
 541 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR9,  ( 9));
 542 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR10, (10));
 543 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR11, (11));
 544 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR12, (12));
 545 CONSTANT_REGISTER_DECLARATION(VectorSRegister, VSR13, (13));