Lines Matching refs:Dest
219 InstX86Base(Cfg *Func, InstKindX86 Kind, SizeT Maxsrcs, Variable *Dest) in InstX86Base()
220 : InstTarget(Func, static_cast<InstKind>(Kind), Maxsrcs, Dest) {} in InstX86Base()
293 static InstX86GetIP *create(Cfg *Func, Variable *Dest) { in create()
294 return new (Func->allocate<InstX86GetIP>()) InstX86GetIP(Func, Dest); in create()
304 InstX86GetIP(Cfg *Func, Variable *Dest);
482 static InstX86Call *create(Cfg *Func, Variable *Dest, Operand *CallTarget) { in create()
484 InstX86Call(Func, Dest, CallTarget); in create()
495 InstX86Call(Cfg *Func, Variable *Dest, Operand *CallTarget);
518 static void emitIASGPRShiftDouble(const Cfg *Func, const Variable *Dest,
526 const Variable *Dest, Type SrcTy,
533 emitIASThreeOpImmOps(const Cfg *Func, Type DispatchTy, const Variable *Dest,
537 static void emitIASMovlikeXMM(const Cfg *Func, const Variable *Dest,
663 InstX86BaseUnaryopGPR(Cfg *Func, Variable *Dest, Operand *Src) in InstX86BaseUnaryopGPR()
664 : InstX86Base(Func, K, 1, Dest) { in InstX86BaseUnaryopGPR()
726 InstX86BaseUnaryopXmm(Cfg *Func, Variable *Dest, Operand *Src) in InstX86BaseUnaryopXmm()
727 : InstX86Base(Func, K, 1, Dest) { in InstX86BaseUnaryopXmm()
768 InstX86BaseBinopGPRShift(Cfg *Func, Variable *Dest, Operand *Source) in InstX86BaseBinopGPRShift()
769 : InstX86Base(Func, K, 2, Dest) { in InstX86BaseBinopGPRShift()
770 this->addSource(Dest); in InstX86BaseBinopGPRShift()
813 InstX86BaseBinopGPR(Cfg *Func, Variable *Dest, Operand *Source) in InstX86BaseBinopGPR()
814 : InstX86Base(Func, K, 2, Dest) { in InstX86BaseBinopGPR()
815 this->addSource(Dest); in InstX86BaseBinopGPR()
924 InstX86BaseBinopXmm(Cfg *Func, Variable *Dest, Operand *Source,
926 : InstX86Base(Func, K, 2, Dest),
928 this->addSource(Dest);
978 InstX86BaseBinopXmmShift(Cfg *Func, Variable *Dest, Operand *Source) in InstX86BaseBinopXmmShift()
979 : InstX86Base(Func, K, 2, Dest) { in InstX86BaseBinopXmmShift()
980 this->addSource(Dest); in InstX86BaseBinopXmmShift()
1022 InstX86BaseTernop(Cfg *Func, Variable *Dest, Operand *Source1, in InstX86BaseTernop()
1024 : InstX86Base(Func, K, 3, Dest) { in InstX86BaseTernop()
1025 this->addSource(Dest); in InstX86BaseTernop()
1069 InstX86BaseThreeAddressop(Cfg *Func, Variable *Dest, Operand *Source0, in InstX86BaseThreeAddressop()
1071 : InstX86Base(Func, K, 2, Dest) { in InstX86BaseThreeAddressop()
1092 if (SrcVar->hasReg() && this->Dest->hasReg()) { in isRedundantAssign()
1101 const auto DestReg = this->Dest->getRegNum(); in isRedundantAssign()
1126 InstX86BaseMovlike(Cfg *Func, Variable *Dest, Operand *Source) in InstX86BaseMovlike()
1127 : InstX86Base(Func, K, 1, Dest) { in InstX86BaseMovlike()
1131 assert(!isScalarIntegerType(Dest->getType()) || in InstX86BaseMovlike()
1132 (typeWidthInBytes(Dest->getType()) <= in InstX86BaseMovlike()
1163 static InstX86Bsf *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1164 return new (Func->allocate<InstX86Bsf>()) InstX86Bsf(Func, Dest, Src); in create()
1168 InstX86Bsf(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Bsf()
1169 : InstX86BaseUnaryopGPR<InstX86Base::Bsf>(Func, Dest, Src) {} in InstX86Bsf()
1174 static InstX86Bsr *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1175 return new (Func->allocate<InstX86Bsr>()) InstX86Bsr(Func, Dest, Src); in create()
1179 InstX86Bsr(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Bsr()
1180 : InstX86BaseUnaryopGPR<InstX86Base::Bsr>(Func, Dest, Src) {} in InstX86Bsr()
1185 static InstX86Lea *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1186 return new (Func->allocate<InstX86Lea>()) InstX86Lea(Func, Dest, Src); in create()
1192 InstX86Lea(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Lea()
1193 : InstX86BaseUnaryopGPR<InstX86Base::Lea>(Func, Dest, Src) {} in InstX86Lea()
1199 static InstX86Cbwdq *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1200 return new (Func->allocate<InstX86Cbwdq>()) InstX86Cbwdq(Func, Dest, Src); in create()
1207 InstX86Cbwdq(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Cbwdq()
1208 : InstX86BaseUnaryopGPR<InstX86Base::Cbwdq>(Func, Dest, Src) {} in InstX86Cbwdq()
1213 static InstX86Movsx *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1214 assert(typeWidthInBytes(Dest->getType()) > in create()
1216 return new (Func->allocate<InstX86Movsx>()) InstX86Movsx(Func, Dest, Src); in create()
1222 InstX86Movsx(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Movsx()
1223 : InstX86BaseUnaryopGPR<InstX86Base::Movsx>(Func, Dest, Src) {} in InstX86Movsx()
1228 static InstX86Movzx *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1229 assert(typeWidthInBytes(Dest->getType()) > in create()
1231 return new (Func->allocate<InstX86Movzx>()) InstX86Movzx(Func, Dest, Src); in create()
1243 InstX86Movzx(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Movzx()
1244 : InstX86BaseUnaryopGPR<InstX86Base::Movzx>(Func, Dest, Src) {} in InstX86Movzx()
1246 bool mayBeElided(const Variable *Dest, const Operand *Src) const;
1251 static InstX86Movd *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1252 return new (Func->allocate<InstX86Movd>()) InstX86Movd(Func, Dest, Src); in create()
1260 InstX86Movd(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Movd()
1261 : InstX86BaseUnaryopXmm<InstX86Base::Movd>(Func, Dest, Src) {} in InstX86Movd()
1270 static InstX86Movmsk *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1272 InstX86Movmsk(Func, Dest, Source); in create()
1282 InstX86Movmsk(Cfg *Func, Variable *Dest, Operand *Source);
1287 static InstX86Sqrt *create(Cfg *Func, Variable *Dest, Operand *Src) { in create()
1288 return new (Func->allocate<InstX86Sqrt>()) InstX86Sqrt(Func, Dest, Src); in create()
1294 InstX86Sqrt(Cfg *Func, Variable *Dest, Operand *Src) in InstX86Sqrt()
1295 : InstX86BaseUnaryopXmm<InstX86Base::Sqrt>(Func, Dest, Src) {} in InstX86Sqrt()
1301 static InstX86Mov *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1302 assert(!isScalarIntegerType(Dest->getType()) || in create()
1303 (typeWidthInBytes(Dest->getType()) <= in create()
1305 return new (Func->allocate<InstX86Mov>()) InstX86Mov(Func, Dest, Source); in create()
1312 InstX86Mov(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Mov()
1313 : InstX86BaseMovlike<InstX86Base::Mov>(Func, Dest, Source) {} in InstX86Mov()
1320 static InstX86Movp *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1322 InstX86Movp(Func, Dest, Source); in create()
1329 InstX86Movp(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Movp()
1330 : InstX86BaseMovlike<InstX86Base::Movp>(Func, Dest, Source) {} in InstX86Movp()
1336 static InstX86Movq *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1338 InstX86Movq(Func, Dest, Source); in create()
1345 InstX86Movq(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Movq()
1346 : InstX86BaseMovlike<InstX86Base::Movq>(Func, Dest, Source) {} in InstX86Movq()
1351 static InstX86Add *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1352 return new (Func->allocate<InstX86Add>()) InstX86Add(Func, Dest, Source); in create()
1356 InstX86Add(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Add()
1357 : InstX86BaseBinopGPR<InstX86Base::Add>(Func, Dest, Source) {} in InstX86Add()
1377 static InstX86Addps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1379 InstX86Addps(Func, Dest, Source); in create()
1383 InstX86Addps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Addps()
1385 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Addps()
1391 static InstX86Adc *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1392 return new (Func->allocate<InstX86Adc>()) InstX86Adc(Func, Dest, Source); in create()
1396 InstX86Adc(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Adc()
1397 : InstX86BaseBinopGPR<InstX86Base::Adc>(Func, Dest, Source) {} in InstX86Adc()
1417 static InstX86Addss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1419 InstX86Addss(Func, Dest, Source); in create()
1423 InstX86Addss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Addss()
1425 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Addss()
1433 static InstX86Padd *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1435 InstX86Padd(Func, Dest, Source); in create()
1439 InstX86Padd(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Padd()
1441 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Padd()
1449 static InstX86Padds *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1451 InstX86Padds(Func, Dest, Source); in create()
1455 InstX86Padds(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Padds()
1457 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Padds()
1465 static InstX86Paddus *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1467 InstX86Paddus(Func, Dest, Source); in create()
1471 InstX86Paddus(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Paddus()
1473 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Paddus()
1479 static InstX86Sub *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1480 return new (Func->allocate<InstX86Sub>()) InstX86Sub(Func, Dest, Source); in create()
1484 InstX86Sub(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Sub()
1485 : InstX86BaseBinopGPR<InstX86Base::Sub>(Func, Dest, Source) {} in InstX86Sub()
1505 static InstX86Subps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1507 InstX86Subps(Func, Dest, Source); in create()
1511 InstX86Subps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Subps()
1513 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Subps()
1521 static InstX86Subss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1523 InstX86Subss(Func, Dest, Source); in create()
1527 InstX86Subss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Subss()
1529 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Subss()
1535 static InstX86Sbb *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1536 return new (Func->allocate<InstX86Sbb>()) InstX86Sbb(Func, Dest, Source); in create()
1540 InstX86Sbb(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Sbb()
1541 : InstX86BaseBinopGPR<InstX86Base::Sbb>(Func, Dest, Source) {} in InstX86Sbb()
1561 static InstX86Psub *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1563 InstX86Psub(Func, Dest, Source); in create()
1567 InstX86Psub(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psub()
1569 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Psub()
1577 static InstX86Psubs *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1579 InstX86Psubs(Func, Dest, Source); in create()
1583 InstX86Psubs(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psubs()
1585 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Psubs()
1593 static InstX86Psubus *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1595 InstX86Psubus(Func, Dest, Source); in create()
1599 InstX86Psubus(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psubus()
1601 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Psubus()
1607 static InstX86And *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1608 return new (Func->allocate<InstX86And>()) InstX86And(Func, Dest, Source); in create()
1612 InstX86And(Cfg *Func, Variable *Dest, Operand *Source) in InstX86And()
1613 : InstX86BaseBinopGPR<InstX86Base::And>(Func, Dest, Source) {} in InstX86And()
1620 static InstX86Andnps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1622 InstX86Andnps(Func, Dest, Source); in create()
1626 InstX86Andnps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Andnps()
1628 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Andnps()
1636 static InstX86Andps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1638 InstX86Andps(Func, Dest, Source); in create()
1642 InstX86Andps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Andps()
1644 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Andps()
1664 static InstX86Pand *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1666 InstX86Pand(Func, Dest, Source); in create()
1670 InstX86Pand(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pand()
1672 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pand()
1680 static InstX86Pandn *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1682 InstX86Pandn(Func, Dest, Source); in create()
1686 InstX86Pandn(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pandn()
1688 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pandn()
1696 static InstX86Maxss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1698 InstX86Maxss(Func, Dest, Source); in create()
1702 InstX86Maxss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Maxss()
1704 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Maxss()
1712 static InstX86Minss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1714 InstX86Minss(Func, Dest, Source); in create()
1718 InstX86Minss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Minss()
1720 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Minss()
1728 static InstX86Maxps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1730 InstX86Maxps(Func, Dest, Source); in create()
1734 InstX86Maxps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Maxps()
1736 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Maxps()
1744 static InstX86Minps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1746 InstX86Minps(Func, Dest, Source); in create()
1750 InstX86Minps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Minps()
1752 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Minps()
1758 static InstX86Or *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1759 return new (Func->allocate<InstX86Or>()) InstX86Or(Func, Dest, Source); in create()
1763 InstX86Or(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Or()
1764 : InstX86BaseBinopGPR<InstX86Base::Or>(Func, Dest, Source) {} in InstX86Or()
1771 static InstX86Orps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1773 InstX86Orps(Func, Dest, Source); in create()
1777 InstX86Orps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Orps()
1779 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Orps()
1799 static InstX86Por *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1800 return new (Func->allocate<InstX86Por>()) InstX86Por(Func, Dest, Source); in create()
1804 InstX86Por(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Por()
1806 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Por()
1812 static InstX86Xor *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1813 return new (Func->allocate<InstX86Xor>()) InstX86Xor(Func, Dest, Source); in create()
1817 InstX86Xor(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Xor()
1818 : InstX86BaseBinopGPR<InstX86Base::Xor>(Func, Dest, Source) {} in InstX86Xor()
1825 static InstX86Xorps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1827 InstX86Xorps(Func, Dest, Source); in create()
1831 InstX86Xorps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Xorps()
1833 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Xorps()
1853 static InstX86Pxor *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1855 InstX86Pxor(Func, Dest, Source); in create()
1859 InstX86Pxor(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pxor()
1861 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pxor()
1867 static InstX86Imul *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1869 InstX86Imul(Func, Dest, Source); in create()
1876 InstX86Imul(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Imul()
1877 : InstX86BaseBinopGPR<InstX86Base::Imul>(Func, Dest, Source) {} in InstX86Imul()
1883 static InstX86ImulImm *create(Cfg *Func, Variable *Dest, Operand *Source0, in create()
1886 InstX86ImulImm(Func, Dest, Source0, Source1); in create()
1893 InstX86ImulImm(Cfg *Func, Variable *Dest, Operand *Source0, in InstX86ImulImm()
1895 : InstX86BaseThreeAddressop<InstX86Base::ImulImm>(Func, Dest, Source0, in InstX86ImulImm()
1903 static InstX86Mulps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1905 InstX86Mulps(Func, Dest, Source); in create()
1909 InstX86Mulps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Mulps()
1911 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Mulps()
1919 static InstX86Mulss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1921 InstX86Mulss(Func, Dest, Source); in create()
1925 InstX86Mulss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Mulss()
1927 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Mulss()
1935 static InstX86Pmull *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1937 Dest->getType() == IceType_v4i32 || Dest->getType() == IceType_v8i16; in create()
1940 Dest->getType() == IceType_v8i16 || in create()
1947 InstX86Pmull(Func, Dest, Source); in create()
1951 InstX86Pmull(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pmull()
1953 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Pmull()
1961 static InstX86Pmulhw *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1962 assert(Dest->getType() == IceType_v8i16 && in create()
1965 InstX86Pmulhw(Func, Dest, Source); in create()
1969 InstX86Pmulhw(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pmulhw()
1971 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pmulhw()
1979 static InstX86Pmulhuw *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1980 assert(Dest->getType() == IceType_v8i16 && in create()
1983 InstX86Pmulhuw(Func, Dest, Source); in create()
1987 InstX86Pmulhuw(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pmulhuw()
1989 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pmulhuw()
1997 static InstX86Pmaddwd *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
1998 assert(Dest->getType() == IceType_v8i16 && in create()
2001 InstX86Pmaddwd(Func, Dest, Source); in create()
2005 InstX86Pmaddwd(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pmaddwd()
2007 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pmaddwd()
2015 static InstX86Pmuludq *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2016 assert(Dest->getType() == IceType_v4i32 && in create()
2019 InstX86Pmuludq(Func, Dest, Source); in create()
2023 InstX86Pmuludq(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pmuludq()
2025 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pmuludq()
2033 static InstX86Divps *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2035 InstX86Divps(Func, Dest, Source); in create()
2039 InstX86Divps(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Divps()
2041 InstX86Base::SseSuffix::Packed>(Func, Dest, in InstX86Divps()
2049 static InstX86Divss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2051 InstX86Divss(Func, Dest, Source); in create()
2055 InstX86Divss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Divss()
2057 InstX86Base::SseSuffix::Scalar>(Func, Dest, in InstX86Divss()
2063 static InstX86Rol *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2064 return new (Func->allocate<InstX86Rol>()) InstX86Rol(Func, Dest, Source); in create()
2068 InstX86Rol(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Rol()
2069 : InstX86BaseBinopGPRShift<InstX86Base::Rol>(Func, Dest, Source) {} in InstX86Rol()
2074 static InstX86Shl *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2075 return new (Func->allocate<InstX86Shl>()) InstX86Shl(Func, Dest, Source); in create()
2079 InstX86Shl(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Shl()
2080 : InstX86BaseBinopGPRShift<InstX86Base::Shl>(Func, Dest, Source) {} in InstX86Shl()
2085 static InstX86Psll *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2087 Dest->getType() == IceType_v8i16 || Dest->getType() == IceType_v8i1 || in create()
2088 Dest->getType() == IceType_v4i32 || Dest->getType() == IceType_v4i1); in create()
2090 InstX86Psll(Func, Dest, Source); in create()
2094 InstX86Psll(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psll()
2095 : InstX86BaseBinopXmmShift<InstX86Base::Psll>(Func, Dest, Source) {} in InstX86Psll()
2100 static InstX86Psrl *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2102 InstX86Psrl(Func, Dest, Source); in create()
2106 InstX86Psrl(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psrl()
2107 : InstX86BaseBinopXmmShift<InstX86Base::Psrl, true>(Func, Dest, in InstX86Psrl()
2113 static InstX86Shr *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2114 return new (Func->allocate<InstX86Shr>()) InstX86Shr(Func, Dest, Source); in create()
2118 InstX86Shr(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Shr()
2119 : InstX86BaseBinopGPRShift<InstX86Base::Shr>(Func, Dest, Source) {} in InstX86Shr()
2124 static InstX86Sar *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2125 return new (Func->allocate<InstX86Sar>()) InstX86Sar(Func, Dest, Source); in create()
2129 InstX86Sar(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Sar()
2130 : InstX86BaseBinopGPRShift<InstX86Base::Sar>(Func, Dest, Source) {} in InstX86Sar()
2135 static InstX86Psra *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2137 Dest->getType() == IceType_v8i16 || Dest->getType() == IceType_v8i1 || in create()
2138 Dest->getType() == IceType_v4i32 || Dest->getType() == IceType_v4i1); in create()
2140 InstX86Psra(Func, Dest, Source); in create()
2144 InstX86Psra(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Psra()
2145 : InstX86BaseBinopXmmShift<InstX86Base::Psra>(Func, Dest, Source) {} in InstX86Psra()
2152 static InstX86Pcmpeq *create(Cfg *Func, Variable *Dest, Operand *Source,
2155 ? Dest->getType()
2162 InstX86Pcmpeq(Func, Dest, Source, ArithmeticTypeOverride);
2166 InstX86Pcmpeq(Cfg *Func, Variable *Dest, Operand *Source, in InstX86Pcmpeq()
2170 Func, Dest, Source, ArithmeticTypeOverride) {} in InstX86Pcmpeq()
2177 static InstX86Pcmpgt *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
2178 assert(Dest->getType() != IceType_f64 || in create()
2182 InstX86Pcmpgt(Func, Dest, Source); in create()
2186 InstX86Pcmpgt(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pcmpgt()
2188 InstX86Base::SseSuffix::Integral>(Func, Dest, in InstX86Pcmpgt()
2202 static InstX86MovssRegs *create(Cfg *Func, Variable *Dest, in create()
2205 InstX86MovssRegs(Func, Dest, Source); in create()
2211 InstX86MovssRegs(Cfg *Func, Variable *Dest, Operand *Source) in InstX86MovssRegs()
2213 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86MovssRegs()
2219 static InstX86Idiv *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2222 InstX86Idiv(Func, Dest, Source1, Source2); in create()
2229 InstX86Idiv(Cfg *Func, Variable *Dest, Operand *Source1, Operand *Source2) in InstX86Idiv()
2230 : InstX86BaseTernop<InstX86Base::Idiv>(Func, Dest, Source1, Source2) {} in InstX86Idiv()
2235 static InstX86Div *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2238 InstX86Div(Func, Dest, Source1, Source2); in create()
2245 InstX86Div(Cfg *Func, Variable *Dest, Operand *Source1, Operand *Source2) in InstX86Div()
2246 : InstX86BaseTernop<InstX86Base::Div>(Func, Dest, Source1, Source2) {} in InstX86Div()
2251 static InstX86Insertps *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2254 InstX86Insertps(Func, Dest, Source1, Source2); in create()
2260 InstX86Insertps(Cfg *Func, Variable *Dest, Operand *Source1, in InstX86Insertps()
2262 : InstX86BaseTernop<InstX86Base::Insertps>(Func, Dest, Source1, in InstX86Insertps()
2268 static InstX86Pinsr *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2272 Dest->getType() == IceType_v8i16 || Dest->getType() == IceType_v8i1 || in create()
2275 InstX86Pinsr(Func, Dest, Source1, Source2); in create()
2282 InstX86Pinsr(Cfg *Func, Variable *Dest, Operand *Source1, Operand *Source2) in InstX86Pinsr()
2283 : InstX86BaseTernop<InstX86Base::Pinsr>(Func, Dest, Source1, Source2) {} in InstX86Pinsr()
2288 static InstX86Shufps *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2291 InstX86Shufps(Func, Dest, Source1, Source2); in create()
2297 InstX86Shufps(Cfg *Func, Variable *Dest, Operand *Source1, Operand *Source2) in InstX86Shufps()
2298 : InstX86BaseTernop<InstX86Base::Shufps>(Func, Dest, Source1, Source2) { in InstX86Shufps()
2304 static InstX86Blendvps *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2309 InstX86Blendvps(Func, Dest, Source1, Source2); in create()
2316 InstX86Blendvps(Cfg *Func, Variable *Dest, Operand *Source1, in InstX86Blendvps()
2318 : InstX86BaseTernop<InstX86Base::Blendvps>(Func, Dest, Source1, in InstX86Blendvps()
2324 static InstX86Pblendvb *create(Cfg *Func, Variable *Dest, Operand *Source1, in create()
2329 InstX86Pblendvb(Func, Dest, Source1, Source2); in create()
2336 InstX86Pblendvb(Cfg *Func, Variable *Dest, Operand *Source1, in InstX86Pblendvb()
2338 : InstX86BaseTernop<InstX86Base::Pblendvb>(Func, Dest, Source1, in InstX86Pblendvb()
2344 static InstX86Pextr *create(Cfg *Func, Variable *Dest, Operand *Source0, in create()
2351 InstX86Pextr(Func, Dest, Source0, Source1); in create()
2358 InstX86Pextr(Cfg *Func, Variable *Dest, Operand *Source0, Operand *Source1) in InstX86Pextr()
2359 : InstX86BaseThreeAddressop<InstX86Base::Pextr>(Func, Dest, Source0, in InstX86Pextr()
2365 static InstX86Pshufd *create(Cfg *Func, Variable *Dest, Operand *Source0, in create()
2368 InstX86Pshufd(Func, Dest, Source0, Source1); in create()
2374 InstX86Pshufd(Cfg *Func, Variable *Dest, Operand *Source0, Operand *Source1) in InstX86Pshufd()
2375 : InstX86BaseThreeAddressop<InstX86Base::Pshufd>(Func, Dest, Source0, in InstX86Pshufd()
2389 SizeT Maxsrcs, Variable *Dest, bool Locked) in InstX86BaseLockable()
2390 : InstX86Base(Func, Kind, Maxsrcs, Dest), Locked(Locked) { in InstX86BaseLockable()
2404 static InstX86Mul *create(Cfg *Func, Variable *Dest, Variable *Source1, in create()
2407 InstX86Mul(Func, Dest, Source1, Source2); in create()
2417 InstX86Mul(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2);
2427 static InstX86Shld *create(Cfg *Func, Variable *Dest, Variable *Source1, in create()
2430 InstX86Shld(Func, Dest, Source1, Source2); in create()
2440 InstX86Shld(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2);
2450 static InstX86Shrd *create(Cfg *Func, Variable *Dest, Variable *Source1, in create()
2453 InstX86Shrd(Func, Dest, Source1, Source2); in create()
2463 InstX86Shrd(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2);
2473 static InstX86Cmov *create(Cfg *Func, Variable *Dest, Operand *Source, in create()
2476 InstX86Cmov(Func, Dest, Source, Cond); in create()
2486 InstX86Cmov(Cfg *Func, Variable *Dest, Operand *Source, BrCond Cond);
2498 static InstX86Cmpps *create(Cfg *Func, Variable *Dest, Operand *Source, in create()
2501 InstX86Cmpps(Func, Dest, Source, Condition); in create()
2511 InstX86Cmpps(Cfg *Func, Variable *Dest, Operand *Source, CmppsCond Cond);
2555 static InstX86Cmpxchg8b *create(Cfg *Func, X86OperandMem *Dest, in create()
2559 InstX86Cmpxchg8b(Func, Dest, Edx, Eax, Ecx, Ebx, Locked); in create()
2569 InstX86Cmpxchg8b(Cfg *Func, X86OperandMem *Dest, Variable *Edx,
2584 static InstX86Cvt *create(Cfg *Func, Variable *Dest, Operand *Source, in create()
2587 InstX86Cvt(Func, Dest, Source, Variant); in create()
2599 InstX86Cvt(Cfg *Func, Variable *Dest, Operand *Source, CvtVariant Variant);
2606 static InstX86Round *create(Cfg *Func, Variable *Dest, Operand *Source, in create()
2609 InstX86Round(Func, Dest, Source, Imm); in create()
2616 InstX86Round(Cfg *Func, Variable *Dest, Operand *Source, Operand *Imm) in InstX86Round()
2617 : InstX86BaseThreeAddressop<InstX86Base::Round>(Func, Dest, Source, in InstX86Round()
2897 static InstX86Fstp *create(Cfg *Func, Variable *Dest) { in create()
2898 return new (Func->allocate<InstX86Fstp>()) InstX86Fstp(Func, Dest); in create()
2908 InstX86Fstp(Cfg *Func, Variable *Dest);
2917 static InstX86Pop *create(Cfg *Func, Variable *Dest) { in create()
2918 return new (Func->allocate<InstX86Pop>()) InstX86Pop(Func, Dest); in create()
2928 InstX86Pop(Cfg *Func, Variable *Dest);
2988 static InstX86Setcc *create(Cfg *Func, Variable *Dest, BrCond Cond) { in create()
2990 InstX86Setcc(Func, Dest, Cond); in create()
3000 InstX86Setcc(Cfg *Func, Variable *Dest, BrCond Cond);
3018 static InstX86Xadd *create(Cfg *Func, Operand *Dest, Variable *Source, in create()
3021 InstX86Xadd(Func, Dest, Source, Locked); in create()
3031 InstX86Xadd(Cfg *Func, Operand *Dest, Variable *Source, bool Locked);
3045 static InstX86Xchg *create(Cfg *Func, Operand *Dest, Variable *Source) { in create()
3047 InstX86Xchg(Func, Dest, Source); in create()
3057 InstX86Xchg(Cfg *Func, Operand *Dest, Variable *Source);
3108 static InstX86Pshufb *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
3110 InstX86Pshufb(Func, Dest, Source); in create()
3114 InstX86Pshufb(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Pshufb()
3116 InstX86Base::SseSuffix::None>(Func, Dest, in InstX86Pshufb()
3124 static InstX86Punpckl *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
3126 InstX86Punpckl(Func, Dest, Source); in create()
3130 InstX86Punpckl(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Punpckl()
3132 InstX86Base::SseSuffix::Unpack>(Func, Dest, in InstX86Punpckl()
3140 static InstX86Punpckh *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
3142 InstX86Punpckh(Func, Dest, Source); in create()
3146 InstX86Punpckh(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Punpckh()
3148 InstX86Base::SseSuffix::Unpack>(Func, Dest, in InstX86Punpckh()
3156 static InstX86Packss *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
3158 InstX86Packss(Func, Dest, Source); in create()
3162 InstX86Packss(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Packss()
3164 InstX86Base::SseSuffix::Pack>(Func, Dest, in InstX86Packss()
3172 static InstX86Packus *create(Cfg *Func, Variable *Dest, Operand *Source) { in create()
3174 InstX86Packus(Func, Dest, Source); in create()
3178 InstX86Packus(Cfg *Func, Variable *Dest, Operand *Source) in InstX86Packus()
3180 InstX86Base::SseSuffix::Pack>(Func, Dest, in InstX86Packus()