Lines Matching refs:MSVCIntrin
1050 enum class CodeGenFunction::MSVCIntrin { enum in CodeGenFunction
1092 static Optional<CodeGenFunction::MSVCIntrin>
1094 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateArmToMsvcIntrin() typedef
1100 return MSVCIntrin::_BitScanForward; in translateArmToMsvcIntrin()
1103 return MSVCIntrin::_BitScanReverse; in translateArmToMsvcIntrin()
1105 return MSVCIntrin::_InterlockedAnd; in translateArmToMsvcIntrin()
1107 return MSVCIntrin::_InterlockedExchange; in translateArmToMsvcIntrin()
1109 return MSVCIntrin::_InterlockedExchangeAdd; in translateArmToMsvcIntrin()
1111 return MSVCIntrin::_InterlockedExchangeSub; in translateArmToMsvcIntrin()
1113 return MSVCIntrin::_InterlockedOr; in translateArmToMsvcIntrin()
1115 return MSVCIntrin::_InterlockedXor; in translateArmToMsvcIntrin()
1117 return MSVCIntrin::_InterlockedDecrement; in translateArmToMsvcIntrin()
1119 return MSVCIntrin::_InterlockedIncrement; in translateArmToMsvcIntrin()
1124 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateArmToMsvcIntrin()
1129 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateArmToMsvcIntrin()
1134 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateArmToMsvcIntrin()
1139 return MSVCIntrin::_InterlockedExchange_acq; in translateArmToMsvcIntrin()
1144 return MSVCIntrin::_InterlockedExchange_rel; in translateArmToMsvcIntrin()
1149 return MSVCIntrin::_InterlockedExchange_nf; in translateArmToMsvcIntrin()
1154 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateArmToMsvcIntrin()
1159 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateArmToMsvcIntrin()
1164 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateArmToMsvcIntrin()
1169 return MSVCIntrin::_InterlockedOr_acq; in translateArmToMsvcIntrin()
1174 return MSVCIntrin::_InterlockedOr_rel; in translateArmToMsvcIntrin()
1179 return MSVCIntrin::_InterlockedOr_nf; in translateArmToMsvcIntrin()
1184 return MSVCIntrin::_InterlockedXor_acq; in translateArmToMsvcIntrin()
1189 return MSVCIntrin::_InterlockedXor_rel; in translateArmToMsvcIntrin()
1194 return MSVCIntrin::_InterlockedXor_nf; in translateArmToMsvcIntrin()
1199 return MSVCIntrin::_InterlockedAnd_acq; in translateArmToMsvcIntrin()
1204 return MSVCIntrin::_InterlockedAnd_rel; in translateArmToMsvcIntrin()
1209 return MSVCIntrin::_InterlockedAnd_nf; in translateArmToMsvcIntrin()
1213 return MSVCIntrin::_InterlockedIncrement_acq; in translateArmToMsvcIntrin()
1217 return MSVCIntrin::_InterlockedIncrement_rel; in translateArmToMsvcIntrin()
1221 return MSVCIntrin::_InterlockedIncrement_nf; in translateArmToMsvcIntrin()
1225 return MSVCIntrin::_InterlockedDecrement_acq; in translateArmToMsvcIntrin()
1229 return MSVCIntrin::_InterlockedDecrement_rel; in translateArmToMsvcIntrin()
1233 return MSVCIntrin::_InterlockedDecrement_nf; in translateArmToMsvcIntrin()
1238 static Optional<CodeGenFunction::MSVCIntrin>
1240 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateAarch64ToMsvcIntrin() typedef
1246 return MSVCIntrin::_BitScanForward; in translateAarch64ToMsvcIntrin()
1249 return MSVCIntrin::_BitScanReverse; in translateAarch64ToMsvcIntrin()
1251 return MSVCIntrin::_InterlockedAnd; in translateAarch64ToMsvcIntrin()
1253 return MSVCIntrin::_InterlockedExchange; in translateAarch64ToMsvcIntrin()
1255 return MSVCIntrin::_InterlockedExchangeAdd; in translateAarch64ToMsvcIntrin()
1257 return MSVCIntrin::_InterlockedExchangeSub; in translateAarch64ToMsvcIntrin()
1259 return MSVCIntrin::_InterlockedOr; in translateAarch64ToMsvcIntrin()
1261 return MSVCIntrin::_InterlockedXor; in translateAarch64ToMsvcIntrin()
1263 return MSVCIntrin::_InterlockedDecrement; in translateAarch64ToMsvcIntrin()
1265 return MSVCIntrin::_InterlockedIncrement; in translateAarch64ToMsvcIntrin()
1270 return MSVCIntrin::_InterlockedExchangeAdd_acq; in translateAarch64ToMsvcIntrin()
1275 return MSVCIntrin::_InterlockedExchangeAdd_rel; in translateAarch64ToMsvcIntrin()
1280 return MSVCIntrin::_InterlockedExchangeAdd_nf; in translateAarch64ToMsvcIntrin()
1285 return MSVCIntrin::_InterlockedExchange_acq; in translateAarch64ToMsvcIntrin()
1290 return MSVCIntrin::_InterlockedExchange_rel; in translateAarch64ToMsvcIntrin()
1295 return MSVCIntrin::_InterlockedExchange_nf; in translateAarch64ToMsvcIntrin()
1300 return MSVCIntrin::_InterlockedCompareExchange_acq; in translateAarch64ToMsvcIntrin()
1305 return MSVCIntrin::_InterlockedCompareExchange_rel; in translateAarch64ToMsvcIntrin()
1310 return MSVCIntrin::_InterlockedCompareExchange_nf; in translateAarch64ToMsvcIntrin()
1312 return MSVCIntrin::_InterlockedCompareExchange128; in translateAarch64ToMsvcIntrin()
1314 return MSVCIntrin::_InterlockedCompareExchange128_acq; in translateAarch64ToMsvcIntrin()
1316 return MSVCIntrin::_InterlockedCompareExchange128_nf; in translateAarch64ToMsvcIntrin()
1318 return MSVCIntrin::_InterlockedCompareExchange128_rel; in translateAarch64ToMsvcIntrin()
1323 return MSVCIntrin::_InterlockedOr_acq; in translateAarch64ToMsvcIntrin()
1328 return MSVCIntrin::_InterlockedOr_rel; in translateAarch64ToMsvcIntrin()
1333 return MSVCIntrin::_InterlockedOr_nf; in translateAarch64ToMsvcIntrin()
1338 return MSVCIntrin::_InterlockedXor_acq; in translateAarch64ToMsvcIntrin()
1343 return MSVCIntrin::_InterlockedXor_rel; in translateAarch64ToMsvcIntrin()
1348 return MSVCIntrin::_InterlockedXor_nf; in translateAarch64ToMsvcIntrin()
1353 return MSVCIntrin::_InterlockedAnd_acq; in translateAarch64ToMsvcIntrin()
1358 return MSVCIntrin::_InterlockedAnd_rel; in translateAarch64ToMsvcIntrin()
1363 return MSVCIntrin::_InterlockedAnd_nf; in translateAarch64ToMsvcIntrin()
1367 return MSVCIntrin::_InterlockedIncrement_acq; in translateAarch64ToMsvcIntrin()
1371 return MSVCIntrin::_InterlockedIncrement_rel; in translateAarch64ToMsvcIntrin()
1375 return MSVCIntrin::_InterlockedIncrement_nf; in translateAarch64ToMsvcIntrin()
1379 return MSVCIntrin::_InterlockedDecrement_acq; in translateAarch64ToMsvcIntrin()
1383 return MSVCIntrin::_InterlockedDecrement_rel; in translateAarch64ToMsvcIntrin()
1387 return MSVCIntrin::_InterlockedDecrement_nf; in translateAarch64ToMsvcIntrin()
1392 static Optional<CodeGenFunction::MSVCIntrin>
1394 using MSVCIntrin = CodeGenFunction::MSVCIntrin; in translateX86ToMsvcIntrin() typedef
1400 return MSVCIntrin::_BitScanForward; in translateX86ToMsvcIntrin()
1403 return MSVCIntrin::_BitScanReverse; in translateX86ToMsvcIntrin()
1405 return MSVCIntrin::_InterlockedAnd; in translateX86ToMsvcIntrin()
1407 return MSVCIntrin::_InterlockedCompareExchange128; in translateX86ToMsvcIntrin()
1409 return MSVCIntrin::_InterlockedExchange; in translateX86ToMsvcIntrin()
1411 return MSVCIntrin::_InterlockedExchangeAdd; in translateX86ToMsvcIntrin()
1413 return MSVCIntrin::_InterlockedExchangeSub; in translateX86ToMsvcIntrin()
1415 return MSVCIntrin::_InterlockedOr; in translateX86ToMsvcIntrin()
1417 return MSVCIntrin::_InterlockedXor; in translateX86ToMsvcIntrin()
1419 return MSVCIntrin::_InterlockedDecrement; in translateX86ToMsvcIntrin()
1421 return MSVCIntrin::_InterlockedIncrement; in translateX86ToMsvcIntrin()
1427 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, in EmitMSVCBuiltinExpr()
1430 case MSVCIntrin::_BitScanForward: in EmitMSVCBuiltinExpr()
1431 case MSVCIntrin::_BitScanReverse: { in EmitMSVCBuiltinExpr()
1457 if (BuiltinID == MSVCIntrin::_BitScanForward) { in EmitMSVCBuiltinExpr()
1478 case MSVCIntrin::_InterlockedAnd: in EmitMSVCBuiltinExpr()
1480 case MSVCIntrin::_InterlockedExchange: in EmitMSVCBuiltinExpr()
1482 case MSVCIntrin::_InterlockedExchangeAdd: in EmitMSVCBuiltinExpr()
1484 case MSVCIntrin::_InterlockedExchangeSub: in EmitMSVCBuiltinExpr()
1486 case MSVCIntrin::_InterlockedOr: in EmitMSVCBuiltinExpr()
1488 case MSVCIntrin::_InterlockedXor: in EmitMSVCBuiltinExpr()
1490 case MSVCIntrin::_InterlockedExchangeAdd_acq: in EmitMSVCBuiltinExpr()
1493 case MSVCIntrin::_InterlockedExchangeAdd_rel: in EmitMSVCBuiltinExpr()
1496 case MSVCIntrin::_InterlockedExchangeAdd_nf: in EmitMSVCBuiltinExpr()
1499 case MSVCIntrin::_InterlockedExchange_acq: in EmitMSVCBuiltinExpr()
1502 case MSVCIntrin::_InterlockedExchange_rel: in EmitMSVCBuiltinExpr()
1505 case MSVCIntrin::_InterlockedExchange_nf: in EmitMSVCBuiltinExpr()
1508 case MSVCIntrin::_InterlockedCompareExchange_acq: in EmitMSVCBuiltinExpr()
1510 case MSVCIntrin::_InterlockedCompareExchange_rel: in EmitMSVCBuiltinExpr()
1512 case MSVCIntrin::_InterlockedCompareExchange_nf: in EmitMSVCBuiltinExpr()
1514 case MSVCIntrin::_InterlockedCompareExchange128: in EmitMSVCBuiltinExpr()
1517 case MSVCIntrin::_InterlockedCompareExchange128_acq: in EmitMSVCBuiltinExpr()
1519 case MSVCIntrin::_InterlockedCompareExchange128_rel: in EmitMSVCBuiltinExpr()
1521 case MSVCIntrin::_InterlockedCompareExchange128_nf: in EmitMSVCBuiltinExpr()
1523 case MSVCIntrin::_InterlockedOr_acq: in EmitMSVCBuiltinExpr()
1526 case MSVCIntrin::_InterlockedOr_rel: in EmitMSVCBuiltinExpr()
1529 case MSVCIntrin::_InterlockedOr_nf: in EmitMSVCBuiltinExpr()
1532 case MSVCIntrin::_InterlockedXor_acq: in EmitMSVCBuiltinExpr()
1535 case MSVCIntrin::_InterlockedXor_rel: in EmitMSVCBuiltinExpr()
1538 case MSVCIntrin::_InterlockedXor_nf: in EmitMSVCBuiltinExpr()
1541 case MSVCIntrin::_InterlockedAnd_acq: in EmitMSVCBuiltinExpr()
1544 case MSVCIntrin::_InterlockedAnd_rel: in EmitMSVCBuiltinExpr()
1547 case MSVCIntrin::_InterlockedAnd_nf: in EmitMSVCBuiltinExpr()
1550 case MSVCIntrin::_InterlockedIncrement_acq: in EmitMSVCBuiltinExpr()
1552 case MSVCIntrin::_InterlockedIncrement_rel: in EmitMSVCBuiltinExpr()
1554 case MSVCIntrin::_InterlockedIncrement_nf: in EmitMSVCBuiltinExpr()
1556 case MSVCIntrin::_InterlockedDecrement_acq: in EmitMSVCBuiltinExpr()
1558 case MSVCIntrin::_InterlockedDecrement_rel: in EmitMSVCBuiltinExpr()
1560 case MSVCIntrin::_InterlockedDecrement_nf: in EmitMSVCBuiltinExpr()
1563 case MSVCIntrin::_InterlockedDecrement: in EmitMSVCBuiltinExpr()
1565 case MSVCIntrin::_InterlockedIncrement: in EmitMSVCBuiltinExpr()
1568 case MSVCIntrin::__fastfail: { in EmitMSVCBuiltinExpr()
4346 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E)); in EmitBuiltinExpr()
4385 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E)); in EmitBuiltinExpr()
4389 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E)); in EmitBuiltinExpr()
4393 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E)); in EmitBuiltinExpr()
4398 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E)); in EmitBuiltinExpr()
4403 EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E)); in EmitBuiltinExpr()
4407 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E)); in EmitBuiltinExpr()
4411 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E)); in EmitBuiltinExpr()
4479 return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E)); in EmitBuiltinExpr()
7597 if (Optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID)) in EmitARMBuiltinExpr()
9655 if (Optional<MSVCIntrin> MsvcIntId = translateAarch64ToMsvcIntrin(BuiltinID)) in EmitAArch64BuiltinExpr()
12377 if (Optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID)) in EmitX86BuiltinExpr()