|
@@ -1307,17 +1307,30 @@ static bool SemaBuiltinCpuSupports(Sema &S, CallExpr *TheCall) {
|
|
|
bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
|
|
unsigned i = 0, l = 0, u = 0;
|
|
|
switch (BuiltinID) {
|
|
|
- default: return false;
|
|
|
+ default:
|
|
|
+ return false;
|
|
|
case X86::BI__builtin_cpu_supports:
|
|
|
return SemaBuiltinCpuSupports(*this, TheCall);
|
|
|
case X86::BI__builtin_ms_va_start:
|
|
|
return SemaBuiltinMSVAStart(TheCall);
|
|
|
- case X86::BI_mm_prefetch: i = 1; l = 0; u = 3; break;
|
|
|
- case X86::BI__builtin_ia32_sha1rnds4: i = 2, l = 0; u = 3; break;
|
|
|
+ case X86::BI_mm_prefetch:
|
|
|
+ i = 1;
|
|
|
+ l = 0;
|
|
|
+ u = 3;
|
|
|
+ break;
|
|
|
+ case X86::BI__builtin_ia32_sha1rnds4:
|
|
|
+ i = 2;
|
|
|
+ l = 0;
|
|
|
+ u = 3;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_vpermil2pd:
|
|
|
case X86::BI__builtin_ia32_vpermil2pd256:
|
|
|
case X86::BI__builtin_ia32_vpermil2ps:
|
|
|
- case X86::BI__builtin_ia32_vpermil2ps256: i = 3, l = 0; u = 3; break;
|
|
|
+ case X86::BI__builtin_ia32_vpermil2ps256:
|
|
|
+ i = 3;
|
|
|
+ l = 0;
|
|
|
+ u = 3;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_cmpb128_mask:
|
|
|
case X86::BI__builtin_ia32_cmpw128_mask:
|
|
|
case X86::BI__builtin_ia32_cmpd128_mask:
|
|
@@ -1341,13 +1354,25 @@ bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
|
|
case X86::BI__builtin_ia32_ucmpb512_mask:
|
|
|
case X86::BI__builtin_ia32_ucmpw512_mask:
|
|
|
case X86::BI__builtin_ia32_ucmpd512_mask:
|
|
|
- case X86::BI__builtin_ia32_ucmpq512_mask: i = 2; l = 0; u = 7; break;
|
|
|
+ case X86::BI__builtin_ia32_ucmpq512_mask:
|
|
|
+ i = 2;
|
|
|
+ l = 0;
|
|
|
+ u = 7;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_roundps:
|
|
|
case X86::BI__builtin_ia32_roundpd:
|
|
|
case X86::BI__builtin_ia32_roundps256:
|
|
|
- case X86::BI__builtin_ia32_roundpd256: i = 1, l = 0; u = 15; break;
|
|
|
+ case X86::BI__builtin_ia32_roundpd256:
|
|
|
+ i = 1;
|
|
|
+ l = 0;
|
|
|
+ u = 15;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_roundss:
|
|
|
- case X86::BI__builtin_ia32_roundsd: i = 2, l = 0; u = 15; break;
|
|
|
+ case X86::BI__builtin_ia32_roundsd:
|
|
|
+ i = 2;
|
|
|
+ l = 0;
|
|
|
+ u = 15;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_cmpps:
|
|
|
case X86::BI__builtin_ia32_cmpss:
|
|
|
case X86::BI__builtin_ia32_cmppd:
|
|
@@ -1355,7 +1380,11 @@ bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
|
|
case X86::BI__builtin_ia32_cmpps256:
|
|
|
case X86::BI__builtin_ia32_cmppd256:
|
|
|
case X86::BI__builtin_ia32_cmpps512_mask:
|
|
|
- case X86::BI__builtin_ia32_cmppd512_mask: i = 2; l = 0; u = 31; break;
|
|
|
+ case X86::BI__builtin_ia32_cmppd512_mask:
|
|
|
+ i = 2;
|
|
|
+ l = 0;
|
|
|
+ u = 31;
|
|
|
+ break;
|
|
|
case X86::BI__builtin_ia32_vpcomub:
|
|
|
case X86::BI__builtin_ia32_vpcomuw:
|
|
|
case X86::BI__builtin_ia32_vpcomud:
|
|
@@ -1363,7 +1392,11 @@ bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
|
|
case X86::BI__builtin_ia32_vpcomb:
|
|
|
case X86::BI__builtin_ia32_vpcomw:
|
|
|
case X86::BI__builtin_ia32_vpcomd:
|
|
|
- case X86::BI__builtin_ia32_vpcomq: i = 2; l = 0; u = 7; break;
|
|
|
+ case X86::BI__builtin_ia32_vpcomq:
|
|
|
+ i = 2;
|
|
|
+ l = 0;
|
|
|
+ u = 7;
|
|
|
+ break;
|
|
|
}
|
|
|
return SemaBuiltinConstantArgRange(TheCall, i, l, u);
|
|
|
}
|