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.