< prev index next >
src/cpu/x86/vm/assembler_x86.hpp
Print this page
*** 502,512 ****
REX_WRX = 0x4E,
REX_WRXB = 0x4F,
VEX_3bytes = 0xC4,
VEX_2bytes = 0xC5,
! EVEX_4bytes = 0x62
};
enum VexPrefix {
VEX_B = 0x20,
VEX_X = 0x40,
--- 502,513 ----
REX_WRX = 0x4E,
REX_WRXB = 0x4F,
VEX_3bytes = 0xC4,
VEX_2bytes = 0xC5,
! EVEX_4bytes = 0x62,
! Prefix_EMPTY = 0x0
};
enum VexPrefix {
VEX_B = 0x20,
VEX_X = 0x40,
*** 606,615 ****
--- 607,618 ----
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,1172 ****
--- 1166,1179 ----
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,1771 ****
--- 1769,1779 ----
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 >