9
9
; getGatherCost().
10
10
define void @fun0 (ptr nocapture %0 , double %1 ) {
11
11
; CHECK-LABEL: define void @fun0(
12
- ; CHECK: fmul <2 x double>
13
- ; CHECK: call <2 x double> @llvm.fmuladd.v2f64(
12
+ ; CHECK: fmul <2 x double>
13
+ ; CHECK-NEXT: call <2 x double> @llvm.fmuladd.v2f64(
14
+ ; CHECK-NEXT: call <2 x double> @llvm.fmuladd.v2f64(
15
+ ; CHECK-NEXT: call <2 x double> @llvm.sqrt.v2f64(
14
16
;
15
17
; REMARK-LABEL: Function: fun0
16
18
; REMARK: Args:
@@ -36,13 +38,19 @@ define void @fun0(ptr nocapture %0, double %1) {
36
38
; getVectorInstrCost().
37
39
define void @fun1 (double %0 ) {
38
40
; CHECK-LABEL: define void @fun1(
39
- ; CHECK: fsub <2 x double>
40
- ; CHECK: fsub <2 x double>
41
- ; CHECK: fsub <2 x double>
42
- ; CHECK: fmul <2 x double>
43
- ; CHECK: call <2 x double> @llvm.fmuladd.v2f64(
44
- ; CHECK: call <2 x double> @llvm.fmuladd.v2f64(
45
- ; CHECK: %14 = fcmp olt <2 x double> %13, %2
41
+ ; CHECK: phi <2 x double>
42
+ ; CHECK-NEXT: phi <2 x double>
43
+ ; CHECK-NEXT: phi <2 x double>
44
+ ; CHECK-NEXT: fsub <2 x double>
45
+ ; CHECK-NEXT: fsub <2 x double>
46
+ ; CHECK-NEXT: fsub <2 x double>
47
+ ; CHECK: fmul <2 x double>
48
+ ; CHECK-NEXT: call <2 x double> @llvm.fmuladd.v2f64(
49
+ ; CHECK-NEXT: call <2 x double> @llvm.fmuladd.v2f64(
50
+ ; CHECK-NEXT: fcmp olt <2 x double>
51
+ ; CHECK-NEXT: extractelement <2 x i1>
52
+ ; CHECK-NEXT: extractelement <2 x i1>
53
+ ; CHECK-NEXT: or i1
46
54
;
47
55
; REMARK-LABEL: Function: fun1
48
56
; REMARK: Args:
@@ -83,7 +91,8 @@ declare double @llvm.fmuladd.f64(double, double, double)
83
91
; which is recognized in SystemZTTImpl::getScalarizationOverhead().
84
92
define void @fun2 (ptr %0 , ptr %Dst ) {
85
93
; CHECK-LABEL: define void @fun2(
86
- ; CHECK-NOT: store <2 x i64>
94
+ ; CHECK: store i64
95
+ ; CHECK: store i64
87
96
;
88
97
; REMARK-NOT: Function: fun2
89
98
0 commit comments