11; 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
33
44; Verify the cost of scalar bitreverse instructions.
55
@@ -12,35 +12,35 @@ declare i64 @llvm.bitreverse.i64(i64)
1212
1313define i64 @var_bitreverse_i64 (i64 %a ) {
1414; 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
1717;
1818 %bitreverse = call i64 @llvm.bitreverse.i64 (i64 %a )
1919 ret i64 %bitreverse
2020}
2121
2222define i32 @var_bitreverse_i32 (i32 %a ) {
2323; 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
2626;
2727 %bitreverse = call i32 @llvm.bitreverse.i32 (i32 %a )
2828 ret i32 %bitreverse
2929}
3030
3131define i16 @var_bitreverse_i16 (i16 %a ) {
3232; 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
3535;
3636 %bitreverse = call i16 @llvm.bitreverse.i16 (i16 %a )
3737 ret i16 %bitreverse
3838}
3939
4040define i8 @var_bitreverse_i8 (i8 %a ) {
4141; 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
4444;
4545 %bitreverse = call i8 @llvm.bitreverse.i8 (i8 %a )
4646 ret i8 %bitreverse
@@ -65,107 +65,107 @@ declare <32 x i8> @llvm.bitreverse.v32i8(<32 x i8>)
6565
6666define <1 x i64 > @var_bitreverse_v1i64 (<1 x i64 > %a ) {
6767; 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
7070;
7171 %bitreverse = call <1 x i64 > @llvm.bitreverse.v1i64 (<1 x i64 > %a )
7272 ret <1 x i64 > %bitreverse
7373}
7474
7575define <2 x i64 > @var_bitreverse_v2i64 (<2 x i64 > %a ) {
7676; 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
7979;
8080 %bitreverse = call <2 x i64 > @llvm.bitreverse.v2i64 (<2 x i64 > %a )
8181 ret <2 x i64 > %bitreverse
8282}
8383
8484define <4 x i64 > @var_bitreverse_v4i64 (<4 x i64 > %a ) {
8585; 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
8888;
8989 %bitreverse = call <4 x i64 > @llvm.bitreverse.v4i64 (<4 x i64 > %a )
9090 ret <4 x i64 > %bitreverse
9191}
9292
9393define <2 x i32 > @var_bitreverse_v2i32 (<2 x i32 > %a ) {
9494; 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
9797;
9898 %bitreverse = call <2 x i32 > @llvm.bitreverse.v2i32 (<2 x i32 > %a )
9999 ret <2 x i32 > %bitreverse
100100}
101101
102102define <4 x i32 > @var_bitreverse_v4i32 (<4 x i32 > %a ) {
103103; 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
106106;
107107 %bitreverse = call <4 x i32 > @llvm.bitreverse.v4i32 (<4 x i32 > %a )
108108 ret <4 x i32 > %bitreverse
109109}
110110
111111define <8 x i32 > @var_bitreverse_v8i32 (<8 x i32 > %a ) {
112112; 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
115115;
116116 %bitreverse = call <8 x i32 > @llvm.bitreverse.v8i32 (<8 x i32 > %a )
117117 ret <8 x i32 > %bitreverse
118118}
119119
120120define <4 x i16 > @var_bitreverse_v4i16 (<4 x i16 > %a ) {
121121; 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
124124;
125125 %bitreverse = call <4 x i16 > @llvm.bitreverse.v4i16 (<4 x i16 > %a )
126126 ret <4 x i16 > %bitreverse
127127}
128128
129129define <8 x i16 > @var_bitreverse_v8i16 (<8 x i16 > %a ) {
130130; 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
133133;
134134 %bitreverse = call <8 x i16 > @llvm.bitreverse.v8i16 (<8 x i16 > %a )
135135 ret <8 x i16 > %bitreverse
136136}
137137
138138define <16 x i16 > @var_bitreverse_v16i16 (<16 x i16 > %a ) {
139139; 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
142142;
143143 %bitreverse = call <16 x i16 > @llvm.bitreverse.v16i16 (<16 x i16 > %a )
144144 ret <16 x i16 > %bitreverse
145145}
146146
147147define <8 x i8 > @var_bitreverse_v8i8 (<8 x i8 > %a ) {
148148; 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
151151;
152152 %bitreverse = call <8 x i8 > @llvm.bitreverse.v8i8 (<8 x i8 > %a )
153153 ret <8 x i8 > %bitreverse
154154}
155155
156156define <16 x i8 > @var_bitreverse_v16i8 (<16 x i8 > %a ) {
157157; 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
160160;
161161 %bitreverse = call <16 x i8 > @llvm.bitreverse.v16i8 (<16 x i8 > %a )
162162 ret <16 x i8 > %bitreverse
163163}
164164
165165define <32 x i8 > @var_bitreverse_v32i8 (<32 x i8 > %a ) {
166166; 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
169169;
170170 %bitreverse = call <32 x i8 > @llvm.bitreverse.v32i8 (<32 x i8 > %a )
171171 ret <32 x i8 > %bitreverse
0 commit comments