[PATCH] D118644: [x86] invert a vector select IR canonicalization with a binop identity constant
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 1 02:33:30 PST 2022
RKSimon added a comment.
If we're targeting the D113442 <https://reviews.llvm.org/D113442> regressions for 14.x I'd probably suggest we just limit this to AVX512 targets as a quick fix and iterate on it for 15.x.
================
Comment at: llvm/test/CodeGen/X86/vector-bo-select.ll:376
+; AVX2-NEXT: vsubps %ymm1, %ymm0, %ymm1
+; AVX2-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
----------------
This is definitely a regression - VBLENDVPS is a lot slower than VPAND - but the codegen is awful anyway - combineToExtendBoolVectorInReg is supposed to deal with this, but it obviously fails :(
================
Comment at: llvm/test/CodeGen/X86/vector-bo-select.ll:384
+; AVX512F-NEXT: vsubps %ymm1, %ymm0, %ymm1
+; AVX512F-NEXT: vblendmps %zmm1, %zmm0, %zmm0 {%k1}
+; AVX512F-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
----------------
Not a notable regression, but non-AVX512VL targets are going to see this change - do we care?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118644/new/
https://reviews.llvm.org/D118644
More information about the llvm-commits
mailing list