diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-08-04 22:56:42 +0000 |
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-08-04 22:56:42 +0000 |
| commit | fc2320fd73d137497bd4508780b451a71125018b (patch) | |
| tree | 5297b45813d7a238673c923ce78cde432037b952 | |
| parent | bd33dab633b92e427db24858804053e895e70436 (diff) | |
| download | bcm5719-llvm-fc2320fd73d137497bd4508780b451a71125018b.tar.gz bcm5719-llvm-fc2320fd73d137497bd4508780b451a71125018b.zip | |
Logical AVX instrinsics can be matched directly, no need to use builtins here.
llvm-svn: 110271
| -rw-r--r-- | clang/lib/Headers/avxintrin.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/Headers/avxintrin.h b/clang/lib/Headers/avxintrin.h index df57ad22216..ce7418997be 100644 --- a/clang/lib/Headers/avxintrin.h +++ b/clang/lib/Headers/avxintrin.h @@ -169,49 +169,49 @@ _mm256_round_ps(__m256 v, const int m) static __inline __m256d __attribute__((__always_inline__, __nodebug__)) _mm256_and_pd(__m256d a, __m256d b) { - return (__m256d)__builtin_ia32_andpd256((__v4df)a, (__v4df)b); + return (__m256d)((__v4df)a & (__v4df)b); } static __inline __m256 __attribute__((__always_inline__, __nodebug__)) _mm256_and_ps(__m256 a, __m256 b) { - return (__m256)__builtin_ia32_andps256((__v8sf)a, (__v8sf)b); + return (__m256)((__v8sf)a & (__v8sf)b); } static __inline __m256d __attribute__((__always_inline__, __nodebug__)) _mm256_andnot_pd(__m256d a, __m256d b) { - return (__m256d)__builtin_ia32_andnpd256((__v4df)a, (__v4df)b); + return (__m256d)(~(__v4df)a & (__v4df)b); } static __inline __m256 __attribute__((__always_inline__, __nodebug__)) _mm256_andnot_ps(__m256 a, __m256 b) { - return (__m256)__builtin_ia32_andnps256((__v8sf)a, (__v8sf)b); + return (__m256)(~(__v8sf)a & (__v8sf)b); } static __inline __m256d __attribute__((__always_inline__, __nodebug__)) _mm256_or_pd(__m256d a, __m256d b) { - return (__m256d)__builtin_ia32_orpd256((__v4df)a, (__v4df)b); + return (__m256d)((__v4df)a | (__v4df)b); } static __inline __m256 __attribute__((__always_inline__, __nodebug__)) _mm256_or_ps(__m256 a, __m256 b) { - return (__m256)__builtin_ia32_orps256((__v8sf)a, (__v8sf)b); + return (__m256)((__v8sf)a | (__v8sf)b); } static __inline __m256d __attribute__((__always_inline__, __nodebug__)) _mm256_xor_pd(__m256d a, __m256d b) { - return (__m256d)__builtin_ia32_xorpd256((__v4df)a, (__v4df)b); + return (__m256d)((__v4df)a ^ (__v4df)b); } static __inline __m256 __attribute__((__always_inline__, __nodebug__)) _mm256_xor_ps(__m256 a, __m256 b) { - return (__m256)__builtin_ia32_xorps256((__v8sf)a, (__v8sf)b); + return (__m256)((__v8sf)a ^ (__v8sf)b); } /* Horizontal arithmetic */ |

