Lines Matching defs:MSVCIntrin
1653 enum class CodeGenFunction::MSVCIntrin {
1696 static std::optional<CodeGenFunction::MSVCIntrin>
1698 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
1704 return MSVCIntrin::_BitScanForward;
1707 return MSVCIntrin::_BitScanReverse;
1709 return MSVCIntrin::_InterlockedAnd;
1711 return MSVCIntrin::_InterlockedExchange;
1713 return MSVCIntrin::_InterlockedExchangeAdd;
1715 return MSVCIntrin::_InterlockedExchangeSub;
1717 return MSVCIntrin::_InterlockedOr;
1719 return MSVCIntrin::_InterlockedXor;
1721 return MSVCIntrin::_InterlockedDecrement;
1723 return MSVCIntrin::_InterlockedIncrement;
1728 return MSVCIntrin::_InterlockedExchangeAdd_acq;
1733 return MSVCIntrin::_InterlockedExchangeAdd_rel;
1738 return MSVCIntrin::_InterlockedExchangeAdd_nf;
1744 return MSVCIntrin::_InterlockedExchange_acq;
1750 return MSVCIntrin::_InterlockedExchange_rel;
1756 return MSVCIntrin::_InterlockedExchange_nf;
1762 return MSVCIntrin::_InterlockedCompareExchange_acq;
1768 return MSVCIntrin::_InterlockedCompareExchange_rel;
1773 return MSVCIntrin::_InterlockedCompareExchange_nf;
1778 return MSVCIntrin::_InterlockedOr_acq;
1783 return MSVCIntrin::_InterlockedOr_rel;
1788 return MSVCIntrin::_InterlockedOr_nf;
1793 return MSVCIntrin::_InterlockedXor_acq;
1798 return MSVCIntrin::_InterlockedXor_rel;
1803 return MSVCIntrin::_InterlockedXor_nf;
1808 return MSVCIntrin::_InterlockedAnd_acq;
1813 return MSVCIntrin::_InterlockedAnd_rel;
1818 return MSVCIntrin::_InterlockedAnd_nf;
1822 return MSVCIntrin::_InterlockedIncrement_acq;
1826 return MSVCIntrin::_InterlockedIncrement_rel;
1830 return MSVCIntrin::_InterlockedIncrement_nf;
1834 return MSVCIntrin::_InterlockedDecrement_acq;
1838 return MSVCIntrin::_InterlockedDecrement_rel;
1842 return MSVCIntrin::_InterlockedDecrement_nf;
1847 static std::optional<CodeGenFunction::MSVCIntrin>
1849 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
1855 return MSVCIntrin::_BitScanForward;
1858 return MSVCIntrin::_BitScanReverse;
1860 return MSVCIntrin::_InterlockedAnd;
1862 return MSVCIntrin::_InterlockedExchange;
1864 return MSVCIntrin::_InterlockedExchangeAdd;
1866 return MSVCIntrin::_InterlockedExchangeSub;
1868 return MSVCIntrin::_InterlockedOr;
1870 return MSVCIntrin::_InterlockedXor;
1872 return MSVCIntrin::_InterlockedDecrement;
1874 return MSVCIntrin::_InterlockedIncrement;
1879 return MSVCIntrin::_InterlockedExchangeAdd_acq;
1884 return MSVCIntrin::_InterlockedExchangeAdd_rel;
1889 return MSVCIntrin::_InterlockedExchangeAdd_nf;
1895 return MSVCIntrin::_InterlockedExchange_acq;
1901 return MSVCIntrin::_InterlockedExchange_rel;
1907 return MSVCIntrin::_InterlockedExchange_nf;
1913 return MSVCIntrin::_InterlockedCompareExchange_acq;
1919 return MSVCIntrin::_InterlockedCompareExchange_rel;
1924 return MSVCIntrin::_InterlockedCompareExchange_nf;
1926 return MSVCIntrin::_InterlockedCompareExchange128;
1928 return MSVCIntrin::_InterlockedCompareExchange128_acq;
1930 return MSVCIntrin::_InterlockedCompareExchange128_nf;
1932 return MSVCIntrin::_InterlockedCompareExchange128_rel;
1937 return MSVCIntrin::_InterlockedOr_acq;
1942 return MSVCIntrin::_InterlockedOr_rel;
1947 return MSVCIntrin::_InterlockedOr_nf;
1952 return MSVCIntrin::_InterlockedXor_acq;
1957 return MSVCIntrin::_InterlockedXor_rel;
1962 return MSVCIntrin::_InterlockedXor_nf;
1967 return MSVCIntrin::_InterlockedAnd_acq;
1972 return MSVCIntrin::_InterlockedAnd_rel;
1977 return MSVCIntrin::_InterlockedAnd_nf;
1981 return MSVCIntrin::_InterlockedIncrement_acq;
1985 return MSVCIntrin::_InterlockedIncrement_rel;
1989 return MSVCIntrin::_InterlockedIncrement_nf;
1993 return MSVCIntrin::_InterlockedDecrement_acq;
1997 return MSVCIntrin::_InterlockedDecrement_rel;
2001 return MSVCIntrin::_InterlockedDecrement_nf;
2006 static std::optional<CodeGenFunction::MSVCIntrin>
2008 using MSVCIntrin = CodeGenFunction::MSVCIntrin;
2014 return MSVCIntrin::_BitScanForward;
2017 return MSVCIntrin::_BitScanReverse;
2019 return MSVCIntrin::_InterlockedAnd;
2021 return MSVCIntrin::_InterlockedCompareExchange128;
2023 return MSVCIntrin::_InterlockedExchange;
2025 return MSVCIntrin::_InterlockedExchangeAdd;
2027 return MSVCIntrin::_InterlockedExchangeSub;
2029 return MSVCIntrin::_InterlockedOr;
2031 return MSVCIntrin::_InterlockedXor;
2033 return MSVCIntrin::_InterlockedDecrement;
2035 return MSVCIntrin::_InterlockedIncrement;
2041 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID,
2044 case MSVCIntrin::_BitScanForward:
2045 case MSVCIntrin::_BitScanReverse: {
2070 if (BuiltinID == MSVCIntrin::_BitScanForward) {
2091 case MSVCIntrin::_InterlockedAnd:
2093 case MSVCIntrin::_InterlockedExchange:
2095 case MSVCIntrin::_InterlockedExchangeAdd:
2097 case MSVCIntrin::_InterlockedExchangeSub:
2099 case MSVCIntrin::_InterlockedOr:
2101 case MSVCIntrin::_InterlockedXor:
2103 case MSVCIntrin::_InterlockedExchangeAdd_acq:
2106 case MSVCIntrin::_InterlockedExchangeAdd_rel:
2109 case MSVCIntrin::_InterlockedExchangeAdd_nf:
2112 case MSVCIntrin::_InterlockedExchange_acq:
2115 case MSVCIntrin::_InterlockedExchange_rel:
2118 case MSVCIntrin::_InterlockedExchange_nf:
2121 case MSVCIntrin::_InterlockedCompareExchange:
2123 case MSVCIntrin::_InterlockedCompareExchange_acq:
2125 case MSVCIntrin::_InterlockedCompareExchange_rel:
2127 case MSVCIntrin::_InterlockedCompareExchange_nf:
2129 case MSVCIntrin::_InterlockedCompareExchange128:
2132 case MSVCIntrin::_InterlockedCompareExchange128_acq:
2134 case MSVCIntrin::_InterlockedCompareExchange128_rel:
2136 case MSVCIntrin::_InterlockedCompareExchange128_nf:
2138 case MSVCIntrin::_InterlockedOr_acq:
2141 case MSVCIntrin::_InterlockedOr_rel:
2144 case MSVCIntrin::_InterlockedOr_nf:
2147 case MSVCIntrin::_InterlockedXor_acq:
2150 case MSVCIntrin::_InterlockedXor_rel:
2153 case MSVCIntrin::_InterlockedXor_nf:
2156 case MSVCIntrin::_InterlockedAnd_acq:
2159 case MSVCIntrin::_InterlockedAnd_rel:
2162 case MSVCIntrin::_InterlockedAnd_nf:
2165 case MSVCIntrin::_InterlockedIncrement_acq:
2167 case MSVCIntrin::_InterlockedIncrement_rel:
2169 case MSVCIntrin::_InterlockedIncrement_nf:
2171 case MSVCIntrin::_InterlockedDecrement_acq:
2173 case MSVCIntrin::_InterlockedDecrement_rel:
2175 case MSVCIntrin::_InterlockedDecrement_nf:
2178 case MSVCIntrin::_InterlockedDecrement:
2180 case MSVCIntrin::_InterlockedIncrement:
2183 case MSVCIntrin::__fastfail: {
5643 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E));
5646 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange, E));
5649 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_nf, E));
5658 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E));
5662 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E));
5666 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E));
5671 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E));
5676 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E));
5680 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E));
5684 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E));
5829 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E));
9338 if (std::optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID))
12011 if (std::optional<MSVCIntrin> MsvcIntId =
15198 if (std::optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID))