< prev index next >

src/cpu/aarch64/vm/register_aarch64.hpp

Print this page
rev 8393 : 8079565: aarch64: Add vectorization support for aarch64
Summary: Add vectorization support
Reviewed-by: duke


 169 CONSTANT_REGISTER_DECLARATION(FloatRegister, v24    , (24));
 170 CONSTANT_REGISTER_DECLARATION(FloatRegister, v25    , (25));
 171 CONSTANT_REGISTER_DECLARATION(FloatRegister, v26    , (26));
 172 CONSTANT_REGISTER_DECLARATION(FloatRegister, v27    , (27));
 173 CONSTANT_REGISTER_DECLARATION(FloatRegister, v28    , (28));
 174 CONSTANT_REGISTER_DECLARATION(FloatRegister, v29    , (29));
 175 CONSTANT_REGISTER_DECLARATION(FloatRegister, v30    , (30));
 176 CONSTANT_REGISTER_DECLARATION(FloatRegister, v31    , (31));
 177 
 178 // Need to know the total number of registers of all sorts for SharedInfo.
 179 // Define a class that exports it.
 180 class ConcreteRegisterImpl : public AbstractRegisterImpl {
 181  public:
 182   enum {
 183   // A big enough number for C2: all the registers plus flags
 184   // This number must be large enough to cover REG_COUNT (defined by c2) registers.
 185   // There is no requirement that any ordering here matches any ordering c2 gives
 186   // it's optoregs.
 187 
 188     number_of_registers = (2 * RegisterImpl::number_of_registers +
 189                            2 * FloatRegisterImpl::number_of_registers +
 190                            1) // flags
 191   };
 192 
 193   // added to make it compile
 194   static const int max_gpr;
 195   static const int max_fpr;
 196 };
 197 
 198 // A set of registers
 199 class RegSet {
 200   uint32_t _bitset;
 201 
 202   RegSet(uint32_t bitset) : _bitset(bitset) { }
 203 
 204 public:
 205 
 206   RegSet() : _bitset(0) { }
 207 
 208   RegSet(Register r1) : _bitset(r1->bit()) { }
 209 




 169 CONSTANT_REGISTER_DECLARATION(FloatRegister, v24    , (24));
 170 CONSTANT_REGISTER_DECLARATION(FloatRegister, v25    , (25));
 171 CONSTANT_REGISTER_DECLARATION(FloatRegister, v26    , (26));
 172 CONSTANT_REGISTER_DECLARATION(FloatRegister, v27    , (27));
 173 CONSTANT_REGISTER_DECLARATION(FloatRegister, v28    , (28));
 174 CONSTANT_REGISTER_DECLARATION(FloatRegister, v29    , (29));
 175 CONSTANT_REGISTER_DECLARATION(FloatRegister, v30    , (30));
 176 CONSTANT_REGISTER_DECLARATION(FloatRegister, v31    , (31));
 177 
 178 // Need to know the total number of registers of all sorts for SharedInfo.
 179 // Define a class that exports it.
 180 class ConcreteRegisterImpl : public AbstractRegisterImpl {
 181  public:
 182   enum {
 183   // A big enough number for C2: all the registers plus flags
 184   // This number must be large enough to cover REG_COUNT (defined by c2) registers.
 185   // There is no requirement that any ordering here matches any ordering c2 gives
 186   // it's optoregs.
 187 
 188     number_of_registers = (2 * RegisterImpl::number_of_registers +
 189                            4 * FloatRegisterImpl::number_of_registers +
 190                            1) // flags
 191   };
 192 
 193   // added to make it compile
 194   static const int max_gpr;
 195   static const int max_fpr;
 196 };
 197 
 198 // A set of registers
 199 class RegSet {
 200   uint32_t _bitset;
 201 
 202   RegSet(uint32_t bitset) : _bitset(bitset) { }
 203 
 204 public:
 205 
 206   RegSet() : _bitset(0) { }
 207 
 208   RegSet(Register r1) : _bitset(r1->bit()) { }
 209 


< prev index next >