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
Should we change the type here too? The same below.