src/hotspot/cpu/ppc/register_ppc.hpp
changeset 51777 9c6d5e31618e
parent 51711 3aafd7015d87
child 53244 9807daeb47c4
equal deleted inserted replaced
51776:925d79f56c05 51777:9c6d5e31618e
   239 #define CCR6 ((ConditionRegister)(CCR6_ConditionRegisterEnumValue))
   239 #define CCR6 ((ConditionRegister)(CCR6_ConditionRegisterEnumValue))
   240 #define CCR7 ((ConditionRegister)(CCR7_ConditionRegisterEnumValue))
   240 #define CCR7 ((ConditionRegister)(CCR7_ConditionRegisterEnumValue))
   241 
   241 
   242 #endif // DONT_USE_REGISTER_DEFINES
   242 #endif // DONT_USE_REGISTER_DEFINES
   243 
   243 
       
   244 // Forward declaration
       
   245 // Use VectorSRegister as a shortcut.
       
   246 class VectorSRegisterImpl;
       
   247 typedef VectorSRegisterImpl* VectorSRegister;
   244 
   248 
   245 // Use FloatRegister as shortcut
   249 // Use FloatRegister as shortcut
   246 class FloatRegisterImpl;
   250 class FloatRegisterImpl;
   247 typedef FloatRegisterImpl* FloatRegister;
   251 typedef FloatRegisterImpl* FloatRegister;
   248 
   252 
   268 
   272 
   269   // testers
   273   // testers
   270   bool is_valid() const { return (0 <= value() && value() < number_of_registers); }
   274   bool is_valid() const { return (0 <= value() && value() < number_of_registers); }
   271 
   275 
   272   const char* name() const;
   276   const char* name() const;
       
   277 
       
   278   // convert to VSR
       
   279   VectorSRegister to_vsr() const;
   273 };
   280 };
   274 
   281 
   275 // The float registers of the PPC architecture
   282 // The float registers of the PPC architecture
   276 CONSTANT_REGISTER_DECLARATION(FloatRegister, fnoreg, (-1));
   283 CONSTANT_REGISTER_DECLARATION(FloatRegister, fnoreg, (-1));
   277 
   284 
   395 typedef VectorRegisterImpl* VectorRegister;
   402 typedef VectorRegisterImpl* VectorRegister;
   396 
   403 
   397 inline VectorRegister as_VectorRegister(int encoding) {
   404 inline VectorRegister as_VectorRegister(int encoding) {
   398   return (VectorRegister)(intptr_t)encoding;
   405   return (VectorRegister)(intptr_t)encoding;
   399 }
   406 }
   400 
       
   401 // Forward declaration
       
   402 // Use VectorSRegister as a shortcut.
       
   403 class VectorSRegisterImpl;
       
   404 typedef VectorSRegisterImpl* VectorSRegister;
       
   405 
   407 
   406 // The implementation of vector registers for the Power architecture
   408 // The implementation of vector registers for the Power architecture
   407 class VectorRegisterImpl: public AbstractRegisterImpl {
   409 class VectorRegisterImpl: public AbstractRegisterImpl {
   408  public:
   410  public:
   409   enum {
   411   enum {