Lines Matching refs:Src
17 #define TestArithSSXmmXmm(FloatSize, Src, Value0, Dst, Value1, Inst, Op) \ in TEST_F() argument
22 "(" #FloatSize ", " #Src ", " #Value0 ", " #Dst ", " #Value1 \ in TEST_F()
33 __ movss(IceType_f##FloatSize, XmmRegister::Encoded_Reg_##Src, \ in TEST_F()
36 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
87 #define TestArithSS(FloatSize, Src, Dst0, Dst1) \ in TEST_F() argument
89 TestArithSSXmmXmm(FloatSize, Src, 1.0, Dst0, 10.0, addss, +); \ in TEST_F()
91 TestArithSSXmmXmm(FloatSize, Src, 3.0, Dst0, 30.0, subss, -); \ in TEST_F()
93 TestArithSSXmmXmm(FloatSize, Src, 5.0, Dst0, 50.0, mulss, *); \ in TEST_F()
95 TestArithSSXmmXmm(FloatSize, Src, 7.0, Dst0, 70.0, divss, / ); \ in TEST_F()
123 #define TestPArithXmmXmm(Dst, Value0, Src, Value1, Inst, Op, Type, Size) \ in TEST_F() argument
126 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Inst ", " #Op \ in TEST_F()
135 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
137 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
194 #define TestPAndnXmmXmm(Dst, Value0, Src, Value1, Type, Size) \ in TEST_F() argument
197 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", pandn, " #Type \ in TEST_F()
206 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
208 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
245 #define TestPArithSize(Dst, Src, Size) \ in TEST_F() argument
252 Src, (uint64_t(3u), uint64_t(0u)), psra, >>, int, Size); \ in TEST_F()
262 Src, (uint64_t(3u), uint64_t(0u)), psrl, >>, uint, Size); \ in TEST_F()
272 Src, (uint64_t(3u), uint64_t(0u)), psll, <<, uint, Size); \ in TEST_F()
282 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
293 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
305 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
315 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
325 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
336 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
347 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
357 Src, (uint64_t(0xFFFFFFFF00000000ull), \ in TEST_F()
367 #define TestPArith(Src, Dst) \ in TEST_F() argument
369 TestPArithSize(Src, Dst, 8); \ in TEST_F()
370 TestPArithSize(Src, Dst, 16); \ in TEST_F()
371 TestPArithSize(Src, Dst, 32); \ in TEST_F()
393 #define TestArithPSXmmXmm(FloatSize, Dst, Value0, Src, Value1, Inst, Op, Type) \ in TEST_F() argument
396 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Inst ", " #Op \ in TEST_F()
404 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
406 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
418 #define TestArithPSXmmXmmUntyped(Dst, Value0, Src, Value1, Inst, Op, Type) \ in TEST_F() argument
421 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Inst ", " #Op \ in TEST_F()
429 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
430 __ Inst(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
465 #define TestMinMaxPS(FloatSize, Dst, Value0, Src, Value1, Inst, Type) \ in TEST_F() argument
468 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Inst ", " #Type \ in TEST_F()
476 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
478 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
514 #define TestArithPS(Dst, Src) \ in TEST_F() argument
516 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
520 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
524 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
528 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
532 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
536 TestArithPSXmmXmm(64, Dst, (1.0, -1000.0), Src, (0.55, 1.21), andps, &, \ in TEST_F()
540 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
542 TestArithPSXmmXmm(64, Dst, (1.0, -1000.0), Src, (0.55, 1.21), orps, |, \ in TEST_F()
544 TestMinMaxPS(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
546 TestMinMaxPS(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
548 TestMinMaxPS(64, Dst, (1.0, -1000.0), Src, (0.55, 1.21), minps, double); \ in TEST_F()
549 TestMinMaxPS(64, Dst, (1.0, -1000.0), Src, (0.55, 1.21), maxps, double); \ in TEST_F()
550 TestArithPSXmmXmm(32, Dst, (1.0, 100.0, -1000.0, 20.0), Src, \ in TEST_F()
554 TestArithPSXmmXmm(64, Dst, (1.0, -1000.0), Src, (0.55, 1.21), xorps, ^, \ in TEST_F()
584 #define TestBlendingXmmXmm(Dst, Value0, Src, Value1, M /*ask*/, Inst, Type) \ in TEST_F() argument
587 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #M ", " #Inst \ in TEST_F()
598 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
600 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
640 #define TestBlending(Src, Dst) \ in TEST_F() argument
643 Dst, (1.0, 2.0, 1.0, 2.0), Src, (-1.0, -2.0, -1.0, -2.0), \ in TEST_F()
653 Src, \ in TEST_F()
680 #define TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, C, Op, Type) \ in TEST_F() argument
683 "(" #Src ", " #Dst ", " #C ", " #Op ")"; \ in TEST_F()
690 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
692 XmmRegister::Encoded_Reg_##Src, Cond::Cmpps_##C); \ in TEST_F()
726 #define TestCmppsOrdUnordXmmXmm(FloatSize, Dst, Value0, Src, Value1, C, Type) \ in TEST_F() argument
728 static constexpr char TestString[] = "(" #Src ", " #Dst ", " #C ")"; \ in TEST_F()
737 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
739 XmmRegister::Encoded_Reg_##Src, Cond::Cmpps_##C); \ in TEST_F()
775 #define TestCmpps(FloatSize, Dst, Value0, Src, Value1, Type) \ in TEST_F() argument
777 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
779 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
781 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
783 TestCmppsOrdUnordXmmXmm(FloatSize, Dst, Value0, Src, Value1, unord, Type); \ in TEST_F()
785 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
787 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
789 TestCmppsXmmXmm(FloatSize, Dst, Value0, Src, Value1, eq, ==, Type); \ in TEST_F()
795 Src, (1.0, std::numeric_limits<float>::quiet_NaN(), 1.0, \ in TEST_F()
807 Src, (std::numeric_limits<double>::quiet_NaN(), \ in TEST_F()
810 TestCmppsOrdUnordXmmXmm(64, Dst, (1.0, 1.0), Src, \ in TEST_F()
905 #define TestImplSingle(Dst, Src, Inst) \ in TEST_F() argument
907 static constexpr char TestString[] = "(" #Dst ", " #Src ", " #Inst ")"; \ in TEST_F()
912 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
913 __ Inst(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
924 #define TestImpl(Dst, Src) \ in TEST_F() argument
926 TestImplSingle(Dst, Src, unpcklps); \ in TEST_F()
927 TestImplSingle(Dst, Src, unpcklpd); \ in TEST_F()
928 TestImplSingle(Dst, Src, unpckhps); \ in TEST_F()
929 TestImplSingle(Dst, Src, unpckhpd); \ in TEST_F()
959 #define TestImplSingleXmmXmm(Dst, Src, Inst) \ in TEST_F() argument
961 static constexpr char TestString[] = "(" #Dst ", " #Src ", " #Inst ")"; \ in TEST_F()
966 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
968 XmmRegister::Encoded_Reg_##Src, Immediate(Inst##Imm)); \ in TEST_F()
998 #define TestImpl(Dst, Src) \ in TEST_F() argument
1000 TestImplSingleXmmXmm(Dst, Src, pshufd); \ in TEST_F()
1002 TestImplSingleXmmXmm(Dst, Src, shufps); \ in TEST_F()
1042 #define TestImplXmmXmm(Dst, Src, Inst, Ty) \ in TEST_F() argument
1045 "(" #Dst ", " #Src ", " #Inst ", " #Ty ")"; \ in TEST_F()
1050 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1052 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1082 #define TestImpl(Dst, Src) \ in TEST_F() argument
1084 TestImplXmmXmm(Dst, Src, punpckl, v4i32); \ in TEST_F()
1086 TestImplXmmXmm(Dst, Src, punpckl, v8i16); \ in TEST_F()
1088 TestImplXmmXmm(Dst, Src, punpckl, v16i8); \ in TEST_F()
1121 #define TestImplXmmXmm(Dst, Src, Inst, Ty) \ in TEST_F() argument
1124 "(" #Dst ", " #Src ", " #Inst ", " #Ty ")"; \ in TEST_F()
1129 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1131 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1161 #define TestImpl(Dst, Src) \ in TEST_F() argument
1163 TestImplXmmXmm(Dst, Src, packss, v4i32); \ in TEST_F()
1165 TestImplXmmXmm(Dst, Src, packss, v8i16); \ in TEST_F()
1198 #define TestImplXmmXmm(Dst, Src, Inst, Ty) \ in TEST_F() argument
1201 "(" #Dst ", " #Src ", " #Inst ", " #Ty ")"; \ in TEST_F()
1206 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1208 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1238 #define TestImpl(Dst, Src) \ in TEST_F() argument
1240 TestImplXmmXmm(Dst, Src, packus, v4i32); \ in TEST_F()
1242 TestImplXmmXmm(Dst, Src, packus, v8i16); \ in TEST_F()
1269 #define TestImplXmmXmm(Dst, Src, Inst) \ in TEST_F() argument
1271 static constexpr char TestString[] = "(" #Dst ", " #Src ", " #Inst ")"; \ in TEST_F()
1276 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1278 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1307 #define TestImpl(Dst, Src) \ in TEST_F() argument
1309 TestImplXmmXmm(Dst, Src, pshufb); \ in TEST_F()
1368 #define TestImplPXmmXmm(Dst, Src, Inst, Size) \ in TEST_F() argument
1371 "(" #Dst ", " #Src ", cvt" #Inst ", f" #Size ")"; \ in TEST_F()
1376 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1378 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1409 #define TestImplSRegXmm(GPR, Src, Inst, Size) \ in TEST_F() argument
1412 "(" #GPR ", " #Src ", cvt" #Inst ", f" #Size ")"; \ in TEST_F()
1417 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T0)); \ in TEST_F()
1419 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1490 #define TestImplSize(Dst, Src, GPR, Size) \ in TEST_F() argument
1492 TestImplPXmmXmm(Dst, Src, dq2ps, Size); \ in TEST_F()
1493 TestImplPXmmAddr(Src, dq2ps, Size); \ in TEST_F()
1494 TestImplPXmmXmm(Dst, Src, tps2dq, Size); \ in TEST_F()
1495 TestImplPXmmAddr(Src, tps2dq, Size); \ in TEST_F()
1498 TestImplSRegXmm(GPR, Src, tss2si, Size); \ in TEST_F()
1500 TestImplPXmmXmm(Dst, Src, float2float, Size); \ in TEST_F()
1501 TestImplPXmmAddr(Src, float2float, Size); \ in TEST_F()
1504 #define TestImpl(Dst, Src, GPR) \ in TEST_F() argument
1506 TestImplSize(Dst, Src, GPR, 32); \ in TEST_F()
1507 TestImplSize(Dst, Src, GPR, 64); \ in TEST_F()
1539 #define TestImplXmmXmm(Dst, Value0, Src, Value1, Size, CompType, BParity, \ in TEST_F() argument
1544 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Size ", " #CompType \ in TEST_F()
1554 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1557 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1605 #define TestImplCond(Dst, Value0, Src, Value1, Size, CompType, BParity, \ in TEST_F() argument
1608 TestImplXmmXmm(Dst, Value0, Src, Value1, Size, CompType, BParity, BOther); \ in TEST_F()
1612 #define TestImplSize(Dst, Src, Size) \ in TEST_F() argument
1614 TestImplCond(Dst, 1.0, Src, 1.0, Size, isEq, p, ne); \ in TEST_F()
1615 TestImplCond(Dst, 1.0, Src, 2.0, Size, isNe, p, e); \ in TEST_F()
1616 TestImplCond(Dst, 1.0, Src, 2.0, Size, isLe, p, a); \ in TEST_F()
1617 TestImplCond(Dst, 1.0, Src, 1.0, Size, isLe, p, a); \ in TEST_F()
1618 TestImplCond(Dst, 1.0, Src, 2.0, Size, isLt, p, ae); \ in TEST_F()
1619 TestImplCond(Dst, 2.0, Src, 1.0, Size, isGe, p, b); \ in TEST_F()
1620 TestImplCond(Dst, 1.0, Src, 1.0, Size, isGe, p, b); \ in TEST_F()
1621 TestImplCond(Dst, 2.0, Src, 1.0, Size, isGt, p, be); \ in TEST_F()
1622 TestImplCond(Dst, qnan##Size, Src, 1.0, Size, isUnord, np, o); \ in TEST_F()
1623 TestImplCond(Dst, 1.0, Src, qnan##Size, Size, isUnord, np, s); \ in TEST_F()
1624 TestImplCond(Dst, qnan##Size, Src, qnan##Size, Size, isUnord, np, s); \ in TEST_F()
1627 #define TestImpl(Dst, Src) \ in TEST_F() argument
1629 TestImplSize(Dst, Src, 32); \ in TEST_F()
1630 TestImplSize(Dst, Src, 64); \ in TEST_F()
1656 #define TestSqrtssXmmXmm(Dst, Src, Value1, Result, Size) \ in TEST_F() argument
1659 "(" #Dst ", " #Src ", " #Value1 ", " #Result ", " #Size ")"; \ in TEST_F()
1664 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T0)); \ in TEST_F()
1667 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
1703 #define TestSqrtssSize(Dst, Src, Size) \ in TEST_F() argument
1705 TestSqrtssXmmXmm(Dst, Src, 4.0, 2.0, Size); \ in TEST_F()
1707 TestSqrtssXmmXmm(Dst, Src, 9.0, 3.0, Size); \ in TEST_F()
1709 TestSqrtssXmmXmm(Dst, Src, 100.0, 10.0, Size); \ in TEST_F()
1713 #define TestSqrtss(Dst, Src) \ in TEST_F() argument
1715 TestSqrtssSize(Dst, Src, 32); \ in TEST_F()
1716 TestSqrtssSize(Dst, Src, 64); \ in TEST_F()
1735 #define TestInsertpsXmmXmmImm(Dst, Value0, Src, Value1, Imm, Expected) \ in TEST_F() argument
1738 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Imm ", " #Expected \ in TEST_F()
1746 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1748 XmmRegister::Encoded_Reg_##Src, Immediate(Imm)); \ in TEST_F()
1781 #define TestInsertps(Dst, Src) \ in TEST_F() argument
1784 Dst, (uint64_t(-1), uint64_t(-1)), Src, \ in TEST_F()
1794 Dst, (uint64_t(-1), uint64_t(-1)), Src, \ in TEST_F()
1882 #define TestPinsr(Src, Dst) \ in TEST_F() argument
1884 TestPinsrSize(Src, Dst, 0xEE, 0x03, 8); \ in TEST_F()
1885 TestPinsrSize(Src, Dst, 0xFFEE, 0x03, 16); \ in TEST_F()
1886 TestPinsrSize(Src, Dst, 0xC0FFEE, 0x03, 32); \ in TEST_F()
1909 #define TestPextrGPRXmmImm(GPR, Src, Value1, Imm, Size) \ in TEST_F() argument
1912 "(" #GPR ", " #Src ", " #Value1 ", " #Imm ", " #Size ")"; \ in TEST_F()
1916 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T0)); \ in TEST_F()
1918 XmmRegister::Encoded_Reg_##Src, Immediate(Imm)); \ in TEST_F()
1929 #define TestPextrSize(GPR, Src, Value1, Imm, Size) \ in TEST_F() argument
1931 TestPextrGPRXmmImm(GPR, Src, (uint64_t(0xAAAAAAAABBBBBBBBull), \ in TEST_F()
1936 #define TestPextr(Src, Dst) \ in TEST_F() argument
1938 TestPextrSize(Src, Dst, 0xEE, 0x03, 8); \ in TEST_F()
1939 TestPextrSize(Src, Dst, 0xFFEE, 0x03, 16); \ in TEST_F()
1940 TestPextrSize(Src, Dst, 0xC0FFEE, 0x03, 32); \ in TEST_F()
1958 #define TestPcmpXmmXmm(Dst, Value0, Src, Value1, Size, Inst, Op) \ in TEST_F() argument
1961 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Size ", " #Op ")"; \ in TEST_F()
1968 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
1970 XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
2015 #define TestPcmpValues(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
2017 TestPcmpXmmXmm(Dst, Value0, Src, Value1, Size, pcmpeq, == ); \ in TEST_F()
2019 TestPcmpXmmXmm(Dst, Value0, Src, Value1, Size, pcmpgt, < ); \ in TEST_F()
2023 #define TestPcmpSize(Dst, Src, Size) \ in TEST_F() argument
2027 Src, (uint64_t(0x0000008800008800ull), \ in TEST_F()
2032 Src, (uint64_t(0x0000008800008800ull), \ in TEST_F()
2037 #define TestPcmp(Dst, Src) \ in TEST_F() argument
2061 #define TestRoundsdXmmXmm(Dst, Src, Mode, Input, RN) \ in TEST_F() argument
2064 "(" #Dst ", " #Src ", " #Mode ", " #Input ", " #RN ")"; \ in TEST_F()
2071 __ movups(XmmRegister::Encoded_Reg_##Src, dwordAddress(T1)); \ in TEST_F()
2073 XmmRegister::Encoded_Reg_##Src, \ in TEST_F()
2086 #define TestRoundsd(Dst, Src) \ in TEST_F() argument
2088 TestRoundsdXmmXmm(Dst, Src, RoundToNearest, 5.51, 6); \ in TEST_F()
2089 TestRoundsdXmmXmm(Dst, Src, RoundToNearest, 5.49, 5); \ in TEST_F()
2090 TestRoundsdXmmXmm(Dst, Src, RoundDown, 5.51, 5); \ in TEST_F()
2091 TestRoundsdXmmXmm(Dst, Src, RoundUp, 5.49, 6); \ in TEST_F()
2092 TestRoundsdXmmXmm(Dst, Src, RoundToZero, 5.49, 5); \ in TEST_F()
2093 TestRoundsdXmmXmm(Dst, Src, RoundToZero, 5.51, 5); \ in TEST_F()
2110 #define TestImpl(Xmm, Src, Imm) \ in TEST_F() argument
2112 __ set1ps(XmmRegister::Encoded_Reg_##Xmm, GPRRegister::Encoded_Reg_##Src, \ in TEST_F()
2121 << "(" #Xmm ", " #Src ", " #Imm ")"; \ in TEST_F()