@@ -10,32 +10,33 @@ define fastcc i64 @zot(float %arg, float %arg1, float %arg2, float %arg3, float
10
10
; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> [[TMP0]], float [[ARG3:%.*]], i32 2
11
11
; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <4 x float> [[TMP1]], <4 x float> poison, <4 x i32> <i32 0, i32 1, i32 2, i32 2>
12
12
; CHECK-NEXT: [[TMP3:%.*]] = fmul fast <4 x float> <float 0.000000e+00, float 0.000000e+00, float 1.000000e+00, float 1.000000e+00>, [[TMP2]]
13
- ; CHECK-NEXT: [[VAL12:%.*]] = fadd fast float [[ARG3]], 1.000000e+00
14
- ; CHECK-NEXT: [[TMP4:%.*]] = insertelement <4 x float> [[TMP2]], float [[VAL12]], i32 0
15
- ; CHECK-NEXT: [[TMP5:%.*]] = insertelement <4 x float> [[TMP4]], float 0.000000e+00, i32 1
16
- ; CHECK-NEXT: [[TMP6:%.*]] = fadd fast <4 x float> [[TMP5]], <float 2.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
13
+ ; CHECK-NEXT: [[TMP4:%.*]] = insertelement <2 x float> <float poison, float 0.000000e+00>, float [[ARG3]], i32 0
14
+ ; CHECK-NEXT: [[TMP5:%.*]] = fadd fast <2 x float> [[TMP4]], <float 1.000000e+00, float 0.000000e+00>
15
+ ; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <2 x float> [[TMP5]], <2 x float> poison, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>
16
+ ; CHECK-NEXT: [[TMP7:%.*]] = shufflevector <4 x float> [[TMP2]], <4 x float> [[TMP6]], <4 x i32> <i32 4, i32 5, i32 2, i32 3>
17
+ ; CHECK-NEXT: [[TMP8:%.*]] = fadd fast <4 x float> [[TMP7]], <float 2.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
17
18
; CHECK-NEXT: br i1 [[ARG6:%.*]], label [[BB18:%.*]], label [[BB57:%.*]]
18
19
; CHECK: bb18:
19
- ; CHECK-NEXT: [[TMP7 :%.*]] = phi <4 x float> [ [[TMP6 ]], [[BB:%.*]] ]
20
- ; CHECK-NEXT: [[TMP8 :%.*]] = extractelement <4 x float> [[TMP6 ]], i32 2
21
- ; CHECK-NEXT: [[VAL23:%.*]] = fmul fast float [[TMP8 ]], 2.000000e+00
22
- ; CHECK-NEXT: [[TMP9 :%.*]] = extractelement <4 x float> [[TMP6 ]], i32 3
23
- ; CHECK-NEXT: [[VAL24:%.*]] = fmul fast float [[TMP9 ]], 3.000000e+00
20
+ ; CHECK-NEXT: [[TMP9 :%.*]] = phi <4 x float> [ [[TMP8 ]], [[BB:%.*]] ]
21
+ ; CHECK-NEXT: [[TMP10 :%.*]] = extractelement <4 x float> [[TMP8 ]], i32 2
22
+ ; CHECK-NEXT: [[VAL23:%.*]] = fmul fast float [[TMP10 ]], 2.000000e+00
23
+ ; CHECK-NEXT: [[TMP11 :%.*]] = extractelement <4 x float> [[TMP8 ]], i32 3
24
+ ; CHECK-NEXT: [[VAL24:%.*]] = fmul fast float [[TMP11 ]], 3.000000e+00
24
25
; CHECK-NEXT: br i1 [[ARG7:%.*]], label [[BB25:%.*]], label [[BB57]]
25
26
; CHECK: bb25:
26
- ; CHECK-NEXT: [[TMP10 :%.*]] = phi <4 x float> [ [[TMP7 ]], [[BB18]] ]
27
- ; CHECK-NEXT: [[TMP11 :%.*]] = extractelement <4 x float> [[TMP3]], i32 1
27
+ ; CHECK-NEXT: [[TMP12 :%.*]] = phi <4 x float> [ [[TMP9 ]], [[BB18]] ]
28
+ ; CHECK-NEXT: [[TMP13 :%.*]] = extractelement <4 x float> [[TMP3]], i32 1
28
29
; CHECK-NEXT: br label [[BB30:%.*]]
29
30
; CHECK: bb30:
30
31
; CHECK-NEXT: [[VAL31:%.*]] = phi float [ [[VAL55:%.*]], [[BB30]] ], [ 0.000000e+00, [[BB25]] ]
31
- ; CHECK-NEXT: [[VAL32:%.*]] = phi float [ [[TMP11 ]], [[BB30]] ], [ 0.000000e+00, [[BB25]] ]
32
- ; CHECK-NEXT: [[TMP12 :%.*]] = load <4 x i8>, ptr [[ARG5:%.*]], align 1
33
- ; CHECK-NEXT: [[TMP13 :%.*]] = uitofp <4 x i8> [[TMP12 ]] to <4 x float>
34
- ; CHECK-NEXT: [[TMP14 :%.*]] = fsub fast <4 x float> [[TMP13 ]], [[TMP3]]
35
- ; CHECK-NEXT: [[TMP15 :%.*]] = fmul fast <4 x float> [[TMP14 ]], [[TMP10 ]]
36
- ; CHECK-NEXT: [[TMP16 :%.*]] = call fast float @llvm.vector.reduce.fadd.v4f32(float -0.000000e+00, <4 x float> [[TMP15 ]])
32
+ ; CHECK-NEXT: [[VAL32:%.*]] = phi float [ [[TMP13 ]], [[BB30]] ], [ 0.000000e+00, [[BB25]] ]
33
+ ; CHECK-NEXT: [[TMP14 :%.*]] = load <4 x i8>, ptr [[ARG5:%.*]], align 1
34
+ ; CHECK-NEXT: [[TMP15 :%.*]] = uitofp <4 x i8> [[TMP14 ]] to <4 x float>
35
+ ; CHECK-NEXT: [[TMP16 :%.*]] = fsub fast <4 x float> [[TMP15 ]], [[TMP3]]
36
+ ; CHECK-NEXT: [[TMP17 :%.*]] = fmul fast <4 x float> [[TMP16 ]], [[TMP12 ]]
37
+ ; CHECK-NEXT: [[TMP18 :%.*]] = call fast float @llvm.vector.reduce.fadd.v4f32(float -0.000000e+00, <4 x float> [[TMP17 ]])
37
38
; CHECK-NEXT: [[VAL55]] = tail call fast float @llvm.minnum.f32(float [[VAL31]], float [[ARG1:%.*]])
38
- ; CHECK-NEXT: [[VAL56:%.*]] = tail call fast float @llvm.maxnum.f32(float [[ARG2:%.*]], float [[TMP16 ]])
39
+ ; CHECK-NEXT: [[VAL56:%.*]] = tail call fast float @llvm.maxnum.f32(float [[ARG2:%.*]], float [[TMP18 ]])
39
40
; CHECK-NEXT: call void @ham(float [[VAL55]], float [[VAL56]])
40
41
; CHECK-NEXT: br i1 [[ARG8:%.*]], label [[BB30]], label [[BB57]]
41
42
; CHECK: bb57:
0 commit comments