Lines Matching refs:MSVCIntrin
1424 enum class CodeGenFunction::MSVCIntrin { enum in CodeGenFunction
1466 static std::optional<CodeGenFunction::MSVCIntrin>
1468 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateArmToMsvcIntrin() typedef
1474 return MSVCIntrin::_BitScanForward; in translateArmToMsvcIntrin()
1477 return MSVCIntrin::_BitScanReverse; in translateArmToMsvcIntrin()
1479 return MSVCIntrin::_InterlockedAnd; in translateArmToMsvcIntrin()
1481 return MSVCIntrin::_InterlockedExchange; in translateArmToMsvcIntrin()
1483 return MSVCIntrin::_InterlockedExchangeAdd; in translateArmToMsvcIntrin()
1485 return MSVCIntrin::_InterlockedExchangeSub; in translateArmToMsvcIntrin()
1487 return MSVCIntrin::_InterlockedOr; in translateArmToMsvcIntrin()
1489 return MSVCIntrin::_InterlockedXor; in translateArmToMsvcIntrin()
1491 return MSVCIntrin::_InterlockedDecrement; in translateArmToMsvcIntrin()
1493 return MSVCIntrin::_InterlockedIncrement; in translateArmToMsvcIntrin()
1498 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateArmToMsvcIntrin()
1503 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateArmToMsvcIntrin()
1508 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateArmToMsvcIntrin()
1513 return MSVCIntrin::_InterlockedExchange_acq; in translateArmToMsvcIntrin()
1518 return MSVCIntrin::_InterlockedExchange_rel; in translateArmToMsvcIntrin()
1523 return MSVCIntrin::_InterlockedExchange_nf; in translateArmToMsvcIntrin()
1528 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateArmToMsvcIntrin()
1533 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateArmToMsvcIntrin()
1538 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateArmToMsvcIntrin()
1543 return MSVCIntrin::_InterlockedOr_acq; in translateArmToMsvcIntrin()
1548 return MSVCIntrin::_InterlockedOr_rel; in translateArmToMsvcIntrin()
1553 return MSVCIntrin::_InterlockedOr_nf; in translateArmToMsvcIntrin()
1558 return MSVCIntrin::_InterlockedXor_acq; in translateArmToMsvcIntrin()
1563 return MSVCIntrin::_InterlockedXor_rel; in translateArmToMsvcIntrin()
1568 return MSVCIntrin::_InterlockedXor_nf; in translateArmToMsvcIntrin()
1573 return MSVCIntrin::_InterlockedAnd_acq; in translateArmToMsvcIntrin()
1578 return MSVCIntrin::_InterlockedAnd_rel; in translateArmToMsvcIntrin()
1583 return MSVCIntrin::_InterlockedAnd_nf; in translateArmToMsvcIntrin()
1587 return MSVCIntrin::_InterlockedIncrement_acq; in translateArmToMsvcIntrin()
1591 return MSVCIntrin::_InterlockedIncrement_rel; in translateArmToMsvcIntrin()
1595 return MSVCIntrin::_InterlockedIncrement_nf; in translateArmToMsvcIntrin()
1599 return MSVCIntrin::_InterlockedDecrement_acq; in translateArmToMsvcIntrin()
1603 return MSVCIntrin::_InterlockedDecrement_rel; in translateArmToMsvcIntrin()
1607 return MSVCIntrin::_InterlockedDecrement_nf; in translateArmToMsvcIntrin()
1612 static std::optional<CodeGenFunction::MSVCIntrin>
1614 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateAarch64ToMsvcIntrin() typedef
1620 return MSVCIntrin::_BitScanForward; in translateAarch64ToMsvcIntrin()
1623 return MSVCIntrin::_BitScanReverse; in translateAarch64ToMsvcIntrin()
1625 return MSVCIntrin::_InterlockedAnd; in translateAarch64ToMsvcIntrin()
1627 return MSVCIntrin::_InterlockedExchange; in translateAarch64ToMsvcIntrin()
1629 return MSVCIntrin::_InterlockedExchangeAdd; in translateAarch64ToMsvcIntrin()
1631 return MSVCIntrin::_InterlockedExchangeSub; in translateAarch64ToMsvcIntrin()
1633 return MSVCIntrin::_InterlockedOr; in translateAarch64ToMsvcIntrin()
1635 return MSVCIntrin::_InterlockedXor; in translateAarch64ToMsvcIntrin()
1637 return MSVCIntrin::_InterlockedDecrement; in translateAarch64ToMsvcIntrin()
1639 return MSVCIntrin::_InterlockedIncrement; in translateAarch64ToMsvcIntrin()
1644 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateAarch64ToMsvcIntrin()
1649 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateAarch64ToMsvcIntrin()
1654 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateAarch64ToMsvcIntrin()
1659 return MSVCIntrin::_InterlockedExchange_acq; in translateAarch64ToMsvcIntrin()
1664 return MSVCIntrin::_InterlockedExchange_rel; in translateAarch64ToMsvcIntrin()
1669 return MSVCIntrin::_InterlockedExchange_nf; in translateAarch64ToMsvcIntrin()
1674 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateAarch64ToMsvcIntrin()
1679 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateAarch64ToMsvcIntrin()
1684 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateAarch64ToMsvcIntrin()
1686 return MSVCIntrin::_InterlockedCompareExchange128; in translateAarch64ToMsvcIntrin()
1688 return MSVCIntrin::_InterlockedCompareExchange128_acq; in translateAarch64ToMsvcIntrin()
1690 return MSVCIntrin::_InterlockedCompareExchange128_nf; in translateAarch64ToMsvcIntrin()
1692 return MSVCIntrin::_InterlockedCompareExchange128_rel; in translateAarch64ToMsvcIntrin()
1697 return MSVCIntrin::_InterlockedOr_acq; in translateAarch64ToMsvcIntrin()
1702 return MSVCIntrin::_InterlockedOr_rel; in translateAarch64ToMsvcIntrin()
1707 return MSVCIntrin::_InterlockedOr_nf; in translateAarch64ToMsvcIntrin()
1712 return MSVCIntrin::_InterlockedXor_acq; in translateAarch64ToMsvcIntrin()
1717 return MSVCIntrin::_InterlockedXor_rel; in translateAarch64ToMsvcIntrin()
1722 return MSVCIntrin::_InterlockedXor_nf; in translateAarch64ToMsvcIntrin()
1727 return MSVCIntrin::_InterlockedAnd_acq; in translateAarch64ToMsvcIntrin()
1732 return MSVCIntrin::_InterlockedAnd_rel; in translateAarch64ToMsvcIntrin()
1737 return MSVCIntrin::_InterlockedAnd_nf; in translateAarch64ToMsvcIntrin()
1741 return MSVCIntrin::_InterlockedIncrement_acq; in translateAarch64ToMsvcIntrin()
1745 return MSVCIntrin::_InterlockedIncrement_rel; in translateAarch64ToMsvcIntrin()
1749 return MSVCIntrin::_InterlockedIncrement_nf; in translateAarch64ToMsvcIntrin()
1753 return MSVCIntrin::_InterlockedDecrement_acq; in translateAarch64ToMsvcIntrin()
1757 return MSVCIntrin::_InterlockedDecrement_rel; in translateAarch64ToMsvcIntrin()
1761 return MSVCIntrin::_InterlockedDecrement_nf; in translateAarch64ToMsvcIntrin()
1766 static std::optional<CodeGenFunction::MSVCIntrin>
1768 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateX86ToMsvcIntrin() typedef
1774 return MSVCIntrin::_BitScanForward; in translateX86ToMsvcIntrin()
1777 return MSVCIntrin::_BitScanReverse; in translateX86ToMsvcIntrin()
1779 return MSVCIntrin::_InterlockedAnd; in translateX86ToMsvcIntrin()
1781 return MSVCIntrin::_InterlockedCompareExchange128; in translateX86ToMsvcIntrin()
1783 return MSVCIntrin::_InterlockedExchange; in translateX86ToMsvcIntrin()
1785 return MSVCIntrin::_InterlockedExchangeAdd; in translateX86ToMsvcIntrin()
1787 return MSVCIntrin::_InterlockedExchangeSub; in translateX86ToMsvcIntrin()
1789 return MSVCIntrin::_InterlockedOr; in translateX86ToMsvcIntrin()
1791 return MSVCIntrin::_InterlockedXor; in translateX86ToMsvcIntrin()
1793 return MSVCIntrin::_InterlockedDecrement; in translateX86ToMsvcIntrin()
1795 return MSVCIntrin::_InterlockedIncrement; in translateX86ToMsvcIntrin()
1801 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, in EmitMSVCBuiltinExpr()
1804 case MSVCIntrin::_BitScanForward: in EmitMSVCBuiltinExpr()
1805 case MSVCIntrin::_BitScanReverse: { in EmitMSVCBuiltinExpr()
1830 if (BuiltinID == MSVCIntrin::_BitScanForward) { in EmitMSVCBuiltinExpr()
1851 case MSVCIntrin::_InterlockedAnd: in EmitMSVCBuiltinExpr()
1853 case MSVCIntrin::_InterlockedExchange: in EmitMSVCBuiltinExpr()
1855 case MSVCIntrin::_InterlockedExchangeAdd: in EmitMSVCBuiltinExpr()
1857 case MSVCIntrin::_InterlockedExchangeSub: in EmitMSVCBuiltinExpr()
1859 case MSVCIntrin::_InterlockedOr: in EmitMSVCBuiltinExpr()
1861 case MSVCIntrin::_InterlockedXor: in EmitMSVCBuiltinExpr()
1863 case MSVCIntrin::_InterlockedExchangeAdd_acq: in EmitMSVCBuiltinExpr()
1866 case MSVCIntrin::_InterlockedExchangeAdd_rel: in EmitMSVCBuiltinExpr()
1869 case MSVCIntrin::_InterlockedExchangeAdd_nf: in EmitMSVCBuiltinExpr()
1872 case MSVCIntrin::_InterlockedExchange_acq: in EmitMSVCBuiltinExpr()
1875 case MSVCIntrin::_InterlockedExchange_rel: in EmitMSVCBuiltinExpr()
1878 case MSVCIntrin::_InterlockedExchange_nf: in EmitMSVCBuiltinExpr()
1881 case MSVCIntrin::_InterlockedCompareExchange_acq: in EmitMSVCBuiltinExpr()
1883 case MSVCIntrin::_InterlockedCompareExchange_rel: in EmitMSVCBuiltinExpr()
1885 case MSVCIntrin::_InterlockedCompareExchange_nf: in EmitMSVCBuiltinExpr()
1887 case MSVCIntrin::_InterlockedCompareExchange128: in EmitMSVCBuiltinExpr()
1890 case MSVCIntrin::_InterlockedCompareExchange128_acq: in EmitMSVCBuiltinExpr()
1892 case MSVCIntrin::_InterlockedCompareExchange128_rel: in EmitMSVCBuiltinExpr()
1894 case MSVCIntrin::_InterlockedCompareExchange128_nf: in EmitMSVCBuiltinExpr()
1896 case MSVCIntrin::_InterlockedOr_acq: in EmitMSVCBuiltinExpr()
1899 case MSVCIntrin::_InterlockedOr_rel: in EmitMSVCBuiltinExpr()
1902 case MSVCIntrin::_InterlockedOr_nf: in EmitMSVCBuiltinExpr()
1905 case MSVCIntrin::_InterlockedXor_acq: in EmitMSVCBuiltinExpr()
1908 case MSVCIntrin::_InterlockedXor_rel: in EmitMSVCBuiltinExpr()
1911 case MSVCIntrin::_InterlockedXor_nf: in EmitMSVCBuiltinExpr()
1914 case MSVCIntrin::_InterlockedAnd_acq: in EmitMSVCBuiltinExpr()
1917 case MSVCIntrin::_InterlockedAnd_rel: in EmitMSVCBuiltinExpr()
1920 case MSVCIntrin::_InterlockedAnd_nf: in EmitMSVCBuiltinExpr()
1923 case MSVCIntrin::_InterlockedIncrement_acq: in EmitMSVCBuiltinExpr()
1925 case MSVCIntrin::_InterlockedIncrement_rel: in EmitMSVCBuiltinExpr()
1927 case MSVCIntrin::_InterlockedIncrement_nf: in EmitMSVCBuiltinExpr()
1929 case MSVCIntrin::_InterlockedDecrement_acq: in EmitMSVCBuiltinExpr()
1931 case MSVCIntrin::_InterlockedDecrement_rel: in EmitMSVCBuiltinExpr()
1933 case MSVCIntrin::_InterlockedDecrement_nf: in EmitMSVCBuiltinExpr()
1936 case MSVCIntrin::_InterlockedDecrement: in EmitMSVCBuiltinExpr()
1938 case MSVCIntrin::_InterlockedIncrement: in EmitMSVCBuiltinExpr()
1941 case MSVCIntrin::__fastfail: { in EmitMSVCBuiltinExpr()
5111 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E)); in EmitBuiltinExpr()
5147 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E)); in EmitBuiltinExpr()
5151 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E)); in EmitBuiltinExpr()
5155 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E)); in EmitBuiltinExpr()
5160 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E)); in EmitBuiltinExpr()
5165 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E)); in EmitBuiltinExpr()
5169 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E)); in EmitBuiltinExpr()
5173 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E)); in EmitBuiltinExpr()
5248 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E)); in EmitBuiltinExpr()
8684 if (std::optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID)) in EmitARMBuiltinExpr()
11326 if (std::optional<MSVCIntrin> MsvcIntId = in EmitAArch64BuiltinExpr()
14068 if (std::optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID)) in EmitX86BuiltinExpr()