diff options
author | Eric Christopher <echristo@apple.com> | 2009-07-29 00:28:05 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2009-07-29 00:28:05 +0000 |
commit | 71c6753d03d1bb27d0cf997285c425d631e5807b (patch) | |
tree | a1c2d894d43d6aab65d8ec09d9ed816f6194a5ee /include/llvm/IntrinsicsX86.td | |
parent | 28daa1024666ec9f17f11c8cca8aa22a6429b57f (diff) | |
download | external_llvm-71c6753d03d1bb27d0cf997285c425d631e5807b.zip external_llvm-71c6753d03d1bb27d0cf997285c425d631e5807b.tar.gz external_llvm-71c6753d03d1bb27d0cf997285c425d631e5807b.tar.bz2 |
Add support for gcc __builtin_ia32_ptest{z,c,nzc} intrinsics. Lower
to ptest instruction plus setcc. Revamp ptest instruction. Add test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/IntrinsicsX86.td')
-rw-r--r-- | include/llvm/IntrinsicsX86.td | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/IntrinsicsX86.td b/include/llvm/IntrinsicsX86.td index 3d43183..11cfe97 100644 --- a/include/llvm/IntrinsicsX86.td +++ b/include/llvm/IntrinsicsX86.td @@ -864,6 +864,18 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty], [IntrReadMem]>; } +// Test instruction with bitwise comparison. +let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". + def int_x86_sse41_ptestz : GCCBuiltin<"__builtin_ia32_ptestz128">, + Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], + [IntrNoMem]>; + def int_x86_sse41_ptestc : GCCBuiltin<"__builtin_ia32_ptestc128">, + Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], + [IntrNoMem]>; + def int_x86_sse41_ptestnzc : GCCBuiltin<"__builtin_ia32_ptestnzc128">, + Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], + [IntrNoMem]>; +} //===----------------------------------------------------------------------===// // MMX |