aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2022-01-21 11:55:40 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2022-01-21 11:59:08 +0000
commit4727d29d908f9dd608dd97a58c0af1ad579fd3ca (patch)
tree92fce85e09e9118ea6bc4b2d5d0a4ab5ceeba35f /llvm/lib
parent825a3cd6b6972b6a50b80bed7d951d7ea7f90669 (diff)
downloadllvm-4727d29d908f9dd608dd97a58c0af1ad579fd3ca.zip
llvm-4727d29d908f9dd608dd97a58c0af1ad579fd3ca.tar.gz
llvm-4727d29d908f9dd608dd97a58c0af1ad579fd3ca.tar.bz2
[X86] Remove __builtin_ia32_pabs intrinsics and use generic __builtin_elementwise_abs
D111986 added the generic `__builtin_elementwise_abs()` intrinsic with the same integer absolute behaviour as the SSE/AVX instructions (abs(INT_MIN) == INT_MIN) This patch removes the `__builtin_ia32_pabs*` intrinsics and just uses `__builtin_elementwise_abs` - the existing tests see no changes: ``` __m256i test_mm256_abs_epi8(__m256i a) { // CHECK-LABEL: test_mm256_abs_epi8 // CHECK: [[ABS:%.*]] = call <32 x i8> @llvm.abs.v32i8(<32 x i8> %{{.*}}, i1 false) return _mm256_abs_epi8(a); } ``` This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`). Differential Revision: https://reviews.llvm.org/D117791
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions