Lines Matching refs:MSVCIntrin
1140 enum class CodeGenFunction::MSVCIntrin { enum in CodeGenFunction
1182 static std::optional<CodeGenFunction::MSVCIntrin>
1184 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateArmToMsvcIntrin() typedef
1190 return MSVCIntrin::_BitScanForward; in translateArmToMsvcIntrin()
1193 return MSVCIntrin::_BitScanReverse; in translateArmToMsvcIntrin()
1195 return MSVCIntrin::_InterlockedAnd; in translateArmToMsvcIntrin()
1197 return MSVCIntrin::_InterlockedExchange; in translateArmToMsvcIntrin()
1199 return MSVCIntrin::_InterlockedExchangeAdd; in translateArmToMsvcIntrin()
1201 return MSVCIntrin::_InterlockedExchangeSub; in translateArmToMsvcIntrin()
1203 return MSVCIntrin::_InterlockedOr; in translateArmToMsvcIntrin()
1205 return MSVCIntrin::_InterlockedXor; in translateArmToMsvcIntrin()
1207 return MSVCIntrin::_InterlockedDecrement; in translateArmToMsvcIntrin()
1209 return MSVCIntrin::_InterlockedIncrement; in translateArmToMsvcIntrin()
1214 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateArmToMsvcIntrin()
1219 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateArmToMsvcIntrin()
1224 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateArmToMsvcIntrin()
1229 return MSVCIntrin::_InterlockedExchange_acq; in translateArmToMsvcIntrin()
1234 return MSVCIntrin::_InterlockedExchange_rel; in translateArmToMsvcIntrin()
1239 return MSVCIntrin::_InterlockedExchange_nf; in translateArmToMsvcIntrin()
1244 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateArmToMsvcIntrin()
1249 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateArmToMsvcIntrin()
1254 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateArmToMsvcIntrin()
1259 return MSVCIntrin::_InterlockedOr_acq; in translateArmToMsvcIntrin()
1264 return MSVCIntrin::_InterlockedOr_rel; in translateArmToMsvcIntrin()
1269 return MSVCIntrin::_InterlockedOr_nf; in translateArmToMsvcIntrin()
1274 return MSVCIntrin::_InterlockedXor_acq; in translateArmToMsvcIntrin()
1279 return MSVCIntrin::_InterlockedXor_rel; in translateArmToMsvcIntrin()
1284 return MSVCIntrin::_InterlockedXor_nf; in translateArmToMsvcIntrin()
1289 return MSVCIntrin::_InterlockedAnd_acq; in translateArmToMsvcIntrin()
1294 return MSVCIntrin::_InterlockedAnd_rel; in translateArmToMsvcIntrin()
1299 return MSVCIntrin::_InterlockedAnd_nf; in translateArmToMsvcIntrin()
1303 return MSVCIntrin::_InterlockedIncrement_acq; in translateArmToMsvcIntrin()
1307 return MSVCIntrin::_InterlockedIncrement_rel; in translateArmToMsvcIntrin()
1311 return MSVCIntrin::_InterlockedIncrement_nf; in translateArmToMsvcIntrin()
1315 return MSVCIntrin::_InterlockedDecrement_acq; in translateArmToMsvcIntrin()
1319 return MSVCIntrin::_InterlockedDecrement_rel; in translateArmToMsvcIntrin()
1323 return MSVCIntrin::_InterlockedDecrement_nf; in translateArmToMsvcIntrin()
1328 static std::optional<CodeGenFunction::MSVCIntrin>
1330 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateAarch64ToMsvcIntrin() typedef
1336 return MSVCIntrin::_BitScanForward; in translateAarch64ToMsvcIntrin()
1339 return MSVCIntrin::_BitScanReverse; in translateAarch64ToMsvcIntrin()
1341 return MSVCIntrin::_InterlockedAnd; in translateAarch64ToMsvcIntrin()
1343 return MSVCIntrin::_InterlockedExchange; in translateAarch64ToMsvcIntrin()
1345 return MSVCIntrin::_InterlockedExchangeAdd; in translateAarch64ToMsvcIntrin()
1347 return MSVCIntrin::_InterlockedExchangeSub; in translateAarch64ToMsvcIntrin()
1349 return MSVCIntrin::_InterlockedOr; in translateAarch64ToMsvcIntrin()
1351 return MSVCIntrin::_InterlockedXor; in translateAarch64ToMsvcIntrin()
1353 return MSVCIntrin::_InterlockedDecrement; in translateAarch64ToMsvcIntrin()
1355 return MSVCIntrin::_InterlockedIncrement; in translateAarch64ToMsvcIntrin()
1360 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateAarch64ToMsvcIntrin()
1365 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateAarch64ToMsvcIntrin()
1370 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateAarch64ToMsvcIntrin()
1375 return MSVCIntrin::_InterlockedExchange_acq; in translateAarch64ToMsvcIntrin()
1380 return MSVCIntrin::_InterlockedExchange_rel; in translateAarch64ToMsvcIntrin()
1385 return MSVCIntrin::_InterlockedExchange_nf; in translateAarch64ToMsvcIntrin()
1390 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateAarch64ToMsvcIntrin()
1395 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateAarch64ToMsvcIntrin()
1400 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateAarch64ToMsvcIntrin()
1402 return MSVCIntrin::_InterlockedCompareExchange128; in translateAarch64ToMsvcIntrin()
1404 return MSVCIntrin::_InterlockedCompareExchange128_acq; in translateAarch64ToMsvcIntrin()
1406 return MSVCIntrin::_InterlockedCompareExchange128_nf; in translateAarch64ToMsvcIntrin()
1408 return MSVCIntrin::_InterlockedCompareExchange128_rel; in translateAarch64ToMsvcIntrin()
1413 return MSVCIntrin::_InterlockedOr_acq; in translateAarch64ToMsvcIntrin()
1418 return MSVCIntrin::_InterlockedOr_rel; in translateAarch64ToMsvcIntrin()
1423 return MSVCIntrin::_InterlockedOr_nf; in translateAarch64ToMsvcIntrin()
1428 return MSVCIntrin::_InterlockedXor_acq; in translateAarch64ToMsvcIntrin()
1433 return MSVCIntrin::_InterlockedXor_rel; in translateAarch64ToMsvcIntrin()
1438 return MSVCIntrin::_InterlockedXor_nf; in translateAarch64ToMsvcIntrin()
1443 return MSVCIntrin::_InterlockedAnd_acq; in translateAarch64ToMsvcIntrin()
1448 return MSVCIntrin::_InterlockedAnd_rel; in translateAarch64ToMsvcIntrin()
1453 return MSVCIntrin::_InterlockedAnd_nf; in translateAarch64ToMsvcIntrin()
1457 return MSVCIntrin::_InterlockedIncrement_acq; in translateAarch64ToMsvcIntrin()
1461 return MSVCIntrin::_InterlockedIncrement_rel; in translateAarch64ToMsvcIntrin()
1465 return MSVCIntrin::_InterlockedIncrement_nf; in translateAarch64ToMsvcIntrin()
1469 return MSVCIntrin::_InterlockedDecrement_acq; in translateAarch64ToMsvcIntrin()
1473 return MSVCIntrin::_InterlockedDecrement_rel; in translateAarch64ToMsvcIntrin()
1477 return MSVCIntrin::_InterlockedDecrement_nf; in translateAarch64ToMsvcIntrin()
1482 static std::optional<CodeGenFunction::MSVCIntrin>
1484 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateX86ToMsvcIntrin() typedef
1490 return MSVCIntrin::_BitScanForward; in translateX86ToMsvcIntrin()
1493 return MSVCIntrin::_BitScanReverse; in translateX86ToMsvcIntrin()
1495 return MSVCIntrin::_InterlockedAnd; in translateX86ToMsvcIntrin()
1497 return MSVCIntrin::_InterlockedCompareExchange128; in translateX86ToMsvcIntrin()
1499 return MSVCIntrin::_InterlockedExchange; in translateX86ToMsvcIntrin()
1501 return MSVCIntrin::_InterlockedExchangeAdd; in translateX86ToMsvcIntrin()
1503 return MSVCIntrin::_InterlockedExchangeSub; in translateX86ToMsvcIntrin()
1505 return MSVCIntrin::_InterlockedOr; in translateX86ToMsvcIntrin()
1507 return MSVCIntrin::_InterlockedXor; in translateX86ToMsvcIntrin()
1509 return MSVCIntrin::_InterlockedDecrement; in translateX86ToMsvcIntrin()
1511 return MSVCIntrin::_InterlockedIncrement; in translateX86ToMsvcIntrin()
1517 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, in EmitMSVCBuiltinExpr()
1520 case MSVCIntrin::_BitScanForward: in EmitMSVCBuiltinExpr()
1521 case MSVCIntrin::_BitScanReverse: { in EmitMSVCBuiltinExpr()
1546 if (BuiltinID == MSVCIntrin::_BitScanForward) { in EmitMSVCBuiltinExpr()
1567 case MSVCIntrin::_InterlockedAnd: in EmitMSVCBuiltinExpr()
1569 case MSVCIntrin::_InterlockedExchange: in EmitMSVCBuiltinExpr()
1571 case MSVCIntrin::_InterlockedExchangeAdd: in EmitMSVCBuiltinExpr()
1573 case MSVCIntrin::_InterlockedExchangeSub: in EmitMSVCBuiltinExpr()
1575 case MSVCIntrin::_InterlockedOr: in EmitMSVCBuiltinExpr()
1577 case MSVCIntrin::_InterlockedXor: in EmitMSVCBuiltinExpr()
1579 case MSVCIntrin::_InterlockedExchangeAdd_acq: in EmitMSVCBuiltinExpr()
1582 case MSVCIntrin::_InterlockedExchangeAdd_rel: in EmitMSVCBuiltinExpr()
1585 case MSVCIntrin::_InterlockedExchangeAdd_nf: in EmitMSVCBuiltinExpr()
1588 case MSVCIntrin::_InterlockedExchange_acq: in EmitMSVCBuiltinExpr()
1591 case MSVCIntrin::_InterlockedExchange_rel: in EmitMSVCBuiltinExpr()
1594 case MSVCIntrin::_InterlockedExchange_nf: in EmitMSVCBuiltinExpr()
1597 case MSVCIntrin::_InterlockedCompareExchange_acq: in EmitMSVCBuiltinExpr()
1599 case MSVCIntrin::_InterlockedCompareExchange_rel: in EmitMSVCBuiltinExpr()
1601 case MSVCIntrin::_InterlockedCompareExchange_nf: in EmitMSVCBuiltinExpr()
1603 case MSVCIntrin::_InterlockedCompareExchange128: in EmitMSVCBuiltinExpr()
1606 case MSVCIntrin::_InterlockedCompareExchange128_acq: in EmitMSVCBuiltinExpr()
1608 case MSVCIntrin::_InterlockedCompareExchange128_rel: in EmitMSVCBuiltinExpr()
1610 case MSVCIntrin::_InterlockedCompareExchange128_nf: in EmitMSVCBuiltinExpr()
1612 case MSVCIntrin::_InterlockedOr_acq: in EmitMSVCBuiltinExpr()
1615 case MSVCIntrin::_InterlockedOr_rel: in EmitMSVCBuiltinExpr()
1618 case MSVCIntrin::_InterlockedOr_nf: in EmitMSVCBuiltinExpr()
1621 case MSVCIntrin::_InterlockedXor_acq: in EmitMSVCBuiltinExpr()
1624 case MSVCIntrin::_InterlockedXor_rel: in EmitMSVCBuiltinExpr()
1627 case MSVCIntrin::_InterlockedXor_nf: in EmitMSVCBuiltinExpr()
1630 case MSVCIntrin::_InterlockedAnd_acq: in EmitMSVCBuiltinExpr()
1633 case MSVCIntrin::_InterlockedAnd_rel: in EmitMSVCBuiltinExpr()
1636 case MSVCIntrin::_InterlockedAnd_nf: in EmitMSVCBuiltinExpr()
1639 case MSVCIntrin::_InterlockedIncrement_acq: in EmitMSVCBuiltinExpr()
1641 case MSVCIntrin::_InterlockedIncrement_rel: in EmitMSVCBuiltinExpr()
1643 case MSVCIntrin::_InterlockedIncrement_nf: in EmitMSVCBuiltinExpr()
1645 case MSVCIntrin::_InterlockedDecrement_acq: in EmitMSVCBuiltinExpr()
1647 case MSVCIntrin::_InterlockedDecrement_rel: in EmitMSVCBuiltinExpr()
1649 case MSVCIntrin::_InterlockedDecrement_nf: in EmitMSVCBuiltinExpr()
1652 case MSVCIntrin::_InterlockedDecrement: in EmitMSVCBuiltinExpr()
1654 case MSVCIntrin::_InterlockedIncrement: in EmitMSVCBuiltinExpr()
1657 case MSVCIntrin::__fastfail: { in EmitMSVCBuiltinExpr()
4548 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E)); in EmitBuiltinExpr()
4587 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E)); in EmitBuiltinExpr()
4591 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E)); in EmitBuiltinExpr()
4595 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E)); in EmitBuiltinExpr()
4600 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E)); in EmitBuiltinExpr()
4605 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E)); in EmitBuiltinExpr()
4609 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E)); in EmitBuiltinExpr()
4613 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E)); in EmitBuiltinExpr()
4687 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E)); in EmitBuiltinExpr()
8066 if (std::optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID)) in EmitARMBuiltinExpr()
10328 if (std::optional<MSVCIntrin> MsvcIntId = in EmitAArch64BuiltinExpr()
13107 if (std::optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID)) in EmitX86BuiltinExpr()