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