src/cpu/x86/vm/assembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8055494 Cdiff src/cpu/x86/vm/assembler_x86.hpp

src/cpu/x86/vm/assembler_x86.hpp

Print this page

        

*** 886,895 **** --- 886,903 ---- void addq(Address dst, Register src); void addq(Register dst, int32_t imm32); void addq(Register dst, Address src); void addq(Register dst, Register src); + #ifdef _LP64 + //Add Unsigned Integers with Carry Flag + void adcxq(Register dst, Register src); + + //Add Unsigned Integers with Overflow Flag + void adoxq(Register dst, Register src); + #endif + void addr_nop_4(); void addr_nop_5(); void addr_nop_7(); void addr_nop_8();
*** 1202,1224 **** void hlt(); void idivl(Register src); void divl(Register src); // Unsigned division void idivq(Register src); void imull(Register dst, Register src); void imull(Register dst, Register src, int value); void imull(Register dst, Address src); void imulq(Register dst, Register src); void imulq(Register dst, Register src, int value); - #ifdef _LP64 void imulq(Register dst, Address src); #endif - // jcc is the generic conditional branch generator to run- // time routines, jcc is used for branches to labels. jcc // takes a branch opcode (cc) and a label (L) and generates // either a backward branch or a forward branch and links it // to the label fixup chain. Usage: --- 1210,1233 ---- void hlt(); void idivl(Register src); void divl(Register src); // Unsigned division + #ifdef _LP64 void idivq(Register src); + #endif void imull(Register dst, Register src); void imull(Register dst, Register src, int value); void imull(Register dst, Address src); + #ifdef _LP64 void imulq(Register dst, Register src); void imulq(Register dst, Register src, int value); void imulq(Register dst, Address src); #endif // jcc is the generic conditional branch generator to run- // time routines, jcc is used for branches to labels. jcc // takes a branch opcode (cc) and a label (L) and generates // either a backward branch or a forward branch and links it // to the label fixup chain. Usage:
*** 1406,1418 **** --- 1415,1434 ---- #ifdef _LP64 void movzwq(Register dst, Address src); void movzwq(Register dst, Register src); #endif + // Unsigned multiply with RAX destination register void mull(Address src); void mull(Register src); + #ifdef _LP64 + void mulq(Address src); + void mulq(Register src); + void mulxq(Register dst1, Register dst2, Register src); + #endif + // Multiply Scalar Double-Precision Floating-Point Values void mulsd(XMMRegister dst, Address src); void mulsd(XMMRegister dst, XMMRegister src); // Multiply Scalar Single-Precision Floating-Point Values
*** 1539,1548 **** --- 1555,1569 ---- void rdtsc(); void ret(int imm16); + #ifdef _LP64 + void rorq(Register dst, int imm8); + void rorxq(Register dst, Register src, int imm8); + #endif + void sahf(); void sarl(Register dst, int imm8); void sarl(Register dst);
src/cpu/x86/vm/assembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File