summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-02-13 06:04:48 +0000
committerCraig Topper <craig.topper@gmail.com>2015-02-13 06:04:48 +0000
commit8dd7d0d9c17aa37eabaf6a0cd4f1c82cdb810000 (patch)
treead82b41ad647194d7358d88f3f89821adc9b97b0 /clang/lib/Sema/SemaChecking.cpp
parenta462482d98f8652504fa2f3964312d1b06d565db (diff)
downloadbcm5719-llvm-8dd7d0d9c17aa37eabaf6a0cd4f1c82cdb810000.tar.gz
bcm5719-llvm-8dd7d0d9c17aa37eabaf6a0cd4f1c82cdb810000.zip
[X86] Add range checking on immediate arguments on XOP vpcom builtins.
llvm-svn: 229067
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--clang/lib/Sema/SemaChecking.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index 3093ac5abeb..b9af98da132 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -932,6 +932,14 @@ bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
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_vpcomub:
+ case X86::BI__builtin_ia32_vpcomuw:
+ case X86::BI__builtin_ia32_vpcomud:
+ case X86::BI__builtin_ia32_vpcomuq:
+ 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;
}
return SemaBuiltinConstantArgRange(TheCall, i, l, u);
}
OpenPOWER on IntegriCloud