diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-24 11:40:16 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-24 11:40:29 +0000 |
commit | 3e50593b18840ab4508a25d0f761afb65535a38d (patch) | |
tree | 1d949d753ebba8cf648bc821e554b7cc716d7e35 /clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp | |
parent | b2499bf3e851c67ef623766b922de520de9235d5 (diff) | |
download | llvm-3e50593b18840ab4508a25d0f761afb65535a38d.zip llvm-3e50593b18840ab4508a25d0f761afb65535a38d.tar.gz llvm-3e50593b18840ab4508a25d0f761afb65535a38d.tar.bz2 |
[X86] Remove `__builtin_ia32_pmax/min` intrinsics and use generic `__builtin_elementwise_max/min`
D111985 added the generic `__builtin_elementwise_max` and `__builtin_elementwise_min` intrinsics with the same integer behaviour as the SSE/AVX instructions
This patch removes the `__builtin_ia32_pmax/min` intrinsics and just uses `__builtin_elementwise_max/min` - the existing tests see no changes:
```
__m256i test_mm256_max_epu32(__m256i a, __m256i b) {
// CHECK-LABEL: test_mm256_max_epu32
// CHECK: call <8 x i32> @llvm.umax.v8i32(<8 x i32> %{{.*}}, <8 x i32> %{{.*}})
return _mm256_max_epu32(a, b);
}
```
This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`).
Sibling patch to D117791
Differential Revision: https://reviews.llvm.org/D117798
Diffstat (limited to 'clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp')
0 files changed, 0 insertions, 0 deletions