< prev index next >

src/cpu/x86/vm/assembler_x86.hpp

Print this page

        

@@ -502,11 +502,12 @@
     REX_WRX    = 0x4E,
     REX_WRXB   = 0x4F,
 
     VEX_3bytes = 0xC4,
     VEX_2bytes = 0xC5,
-    EVEX_4bytes = 0x62
+    EVEX_4bytes = 0x62,
+    Prefix_EMPTY = 0x0
   };
 
   enum VexPrefix {
     VEX_B = 0x20,
     VEX_X = 0x40,

@@ -606,10 +607,12 @@
 
   int prefix_and_encode(int dst_enc, int src_enc, bool byteinst = false);
   int prefixq_and_encode(int dst_enc, int src_enc);
 
   void prefix(Register reg);
+  void prefix(Register dst, Register src, Prefix p);
+  void prefix(Register dst, Address adr, Prefix p);
   void prefix(Address adr);
   void prefixq(Address adr);
 
   void prefix(Address adr, Register reg,  bool byteinst = false);
   void prefix(Address adr, XMMRegister reg);

@@ -1163,10 +1166,14 @@
   void comiss(XMMRegister dst, XMMRegister src);
 
   // Identify processor type and features
   void cpuid();
 
+  // CRC32C
+  void crc32(Register crc, Register v, int8_t sizeInBytes);
+  void crc32(Register crc, Address adr, int8_t sizeInBytes);
+
   // Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Precision Floating-Point Value
   void cvtsd2ss(XMMRegister dst, XMMRegister src);
   void cvtsd2ss(XMMRegister dst, Address src);
 
   // Convert Doubleword Integer to Scalar Double-Precision Floating-Point Value

@@ -1762,10 +1769,11 @@
   void sbbq(Register dst, Register src);
 
   void setb(Condition cc, Register dst);
 
   void shldl(Register dst, Register src);
+  void shldl(Register dst, Register src, int8_t imm8);
 
   void shll(Register dst, int imm8);
   void shll(Register dst);
 
   void shlq(Register dst, int imm8);
< prev index next >