Test Failure: Transforms/SLPVectorizer/X86/sitofp.ll

Test source: git

Log:

Source: <stdin>
-- 1. ModuleToFunctionPassAdaptor
-- 1. PassManager<Function> : Skipping NOP
-- 2. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i64_2f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 3. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i64_2f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 4. PassManager<Function> : Skipping NOP
-- 5. PassManager<Function> : Skipping NOP
-- 6. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i64_4f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  %cvt2 = sitofp i64 %ld2 to double
  %cvt3 = sitofp i64 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 7. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i64_4f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  %cvt2 = sitofp i64 %ld2 to double
  %cvt3 = sitofp i64 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 8. PassManager<Function> : Skipping NOP
-- 9. PassManager<Function> : Skipping NOP
-- 10. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i64_8f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %__constexpr_3 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 4
  %ld4 = load i64, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 5
  %ld5 = load i64, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 6
  %ld6 = load i64, ptr %__constexpr_5, align 16
  %__constexpr_6 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 7
  %ld7 = load i64, ptr %__constexpr_6, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  %cvt2 = sitofp i64 %ld2 to double
  %cvt3 = sitofp i64 %ld3 to double
  %cvt4 = sitofp i64 %ld4 to double
  %cvt5 = sitofp i64 %ld5 to double
  %cvt6 = sitofp i64 %ld6 to double
  %cvt7 = sitofp i64 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 11. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i64_8f64() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %__constexpr_3 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 4
  %ld4 = load i64, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 5
  %ld5 = load i64, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 6
  %ld6 = load i64, ptr %__constexpr_5, align 16
  %__constexpr_6 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 7
  %ld7 = load i64, ptr %__constexpr_6, align 8
  %cvt0 = sitofp i64 %ld0 to double
  %cvt1 = sitofp i64 %ld1 to double
  %cvt2 = sitofp i64 %ld2 to double
  %cvt3 = sitofp i64 %ld3 to double
  %cvt4 = sitofp i64 %ld4 to double
  %cvt5 = sitofp i64 %ld5 to double
  %cvt6 = sitofp i64 %ld6 to double
  %cvt7 = sitofp i64 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 12. PassManager<Function> : Skipping NOP
-- 13. PassManager<Function> : Skipping NOP
-- 14. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i32_2f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 15. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i32_2f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i32_2f64() {
%0:
  %1 = load <2 x i32>, ptr @src32, align 64
  %2 = sitofp <2 x i32> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 16. PassManager<Function> : Skipping NOP
-- 17. PassManager<Function> : Skipping NOP
-- 18. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i32_4f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  %cvt2 = sitofp i32 %ld2 to double
  %cvt3 = sitofp i32 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 19. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i32_4f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  %cvt2 = sitofp i32 %ld2 to double
  %cvt3 = sitofp i32 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i32_4f64() {
%0:
  %1 = load <2 x i32>, ptr @src32, align 64
  %2 = sitofp <2 x i32> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %3 = load <2 x i32>, ptr %__constexpr_0, align 8
  %4 = sitofp <2 x i32> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 20. PassManager<Function> : Skipping NOP
-- 21. PassManager<Function> : Skipping NOP
-- 22. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i32_8f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  %cvt2 = sitofp i32 %ld2 to double
  %cvt3 = sitofp i32 %ld3 to double
  %cvt4 = sitofp i32 %ld4 to double
  %cvt5 = sitofp i32 %ld5 to double
  %cvt6 = sitofp i32 %ld6 to double
  %cvt7 = sitofp i32 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 23. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i32_8f64() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %cvt0 = sitofp i32 %ld0 to double
  %cvt1 = sitofp i32 %ld1 to double
  %cvt2 = sitofp i32 %ld2 to double
  %cvt3 = sitofp i32 %ld3 to double
  %cvt4 = sitofp i32 %ld4 to double
  %cvt5 = sitofp i32 %ld5 to double
  %cvt6 = sitofp i32 %ld6 to double
  %cvt7 = sitofp i32 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i32_8f64() {
%0:
  %1 = load <2 x i32>, ptr @src32, align 64
  %2 = sitofp <2 x i32> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %3 = load <2 x i32>, ptr %__constexpr_0, align 8
  %4 = sitofp <2 x i32> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %5 = load <2 x i32>, ptr %__constexpr_2, align 16
  %6 = sitofp <2 x i32> %5 to <2 x double>
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store <2 x double> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %7 = load <2 x i32>, ptr %__constexpr_4, align 8
  %8 = sitofp <2 x i32> %7 to <2 x double>
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store <2 x double> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 24. PassManager<Function> : Skipping NOP
-- 25. PassManager<Function> : Skipping NOP
-- 26. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i16_2f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 27. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i16_2f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i16_2f64() {
%0:
  %1 = load <2 x i16>, ptr @src16, align 64
  %2 = sitofp <2 x i16> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  ret void
}
Transformation seems to be correct!

-- 28. PassManager<Function> : Skipping NOP
-- 29. PassManager<Function> : Skipping NOP
-- 30. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i16_4f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  %cvt2 = sitofp i16 %ld2 to double
  %cvt3 = sitofp i16 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 31. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i16_4f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  %cvt2 = sitofp i16 %ld2 to double
  %cvt3 = sitofp i16 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i16_4f64() {
%0:
  %1 = load <2 x i16>, ptr @src16, align 64
  %2 = sitofp <2 x i16> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %3 = load <2 x i16>, ptr %__constexpr_0, align 4
  %4 = sitofp <2 x i16> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 32. PassManager<Function> : Skipping NOP
-- 33. PassManager<Function> : Skipping NOP
-- 34. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i16_8f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  %cvt2 = sitofp i16 %ld2 to double
  %cvt3 = sitofp i16 %ld3 to double
  %cvt4 = sitofp i16 %ld4 to double
  %cvt5 = sitofp i16 %ld5 to double
  %cvt6 = sitofp i16 %ld6 to double
  %cvt7 = sitofp i16 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 35. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i16_8f64() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %cvt0 = sitofp i16 %ld0 to double
  %cvt1 = sitofp i16 %ld1 to double
  %cvt2 = sitofp i16 %ld2 to double
  %cvt3 = sitofp i16 %ld3 to double
  %cvt4 = sitofp i16 %ld4 to double
  %cvt5 = sitofp i16 %ld5 to double
  %cvt6 = sitofp i16 %ld6 to double
  %cvt7 = sitofp i16 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i16_8f64() {
%0:
  %1 = load <2 x i16>, ptr @src16, align 64
  %2 = sitofp <2 x i16> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %3 = load <2 x i16>, ptr %__constexpr_0, align 4
  %4 = sitofp <2 x i16> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %5 = load <2 x i16>, ptr %__constexpr_2, align 8
  %6 = sitofp <2 x i16> %5 to <2 x double>
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store <2 x double> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %7 = load <2 x i16>, ptr %__constexpr_4, align 4
  %8 = sitofp <2 x i16> %7 to <2 x double>
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store <2 x double> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 36. PassManager<Function> : Skipping NOP
-- 37. PassManager<Function> : Skipping NOP
-- 38. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i8_2f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 39. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i8_2f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_1, align 8
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_2i8_2f64() {
%0:
  %1 = load <2 x i8>, ptr @src8, align 64
  %2 = sitofp <2 x i8> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  ret void
}
Transformation seems to be correct!

-- 40. PassManager<Function> : Skipping NOP
-- 41. PassManager<Function> : Skipping NOP
-- 42. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i8_4f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  %cvt2 = sitofp i8 %ld2 to double
  %cvt3 = sitofp i8 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 43. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i8_4f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  %cvt2 = sitofp i8 %ld2 to double
  %cvt3 = sitofp i8 %ld3 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_4, align 16
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_5, align 8
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_4i8_4f64() {
%0:
  %1 = load <2 x i8>, ptr @src8, align 64
  %2 = sitofp <2 x i8> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %3 = load <2 x i8>, ptr %__constexpr_0, align 2
  %4 = sitofp <2 x i8> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation seems to be correct!

-- 44. PassManager<Function> : Skipping NOP
-- 45. PassManager<Function> : Skipping NOP
-- 46. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i8_8f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  %cvt2 = sitofp i8 %ld2 to double
  %cvt3 = sitofp i8 %ld3 to double
  %cvt4 = sitofp i8 %ld4 to double
  %cvt5 = sitofp i8 %ld5 to double
  %cvt6 = sitofp i8 %ld6 to double
  %cvt7 = sitofp i8 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 47. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i8_8f64() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %cvt0 = sitofp i8 %ld0 to double
  %cvt1 = sitofp i8 %ld1 to double
  %cvt2 = sitofp i8 %ld2 to double
  %cvt3 = sitofp i8 %ld3 to double
  %cvt4 = sitofp i8 %ld4 to double
  %cvt5 = sitofp i8 %ld5 to double
  %cvt6 = sitofp i8 %ld6 to double
  %cvt7 = sitofp i8 %ld7 to double
  store double %cvt0, ptr @dst64, align 64
  %__constexpr_7 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 1
  store double %cvt1, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store double %cvt2, ptr %__constexpr_8, align 16
  %__constexpr_9 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 3
  store double %cvt3, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store double %cvt4, ptr %__constexpr_10, align 32
  %__constexpr_11 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 5
  store double %cvt5, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store double %cvt6, ptr %__constexpr_12, align 16
  %__constexpr_13 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 7
  store double %cvt7, ptr %__constexpr_13, align 8
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst64 = global 64 bytes, align 64

define void @sitofp_8i8_8f64() {
%0:
  %1 = load <2 x i8>, ptr @src8, align 64
  %2 = sitofp <2 x i8> %1 to <2 x double>
  store <2 x double> %2, ptr @dst64, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %3 = load <2 x i8>, ptr %__constexpr_0, align 2
  %4 = sitofp <2 x i8> %3 to <2 x double>
  %__constexpr_1 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 2
  store <2 x double> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %5 = load <2 x i8>, ptr %__constexpr_2, align 4
  %6 = sitofp <2 x i8> %5 to <2 x double>
  %__constexpr_3 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 4
  store <2 x double> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %7 = load <2 x i8>, ptr %__constexpr_4, align 2
  %8 = sitofp <2 x i8> %7 to <2 x double>
  %__constexpr_5 = gep inbounds ptr @dst64, 64 x i32 0, 8 x i64 6
  store <2 x double> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation seems to be correct!

-- 48. PassManager<Function> : Skipping NOP
-- 49. PassManager<Function> : Skipping NOP
-- 50. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_2i64_2f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_1, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 51. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_2i64_2f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_1, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 52. PassManager<Function> : Skipping NOP
-- 53. PassManager<Function> : Skipping NOP
-- 54. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i64_4f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  %cvt2 = sitofp i64 %ld2 to float
  %cvt3 = sitofp i64 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 55. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i64_4f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  %cvt2 = sitofp i64 %ld2 to float
  %cvt3 = sitofp i64 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
=>
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i64_4f32() {
%0:
  %1 = load <4 x i64>, ptr @src64, align 64
  %2 = sitofp <4 x i64> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 56. PassManager<Function> : Skipping NOP
-- 57. PassManager<Function> : Skipping NOP
-- 58. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i64_8f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %__constexpr_3 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 4
  %ld4 = load i64, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 5
  %ld5 = load i64, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 6
  %ld6 = load i64, ptr %__constexpr_5, align 16
  %__constexpr_6 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 7
  %ld7 = load i64, ptr %__constexpr_6, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  %cvt2 = sitofp i64 %ld2 to float
  %cvt3 = sitofp i64 %ld3 to float
  %cvt4 = sitofp i64 %ld4 to float
  %cvt5 = sitofp i64 %ld5 to float
  %cvt6 = sitofp i64 %ld6 to float
  %cvt7 = sitofp i64 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 59. SLPVectorizerPass

----------------------------------------
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i64_8f32() {
%0:
  %ld0 = load i64, ptr @src64, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 1
  %ld1 = load i64, ptr %__constexpr_0, align 8
  %__constexpr_1 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 2
  %ld2 = load i64, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 3
  %ld3 = load i64, ptr %__constexpr_2, align 8
  %__constexpr_3 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 4
  %ld4 = load i64, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 5
  %ld5 = load i64, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 6
  %ld6 = load i64, ptr %__constexpr_5, align 16
  %__constexpr_6 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 7
  %ld7 = load i64, ptr %__constexpr_6, align 8
  %cvt0 = sitofp i64 %ld0 to float
  %cvt1 = sitofp i64 %ld1 to float
  %cvt2 = sitofp i64 %ld2 to float
  %cvt3 = sitofp i64 %ld3 to float
  %cvt4 = sitofp i64 %ld4 to float
  %cvt5 = sitofp i64 %ld5 to float
  %cvt6 = sitofp i64 %ld6 to float
  %cvt7 = sitofp i64 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
=>
@src64 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i64_8f32() {
%0:
  %1 = load <4 x i64>, ptr @src64, align 64
  %2 = sitofp <4 x i64> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src64, 64 x i32 0, 8 x i64 4
  %3 = load <4 x i64>, ptr %__constexpr_0, align 32
  %4 = sitofp <4 x i64> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 60. PassManager<Function> : Skipping NOP
-- 61. PassManager<Function> : Skipping NOP
-- 62. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i32_4f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 63. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i32_4f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i32_4f32() {
%0:
  %1 = load <4 x i32>, ptr @src32, align 64
  %2 = sitofp <4 x i32> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 64. PassManager<Function> : Skipping NOP
-- 65. PassManager<Function> : Skipping NOP
-- 66. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i32_8f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  %cvt4 = sitofp i32 %ld4 to float
  %cvt5 = sitofp i32 %ld5 to float
  %cvt6 = sitofp i32 %ld6 to float
  %cvt7 = sitofp i32 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 67. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i32_8f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  %cvt4 = sitofp i32 %ld4 to float
  %cvt5 = sitofp i32 %ld5 to float
  %cvt6 = sitofp i32 %ld6 to float
  %cvt7 = sitofp i32 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i32_8f32() {
%0:
  %1 = load <4 x i32>, ptr @src32, align 64
  %2 = sitofp <4 x i32> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %3 = load <4 x i32>, ptr %__constexpr_0, align 16
  %4 = sitofp <4 x i32> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 68. PassManager<Function> : Skipping NOP
-- 69. PassManager<Function> : Skipping NOP
-- 70. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i32_16f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %__constexpr_7 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 8
  %ld8 = load i32, ptr %__constexpr_7, align 32
  %__constexpr_8 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 9
  %ld9 = load i32, ptr %__constexpr_8, align 4
  %__constexpr_9 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 10
  %ld10 = load i32, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 11
  %ld11 = load i32, ptr %__constexpr_10, align 4
  %__constexpr_11 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 12
  %ld12 = load i32, ptr %__constexpr_11, align 16
  %__constexpr_12 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 13
  %ld13 = load i32, ptr %__constexpr_12, align 4
  %__constexpr_13 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 14
  %ld14 = load i32, ptr %__constexpr_13, align 8
  %__constexpr_14 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 15
  %ld15 = load i32, ptr %__constexpr_14, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  %cvt4 = sitofp i32 %ld4 to float
  %cvt5 = sitofp i32 %ld5 to float
  %cvt6 = sitofp i32 %ld6 to float
  %cvt7 = sitofp i32 %ld7 to float
  %cvt8 = sitofp i32 %ld8 to float
  %cvt9 = sitofp i32 %ld9 to float
  %cvt10 = sitofp i32 %ld10 to float
  %cvt11 = sitofp i32 %ld11 to float
  %cvt12 = sitofp i32 %ld12 to float
  %cvt13 = sitofp i32 %ld13 to float
  %cvt14 = sitofp i32 %ld14 to float
  %cvt15 = sitofp i32 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 71. SLPVectorizerPass

----------------------------------------
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i32_16f32() {
%0:
  %ld0 = load i32, ptr @src32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 1
  %ld1 = load i32, ptr %__constexpr_0, align 4
  %__constexpr_1 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 2
  %ld2 = load i32, ptr %__constexpr_1, align 8
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 3
  %ld3 = load i32, ptr %__constexpr_2, align 4
  %__constexpr_3 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %ld4 = load i32, ptr %__constexpr_3, align 16
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 5
  %ld5 = load i32, ptr %__constexpr_4, align 4
  %__constexpr_5 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 6
  %ld6 = load i32, ptr %__constexpr_5, align 8
  %__constexpr_6 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 7
  %ld7 = load i32, ptr %__constexpr_6, align 4
  %__constexpr_7 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 8
  %ld8 = load i32, ptr %__constexpr_7, align 32
  %__constexpr_8 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 9
  %ld9 = load i32, ptr %__constexpr_8, align 4
  %__constexpr_9 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 10
  %ld10 = load i32, ptr %__constexpr_9, align 8
  %__constexpr_10 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 11
  %ld11 = load i32, ptr %__constexpr_10, align 4
  %__constexpr_11 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 12
  %ld12 = load i32, ptr %__constexpr_11, align 16
  %__constexpr_12 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 13
  %ld13 = load i32, ptr %__constexpr_12, align 4
  %__constexpr_13 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 14
  %ld14 = load i32, ptr %__constexpr_13, align 8
  %__constexpr_14 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 15
  %ld15 = load i32, ptr %__constexpr_14, align 4
  %cvt0 = sitofp i32 %ld0 to float
  %cvt1 = sitofp i32 %ld1 to float
  %cvt2 = sitofp i32 %ld2 to float
  %cvt3 = sitofp i32 %ld3 to float
  %cvt4 = sitofp i32 %ld4 to float
  %cvt5 = sitofp i32 %ld5 to float
  %cvt6 = sitofp i32 %ld6 to float
  %cvt7 = sitofp i32 %ld7 to float
  %cvt8 = sitofp i32 %ld8 to float
  %cvt9 = sitofp i32 %ld9 to float
  %cvt10 = sitofp i32 %ld10 to float
  %cvt11 = sitofp i32 %ld11 to float
  %cvt12 = sitofp i32 %ld12 to float
  %cvt13 = sitofp i32 %ld13 to float
  %cvt14 = sitofp i32 %ld14 to float
  %cvt15 = sitofp i32 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
=>
@src32 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i32_16f32() {
%0:
  %1 = load <4 x i32>, ptr @src32, align 64
  %2 = sitofp <4 x i32> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 4
  %3 = load <4 x i32>, ptr %__constexpr_0, align 16
  %4 = sitofp <4 x i32> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 8
  %5 = load <4 x i32>, ptr %__constexpr_2, align 32
  %6 = sitofp <4 x i32> %5 to <4 x float>
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store <4 x float> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src32, 64 x i32 0, 4 x i64 12
  %7 = load <4 x i32>, ptr %__constexpr_4, align 16
  %8 = sitofp <4 x i32> %7 to <4 x float>
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store <4 x float> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 72. PassManager<Function> : Skipping NOP
-- 73. PassManager<Function> : Skipping NOP
-- 74. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i16_4f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 75. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i16_4f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i16_4f32() {
%0:
  %1 = load <4 x i16>, ptr @src16, align 64
  %2 = sitofp <4 x i16> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 76. PassManager<Function> : Skipping NOP
-- 77. PassManager<Function> : Skipping NOP
-- 78. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i16_8f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  %cvt4 = sitofp i16 %ld4 to float
  %cvt5 = sitofp i16 %ld5 to float
  %cvt6 = sitofp i16 %ld6 to float
  %cvt7 = sitofp i16 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 79. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i16_8f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  %cvt4 = sitofp i16 %ld4 to float
  %cvt5 = sitofp i16 %ld5 to float
  %cvt6 = sitofp i16 %ld6 to float
  %cvt7 = sitofp i16 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i16_8f32() {
%0:
  %1 = load <4 x i16>, ptr @src16, align 64
  %2 = sitofp <4 x i16> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %3 = load <4 x i16>, ptr %__constexpr_0, align 8
  %4 = sitofp <4 x i16> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 80. PassManager<Function> : Skipping NOP
-- 81. PassManager<Function> : Skipping NOP
-- 82. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i16_16f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %__constexpr_7 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 8
  %ld8 = load i16, ptr %__constexpr_7, align 16
  %__constexpr_8 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 9
  %ld9 = load i16, ptr %__constexpr_8, align 2
  %__constexpr_9 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 10
  %ld10 = load i16, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 11
  %ld11 = load i16, ptr %__constexpr_10, align 2
  %__constexpr_11 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 12
  %ld12 = load i16, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 13
  %ld13 = load i16, ptr %__constexpr_12, align 2
  %__constexpr_13 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 14
  %ld14 = load i16, ptr %__constexpr_13, align 4
  %__constexpr_14 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 15
  %ld15 = load i16, ptr %__constexpr_14, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  %cvt4 = sitofp i16 %ld4 to float
  %cvt5 = sitofp i16 %ld5 to float
  %cvt6 = sitofp i16 %ld6 to float
  %cvt7 = sitofp i16 %ld7 to float
  %cvt8 = sitofp i16 %ld8 to float
  %cvt9 = sitofp i16 %ld9 to float
  %cvt10 = sitofp i16 %ld10 to float
  %cvt11 = sitofp i16 %ld11 to float
  %cvt12 = sitofp i16 %ld12 to float
  %cvt13 = sitofp i16 %ld13 to float
  %cvt14 = sitofp i16 %ld14 to float
  %cvt15 = sitofp i16 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 83. SLPVectorizerPass

----------------------------------------
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i16_16f32() {
%0:
  %ld0 = load i16, ptr @src16, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 1
  %ld1 = load i16, ptr %__constexpr_0, align 2
  %__constexpr_1 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 2
  %ld2 = load i16, ptr %__constexpr_1, align 4
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 3
  %ld3 = load i16, ptr %__constexpr_2, align 2
  %__constexpr_3 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %ld4 = load i16, ptr %__constexpr_3, align 8
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 5
  %ld5 = load i16, ptr %__constexpr_4, align 2
  %__constexpr_5 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 6
  %ld6 = load i16, ptr %__constexpr_5, align 4
  %__constexpr_6 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 7
  %ld7 = load i16, ptr %__constexpr_6, align 2
  %__constexpr_7 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 8
  %ld8 = load i16, ptr %__constexpr_7, align 16
  %__constexpr_8 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 9
  %ld9 = load i16, ptr %__constexpr_8, align 2
  %__constexpr_9 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 10
  %ld10 = load i16, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 11
  %ld11 = load i16, ptr %__constexpr_10, align 2
  %__constexpr_11 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 12
  %ld12 = load i16, ptr %__constexpr_11, align 8
  %__constexpr_12 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 13
  %ld13 = load i16, ptr %__constexpr_12, align 2
  %__constexpr_13 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 14
  %ld14 = load i16, ptr %__constexpr_13, align 4
  %__constexpr_14 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 15
  %ld15 = load i16, ptr %__constexpr_14, align 2
  %cvt0 = sitofp i16 %ld0 to float
  %cvt1 = sitofp i16 %ld1 to float
  %cvt2 = sitofp i16 %ld2 to float
  %cvt3 = sitofp i16 %ld3 to float
  %cvt4 = sitofp i16 %ld4 to float
  %cvt5 = sitofp i16 %ld5 to float
  %cvt6 = sitofp i16 %ld6 to float
  %cvt7 = sitofp i16 %ld7 to float
  %cvt8 = sitofp i16 %ld8 to float
  %cvt9 = sitofp i16 %ld9 to float
  %cvt10 = sitofp i16 %ld10 to float
  %cvt11 = sitofp i16 %ld11 to float
  %cvt12 = sitofp i16 %ld12 to float
  %cvt13 = sitofp i16 %ld13 to float
  %cvt14 = sitofp i16 %ld14 to float
  %cvt15 = sitofp i16 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
=>
@src16 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i16_16f32() {
%0:
  %1 = load <4 x i16>, ptr @src16, align 64
  %2 = sitofp <4 x i16> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 4
  %3 = load <4 x i16>, ptr %__constexpr_0, align 8
  %4 = sitofp <4 x i16> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 8
  %5 = load <4 x i16>, ptr %__constexpr_2, align 16
  %6 = sitofp <4 x i16> %5 to <4 x float>
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store <4 x float> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src16, 64 x i32 0, 2 x i64 12
  %7 = load <4 x i16>, ptr %__constexpr_4, align 8
  %8 = sitofp <4 x i16> %7 to <4 x float>
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store <4 x float> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 84. PassManager<Function> : Skipping NOP
-- 85. PassManager<Function> : Skipping NOP
-- 86. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i8_4f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 87. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i8_4f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_4, align 8
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_5, align 4
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_4i8_4f32() {
%0:
  %1 = load <4 x i8>, ptr @src8, align 64
  %2 = sitofp <4 x i8> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  ret void
}
Transformation seems to be correct!

-- 88. PassManager<Function> : Skipping NOP
-- 89. PassManager<Function> : Skipping NOP
-- 90. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i8_8f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  %cvt4 = sitofp i8 %ld4 to float
  %cvt5 = sitofp i8 %ld5 to float
  %cvt6 = sitofp i8 %ld6 to float
  %cvt7 = sitofp i8 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 91. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i8_8f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  %cvt4 = sitofp i8 %ld4 to float
  %cvt5 = sitofp i8 %ld5 to float
  %cvt6 = sitofp i8 %ld6 to float
  %cvt7 = sitofp i8 %ld7 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_7 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_7, align 4
  %__constexpr_8 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_8, align 8
  %__constexpr_9 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_9, align 4
  %__constexpr_10 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_10, align 16
  %__constexpr_11 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_12, align 8
  %__constexpr_13 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_13, align 4
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_8i8_8f32() {
%0:
  %1 = load <4 x i8>, ptr @src8, align 64
  %2 = sitofp <4 x i8> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %3 = load <4 x i8>, ptr %__constexpr_0, align 4
  %4 = sitofp <4 x i8> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  ret void
}
Transformation seems to be correct!

-- 92. PassManager<Function> : Skipping NOP
-- 93. PassManager<Function> : Skipping NOP
-- 94. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i8_16f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %__constexpr_7 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 8
  %ld8 = load i8, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 9
  %ld9 = load i8, ptr %__constexpr_8, align 1
  %__constexpr_9 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 10
  %ld10 = load i8, ptr %__constexpr_9, align 2
  %__constexpr_10 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 11
  %ld11 = load i8, ptr %__constexpr_10, align 1
  %__constexpr_11 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 12
  %ld12 = load i8, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 13
  %ld13 = load i8, ptr %__constexpr_12, align 1
  %__constexpr_13 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 14
  %ld14 = load i8, ptr %__constexpr_13, align 2
  %__constexpr_14 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 15
  %ld15 = load i8, ptr %__constexpr_14, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  %cvt4 = sitofp i8 %ld4 to float
  %cvt5 = sitofp i8 %ld5 to float
  %cvt6 = sitofp i8 %ld6 to float
  %cvt7 = sitofp i8 %ld7 to float
  %cvt8 = sitofp i8 %ld8 to float
  %cvt9 = sitofp i8 %ld9 to float
  %cvt10 = sitofp i8 %ld10 to float
  %cvt11 = sitofp i8 %ld11 to float
  %cvt12 = sitofp i8 %ld12 to float
  %cvt13 = sitofp i8 %ld13 to float
  %cvt14 = sitofp i8 %ld14 to float
  %cvt15 = sitofp i8 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 95. SLPVectorizerPass

----------------------------------------
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i8_16f32() {
%0:
  %ld0 = load i8, ptr @src8, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 1
  %ld1 = load i8, ptr %__constexpr_0, align 1
  %__constexpr_1 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 2
  %ld2 = load i8, ptr %__constexpr_1, align 2
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 3
  %ld3 = load i8, ptr %__constexpr_2, align 1
  %__constexpr_3 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %ld4 = load i8, ptr %__constexpr_3, align 4
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 5
  %ld5 = load i8, ptr %__constexpr_4, align 1
  %__constexpr_5 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 6
  %ld6 = load i8, ptr %__constexpr_5, align 2
  %__constexpr_6 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 7
  %ld7 = load i8, ptr %__constexpr_6, align 1
  %__constexpr_7 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 8
  %ld8 = load i8, ptr %__constexpr_7, align 8
  %__constexpr_8 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 9
  %ld9 = load i8, ptr %__constexpr_8, align 1
  %__constexpr_9 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 10
  %ld10 = load i8, ptr %__constexpr_9, align 2
  %__constexpr_10 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 11
  %ld11 = load i8, ptr %__constexpr_10, align 1
  %__constexpr_11 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 12
  %ld12 = load i8, ptr %__constexpr_11, align 4
  %__constexpr_12 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 13
  %ld13 = load i8, ptr %__constexpr_12, align 1
  %__constexpr_13 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 14
  %ld14 = load i8, ptr %__constexpr_13, align 2
  %__constexpr_14 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 15
  %ld15 = load i8, ptr %__constexpr_14, align 1
  %cvt0 = sitofp i8 %ld0 to float
  %cvt1 = sitofp i8 %ld1 to float
  %cvt2 = sitofp i8 %ld2 to float
  %cvt3 = sitofp i8 %ld3 to float
  %cvt4 = sitofp i8 %ld4 to float
  %cvt5 = sitofp i8 %ld5 to float
  %cvt6 = sitofp i8 %ld6 to float
  %cvt7 = sitofp i8 %ld7 to float
  %cvt8 = sitofp i8 %ld8 to float
  %cvt9 = sitofp i8 %ld9 to float
  %cvt10 = sitofp i8 %ld10 to float
  %cvt11 = sitofp i8 %ld11 to float
  %cvt12 = sitofp i8 %ld12 to float
  %cvt13 = sitofp i8 %ld13 to float
  %cvt14 = sitofp i8 %ld14 to float
  %cvt15 = sitofp i8 %ld15 to float
  store float %cvt0, ptr @dst32, align 64
  %__constexpr_15 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 1
  store float %cvt1, ptr %__constexpr_15, align 4
  %__constexpr_16 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 2
  store float %cvt2, ptr %__constexpr_16, align 8
  %__constexpr_17 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 3
  store float %cvt3, ptr %__constexpr_17, align 4
  %__constexpr_18 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store float %cvt4, ptr %__constexpr_18, align 16
  %__constexpr_19 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 5
  store float %cvt5, ptr %__constexpr_19, align 4
  %__constexpr_20 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 6
  store float %cvt6, ptr %__constexpr_20, align 8
  %__constexpr_21 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 7
  store float %cvt7, ptr %__constexpr_21, align 4
  %__constexpr_22 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store float %cvt8, ptr %__constexpr_22, align 32
  %__constexpr_23 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 9
  store float %cvt9, ptr %__constexpr_23, align 4
  %__constexpr_24 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 10
  store float %cvt10, ptr %__constexpr_24, align 8
  %__constexpr_25 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 11
  store float %cvt11, ptr %__constexpr_25, align 4
  %__constexpr_26 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store float %cvt12, ptr %__constexpr_26, align 16
  %__constexpr_27 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 13
  store float %cvt13, ptr %__constexpr_27, align 4
  %__constexpr_28 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 14
  store float %cvt14, ptr %__constexpr_28, align 8
  %__constexpr_29 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 15
  store float %cvt15, ptr %__constexpr_29, align 4
  ret void
}
=>
@src8 = global 64 bytes, align 64
@dst32 = global 64 bytes, align 64

define void @sitofp_16i8_16f32() {
%0:
  %1 = load <4 x i8>, ptr @src8, align 64
  %2 = sitofp <4 x i8> %1 to <4 x float>
  store <4 x float> %2, ptr @dst32, align 64
  %__constexpr_0 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 4
  %3 = load <4 x i8>, ptr %__constexpr_0, align 4
  %4 = sitofp <4 x i8> %3 to <4 x float>
  %__constexpr_1 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 4
  store <4 x float> %4, ptr %__constexpr_1, align 16
  %__constexpr_2 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 8
  %5 = load <4 x i8>, ptr %__constexpr_2, align 8
  %6 = sitofp <4 x i8> %5 to <4 x float>
  %__constexpr_3 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 8
  store <4 x float> %6, ptr %__constexpr_3, align 32
  %__constexpr_4 = gep inbounds ptr @src8, 64 x i32 0, 1 x i64 12
  %7 = load <4 x i8>, ptr %__constexpr_4, align 4
  %8 = sitofp <4 x i8> %7 to <4 x float>
  %__constexpr_5 = gep inbounds ptr @dst32, 64 x i32 0, 4 x i64 12
  store <4 x float> %8, ptr %__constexpr_5, align 16
  ret void
}
Transformation seems to be correct!

-- 96. PassManager<Function> : Skipping NOP
-- 97. PassManager<Function> : Skipping NOP
-- 98. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_4xi32_4f64(i32 %a0, i32 %a1, i32 %a2, i32 %a3) {
%0:
  %cvt0 = sitofp i32 %a0 to double
  %cvt1 = sitofp i32 %a1 to double
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res0 = insertelement <4 x double> undef, double %cvt0, i32 0
  %res1 = insertelement <4 x double> %res0, double %cvt1, i32 1
  %res2 = insertelement <4 x double> %res1, double %cvt2, i32 2
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 3
  ret <4 x double> %res3
}
Transformation seems to be correct! (syntactically equal)

-- 99. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_4xi32_4f64(i32 %a0, i32 %a1, i32 %a2, i32 %a3) {
%0:
  %cvt0 = sitofp i32 %a0 to double
  %cvt1 = sitofp i32 %a1 to double
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res0 = insertelement <4 x double> undef, double %cvt0, i32 0
  %res1 = insertelement <4 x double> %res0, double %cvt1, i32 1
  %res2 = insertelement <4 x double> %res1, double %cvt2, i32 2
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 3
  ret <4 x double> %res3
}
=>
define <4 x double> @sitofp_4xi32_4f64(i32 %a0, i32 %a1, i32 %a2, i32 %a3) {
%0:
  %1 = insertelement <2 x i32> poison, i32 %a0, i32 0
  %2 = insertelement <2 x i32> %1, i32 %a1, i32 1
  %3 = sitofp <2 x i32> %2 to <2 x double>
  %4 = insertelement <2 x i32> poison, i32 %a2, i32 0
  %5 = insertelement <2 x i32> %4, i32 %a3, i32 1
  %6 = sitofp <2 x i32> %5 to <2 x double>
  %7 = shufflevector <2 x double> %3, <2 x double> poison, 0, 1, 4294967295, 4294967295
  %8 = shufflevector <2 x double> %6, <2 x double> poison, 0, 1, 4294967295, 4294967295
  %res31 = shufflevector <4 x double> %7, <4 x double> %8, 0, 1, 4, 5
  ret <4 x double> %res31
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 100. PassManager<Function> : Skipping NOP
-- 101. PassManager<Function> : Skipping NOP
-- 102. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_with_const_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res0 = insertelement <4 x double> undef, double 1.000000, i32 3
  %res2 = insertelement <4 x double> %res0, double %cvt2, i32 0
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 1
  ret <4 x double> %res3
}
Transformation seems to be correct! (syntactically equal)

-- 103. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_with_const_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res0 = insertelement <4 x double> undef, double 1.000000, i32 3
  %res2 = insertelement <4 x double> %res0, double %cvt2, i32 0
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 1
  ret <4 x double> %res3
}
=>
define <4 x double> @sitofp_with_const_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %1 = insertelement <2 x i32> poison, i32 %a2, i32 0
  %2 = insertelement <2 x i32> %1, i32 %a3, i32 1
  %3 = sitofp <2 x i32> %2 to <2 x double>
  %res0 = insertelement <4 x double> undef, double 1.000000, i32 3
  %4 = shufflevector <2 x double> %3, <2 x double> poison, 0, 1, 4294967295, 4294967295
  %res31 = shufflevector <4 x double> %res0, <4 x double> %4, 4, 5, 2, 3
  ret <4 x double> %res31
}
Transformation doesn't verify! (not unsound)
ERROR: Timeout
-- 104. PassManager<Function> : Skipping NOP
-- 105. PassManager<Function> : Skipping NOP
-- 106. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_with_undef_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res2 = insertelement <4 x double> undef, double %cvt2, i32 0
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 1
  ret <4 x double> %res3
}
Transformation seems to be correct! (syntactically equal)

-- 107. SLPVectorizerPass

----------------------------------------
define <4 x double> @sitofp_with_undef_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %cvt2 = sitofp i32 %a2 to double
  %cvt3 = sitofp i32 %a3 to double
  %res2 = insertelement <4 x double> undef, double %cvt2, i32 0
  %res3 = insertelement <4 x double> %res2, double %cvt3, i32 1
  ret <4 x double> %res3
}
=>
define <4 x double> @sitofp_with_undef_4xi32_4f64(i32 %a2, i32 %a3) {
%0:
  %1 = insertelement <2 x i32> poison, i32 %a2, i32 0
  %2 = insertelement <2 x i32> %1, i32 %a3, i32 1
  %3 = sitofp <2 x i32> %2 to <2 x double>
  %4 = shufflevector <2 x double> %3, <2 x double> poison, 0, 1, 4294967295, 4294967295
  ret <4 x double> %4
}
Transformation doesn't verify! (unsound)
ERROR: Target is more poisonous than source

Example:
i32 %a2 = poison
i32 %a3 = poison

Source:
double %cvt2 = poison
double %cvt3 = poison
<4 x double> %res2 = < poison, #x0000000000000000 (+0.0)	[based on undef value], #x0000000000000000 (+0.0), #x0000000000000000 (+0.0) >
<4 x double> %res3 = < poison, poison, #x0000000000000000 (+0.0), #x0000000000000000 (+0.0) >

Target:
<2 x i32> %1 = < poison, poison >
<2 x i32> %2 = < poison, poison >
<2 x double> %3 = < poison, poison >
<4 x double> %4 = < poison, poison, poison, poison >
Source value: < poison, poison, #x0000000000000000 (+0.0), #x0000000000000000 (+0.0) >
Target value: < poison, poison, poison, poison >

Pass: SLPVectorizerPass
Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-load-pass-plugin=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-mtriple=x86_64-unknown' '-passes=slp-vectorizer' '-S' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats'
Wrote bitcode to: "/home/nlopes/alive2/build/logs/in_BTgaUOZc_oijP.bc"


------------------- SMT STATS -------------------
Num queries: 113
Num invalid: 0
Num skips:   0
Num trivial: 113 (50.0%)
Num timeout: 15 (13.3%)
Num errors:  0 (0.0%)
Num SAT:     88 (77.9%)
Num UNSAT:   10 (8.8%)
Alive2: Transform doesn't verify; aborting!

stderr:

+ : 'RUN: at line 2'
+ /home/nlopes/alive2/build/opt-alive.sh -mtriple=x86_64-unknown -passes=slp-vectorizer -S
+ /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll --check-prefixes=CHECK,SSE

FileCheck error: '<stdin>' is empty.
FileCheck command line:  /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll --check-prefixes=CHECK,SSE

 

<-- Back