864 void rep_mov();
865 void rep_stos();
866 void rep_stosb();
867 void repne_scan();
868 #ifdef _LP64
869 void repne_scanl();
870 #endif
871
872 // Vanilla instructions in lexical order
873
874 void adcl(Address dst, int32_t imm32);
875 void adcl(Address dst, Register src);
876 void adcl(Register dst, int32_t imm32);
877 void adcl(Register dst, Address src);
878 void adcl(Register dst, Register src);
879
880 void adcq(Register dst, int32_t imm32);
881 void adcq(Register dst, Address src);
882 void adcq(Register dst, Register src);
883
884 void addl(Address dst, int32_t imm32);
885 void addl(Address dst, Register src);
886 void addl(Register dst, int32_t imm32);
887 void addl(Register dst, Address src);
888 void addl(Register dst, Register src);
889
890 void addq(Address dst, int32_t imm32);
891 void addq(Address dst, Register src);
892 void addq(Register dst, int32_t imm32);
893 void addq(Register dst, Address src);
894 void addq(Register dst, Register src);
895
896 #ifdef _LP64
897 //Add Unsigned Integers with Carry Flag
898 void adcxq(Register dst, Register src);
899
900 //Add Unsigned Integers with Overflow Flag
901 void adoxq(Register dst, Register src);
902 #endif
903
1799 void testl(Register dst, Register src);
1800 void testl(Register dst, Address src);
1801
1802 void testq(Register dst, int32_t imm32);
1803 void testq(Register dst, Register src);
1804
1805 // BMI - count trailing zeros
1806 void tzcntl(Register dst, Register src);
1807 void tzcntq(Register dst, Register src);
1808
1809 // Unordered Compare Scalar Double-Precision Floating-Point Values and set EFLAGS
1810 void ucomisd(XMMRegister dst, Address src);
1811 void ucomisd(XMMRegister dst, XMMRegister src);
1812
1813 // Unordered Compare Scalar Single-Precision Floating-Point Values and set EFLAGS
1814 void ucomiss(XMMRegister dst, Address src);
1815 void ucomiss(XMMRegister dst, XMMRegister src);
1816
1817 void xabort(int8_t imm8);
1818
1819 void xaddl(Address dst, Register src);
1820
1821 void xaddq(Address dst, Register src);
1822
1823 void xbegin(Label& abort, relocInfo::relocType rtype = relocInfo::none);
1824
1825 void xchgl(Register reg, Address adr);
1826 void xchgl(Register dst, Register src);
1827
1828 void xchgq(Register reg, Address adr);
1829 void xchgq(Register dst, Register src);
1830
1831 void xend();
1832
1833 // Get Value of Extended Control Register
1834 void xgetbv();
1835
1836 void xorl(Register dst, int32_t imm32);
1837 void xorl(Register dst, Address src);
1838 void xorl(Register dst, Register src);
1839
1840 void xorb(Register dst, Address src);
1841
1842 void xorq(Register dst, Address src);
1843 void xorq(Register dst, Register src);
1844
|
864 void rep_mov();
865 void rep_stos();
866 void rep_stosb();
867 void repne_scan();
868 #ifdef _LP64
869 void repne_scanl();
870 #endif
871
872 // Vanilla instructions in lexical order
873
874 void adcl(Address dst, int32_t imm32);
875 void adcl(Address dst, Register src);
876 void adcl(Register dst, int32_t imm32);
877 void adcl(Register dst, Address src);
878 void adcl(Register dst, Register src);
879
880 void adcq(Register dst, int32_t imm32);
881 void adcq(Register dst, Address src);
882 void adcq(Register dst, Register src);
883
884 void addb(Address dst, int imm8);
885 void addw(Address dst, int imm16);
886
887 void addl(Address dst, int32_t imm32);
888 void addl(Address dst, Register src);
889 void addl(Register dst, int32_t imm32);
890 void addl(Register dst, Address src);
891 void addl(Register dst, Register src);
892
893 void addq(Address dst, int32_t imm32);
894 void addq(Address dst, Register src);
895 void addq(Register dst, int32_t imm32);
896 void addq(Register dst, Address src);
897 void addq(Register dst, Register src);
898
899 #ifdef _LP64
900 //Add Unsigned Integers with Carry Flag
901 void adcxq(Register dst, Register src);
902
903 //Add Unsigned Integers with Overflow Flag
904 void adoxq(Register dst, Register src);
905 #endif
906
1802 void testl(Register dst, Register src);
1803 void testl(Register dst, Address src);
1804
1805 void testq(Register dst, int32_t imm32);
1806 void testq(Register dst, Register src);
1807
1808 // BMI - count trailing zeros
1809 void tzcntl(Register dst, Register src);
1810 void tzcntq(Register dst, Register src);
1811
1812 // Unordered Compare Scalar Double-Precision Floating-Point Values and set EFLAGS
1813 void ucomisd(XMMRegister dst, Address src);
1814 void ucomisd(XMMRegister dst, XMMRegister src);
1815
1816 // Unordered Compare Scalar Single-Precision Floating-Point Values and set EFLAGS
1817 void ucomiss(XMMRegister dst, Address src);
1818 void ucomiss(XMMRegister dst, XMMRegister src);
1819
1820 void xabort(int8_t imm8);
1821
1822 void xaddb(Address dst, Register src);
1823 void xaddw(Address dst, Register src);
1824 void xaddl(Address dst, Register src);
1825 void xaddq(Address dst, Register src);
1826
1827 void xbegin(Label& abort, relocInfo::relocType rtype = relocInfo::none);
1828
1829 void xchgb(Register reg, Address adr);
1830 void xchgw(Register reg, Address adr);
1831 void xchgl(Register reg, Address adr);
1832 void xchgl(Register dst, Register src);
1833
1834 void xchgq(Register reg, Address adr);
1835 void xchgq(Register dst, Register src);
1836
1837 void xend();
1838
1839 // Get Value of Extended Control Register
1840 void xgetbv();
1841
1842 void xorl(Register dst, int32_t imm32);
1843 void xorl(Register dst, Address src);
1844 void xorl(Register dst, Register src);
1845
1846 void xorb(Register dst, Address src);
1847
1848 void xorq(Register dst, Address src);
1849 void xorq(Register dst, Register src);
1850
|