diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-24 11:15:45 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2022-01-24 11:25:21 +0000 |
| commit | e5147f82e1cba6791252d8f44c1a014cd9ea7927 (patch) | |
| tree | ad2c99e278ab45350670b02a2223c53db2169b5a /lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h | |
| parent | 46cacdbb21c221a4304c489cb4a1abbc51967bb1 (diff) | |
| download | llvm-e5147f82e1cba6791252d8f44c1a014cd9ea7927.zip llvm-e5147f82e1cba6791252d8f44c1a014cd9ea7927.tar.gz llvm-e5147f82e1cba6791252d8f44c1a014cd9ea7927.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 'lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h')
0 files changed, 0 insertions, 0 deletions
