Lines Matching refs:Dst
177 #define TestMovzx8bitWithRegDest(Src, Dst, Imm) \ in TEST_F() argument
181 __ movzx(IceType_i8, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
185 ASSERT_EQ(Imm, test.Dst()) << "(" #Src ", " #Dst ", " #Imm ")"; \ in TEST_F()
189 #define TestMovzx16bitWithRegDest(Src, Dst, Imm) \ in TEST_F() argument
193 __ movzx(IceType_i16, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
197 ASSERT_EQ(Imm, test.Dst()) << "(" #Src ", " #Dst ", " #Imm ")"; \ in TEST_F()
201 #define TestMovzx8bitWithAddrSrc(Dst, Imm) \ in TEST_F() argument
206 __ movzx(IceType_i8, GPRRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
210 ASSERT_EQ(Imm, test.Dst()) << "(Addr, " #Dst ", " #Imm ")"; \ in TEST_F()
214 #define TestMovzx16bitWithAddrSrc(Dst, Imm) \ in TEST_F() argument
219 __ movzx(IceType_i16, GPRRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
223 ASSERT_EQ(Imm, test.Dst()) << "(Addr, " #Dst ", " #Imm ")"; \ in TEST_F()
227 #define TestMovzx(Dst) \ in TEST_F() argument
229 TestMovzx8bitWithRegDest(eax, Dst, 0x81u); \ in TEST_F()
230 TestMovzx8bitWithRegDest(ebx, Dst, 0x82u); \ in TEST_F()
231 TestMovzx8bitWithRegDest(ecx, Dst, 0x83u); \ in TEST_F()
232 TestMovzx8bitWithRegDest(edx, Dst, 0x84u); \ in TEST_F()
234 TestMovzx8bitWithRegDest(esi, Dst, 0x85u); \ in TEST_F()
236 TestMovzx8bitWithRegDest(edi, Dst, 0x86u); \ in TEST_F()
238 TestMovzx8bitWithRegDest(ebp, Dst, 0x87u); \ in TEST_F()
240 TestMovzx8bitWithRegDest(esp, Dst, 0x88u); \ in TEST_F()
241 TestMovzx8bitWithAddrSrc(Dst, 0x8Fu); \ in TEST_F()
243 TestMovzx16bitWithRegDest(eax, Dst, 0x8118u); \ in TEST_F()
244 TestMovzx16bitWithRegDest(ebx, Dst, 0x8228u); \ in TEST_F()
245 TestMovzx16bitWithRegDest(ecx, Dst, 0x8338u); \ in TEST_F()
246 TestMovzx16bitWithRegDest(edx, Dst, 0x8448u); \ in TEST_F()
247 TestMovzx16bitWithAddrSrc(Dst, 0x8FF8u); \ in TEST_F()
265 #define TestMovsx8bitWithRegDest(Src, Dst, Imm) \ in TEST_F() argument
269 __ movsx(IceType_i8, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
273 ASSERT_EQ((0xFFFFFF00 | (Imm)), test.Dst()) \ in TEST_F()
274 << "(" #Src ", " #Dst ", " #Imm ")"; \ in TEST_F()
278 #define TestMovsx16bitWithRegDest(Src, Dst, Imm) \ in TEST_F() argument
282 __ movsx(IceType_i16, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
286 ASSERT_EQ((0xFFFF0000 | (Imm)), test.Dst()) \ in TEST_F()
287 << "(" #Src ", " #Dst ", " #Imm ")"; \ in TEST_F()
291 #define TestMovsx8bitWithAddrSrc(Dst, Imm) \ in TEST_F() argument
296 __ movsx(IceType_i8, GPRRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
300 ASSERT_EQ((0xFFFFFF00 | (Imm)), test.Dst()) \ in TEST_F()
301 << "(Addr, " #Dst ", " #Imm ")"; \ in TEST_F()
305 #define TestMovsx16bitWithAddrSrc(Dst, Imm) \ in TEST_F() argument
310 __ movsx(IceType_i16, GPRRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
314 ASSERT_EQ((0xFFFF0000 | (Imm)), test.Dst()) \ in TEST_F()
315 << "(Addr, " #Dst ", " #Imm ")"; \ in TEST_F()
319 #define TestMovsx(Dst) \ in TEST_F() argument
321 TestMovsx8bitWithRegDest(eax, Dst, 0x81u); \ in TEST_F()
322 TestMovsx8bitWithRegDest(ebx, Dst, 0x82u); \ in TEST_F()
323 TestMovsx8bitWithRegDest(ecx, Dst, 0x83u); \ in TEST_F()
324 TestMovsx8bitWithRegDest(edx, Dst, 0x84u); \ in TEST_F()
326 TestMovsx8bitWithRegDest(esi, Dst, 0x85u); \ in TEST_F()
328 TestMovsx8bitWithRegDest(edi, Dst, 0x86u); \ in TEST_F()
330 TestMovsx8bitWithRegDest(ebp, Dst, 0x87u); \ in TEST_F()
332 TestMovsx8bitWithRegDest(esp, Dst, 0x88u); \ in TEST_F()
333 TestMovsx8bitWithAddrSrc(Dst, 0x8Fu); \ in TEST_F()
335 TestMovsx16bitWithRegDest(eax, Dst, 0x8118u); \ in TEST_F()
336 TestMovsx16bitWithRegDest(ebx, Dst, 0x8228u); \ in TEST_F()
337 TestMovsx16bitWithRegDest(ecx, Dst, 0x8338u); \ in TEST_F()
338 TestMovsx16bitWithRegDest(edx, Dst, 0x8448u); \ in TEST_F()
339 TestMovsx16bitWithAddrSrc(Dst, 0x8FF8u); \ in TEST_F()
472 #define TestMovssXmmXmmFloatLength(FloatLength, Src, Dst, Value) \ in TEST_F() argument
479 "(" #FloatLength ", " #Src ", " #Dst ")"; \ in TEST_F()
490 __ movss(IceType_f##FloatLength, XmmRegister::Encoded_Reg_##Dst, \ in TEST_F()
492 __ movss(IceType_f##FloatLength, XmmRegister::Encoded_Reg_##Dst, \ in TEST_F()
504 ASSERT_DOUBLE_EQ(Value, test.Dst<Type>()) << TestString << " value is " \ in TEST_F()
532 #define TestMovdXmmReg(Src, Dst, Value) \ in TEST_F() argument
535 static constexpr char TestString[] = "(" #Src ", " #Dst ")"; \ in TEST_F()
540 __ movss(IceType_f64, XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
541 __ movd(IceType_i32, XmmRegister::Encoded_Reg_##Dst, \ in TEST_F()
549 ASSERT_EQ(Value, test.Dst<uint64_t>()) << TestString << " value is " \ in TEST_F()
554 #define TestMovdXmmAddr(Dst, Value) \ in TEST_F() argument
557 static constexpr char TestString[] = "(" #Dst ", Addr)"; \ in TEST_F()
563 __ movss(IceType_f64, XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
564 __ movd(IceType_i32, XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
572 ASSERT_EQ(Value, test.Dst<uint64_t>()) << TestString << " value is " \ in TEST_F()
577 #define TestMovd(Dst) \ in TEST_F() argument
580 TestMovdXmmReg(eax, Dst, Value); \ in TEST_F()
581 TestMovdXmmReg(ebx, Dst, Value); \ in TEST_F()
582 TestMovdXmmReg(ecx, Dst, Value); \ in TEST_F()
583 TestMovdXmmReg(edx, Dst, Value); \ in TEST_F()
584 TestMovdXmmReg(esi, Dst, Value); \ in TEST_F()
585 TestMovdXmmReg(edi, Dst, Value); \ in TEST_F()
586 TestMovdXmmAddr(Dst, Value); \ in TEST_F()
605 #define TestMovdRegXmm(Src, Dst, Value) \ in TEST_F() argument
608 static constexpr char TestString[] = "(" #Src ", " #Dst ")"; \ in TEST_F()
613 __ movd(IceType_i32, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
677 #define TestMovd(Dst, Value) \ in TEST_F() argument
679 static constexpr char TestString[] = "(" #Dst ", Addr)"; \ in TEST_F()
685 __ movss(IceType_f64, XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
686 __ movq(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
694 ASSERT_EQ(Value, test.Dst<uint64_t>()) << TestString << " value is " \ in TEST_F()
714 #define TestMovd(Dst, Value) \ in TEST_F() argument
716 static constexpr char TestString[] = "(" #Dst ", Addr)"; \ in TEST_F()
722 __ movq(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
723 __ movq(dwordAddress(T1), XmmRegister::Encoded_Reg_##Dst); \ in TEST_F()
731 ASSERT_EQ(Value, test.Dst<uint64_t>()) << TestString << " value is " \ in TEST_F()
751 #define TestMovd(Src, Dst, Value) \ in TEST_F() argument
753 static constexpr char TestString[] = "(" #Src ", " #Dst ")"; \ in TEST_F()
760 __ movq(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
761 __ movq(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
769 ASSERT_EQ(Value, test.Dst<uint64_t>()) << TestString << " value is " \ in TEST_F()
789 #define TestMovups(Dst) \ in TEST_F() argument
791 static constexpr char TestString[] = "(" #Dst ")"; \ in TEST_F()
796 __ movups(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
802 ASSERT_EQ(V0, test.Dst<Dqword>()) << TestString; \ in TEST_F()
853 #define TestMovups(Dst, Src) \ in TEST_F() argument
855 static constexpr char TestString[] = "(" #Dst ", " #Src ")"; \ in TEST_F()
863 __ movups(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
864 __ movups(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
871 ASSERT_EQ(V0, test.Dst<Dqword>()) << TestString; \ in TEST_F()
888 #define TestMovaps(Dst, Src) \ in TEST_F() argument
890 static constexpr char TestString[] = "(" #Dst ", " #Src ")"; \ in TEST_F()
898 __ movups(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
899 __ movaps(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
906 ASSERT_EQ(V0, test.Dst<Dqword>()) << TestString; \ in TEST_F()
923 #define TestImplSingle(Dst, Src, Inst, Expect) \ in TEST_F() argument
925 static constexpr char TestString[] = "(" #Dst ", " #Src ", " #Inst ")"; \ in TEST_F()
933 __ movups(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T0)); \ in TEST_F()
935 __ Inst(XmmRegister::Encoded_Reg_##Dst, XmmRegister::Encoded_Reg_##Src); \ in TEST_F()
942 ASSERT_EQ(Dqword Expect, test.Dst<Dqword>()) << TestString; \ in TEST_F()
946 #define TestImpl(Dst, Src) \ in TEST_F() argument
948 TestImplSingle(Dst, Src, movhlps, (uint64_t(0x9999999988888888ull), \ in TEST_F()
950 TestImplSingle(Dst, Src, movlhps, (uint64_t(0xAAAAAAAABBBBBBBBull), \ in TEST_F()
1006 #define TestPmovsxdqXmmXmm(Dst, Src, Value1) \ in TEST_F() argument
1008 static constexpr char TestString[] = "(" #Dst ", " #Src ", " #Value1 ")"; \ in TEST_F()
1015 __ movups(XmmRegister::Encoded_Reg_##Dst, dwordAddress(T1)); \ in TEST_F()
1016 __ pmovsxdq(XmmRegister::Encoded_Reg_##Dst, \ in TEST_F()
1025 ASSERT_EQ(Expected, test.Dst<Dqword>()) << TestString; \ in TEST_F()
1029 #define TestPmovsxdq(Dst, Src) \ in TEST_F() argument
1031 TestPmovsxdqXmmXmm(Dst, Src, (uint64_t(0x700000007FFFFFFFull), \ in TEST_F()
1033 TestPmovsxdqXmmXmm(Dst, Src, (uint64_t(0x800000007FFFFFFFull), \ in TEST_F()
1035 TestPmovsxdqXmmXmm(Dst, Src, (uint64_t(0x70000000FFFFFFFFull), \ in TEST_F()
1037 TestPmovsxdqXmmXmm(Dst, Src, (uint64_t(0x80000000FFFFFFFFull), \ in TEST_F()