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