< prev index next >

## src/cpu/x86/vm/assembler_x86.hpp

Print this page

    1458   void mulss(XMMRegister dst, XMMRegister src);
    1459
    1460   void negl(Register dst);
    1461
    1462 #ifdef _LP64
    1463   void negq(Register dst);
    1464 #endif
    1465
    1466   void nop(int i = 1);
    1467
    1468   void notl(Register dst);
    1469
    1470 #ifdef _LP64
    1471   void notq(Register dst);
    1472 #endif
    1473
    1474   void orl(Address dst, int32_t imm32);
    1475   void orl(Register dst, int32_t imm32);
    1476   void orl(Register dst, Address src);
    1477   void orl(Register dst, Register src);

    1478
    1479   void orq(Address dst, int32_t imm32);
    1480   void orq(Register dst, int32_t imm32);
    1481   void orq(Register dst, Address src);
    1482   void orq(Register dst, Register src);
    1483
    1484   // Pack with unsigned saturation
    1485   void packuswb(XMMRegister dst, XMMRegister src);
    1486   void packuswb(XMMRegister dst, Address src);
    1487   void vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, bool vector256);
    1488
    1489   // Pemutation of 64bit words
    1490   void vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256);
    1491
    1492   void pause();
    1493
    1494   // SSE4.2 string instructions
    1495   void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8);
    1496   void pcmpestri(XMMRegister xmm1, Address src, int imm8);
    1497
    1557   // Interleave Low Bytes
    1558   void punpcklbw(XMMRegister dst, XMMRegister src);
    1559   void punpcklbw(XMMRegister dst, Address src);
    1560
    1561   // Interleave Low Doublewords
    1562   void punpckldq(XMMRegister dst, XMMRegister src);
    1563   void punpckldq(XMMRegister dst, Address src);
    1564
    1565   // Interleave Low Quadwords
    1566   void punpcklqdq(XMMRegister dst, XMMRegister src);
    1567
    1568 #ifndef _LP64 // no 32bit push/pop on amd64
    1569   void pushl(Address src);
    1570 #endif
    1571
    1572   void pushq(Address src);
    1573
    1574   void rcll(Register dst, int imm8);
    1575
    1576   void rclq(Register dst, int imm8);

    1577
    1578   void rdtsc();
    1579
    1580   void ret(int imm16);
    1581
    1582 #ifdef _LP64
    1583   void rorq(Register dst, int imm8);
    1584   void rorxq(Register dst, Register src, int imm8);
    1585 #endif
    1586
    1587   void sahf();
    1588
    1589   void sarl(Register dst, int imm8);
    1590   void sarl(Register dst);
    1591
    1592   void sarq(Register dst, int imm8);
    1593   void sarq(Register dst);
    1594
    1595   void sbbl(Address dst, int32_t imm32);
    1596   void sbbl(Register dst, int32_t imm32);
    1458   void mulss(XMMRegister dst, XMMRegister src);
    1459
    1460   void negl(Register dst);
    1461
    1462 #ifdef _LP64
    1463   void negq(Register dst);
    1464 #endif
    1465
    1466   void nop(int i = 1);
    1467
    1468   void notl(Register dst);
    1469
    1470 #ifdef _LP64
    1471   void notq(Register dst);
    1472 #endif
    1473
    1474   void orl(Address dst, int32_t imm32);
    1475   void orl(Register dst, int32_t imm32);
    1476   void orl(Register dst, Address src);
    1477   void orl(Register dst, Register src);
    1478   void orl(Address dst, Register src);
    1479
    1480   void orq(Address dst, int32_t imm32);
    1481   void orq(Register dst, int32_t imm32);
    1482   void orq(Register dst, Address src);
    1483   void orq(Register dst, Register src);
    1484
    1485   // Pack with unsigned saturation
    1486   void packuswb(XMMRegister dst, XMMRegister src);
    1487   void packuswb(XMMRegister dst, Address src);
    1488   void vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, bool vector256);
    1489
    1490   // Pemutation of 64bit words
    1491   void vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256);
    1492
    1493   void pause();
    1494
    1495   // SSE4.2 string instructions
    1496   void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8);
    1497   void pcmpestri(XMMRegister xmm1, Address src, int imm8);
    1498
    1558   // Interleave Low Bytes
    1559   void punpcklbw(XMMRegister dst, XMMRegister src);
    1560   void punpcklbw(XMMRegister dst, Address src);
    1561
    1562   // Interleave Low Doublewords
    1563   void punpckldq(XMMRegister dst, XMMRegister src);
    1564   void punpckldq(XMMRegister dst, Address src);
    1565
    1566   // Interleave Low Quadwords
    1567   void punpcklqdq(XMMRegister dst, XMMRegister src);
    1568
    1569 #ifndef _LP64 // no 32bit push/pop on amd64
    1570   void pushl(Address src);
    1571 #endif
    1572
    1573   void pushq(Address src);
    1574
    1575   void rcll(Register dst, int imm8);
    1576
    1577   void rclq(Register dst, int imm8);
    1578
    1579   void rcrq(Register dst, int imm8);
    1580
    1581   void rdtsc();
    1582
    1583   void ret(int imm16);
    1584
    1585 #ifdef _LP64
    1586   void rorq(Register dst, int imm8);
    1587   void rorxq(Register dst, Register src, int imm8);
    1588 #endif
    1589
    1590   void sahf();
    1591
    1592   void sarl(Register dst, int imm8);
    1593   void sarl(Register dst);
    1594
    1595   void sarq(Register dst, int imm8);
    1596   void sarq(Register dst);
    1597
    1598   void sbbl(Address dst, int32_t imm32);
    1599   void sbbl(Register dst, int32_t imm32);

< prev index next >