Mercurial > hg > truffle
comparison src/cpu/x86/vm/assembler_x86.hpp @ 17780:606acabe7b5c
8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
author | kvn |
---|---|
date | Thu, 20 Mar 2014 17:49:27 -0700 |
parents | 8a8ff6b577ed |
children | 52b4284cb496 b1bc1af04c6e |
comparison
equal
deleted
inserted
replaced
17778:a48e16541e6b | 17780:606acabe7b5c |
---|---|
1449 void vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, bool vector256); | 1449 void vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, bool vector256); |
1450 | 1450 |
1451 // Pemutation of 64bit words | 1451 // Pemutation of 64bit words |
1452 void vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256); | 1452 void vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256); |
1453 | 1453 |
1454 void pause(); | |
1455 | |
1454 // SSE4.2 string instructions | 1456 // SSE4.2 string instructions |
1455 void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8); | 1457 void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8); |
1456 void pcmpestri(XMMRegister xmm1, Address src, int imm8); | 1458 void pcmpestri(XMMRegister xmm1, Address src, int imm8); |
1457 | 1459 |
1458 // SSE 4.1 extract | 1460 // SSE 4.1 extract |
1533 | 1535 |
1534 void rcll(Register dst, int imm8); | 1536 void rcll(Register dst, int imm8); |
1535 | 1537 |
1536 void rclq(Register dst, int imm8); | 1538 void rclq(Register dst, int imm8); |
1537 | 1539 |
1540 void rdtsc(); | |
1541 | |
1538 void ret(int imm16); | 1542 void ret(int imm16); |
1539 | 1543 |
1540 void sahf(); | 1544 void sahf(); |
1541 | 1545 |
1542 void sarl(Register dst, int imm8); | 1546 void sarl(Register dst, int imm8); |
1630 | 1634 |
1631 // Unordered Compare Scalar Single-Precision Floating-Point Values and set EFLAGS | 1635 // Unordered Compare Scalar Single-Precision Floating-Point Values and set EFLAGS |
1632 void ucomiss(XMMRegister dst, Address src); | 1636 void ucomiss(XMMRegister dst, Address src); |
1633 void ucomiss(XMMRegister dst, XMMRegister src); | 1637 void ucomiss(XMMRegister dst, XMMRegister src); |
1634 | 1638 |
1639 void xabort(int8_t imm8); | |
1640 | |
1635 void xaddl(Address dst, Register src); | 1641 void xaddl(Address dst, Register src); |
1636 | 1642 |
1637 void xaddq(Address dst, Register src); | 1643 void xaddq(Address dst, Register src); |
1644 | |
1645 void xbegin(Label& abort, relocInfo::relocType rtype = relocInfo::none); | |
1638 | 1646 |
1639 void xchgl(Register reg, Address adr); | 1647 void xchgl(Register reg, Address adr); |
1640 void xchgl(Register dst, Register src); | 1648 void xchgl(Register dst, Register src); |
1641 | 1649 |
1642 void xchgq(Register reg, Address adr); | 1650 void xchgq(Register reg, Address adr); |
1643 void xchgq(Register dst, Register src); | 1651 void xchgq(Register dst, Register src); |
1652 | |
1653 void xend(); | |
1644 | 1654 |
1645 // Get Value of Extended Control Register | 1655 // Get Value of Extended Control Register |
1646 void xgetbv(); | 1656 void xgetbv(); |
1647 | 1657 |
1648 void xorl(Register dst, int32_t imm32); | 1658 void xorl(Register dst, int32_t imm32); |