[llvm] [SelectionDAG] Make `(a & x) | (~a & y) -> (a & (x ^ y)) ^ y` available for all targets (PR #137641)
Iris Shi via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 29 06:23:07 PDT 2025
================
@@ -28,9 +28,9 @@ define amdgpu_kernel void @s_bfi_def_i32(ptr addrspace(1) %out, i32 %x, i32 %y,
; GFX8-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x2c
; GFX8-NEXT: s_load_dwordx2 s[4:5], s[4:5], 0x24
; GFX8-NEXT: s_waitcnt lgkmcnt(0)
-; GFX8-NEXT: s_andn2_b32 s2, s2, s0
+; GFX8-NEXT: s_xor_b32 s1, s1, s2
----------------
el-ev wrote:
I believe that's because those subtargets don't correctly report them having AndNot instructions.
https://github.com/llvm/llvm-project/pull/137641
More information about the llvm-commits
mailing list