< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page

        

@@ -178,12 +178,16 @@
 
   // aliases defined in AARCH64 spec
 
   template<class T>
   inline void cmpw(Register Rd, T imm)  { subsw(zr, Rd, imm); }
-  // imm is limited to 12 bits.
-  inline void cmp(Register Rd, unsigned imm)  { subs(zr, Rd, imm); }
+
+  inline void cmp(Register Rd, unsigned char imm8)  { subs(zr, Rd, imm8); }
+  // imm is limited to 12 bits: 0<x<4096 or 4096<=x<2^24
+  inline void cmp_imm12(Register Rd, unsigned imm12)  { subs(zr, Rd, imm12); }
+
+  inline void cmp(Register Rd, Register Rn, unsigned imm32)  { subs(Rd, Rn, imm32); }
 
   inline void cmnw(Register Rd, unsigned imm) { addsw(zr, Rd, imm); }
   inline void cmn(Register Rd, unsigned imm) { adds(zr, Rd, imm); }
 
   void cset(Register Rd, Assembler::Condition cond) {
< prev index next >