1655 void sahf();
1656
1657 void sarl(Register dst, int imm8);
1658 void sarl(Register dst);
1659
1660 void sarq(Register dst, int imm8);
1661 void sarq(Register dst);
1662
1663 void sbbl(Address dst, int32_t imm32);
1664 void sbbl(Register dst, int32_t imm32);
1665 void sbbl(Register dst, Address src);
1666 void sbbl(Register dst, Register src);
1667
1668 void sbbq(Address dst, int32_t imm32);
1669 void sbbq(Register dst, int32_t imm32);
1670 void sbbq(Register dst, Address src);
1671 void sbbq(Register dst, Register src);
1672
1673 void setb(Condition cc, Register dst);
1674
1675 void shldl(Register dst, Register src);
1676 void shldl(Register dst, Register src, int8_t imm8);
1677
1678 void shll(Register dst, int imm8);
1679 void shll(Register dst);
1680
1681 void shlq(Register dst, int imm8);
1682 void shlq(Register dst);
1683
1684 void shrdl(Register dst, Register src);
1685
1686 void shrl(Register dst, int imm8);
1687 void shrl(Register dst);
1688
1689 void shrq(Register dst, int imm8);
1690 void shrq(Register dst);
1691
1692 void smovl(); // QQQ generic?
1693
1694 // Compute Square Root of Scalar Double-Precision Floating-Point Value
1851 void unpcklpd(XMMRegister dst, XMMRegister src);
1852
1853 // Bitwise Logical XOR of Packed Floating-Point Values
1854 void xorpd(XMMRegister dst, XMMRegister src);
1855 void xorps(XMMRegister dst, XMMRegister src);
1856 void vxorpd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1857 void vxorps(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1858 void vxorpd(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1859 void vxorps(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1860
1861 // Add horizontal packed integers
1862 void vphaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1863 void vphaddd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1864 void phaddw(XMMRegister dst, XMMRegister src);
1865 void phaddd(XMMRegister dst, XMMRegister src);
1866
1867 // Add packed integers
1868 void paddb(XMMRegister dst, XMMRegister src);
1869 void paddw(XMMRegister dst, XMMRegister src);
1870 void paddd(XMMRegister dst, XMMRegister src);
1871 void paddq(XMMRegister dst, XMMRegister src);
1872 void vpaddb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1873 void vpaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1874 void vpaddd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1875 void vpaddq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1876 void vpaddb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1877 void vpaddw(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1878 void vpaddd(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1879 void vpaddq(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1880
1881 // Sub packed integers
1882 void psubb(XMMRegister dst, XMMRegister src);
1883 void psubw(XMMRegister dst, XMMRegister src);
1884 void psubd(XMMRegister dst, XMMRegister src);
1885 void psubq(XMMRegister dst, XMMRegister src);
1886 void vpsubb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1887 void vpsubw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1888 void vpsubd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1889 void vpsubq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1890 void vpsubb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
|
1655 void sahf();
1656
1657 void sarl(Register dst, int imm8);
1658 void sarl(Register dst);
1659
1660 void sarq(Register dst, int imm8);
1661 void sarq(Register dst);
1662
1663 void sbbl(Address dst, int32_t imm32);
1664 void sbbl(Register dst, int32_t imm32);
1665 void sbbl(Register dst, Address src);
1666 void sbbl(Register dst, Register src);
1667
1668 void sbbq(Address dst, int32_t imm32);
1669 void sbbq(Register dst, int32_t imm32);
1670 void sbbq(Register dst, Address src);
1671 void sbbq(Register dst, Register src);
1672
1673 void setb(Condition cc, Register dst);
1674
1675 void palignr(XMMRegister dst, XMMRegister src, int imm8);
1676 void pblendw(XMMRegister dst, XMMRegister src, int imm8);
1677
1678 void sha1rnds4(XMMRegister dst, XMMRegister src, int imm8);
1679 void sha1nexte(XMMRegister dst, XMMRegister src);
1680 void sha1msg1(XMMRegister dst, XMMRegister src);
1681 void sha1msg2(XMMRegister dst, XMMRegister src);
1682 // xmm0 is implicit additional source to the following instruction.
1683 void sha256rnds2(XMMRegister dst, XMMRegister src);
1684 void sha256msg1(XMMRegister dst, XMMRegister src);
1685 void sha256msg2(XMMRegister dst, XMMRegister src);
1686
1687 void shldl(Register dst, Register src);
1688 void shldl(Register dst, Register src, int8_t imm8);
1689
1690 void shll(Register dst, int imm8);
1691 void shll(Register dst);
1692
1693 void shlq(Register dst, int imm8);
1694 void shlq(Register dst);
1695
1696 void shrdl(Register dst, Register src);
1697
1698 void shrl(Register dst, int imm8);
1699 void shrl(Register dst);
1700
1701 void shrq(Register dst, int imm8);
1702 void shrq(Register dst);
1703
1704 void smovl(); // QQQ generic?
1705
1706 // Compute Square Root of Scalar Double-Precision Floating-Point Value
1863 void unpcklpd(XMMRegister dst, XMMRegister src);
1864
1865 // Bitwise Logical XOR of Packed Floating-Point Values
1866 void xorpd(XMMRegister dst, XMMRegister src);
1867 void xorps(XMMRegister dst, XMMRegister src);
1868 void vxorpd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1869 void vxorps(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1870 void vxorpd(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1871 void vxorps(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1872
1873 // Add horizontal packed integers
1874 void vphaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1875 void vphaddd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1876 void phaddw(XMMRegister dst, XMMRegister src);
1877 void phaddd(XMMRegister dst, XMMRegister src);
1878
1879 // Add packed integers
1880 void paddb(XMMRegister dst, XMMRegister src);
1881 void paddw(XMMRegister dst, XMMRegister src);
1882 void paddd(XMMRegister dst, XMMRegister src);
1883 void paddd(XMMRegister dst, Address src);
1884 void paddq(XMMRegister dst, XMMRegister src);
1885 void vpaddb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1886 void vpaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1887 void vpaddd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1888 void vpaddq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1889 void vpaddb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1890 void vpaddw(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1891 void vpaddd(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1892 void vpaddq(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1893
1894 // Sub packed integers
1895 void psubb(XMMRegister dst, XMMRegister src);
1896 void psubw(XMMRegister dst, XMMRegister src);
1897 void psubd(XMMRegister dst, XMMRegister src);
1898 void psubq(XMMRegister dst, XMMRegister src);
1899 void vpsubb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1900 void vpsubw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1901 void vpsubd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1902 void vpsubq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1903 void vpsubb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
|