< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.aarch64/src/jdk/vm/ci/aarch64/AArch64.java

Print this page
rev 12320 : 8170106: AArch64: Multiple JVMCI issues
Reviewed-by: rschatz


  67     public static final Register r24 = new Register(24, 24, "r24", CPU);
  68     public static final Register r25 = new Register(25, 25, "r25", CPU);
  69     public static final Register r26 = new Register(26, 26, "r26", CPU);
  70     public static final Register r27 = new Register(27, 27, "r27", CPU);
  71     public static final Register r28 = new Register(28, 28, "r28", CPU);
  72     public static final Register r29 = new Register(29, 29, "r29", CPU);
  73     public static final Register r30 = new Register(30, 30, "r30", CPU);
  74 
  75     /*
  76      * r31 is not a general purpose register, but represents either the stackpointer or the
  77      * zero/discard register depending on the instruction. So we represent those two uses as two
  78      * different registers. The register numbers are kept in sync with register_aarch64.hpp and have
  79      * to be sequential, hence we also need a general r31 register here, which is never used.
  80      */
  81     public static final Register r31 = new Register(31, 31, "r31", CPU);
  82     public static final Register zr = new Register(32, 31, "zr", CPU);
  83     public static final Register sp = new Register(33, 31, "sp", CPU);
  84 
  85     public static final Register lr = r30;
  86 




  87     // @formatter:off
  88     public static final RegisterArray cpuRegisters = new RegisterArray(
  89         r0,  r1,  r2,  r3,  r4,  r5,  r6,  r7,
  90         r8,  r9,  r10, r11, r12, r13, r14, r15,
  91         r16, r17, r18, r19, r20, r21, r22, r23,
  92         r24, r25, r26, r27, r28, r29, r30, r31,
  93         zr,  sp
  94     );
  95     // @formatter:on
  96 
  97     public static final RegisterCategory SIMD = new RegisterCategory("SIMD");
  98 
  99     // Simd registers
 100     public static final Register v0 = new Register(34, 0, "v0", SIMD);
 101     public static final Register v1 = new Register(35, 1, "v1", SIMD);
 102     public static final Register v2 = new Register(36, 2, "v2", SIMD);
 103     public static final Register v3 = new Register(37, 3, "v3", SIMD);
 104     public static final Register v4 = new Register(38, 4, "v4", SIMD);
 105     public static final Register v5 = new Register(39, 5, "v5", SIMD);
 106     public static final Register v6 = new Register(40, 6, "v6", SIMD);




  67     public static final Register r24 = new Register(24, 24, "r24", CPU);
  68     public static final Register r25 = new Register(25, 25, "r25", CPU);
  69     public static final Register r26 = new Register(26, 26, "r26", CPU);
  70     public static final Register r27 = new Register(27, 27, "r27", CPU);
  71     public static final Register r28 = new Register(28, 28, "r28", CPU);
  72     public static final Register r29 = new Register(29, 29, "r29", CPU);
  73     public static final Register r30 = new Register(30, 30, "r30", CPU);
  74 
  75     /*
  76      * r31 is not a general purpose register, but represents either the stackpointer or the
  77      * zero/discard register depending on the instruction. So we represent those two uses as two
  78      * different registers. The register numbers are kept in sync with register_aarch64.hpp and have
  79      * to be sequential, hence we also need a general r31 register here, which is never used.
  80      */
  81     public static final Register r31 = new Register(31, 31, "r31", CPU);
  82     public static final Register zr = new Register(32, 31, "zr", CPU);
  83     public static final Register sp = new Register(33, 31, "sp", CPU);
  84 
  85     public static final Register lr = r30;
  86 
  87     // Used by runtime code: cannot be compiler-allocated.
  88     public static final Register rscratch1 = r8;
  89     public static final Register rscratch2 = r9;
  90 
  91     // @formatter:off
  92     public static final RegisterArray cpuRegisters = new RegisterArray(
  93         r0,  r1,  r2,  r3,  r4,  r5,  r6,  r7,
  94         r8,  r9,  r10, r11, r12, r13, r14, r15,
  95         r16, r17, r18, r19, r20, r21, r22, r23,
  96         r24, r25, r26, r27, r28, r29, r30, r31,
  97         zr,  sp
  98     );
  99     // @formatter:on
 100 
 101     public static final RegisterCategory SIMD = new RegisterCategory("SIMD");
 102 
 103     // Simd registers
 104     public static final Register v0 = new Register(34, 0, "v0", SIMD);
 105     public static final Register v1 = new Register(35, 1, "v1", SIMD);
 106     public static final Register v2 = new Register(36, 2, "v2", SIMD);
 107     public static final Register v3 = new Register(37, 3, "v3", SIMD);
 108     public static final Register v4 = new Register(38, 4, "v4", SIMD);
 109     public static final Register v5 = new Register(39, 5, "v5", SIMD);
 110     public static final Register v6 = new Register(40, 6, "v6", SIMD);


< prev index next >