Lines Matching defs:MSVCIntrin

1434 enum class CodeGenFunction::MSVCIntrin {
1476 static std::optional<CodeGenFunction::MSVCIntrin>
1478 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
1484 return MSVCIntrin::_BitScanForward;
1487 return MSVCIntrin::_BitScanReverse;
1489 return MSVCIntrin::_InterlockedAnd;
1491 return MSVCIntrin::_InterlockedExchange;
1493 return MSVCIntrin::_InterlockedExchangeAdd;
1495 return MSVCIntrin::_InterlockedExchangeSub;
1497 return MSVCIntrin::_InterlockedOr;
1499 return MSVCIntrin::_InterlockedXor;
1501 return MSVCIntrin::_InterlockedDecrement;
1503 return MSVCIntrin::_InterlockedIncrement;
1508 return MSVCIntrin::_InterlockedExchangeAdd_acq;
1513 return MSVCIntrin::_InterlockedExchangeAdd_rel;
1518 return MSVCIntrin::_InterlockedExchangeAdd_nf;
1523 return MSVCIntrin::_InterlockedExchange_acq;
1528 return MSVCIntrin::_InterlockedExchange_rel;
1533 return MSVCIntrin::_InterlockedExchange_nf;
1538 return MSVCIntrin::_InterlockedCompareExchange_acq;
1543 return MSVCIntrin::_InterlockedCompareExchange_rel;
1548 return MSVCIntrin::_InterlockedCompareExchange_nf;
1553 return MSVCIntrin::_InterlockedOr_acq;
1558 return MSVCIntrin::_InterlockedOr_rel;
1563 return MSVCIntrin::_InterlockedOr_nf;
1568 return MSVCIntrin::_InterlockedXor_acq;
1573 return MSVCIntrin::_InterlockedXor_rel;
1578 return MSVCIntrin::_InterlockedXor_nf;
1583 return MSVCIntrin::_InterlockedAnd_acq;
1588 return MSVCIntrin::_InterlockedAnd_rel;
1593 return MSVCIntrin::_InterlockedAnd_nf;
1597 return MSVCIntrin::_InterlockedIncrement_acq;
1601 return MSVCIntrin::_InterlockedIncrement_rel;
1605 return MSVCIntrin::_InterlockedIncrement_nf;
1609 return MSVCIntrin::_InterlockedDecrement_acq;
1613 return MSVCIntrin::_InterlockedDecrement_rel;
1617 return MSVCIntrin::_InterlockedDecrement_nf;
1622 static std::optional<CodeGenFunction::MSVCIntrin>
1624 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
1630 return MSVCIntrin::_BitScanForward;
1633 return MSVCIntrin::_BitScanReverse;
1635 return MSVCIntrin::_InterlockedAnd;
1637 return MSVCIntrin::_InterlockedExchange;
1639 return MSVCIntrin::_InterlockedExchangeAdd;
1641 return MSVCIntrin::_InterlockedExchangeSub;
1643 return MSVCIntrin::_InterlockedOr;
1645 return MSVCIntrin::_InterlockedXor;
1647 return MSVCIntrin::_InterlockedDecrement;
1649 return MSVCIntrin::_InterlockedIncrement;
1654 return MSVCIntrin::_InterlockedExchangeAdd_acq;
1659 return MSVCIntrin::_InterlockedExchangeAdd_rel;
1664 return MSVCIntrin::_InterlockedExchangeAdd_nf;
1669 return MSVCIntrin::_InterlockedExchange_acq;
1674 return MSVCIntrin::_InterlockedExchange_rel;
1679 return MSVCIntrin::_InterlockedExchange_nf;
1684 return MSVCIntrin::_InterlockedCompareExchange_acq;
1689 return MSVCIntrin::_InterlockedCompareExchange_rel;
1694 return MSVCIntrin::_InterlockedCompareExchange_nf;
1696 return MSVCIntrin::_InterlockedCompareExchange128;
1698 return MSVCIntrin::_InterlockedCompareExchange128_acq;
1700 return MSVCIntrin::_InterlockedCompareExchange128_nf;
1702 return MSVCIntrin::_InterlockedCompareExchange128_rel;
1707 return MSVCIntrin::_InterlockedOr_acq;
1712 return MSVCIntrin::_InterlockedOr_rel;
1717 return MSVCIntrin::_InterlockedOr_nf;
1722 return MSVCIntrin::_InterlockedXor_acq;
1727 return MSVCIntrin::_InterlockedXor_rel;
1732 return MSVCIntrin::_InterlockedXor_nf;
1737 return MSVCIntrin::_InterlockedAnd_acq;
1742 return MSVCIntrin::_InterlockedAnd_rel;
1747 return MSVCIntrin::_InterlockedAnd_nf;
1751 return MSVCIntrin::_InterlockedIncrement_acq;
1755 return MSVCIntrin::_InterlockedIncrement_rel;
1759 return MSVCIntrin::_InterlockedIncrement_nf;
1763 return MSVCIntrin::_InterlockedDecrement_acq;
1767 return MSVCIntrin::_InterlockedDecrement_rel;
1771 return MSVCIntrin::_InterlockedDecrement_nf;
1776 static std::optional<CodeGenFunction::MSVCIntrin>
1778 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
1784 return MSVCIntrin::_BitScanForward;
1787 return MSVCIntrin::_BitScanReverse;
1789 return MSVCIntrin::_InterlockedAnd;
1791 return MSVCIntrin::_InterlockedCompareExchange128;
1793 return MSVCIntrin::_InterlockedExchange;
1795 return MSVCIntrin::_InterlockedExchangeAdd;
1797 return MSVCIntrin::_InterlockedExchangeSub;
1799 return MSVCIntrin::_InterlockedOr;
1801 return MSVCIntrin::_InterlockedXor;
1803 return MSVCIntrin::_InterlockedDecrement;
1805 return MSVCIntrin::_InterlockedIncrement;
1811 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID,
1814 case MSVCIntrin::_BitScanForward:
1815 case MSVCIntrin::_BitScanReverse: {
1840 if (BuiltinID == MSVCIntrin::_BitScanForward) {
1861 case MSVCIntrin::_InterlockedAnd:
1863 case MSVCIntrin::_InterlockedExchange:
1865 case MSVCIntrin::_InterlockedExchangeAdd:
1867 case MSVCIntrin::_InterlockedExchangeSub:
1869 case MSVCIntrin::_InterlockedOr:
1871 case MSVCIntrin::_InterlockedXor:
1873 case MSVCIntrin::_InterlockedExchangeAdd_acq:
1876 case MSVCIntrin::_InterlockedExchangeAdd_rel:
1879 case MSVCIntrin::_InterlockedExchangeAdd_nf:
1882 case MSVCIntrin::_InterlockedExchange_acq:
1885 case MSVCIntrin::_InterlockedExchange_rel:
1888 case MSVCIntrin::_InterlockedExchange_nf:
1891 case MSVCIntrin::_InterlockedCompareExchange_acq:
1893 case MSVCIntrin::_InterlockedCompareExchange_rel:
1895 case MSVCIntrin::_InterlockedCompareExchange_nf:
1897 case MSVCIntrin::_InterlockedCompareExchange128:
1900 case MSVCIntrin::_InterlockedCompareExchange128_acq:
1902 case MSVCIntrin::_InterlockedCompareExchange128_rel:
1904 case MSVCIntrin::_InterlockedCompareExchange128_nf:
1906 case MSVCIntrin::_InterlockedOr_acq:
1909 case MSVCIntrin::_InterlockedOr_rel:
1912 case MSVCIntrin::_InterlockedOr_nf:
1915 case MSVCIntrin::_InterlockedXor_acq:
1918 case MSVCIntrin::_InterlockedXor_rel:
1921 case MSVCIntrin::_InterlockedXor_nf:
1924 case MSVCIntrin::_InterlockedAnd_acq:
1927 case MSVCIntrin::_InterlockedAnd_rel:
1930 case MSVCIntrin::_InterlockedAnd_nf:
1933 case MSVCIntrin::_InterlockedIncrement_acq:
1935 case MSVCIntrin::_InterlockedIncrement_rel:
1937 case MSVCIntrin::_InterlockedIncrement_nf:
1939 case MSVCIntrin::_InterlockedDecrement_acq:
1941 case MSVCIntrin::_InterlockedDecrement_rel:
1943 case MSVCIntrin::_InterlockedDecrement_nf:
1946 case MSVCIntrin::_InterlockedDecrement:
1948 case MSVCIntrin::_InterlockedIncrement:
1951 case MSVCIntrin::__fastfail: {
5296 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E));
5332 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E));
5336 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E));
5340 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E));
5345 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E));
5350 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E));
5354 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E));
5358 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E));
5503 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E));
8943 if (std::optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID))
11609 if (std::optional<MSVCIntrin> MsvcIntId =
14369 if (std::optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID))