[all-commits] [llvm/llvm-project] fd8a4b: [X86] combineAndnp - fold ANDN(SEXT(SETCC()), X) ->...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Mon Oct 14 06:54:38 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fd8a4b007330c214fc9cc6e2c255cc18fc3c6b0c
https://github.com/llvm/llvm-project/commit/fd8a4b007330c214fc9cc6e2c255cc18fc3c6b0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] combineAndnp - fold ANDN(SEXT(SETCC()),X) -> SELECT(NOT(SETCC()),X,0) on AVX512 targets
Reverse the generic foldVSelectToSignBitSplatMask fold on AVX512 targets where we can use the SETCC result directly in predicated moves/instructions.
Fixes #109272
Commit: d81c2f16a3c0ee951147d150f32068eee959b885
https://github.com/llvm/llvm-project/commit/d81c2f16a3c0ee951147d150f32068eee959b885
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - X86ISD::VPERMV3 shuffles don't create undef/poison
The operands might contain an undef/poison element, but the shuffle node itself will not create one by itself.
Improves test case from #109272
Compare: https://github.com/llvm/llvm-project/compare/c765b5eda778...d81c2f16a3c0
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list