< prev index next >

src/hotspot/cpu/x86/assembler_x86.hpp

Print this page




1821 
1822   void setb(Condition cc, Register dst);
1823 
1824   void palignr(XMMRegister dst, XMMRegister src, int imm8);
1825   void vpalignr(XMMRegister dst, XMMRegister src1, XMMRegister src2, int imm8, int vector_len);
1826   void evalignq(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
1827 
1828   void pblendw(XMMRegister dst, XMMRegister src, int imm8);
1829 
1830   void sha1rnds4(XMMRegister dst, XMMRegister src, int imm8);
1831   void sha1nexte(XMMRegister dst, XMMRegister src);
1832   void sha1msg1(XMMRegister dst, XMMRegister src);
1833   void sha1msg2(XMMRegister dst, XMMRegister src);
1834   // xmm0 is implicit additional source to the following instruction.
1835   void sha256rnds2(XMMRegister dst, XMMRegister src);
1836   void sha256msg1(XMMRegister dst, XMMRegister src);
1837   void sha256msg2(XMMRegister dst, XMMRegister src);
1838 
1839   void shldl(Register dst, Register src);
1840   void shldl(Register dst, Register src, int8_t imm8);


1841 
1842   void shll(Register dst, int imm8);
1843   void shll(Register dst);
1844 
1845   void shlq(Register dst, int imm8);
1846   void shlq(Register dst);
1847 
1848   void shrdl(Register dst, Register src);
1849 
1850   void shrl(Register dst, int imm8);
1851   void shrl(Register dst);
1852 
1853   void shrq(Register dst, int imm8);
1854   void shrq(Register dst);
1855 
1856   void smovl(); // QQQ generic?
1857 
1858   // Compute Square Root of Scalar Double-Precision Floating-Point Value
1859   void sqrtsd(XMMRegister dst, Address src);
1860   void sqrtsd(XMMRegister dst, XMMRegister src);
1861 
1862   void roundsd(XMMRegister dst, Address src, int32_t rmode);
1863   void roundsd(XMMRegister dst, XMMRegister src, int32_t rmode);
1864 
1865   // Compute Square Root of Scalar Single-Precision Floating-Point Value
1866   void sqrtss(XMMRegister dst, Address src);
1867   void sqrtss(XMMRegister dst, XMMRegister src);
1868 
1869   void std();


2122   void vpsrld(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2123   void vpsrlq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2124   void vpsrlw(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2125   void vpsrld(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2126   void vpsrlq(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2127   void vpsrldq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2128   void evpsrlvw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2129   void evpsllvw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2130 
2131   // Arithmetic shift right packed integers (only shorts and ints, no instructions for longs)
2132   void psraw(XMMRegister dst, int shift);
2133   void psrad(XMMRegister dst, int shift);
2134   void psraw(XMMRegister dst, XMMRegister shift);
2135   void psrad(XMMRegister dst, XMMRegister shift);
2136   void vpsraw(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2137   void vpsrad(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2138   void vpsraw(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2139   void vpsrad(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2140   void evpsraq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2141   void evpsraq(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);



2142 
2143   // And packed integers
2144   void pand(XMMRegister dst, XMMRegister src);
2145   void vpand(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2146   void vpand(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
2147   void vpandq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2148 
2149   // Andn packed integers
2150   void pandn(XMMRegister dst, XMMRegister src);
2151   void vpandn(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2152 
2153   // Or packed integers
2154   void por(XMMRegister dst, XMMRegister src);
2155   void vpor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2156   void vpor(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
2157   void vporq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2158 
2159   // Xor packed integers
2160   void pxor(XMMRegister dst, XMMRegister src);
2161   void vpxor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);




1821 
1822   void setb(Condition cc, Register dst);
1823 
1824   void palignr(XMMRegister dst, XMMRegister src, int imm8);
1825   void vpalignr(XMMRegister dst, XMMRegister src1, XMMRegister src2, int imm8, int vector_len);
1826   void evalignq(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8);
1827 
1828   void pblendw(XMMRegister dst, XMMRegister src, int imm8);
1829 
1830   void sha1rnds4(XMMRegister dst, XMMRegister src, int imm8);
1831   void sha1nexte(XMMRegister dst, XMMRegister src);
1832   void sha1msg1(XMMRegister dst, XMMRegister src);
1833   void sha1msg2(XMMRegister dst, XMMRegister src);
1834   // xmm0 is implicit additional source to the following instruction.
1835   void sha256rnds2(XMMRegister dst, XMMRegister src);
1836   void sha256msg1(XMMRegister dst, XMMRegister src);
1837   void sha256msg2(XMMRegister dst, XMMRegister src);
1838 
1839   void shldl(Register dst, Register src);
1840   void shldl(Register dst, Register src, int8_t imm8);
1841   void shrdl(Register dst, Register src);
1842   void shrdl(Register dst, Register src, int8_t imm8);
1843 
1844   void shll(Register dst, int imm8);
1845   void shll(Register dst);
1846 
1847   void shlq(Register dst, int imm8);
1848   void shlq(Register dst);
1849 


1850   void shrl(Register dst, int imm8);
1851   void shrl(Register dst);
1852 
1853   void shrq(Register dst, int imm8);
1854   void shrq(Register dst);
1855 
1856   void smovl(); // QQQ generic?
1857 
1858   // Compute Square Root of Scalar Double-Precision Floating-Point Value
1859   void sqrtsd(XMMRegister dst, Address src);
1860   void sqrtsd(XMMRegister dst, XMMRegister src);
1861 
1862   void roundsd(XMMRegister dst, Address src, int32_t rmode);
1863   void roundsd(XMMRegister dst, XMMRegister src, int32_t rmode);
1864 
1865   // Compute Square Root of Scalar Single-Precision Floating-Point Value
1866   void sqrtss(XMMRegister dst, Address src);
1867   void sqrtss(XMMRegister dst, XMMRegister src);
1868 
1869   void std();


2122   void vpsrld(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2123   void vpsrlq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2124   void vpsrlw(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2125   void vpsrld(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2126   void vpsrlq(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2127   void vpsrldq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2128   void evpsrlvw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2129   void evpsllvw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2130 
2131   // Arithmetic shift right packed integers (only shorts and ints, no instructions for longs)
2132   void psraw(XMMRegister dst, int shift);
2133   void psrad(XMMRegister dst, int shift);
2134   void psraw(XMMRegister dst, XMMRegister shift);
2135   void psrad(XMMRegister dst, XMMRegister shift);
2136   void vpsraw(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2137   void vpsrad(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2138   void vpsraw(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2139   void vpsrad(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2140   void evpsraq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
2141   void evpsraq(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2142 
2143   void vpshldvd(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2144   void vpshrdvd(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
2145 
2146   // And packed integers
2147   void pand(XMMRegister dst, XMMRegister src);
2148   void vpand(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2149   void vpand(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
2150   void vpandq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2151 
2152   // Andn packed integers
2153   void pandn(XMMRegister dst, XMMRegister src);
2154   void vpandn(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2155 
2156   // Or packed integers
2157   void por(XMMRegister dst, XMMRegister src);
2158   void vpor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2159   void vpor(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
2160   void vporq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
2161 
2162   // Xor packed integers
2163   void pxor(XMMRegister dst, XMMRegister src);
2164   void vpxor(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);


< prev index next >