[llvm] [SDag] Notify listeners when deleting a node (PR #66991)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 30 10:38:12 PDT 2024
================
@@ -6519,7 +6519,7 @@ define <16 x i16> @shuffle_v16i16_03_04_05_06_07_16_17_26_11_12_13_14_15_24_25_2
; AVX2-LABEL: shuffle_v16i16_03_04_05_06_07_16_17_26_11_12_13_14_15_24_25_26:
; AVX2: # %bb.0:
; AVX2-NEXT: vpblendw {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7],ymm1[8,9,10],ymm0[11,12,13,14,15]
-; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[2,3,2,3]
+; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm0[2,3,2,3]
----------------
s-barannikov wrote:
Unfortunately, it doesn't. Here is the DAG:
```
t2: v16i16,ch = CopyFromReg t0, Register:v16i16 %0
t4: v16i16,ch = CopyFromReg t0, Register:v16i16 %1
t31: v16i16 = X86ISD::BLENDI t2, t4, TargetConstant:i8<7>
t25: v4i64 = bitcast t31
t70: v4i64 = X86ISD::VPERMI t25, TargetConstant:i8<-18>
t74: v16i16 = bitcast t70
t65: v16i16 = X86ISD::BLENDI t31, t74, TargetConstant:i8<4>
```
```
t65: (BLENDI (BLENDI t2, t4, 7), (VPERMI (BLENDI t2, t4, 7), -18), 4)
```
I guess the main issue here is that `t31 = (BLENDI t2, t4, 7)` has more than one use?
https://github.com/llvm/llvm-project/pull/66991
More information about the llvm-commits
mailing list