Test Failure: Transforms/InstCombine/shuffle_select.ll

Test source: git

Comments: LLVM PR74326

Log:

Source: <stdin>

----------------------------------------
define <4 x i32> @add(<4 x i32> %v) {
%0:
  %b = add <4 x i32> %v, { 11, 12, 13, 14 }
  %s = shufflevector <4 x i32> %b, <4 x i32> %v, 0, 5, 2, 7
  ret <4 x i32> %s
}
=>
define <4 x i32> @add(<4 x i32> %v) {
%0:
  %s = add <4 x i32> %v, { 11, 0, 13, 0 }
  ret <4 x i32> %s
}
Transformation seems to be correct!


----------------------------------------
define <4 x i32> @add_nuw_nsw(<4 x i32> %v) {
%0:
  %b = add nsw nuw <4 x i32> %v, { 11, 12, 13, 14 }
  %s = shufflevector <4 x i32> %b, <4 x i32> %v, 0, 5, 2, 7
  ret <4 x i32> %s
}
=>
define <4 x i32> @add_nuw_nsw(<4 x i32> %v) {
%0:
  %s = add nsw nuw <4 x i32> %v, { 11, 0, 13, 0 }
  ret <4 x i32> %s
}
Transformation seems to be correct!


----------------------------------------
define <4 x i32> @add_undef_mask_elt(<4 x i32> %v) {
%0:
  %b = add <4 x i32> %v, { 11, 12, 13, 14 }
  %s = shufflevector <4 x i32> %b, <4 x i32> %v, 0, 5, 4294967295, 7
  ret <4 x i32> %s
}
=>
define <4 x i32> @add_undef_mask_elt(<4 x i32> %v) {
%0:
  %s = add <4 x i32> %v, { 11, 0, undef, 0 }
  ret <4 x i32> %s
}
Transformation doesn't verify!
ERROR: Target is more poisonous than source

Example:
<4 x i32> %v = < poison, poison, poison, poison >

Source:
<4 x i32> %b = < poison, poison, poison, poison >
<4 x i32> %s = < poison, poison, any, poison >

Target:
<4 x i32> %s = < poison, poison, poison, poison >
Source value: < poison, poison, any, poison >
Target value: < poison, poison, poison, poison >


------------------- SMT STATS -------------------
Num queries: 29
Num invalid: 0
Num skips:   0
Num trivial: 11 (27.5%)
Num timeout: 0 (0.0%)
Num errors:  0 (0.0%)
Num SAT:     22 (75.9%)
Num UNSAT:   7 (24.1%)
Alive2: Transform doesn't verify; aborting!

stderr:

+ : 'RUN: at line 2'
+ /home/nlopes/alive2/build/opt-alive.sh -instcombine -S
+ /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstCombine/shuffle_select.ll

FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstCombine/shuffle_select.ll

 

<-- Back