Test Failure: Transforms/InstCombine/bitcast-bitcast.ll

Test source: git

Log:

Source: <stdin>
ERROR: Unsupported type: ppc_fp128
ERROR: Unsupported type: ppc_fp128

----------------------------------------
define <2 x i32> @bitcast_bitcast_s_s_v(i64 %a) {
%0:
  %bc1 = bitcast i64 %a to double
  %bc2 = bitcast double %bc1 to <2 x i32>
  ret <2 x i32> %bc2
}
=>
define <2 x i32> @bitcast_bitcast_s_s_v(i64 %a) {
%0:
  %bc2 = bitcast i64 %a to <2 x i32>
  ret <2 x i32> %bc2
}
Transformation doesn't verify!
ERROR: Timeout


----------------------------------------
define double @bitcast_bitcast_s_v_s(i64 %a) {
%0:
  %bc1 = bitcast i64 %a to <2 x i32>
  %bc2 = bitcast <2 x i32> %bc1 to double
  ret double %bc2
}
=>
define double @bitcast_bitcast_s_v_s(i64 %a) {
%0:
  %bc2 = bitcast i64 %a to double
  ret double %bc2
}
Transformation seems to be correct!


----------------------------------------
define <2 x i32> @bitcast_bitcast_s_v_v(i64 %a) {
%0:
  %bc1 = bitcast i64 %a to <4 x i16>
  %bc2 = bitcast <4 x i16> %bc1 to <2 x i32>
  ret <2 x i32> %bc2
}
=>
define <2 x i32> @bitcast_bitcast_s_v_v(i64 %a) {
%0:
  %bc2 = bitcast i64 %a to <2 x i32>
  ret <2 x i32> %bc2
}
Transformation seems to be correct!


----------------------------------------
define i64 @bitcast_bitcast_v_s_s(<2 x i32> %a) {
%0:
  %bc1 = bitcast <2 x i32> %a to double
  %bc2 = bitcast double %bc1 to i64
  ret i64 %bc2
}
=>
define i64 @bitcast_bitcast_v_s_s(<2 x i32> %a) {
%0:
  %bc2 = bitcast <2 x i32> %a to i64
  ret i64 %bc2
}
Transformation doesn't verify!
ERROR: Target's return value is more undefined

Example:
<2 x i32> %a = < undef, #xfff00100 (4293918976, -1048320) >

Source:
double %bc1 = NaN	[based on undef value]
i64 %bc2 = #x7ff0000000000000 (9218868437227405312)

Target:
i64 %bc2 = #xfff00100fffffffc (18442241577888776188, -4502495820775428)
Source value: #x7ff0000000000000 (9218868437227405312)
Target value: #xfff00100fffffffc (18442241577888776188, -4502495820775428)


------------------- SMT STATS -------------------
Num queries: 14
Num invalid: 0
Num skips:   0
Num trivial: 20 (58.8%)
Num timeout: 1 (7.1%)
Num errors:  0 (0.0%)
Num SAT:     7 (50.0%)
Num UNSAT:   6 (42.9%)
Alive2: Transform doesn't verify; aborting!

stderr:

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

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

 

NOTE: This test would pass if undef didn't exist!

 

<-- Back