Lines Matching refs:Dst
112 #define TestLeaBaseDisp(Base, BaseValue, Disp, Dst) \ in TEST_F() argument
115 "(" #Base ", " #BaseValue ", " #Dst ")"; \ in TEST_F()
120 __ lea(IceType_i32, Encoded_GPR_##Dst(), \ in TEST_F()
124 ASSERT_EQ(test.Base##d() + (Disp), test.Dst##d()) \ in TEST_F()
327 #define TestLeaAbsolute(Dst, Value) \ in TEST_F() argument
329 static constexpr char TestString[] = "(" #Dst ", " #Value ")"; \ in TEST_F()
330 __ lea(IceType_i32, GPRRegister::Encoded_Reg_##Dst, \ in TEST_F()
336 /*mod*/ 0x00 | /*reg*/ (GPRRegister::Encoded_Reg_##Dst << 3) | \ in TEST_F()
362 #define TestImplRegReg(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
366 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Size ")"; \ in TEST_F()
370 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
372 __ test(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
373 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(ValueIfFalse)); \ in TEST_F()
376 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(ValueIfTrue)); \ in TEST_F()
384 test.Dst()) \ in TEST_F()
389 #define TestImplRegImm(Dst, Value0, Imm, Size) \ in TEST_F() argument
393 "(" #Dst ", " #Value0 ", " #Imm ", " #Size ")"; \ in TEST_F()
397 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
398 __ test(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
400 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(ValueIfFalse)); \ in TEST_F()
403 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(ValueIfTrue)); \ in TEST_F()
411 test.Dst()) \ in TEST_F()
472 #define TestImplValues(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
474 TestImplRegReg(Dst, Value0, Src, Value1, Size); \ in TEST_F()
475 TestImplRegImm(Dst, Value0, Value1, Size); \ in TEST_F()
480 #define TestImplSize(Dst, Src, Size) \ in TEST_F() argument
482 TestImplValues(Dst, 0xF0F12101, Src, 0x00000000, Size); \ in TEST_F()
483 TestImplValues(Dst, 0xF0000000, Src, 0xF0000000, Size); \ in TEST_F()
484 TestImplValues(Dst, 0x0F00000F, Src, 0xF00000F0, Size); \ in TEST_F()
487 #define TestImpl(Dst, Src) \ in TEST_F() argument
489 TestImplSize(Dst, Src, 8); \ in TEST_F()
490 TestImplSize(Dst, Src, 16); \ in TEST_F()
491 TestImplSize(Dst, Src, 32); \ in TEST_F()
525 #define TestImplRegReg(Inst, Dst, Value0, Src, Value1, Type, Size, Op) \ in TEST_F() argument
528 "(" #Inst ", " #Dst ", " #Value0 ", " #Src ", " #Value1 \ in TEST_F()
531 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
533 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
541 Mask##Size &test.Dst()) \ in TEST_F()
546 #define TestImplRegAddr(Inst, Dst, Value0, Value1, Type, Size, Op) \ in TEST_F() argument
549 "(" #Inst ", " #Dst ", " #Value0 ", Addr, " #Value1 ", " #Type #Size \ in TEST_F()
554 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
556 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), dwordAddress(T0)); \ in TEST_F()
565 Mask##Size &test.Dst()) \ in TEST_F()
570 #define TestImplRegImm(Inst, Dst, Value0, Imm, Type, Size, Op) \ in TEST_F() argument
573 "(" #Inst ", " #Dst ", " #Value0 ", Imm(" #Imm "), " #Type #Size \ in TEST_F()
576 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
577 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
586 Mask##Size &test.Dst()) \ in TEST_F()
636 #define TestImplOp(Inst, Dst, Value0, Src, Value1, Type, Size, Op) \ in TEST_F() argument
638 TestImplRegReg(Inst, Dst, Value0, Src, Value1, Type, Size, Op); \ in TEST_F()
639 TestImplRegAddr(Inst, Dst, Value0, Value1, Type, Size, Op); \ in TEST_F()
640 TestImplRegImm(Inst, Dst, Value0, Value1, Type, Size, Op); \ in TEST_F()
645 #define TestImplValues(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
647 TestImplOp(And, Dst, Value0, Src, Value1, int, Size, &); \ in TEST_F()
648 TestImplOp(And, Dst, Value0, Src, Value1, uint, Size, &); \ in TEST_F()
649 TestImplOp(Or, Dst, Value0, Src, Value1, int, Size, |); \ in TEST_F()
650 TestImplOp(Or, Dst, Value0, Src, Value1, uint, Size, |); \ in TEST_F()
651 TestImplOp(Xor, Dst, Value0, Src, Value1, int, Size, ^); \ in TEST_F()
652 TestImplOp(Xor, Dst, Value0, Src, Value1, uint, Size, ^); \ in TEST_F()
653 TestImplOp(add, Dst, Value0, Src, Value1, int, Size, +); \ in TEST_F()
654 TestImplOp(add, Dst, Value0, Src, Value1, uint, Size, +); \ in TEST_F()
655 TestImplOp(sub, Dst, Value0, Src, Value1, int, Size, -); \ in TEST_F()
656 TestImplOp(sub, Dst, Value0, Src, Value1, uint, Size, -); \ in TEST_F()
659 #define TestImplSize(Dst, Src, Size) \ in TEST_F() argument
661 TestImplValues(Dst, 0xF0F12101, Src, 0x00000000, Size); \ in TEST_F()
662 TestImplValues(Dst, 0xF0000000, Src, 0xF0000000, Size); \ in TEST_F()
663 TestImplValues(Dst, 0x0F00000F, Src, 0xF0000070, Size); \ in TEST_F()
664 TestImplValues(Dst, 0x0F00F00F, Src, 0xF000F070, Size); \ in TEST_F()
667 #define TestImpl(Dst, Src) \ in TEST_F() argument
669 TestImplSize(Dst, Src, 8); \ in TEST_F()
670 TestImplSize(Dst, Src, 16); \ in TEST_F()
671 TestImplSize(Dst, Src, 32); \ in TEST_F()
1065 #define TestImplRegReg(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
1068 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Size ")"; \ in TEST_F()
1075 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1079 __ imul(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
1091 ASSERT_EQ(Expected, test.Dst()) << TestString; \ in TEST_F()
1095 #define TestImplRegImm(Dst, Value0, Imm, Size) \ in TEST_F() argument
1098 "(" #Dst ", " #Value0 ", Imm(" #Imm "), " #Size ")"; \ in TEST_F()
1105 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1107 __ imul(IceType_i##Size, Encoded_GPR_##Dst(), Immediate(Imm)); \ in TEST_F()
1119 ASSERT_EQ(Expected, test.Dst()) << TestString; \ in TEST_F()
1123 #define TestImplRegAddr(Dst, Value0, Value1, Size) \ in TEST_F() argument
1126 "(" #Dst ", " #Value0 ", Addr," #Value1 ", " #Size ")"; \ in TEST_F()
1134 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1136 __ imul(IceType_i##Size, Encoded_GPR_##Dst(), dwordAddress(T0)); \ in TEST_F()
1149 ASSERT_EQ(Expected, test.Dst()) << TestString; \ in TEST_F()
1153 #define TestImplValue(Dst, Value0, Src, Value1, Size) \ in TEST_F() argument
1155 TestImplRegReg(Dst, Value0, Src, Value1, Size); \ in TEST_F()
1156 TestImplRegImm(Dst, Value0, Value1, Size); \ in TEST_F()
1157 TestImplRegAddr(Dst, Value0, Value1, Size); \ in TEST_F()
1160 #define TestImplSize(Dst, Src, Size) \ in TEST_F() argument
1162 TestImplValue(Dst, 1, Src, 1, Size); \ in TEST_F()
1163 TestImplValue(Dst, -10, Src, 0x4050AA20, Size); \ in TEST_F()
1164 TestImplValue(Dst, -2, Src, -55, Size); \ in TEST_F()
1167 #define TestImpl(Dst, Src) \ in TEST_F() argument
1169 TestImplSize(Dst, Src, 16); \ in TEST_F()
1170 TestImplSize(Dst, Src, 32); \ in TEST_F()
1388 #define TestImplRegImm(Inst, Dst, Value0, Imm, Op, Type, Size) \ in TEST_F() argument
1391 "(" #Inst ", " #Dst ", " #Value0 ", Imm(" #Imm "), " #Op ", " #Type \ in TEST_F()
1398 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1400 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1406 ASSERT_EQ(static_cast<uint32_t>(Expected), test.Dst()) << TestString; \ in TEST_F()
1410 #define TestImplRegRegImm(Inst, Dst, Value0, Src, Value1, Count, Op0, Op1, \ in TEST_F() argument
1414 "(" #Inst ", " #Dst ", " #Value0 ", " #Src ", " #Value1 \ in TEST_F()
1420 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1424 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src(), \ in TEST_F()
1430 ASSERT_EQ(static_cast<uint32_t>(Expected), test.Dst()) << TestString; \ in TEST_F()
1434 #define TestImplRegCl(Inst, Dst, Value0, Count, Op, Type, Size) \ in TEST_F() argument
1437 "(" #Inst ", " #Dst ", " #Value0 ", " #Count ", " #Op ", " #Type \ in TEST_F()
1444 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1447 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_ecx()); \ in TEST_F()
1452 ASSERT_EQ(static_cast<uint32_t>(Expected), test.Dst()) << TestString; \ in TEST_F()
1456 #define TestImplRegRegCl(Inst, Dst, Value0, Src, Value1, Count, Op0, Op1, \ in TEST_F() argument
1460 "(" #Inst ", " #Dst ", " #Value0 ", " #Src ", " #Value1 ", " #Count \ in TEST_F()
1466 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1471 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
1476 ASSERT_EQ(static_cast<uint32_t>(Expected), test.Dst()) << TestString; \ in TEST_F()
1530 #define TestImplOp(Inst, Dst, Value0, Count, Op, Type, Size) \ in TEST_F() argument
1532 static_assert(Encoded_GPR_##Dst() != Encoded_GPR_ecx(), \ in TEST_F()
1534 TestImplRegImm(Inst, Dst, Value0, Count, Op, Type, Size); \ in TEST_F()
1536 TestImplRegCl(Inst, Dst, Value0, Count, Op, Type, Size); \ in TEST_F()
1540 #define TestImplThreeOperandOp(Inst, Dst, Value0, Src, Value1, Count, Op0, \ in TEST_F() argument
1543 static_assert(Encoded_GPR_##Dst() != Encoded_GPR_ecx(), \ in TEST_F()
1547 TestImplRegRegImm(Inst, Dst, Value0, Src, Value1, Count, Op0, Op1, Type, \ in TEST_F()
1549 TestImplRegRegCl(Inst, Dst, Value0, Src, Value1, Count, Op0, Op1, Type, \ in TEST_F()
1554 #define TestImplValue(Dst, Value0, Count, Size) \ in TEST_F() argument
1556 TestImplOp(rol, Dst, Value0, Count, <<, uint, Size); \ in TEST_F()
1557 TestImplOp(shl, Dst, Value0, Count, <<, uint, Size); \ in TEST_F()
1558 TestImplOp(shr, Dst, Value0, Count, >>, uint, Size); \ in TEST_F()
1559 TestImplOp(sar, Dst, Value0, Count, >>, int, Size); \ in TEST_F()
1562 #define TestImplThreeOperandValue(Dst, Value0, Src, Value1, Count, Size) \ in TEST_F() argument
1564 TestImplThreeOperandOp(shld, Dst, Value0, Src, Value1, Count, <<, >>, \ in TEST_F()
1566 TestImplThreeOperandOp(shrd, Dst, Value0, Src, Value1, Count, >>, <<, \ in TEST_F()
1570 #define TestImplSize(Dst, Size) \ in TEST_F() argument
1572 TestImplValue(Dst, 0x8F, 3, Size); \ in TEST_F()
1573 TestImplValue(Dst, 0x8FFF, 7, Size); \ in TEST_F()
1574 TestImplValue(Dst, 0x8FFFF, 7, Size); \ in TEST_F()
1577 #define TestImplThreeOperandSize(Dst, Src, Size) \ in TEST_F() argument
1579 TestImplThreeOperandValue(Dst, 0xFFF3, Src, 0xA000, 8, Size); \ in TEST_F()
1582 #define TestImpl(Dst, Src) \ in TEST_F() argument
1584 TestImplSize(Dst, 8); \ in TEST_F()
1585 TestImplSize(Dst, 16); \ in TEST_F()
1586 TestImplThreeOperandSize(Dst, Src, 16); \ in TEST_F()
1587 TestImplSize(Dst, 32); \ in TEST_F()
1588 TestImplThreeOperandSize(Dst, Src, 32); \ in TEST_F()
1624 #define TestImplReg(Dst, Size) \ in TEST_F() argument
1627 __ mov(IceType_i##Size, Encoded_GPR_##Dst(), \ in TEST_F()
1629 __ neg(IceType_i##Size, Encoded_GPR_##Dst()); \ in TEST_F()
1630 __ mov(IceType_i##Size, Encoded_GPR_eax(), Encoded_GPR_##Dst()); \ in TEST_F()
1638 << "(" #Dst ", " #Size ")"; \ in TEST_F()
1687 #define TestImpl(Dst) \ in TEST_F() argument
1690 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(Value)); \ in TEST_F()
1691 __ notl(Encoded_GPR_##Dst()); \ in TEST_F()
1696 ASSERT_EQ(~Value, test.Dst()) << "(" #Dst ")"; \ in TEST_F()
1719 #define TestImpl(Dst) \ in TEST_F() argument
1723 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(Value)); \ in TEST_F()
1724 __ bswap(IceType_i32, Encoded_GPR_##Dst()); \ in TEST_F()
1729 ASSERT_EQ(Expected, test.Dst()) << "(" #Dst ")"; \ in TEST_F()
1752 #define TestImpl(Dst, Value0, Src, Value1) \ in TEST_F() argument
1755 "(" #Dst ", " #Value0 ", " #Src ", " #Value1 ")"; \ in TEST_F()
1758 __ mov(IceType_i32, Encoded_GPR_##Dst(), Immediate(Value0)); \ in TEST_F()
1760 __ bt(Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
1814 #define TestImplRegReg(Inst, Dst, Src, Value1, Size) \ in TEST_F() argument
1817 "(" #Inst ", " #Dst ", " #Src ", " #Value1 ", " #Size ")"; \ in TEST_F()
1821 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), Encoded_GPR_##Src()); \ in TEST_F()
1832 ASSERT_EQ(Expected, test.Dst()) << TestString; \ in TEST_F()
1837 #define TestImplRegAddr(Inst, Dst, Value1, Size) \ in TEST_F() argument
1840 "(" #Inst ", " #Dst ", Addr, " #Value1 ", " #Size ")"; \ in TEST_F()
1844 __ Inst(IceType_i##Size, Encoded_GPR_##Dst(), dwordAddress(T0)); \ in TEST_F()
1856 ASSERT_EQ(Expected, test.Dst()) << TestString; \ in TEST_F()
1861 #define TestImplSize(Dst, Src, Value1, Size) \ in TEST_F() argument
1863 TestImplRegReg(bsf, Dst, Src, Value1, Size); \ in TEST_F()
1864 TestImplRegAddr(bsf, Dst, Value1, Size); \ in TEST_F()
1865 TestImplRegReg(bsr, Dst, Src, Value1, Size); \ in TEST_F()
1866 TestImplRegAddr(bsf, Dst, Value1, Size); \ in TEST_F()
1869 #define TestImplValue(Dst, Src, Value1) \ in TEST_F() argument
1871 TestImplSize(Dst, Src, Value1, 16); \ in TEST_F()
1872 TestImplSize(Dst, Src, Value1, 32); \ in TEST_F()
1875 #define TestImpl(Dst, Src) \ in TEST_F() argument
1877 TestImplValue(Dst, Src, 0x80000001); \ in TEST_F()
1878 TestImplValue(Dst, Src, 0x00000000); \ in TEST_F()
1879 TestImplValue(Dst, Src, 0x80001000); \ in TEST_F()
1880 TestImplValue(Dst, Src, 0x00FFFF00); \ in TEST_F()