1
1
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2
- ; RUN: opt < %s -mtriple=aarch64-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output | FileCheck %s
2
+ ; RUN: opt < %s -mtriple=aarch64-linux-gnu -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output | FileCheck %s
3
3
4
4
; Verify the cost of scalar bitreverse instructions.
5
5
@@ -12,35 +12,35 @@ declare i64 @llvm.bitreverse.i64(i64)
12
12
13
13
define i64 @var_bitreverse_i64 (i64 %a ) {
14
14
; CHECK-LABEL: 'var_bitreverse_i64'
15
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction : %bitreverse = call i64 @llvm.bitreverse.i64(i64 %a)
16
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret i64 %bitreverse
15
+ ; CHECK-NEXT: Cost Model: Found costs of 1 for: %bitreverse = call i64 @llvm.bitreverse.i64(i64 %a)
16
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret i64 %bitreverse
17
17
;
18
18
%bitreverse = call i64 @llvm.bitreverse.i64 (i64 %a )
19
19
ret i64 %bitreverse
20
20
}
21
21
22
22
define i32 @var_bitreverse_i32 (i32 %a ) {
23
23
; CHECK-LABEL: 'var_bitreverse_i32'
24
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction : %bitreverse = call i32 @llvm.bitreverse.i32(i32 %a)
25
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret i32 %bitreverse
24
+ ; CHECK-NEXT: Cost Model: Found costs of 1 for: %bitreverse = call i32 @llvm.bitreverse.i32(i32 %a)
25
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret i32 %bitreverse
26
26
;
27
27
%bitreverse = call i32 @llvm.bitreverse.i32 (i32 %a )
28
28
ret i32 %bitreverse
29
29
}
30
30
31
31
define i16 @var_bitreverse_i16 (i16 %a ) {
32
32
; CHECK-LABEL: 'var_bitreverse_i16'
33
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call i16 @llvm.bitreverse.i16(i16 %a)
34
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret i16 %bitreverse
33
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call i16 @llvm.bitreverse.i16(i16 %a)
34
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret i16 %bitreverse
35
35
;
36
36
%bitreverse = call i16 @llvm.bitreverse.i16 (i16 %a )
37
37
ret i16 %bitreverse
38
38
}
39
39
40
40
define i8 @var_bitreverse_i8 (i8 %a ) {
41
41
; CHECK-LABEL: 'var_bitreverse_i8'
42
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call i8 @llvm.bitreverse.i8(i8 %a)
43
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret i8 %bitreverse
42
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call i8 @llvm.bitreverse.i8(i8 %a)
43
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret i8 %bitreverse
44
44
;
45
45
%bitreverse = call i8 @llvm.bitreverse.i8 (i8 %a )
46
46
ret i8 %bitreverse
@@ -65,107 +65,107 @@ declare <32 x i8> @llvm.bitreverse.v32i8(<32 x i8>)
65
65
66
66
define <1 x i64 > @var_bitreverse_v1i64 (<1 x i64 > %a ) {
67
67
; CHECK-LABEL: 'var_bitreverse_v1i64'
68
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <1 x i64> @llvm.bitreverse.v1i64(<1 x i64> %a)
69
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <1 x i64> %bitreverse
68
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <1 x i64> @llvm.bitreverse.v1i64(<1 x i64> %a)
69
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <1 x i64> %bitreverse
70
70
;
71
71
%bitreverse = call <1 x i64 > @llvm.bitreverse.v1i64 (<1 x i64 > %a )
72
72
ret <1 x i64 > %bitreverse
73
73
}
74
74
75
75
define <2 x i64 > @var_bitreverse_v2i64 (<2 x i64 > %a ) {
76
76
; CHECK-LABEL: 'var_bitreverse_v2i64'
77
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <2 x i64> @llvm.bitreverse.v2i64(<2 x i64> %a)
78
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <2 x i64> %bitreverse
77
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <2 x i64> @llvm.bitreverse.v2i64(<2 x i64> %a)
78
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <2 x i64> %bitreverse
79
79
;
80
80
%bitreverse = call <2 x i64 > @llvm.bitreverse.v2i64 (<2 x i64 > %a )
81
81
ret <2 x i64 > %bitreverse
82
82
}
83
83
84
84
define <4 x i64 > @var_bitreverse_v4i64 (<4 x i64 > %a ) {
85
85
; CHECK-LABEL: 'var_bitreverse_v4i64'
86
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction : %bitreverse = call <4 x i64> @llvm.bitreverse.v4i64(<4 x i64> %a)
87
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <4 x i64> %bitreverse
86
+ ; CHECK-NEXT: Cost Model: Found costs of 4 for: %bitreverse = call <4 x i64> @llvm.bitreverse.v4i64(<4 x i64> %a)
87
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <4 x i64> %bitreverse
88
88
;
89
89
%bitreverse = call <4 x i64 > @llvm.bitreverse.v4i64 (<4 x i64 > %a )
90
90
ret <4 x i64 > %bitreverse
91
91
}
92
92
93
93
define <2 x i32 > @var_bitreverse_v2i32 (<2 x i32 > %a ) {
94
94
; CHECK-LABEL: 'var_bitreverse_v2i32'
95
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <2 x i32> @llvm.bitreverse.v2i32(<2 x i32> %a)
96
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <2 x i32> %bitreverse
95
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <2 x i32> @llvm.bitreverse.v2i32(<2 x i32> %a)
96
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <2 x i32> %bitreverse
97
97
;
98
98
%bitreverse = call <2 x i32 > @llvm.bitreverse.v2i32 (<2 x i32 > %a )
99
99
ret <2 x i32 > %bitreverse
100
100
}
101
101
102
102
define <4 x i32 > @var_bitreverse_v4i32 (<4 x i32 > %a ) {
103
103
; CHECK-LABEL: 'var_bitreverse_v4i32'
104
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <4 x i32> @llvm.bitreverse.v4i32(<4 x i32> %a)
105
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <4 x i32> %bitreverse
104
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <4 x i32> @llvm.bitreverse.v4i32(<4 x i32> %a)
105
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <4 x i32> %bitreverse
106
106
;
107
107
%bitreverse = call <4 x i32 > @llvm.bitreverse.v4i32 (<4 x i32 > %a )
108
108
ret <4 x i32 > %bitreverse
109
109
}
110
110
111
111
define <8 x i32 > @var_bitreverse_v8i32 (<8 x i32 > %a ) {
112
112
; CHECK-LABEL: 'var_bitreverse_v8i32'
113
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction : %bitreverse = call <8 x i32> @llvm.bitreverse.v8i32(<8 x i32> %a)
114
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <8 x i32> %bitreverse
113
+ ; CHECK-NEXT: Cost Model: Found costs of 4 for: %bitreverse = call <8 x i32> @llvm.bitreverse.v8i32(<8 x i32> %a)
114
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <8 x i32> %bitreverse
115
115
;
116
116
%bitreverse = call <8 x i32 > @llvm.bitreverse.v8i32 (<8 x i32 > %a )
117
117
ret <8 x i32 > %bitreverse
118
118
}
119
119
120
120
define <4 x i16 > @var_bitreverse_v4i16 (<4 x i16 > %a ) {
121
121
; CHECK-LABEL: 'var_bitreverse_v4i16'
122
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <4 x i16> @llvm.bitreverse.v4i16(<4 x i16> %a)
123
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <4 x i16> %bitreverse
122
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <4 x i16> @llvm.bitreverse.v4i16(<4 x i16> %a)
123
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <4 x i16> %bitreverse
124
124
;
125
125
%bitreverse = call <4 x i16 > @llvm.bitreverse.v4i16 (<4 x i16 > %a )
126
126
ret <4 x i16 > %bitreverse
127
127
}
128
128
129
129
define <8 x i16 > @var_bitreverse_v8i16 (<8 x i16 > %a ) {
130
130
; CHECK-LABEL: 'var_bitreverse_v8i16'
131
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <8 x i16> @llvm.bitreverse.v8i16(<8 x i16> %a)
132
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <8 x i16> %bitreverse
131
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <8 x i16> @llvm.bitreverse.v8i16(<8 x i16> %a)
132
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <8 x i16> %bitreverse
133
133
;
134
134
%bitreverse = call <8 x i16 > @llvm.bitreverse.v8i16 (<8 x i16 > %a )
135
135
ret <8 x i16 > %bitreverse
136
136
}
137
137
138
138
define <16 x i16 > @var_bitreverse_v16i16 (<16 x i16 > %a ) {
139
139
; CHECK-LABEL: 'var_bitreverse_v16i16'
140
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction : %bitreverse = call <16 x i16> @llvm.bitreverse.v16i16(<16 x i16> %a)
141
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <16 x i16> %bitreverse
140
+ ; CHECK-NEXT: Cost Model: Found costs of 4 for: %bitreverse = call <16 x i16> @llvm.bitreverse.v16i16(<16 x i16> %a)
141
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <16 x i16> %bitreverse
142
142
;
143
143
%bitreverse = call <16 x i16 > @llvm.bitreverse.v16i16 (<16 x i16 > %a )
144
144
ret <16 x i16 > %bitreverse
145
145
}
146
146
147
147
define <8 x i8 > @var_bitreverse_v8i8 (<8 x i8 > %a ) {
148
148
; CHECK-LABEL: 'var_bitreverse_v8i8'
149
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction : %bitreverse = call <8 x i8> @llvm.bitreverse.v8i8(<8 x i8> %a)
150
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <8 x i8> %bitreverse
149
+ ; CHECK-NEXT: Cost Model: Found costs of 1 for: %bitreverse = call <8 x i8> @llvm.bitreverse.v8i8(<8 x i8> %a)
150
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <8 x i8> %bitreverse
151
151
;
152
152
%bitreverse = call <8 x i8 > @llvm.bitreverse.v8i8 (<8 x i8 > %a )
153
153
ret <8 x i8 > %bitreverse
154
154
}
155
155
156
156
define <16 x i8 > @var_bitreverse_v16i8 (<16 x i8 > %a ) {
157
157
; CHECK-LABEL: 'var_bitreverse_v16i8'
158
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction : %bitreverse = call <16 x i8> @llvm.bitreverse.v16i8(<16 x i8> %a)
159
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <16 x i8> %bitreverse
158
+ ; CHECK-NEXT: Cost Model: Found costs of 1 for: %bitreverse = call <16 x i8> @llvm.bitreverse.v16i8(<16 x i8> %a)
159
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <16 x i8> %bitreverse
160
160
;
161
161
%bitreverse = call <16 x i8 > @llvm.bitreverse.v16i8 (<16 x i8 > %a )
162
162
ret <16 x i8 > %bitreverse
163
163
}
164
164
165
165
define <32 x i8 > @var_bitreverse_v32i8 (<32 x i8 > %a ) {
166
166
; CHECK-LABEL: 'var_bitreverse_v32i8'
167
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction : %bitreverse = call <32 x i8> @llvm.bitreverse.v32i8(<32 x i8> %a)
168
- ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction : ret <32 x i8> %bitreverse
167
+ ; CHECK-NEXT: Cost Model: Found costs of 2 for: %bitreverse = call <32 x i8> @llvm.bitreverse.v32i8(<32 x i8> %a)
168
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for : ret <32 x i8> %bitreverse
169
169
;
170
170
%bitreverse = call <32 x i8 > @llvm.bitreverse.v32i8 (<32 x i8 > %a )
171
171
ret <32 x i8 > %bitreverse
0 commit comments