< prev index next >

src/hotspot/cpu/x86/assembler_x86.hpp

Print this page
rev 49190 : Add support for vector popcount


1621 
1622   void evpmovwb(Address dst, XMMRegister src, int vector_len);
1623   void evpmovwb(Address dst, KRegister mask, XMMRegister src, int vector_len);
1624 
1625 #ifndef _LP64 // no 32bit push/pop on amd64
1626   void popl(Address dst);
1627 #endif
1628 
1629 #ifdef _LP64
1630   void popq(Address dst);
1631 #endif
1632 
1633   void popcntl(Register dst, Address src);
1634   void popcntl(Register dst, Register src);
1635 
1636 #ifdef _LP64
1637   void popcntq(Register dst, Address src);
1638   void popcntq(Register dst, Register src);
1639 #endif
1640 



1641   // Prefetches (SSE, SSE2, 3DNOW only)
1642 
1643   void prefetchnta(Address src);
1644   void prefetchr(Address src);
1645   void prefetcht0(Address src);
1646   void prefetcht1(Address src);
1647   void prefetcht2(Address src);
1648   void prefetchw(Address src);
1649 
1650   // Shuffle Bytes
1651   void pshufb(XMMRegister dst, XMMRegister src);
1652   void pshufb(XMMRegister dst, Address src);
1653   void vpshufb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1654 
1655   // Shuffle Packed Doublewords
1656   void pshufd(XMMRegister dst, XMMRegister src, int mode);
1657   void pshufd(XMMRegister dst, Address src,     int mode);
1658   void vpshufd(XMMRegister dst, XMMRegister src, int mode, int vector_len);
1659 
1660   // Shuffle Packed Low Words




1621 
1622   void evpmovwb(Address dst, XMMRegister src, int vector_len);
1623   void evpmovwb(Address dst, KRegister mask, XMMRegister src, int vector_len);
1624 
1625 #ifndef _LP64 // no 32bit push/pop on amd64
1626   void popl(Address dst);
1627 #endif
1628 
1629 #ifdef _LP64
1630   void popq(Address dst);
1631 #endif
1632 
1633   void popcntl(Register dst, Address src);
1634   void popcntl(Register dst, Register src);
1635 
1636 #ifdef _LP64
1637   void popcntq(Register dst, Address src);
1638   void popcntq(Register dst, Register src);
1639 #endif
1640 
1641   void vpopcntd(XMMRegister dst, XMMRegister src, int vector_len);
1642   void vpopcntq(XMMRegister dst, XMMRegister src, int vector_len);
1643 
1644   // Prefetches (SSE, SSE2, 3DNOW only)
1645 
1646   void prefetchnta(Address src);
1647   void prefetchr(Address src);
1648   void prefetcht0(Address src);
1649   void prefetcht1(Address src);
1650   void prefetcht2(Address src);
1651   void prefetchw(Address src);
1652 
1653   // Shuffle Bytes
1654   void pshufb(XMMRegister dst, XMMRegister src);
1655   void pshufb(XMMRegister dst, Address src);
1656   void vpshufb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1657 
1658   // Shuffle Packed Doublewords
1659   void pshufd(XMMRegister dst, XMMRegister src, int mode);
1660   void pshufd(XMMRegister dst, Address src,     int mode);
1661   void vpshufd(XMMRegister dst, XMMRegister src, int mode, int vector_len);
1662 
1663   // Shuffle Packed Low Words


< prev index next >