@@ -23,6 +23,7 @@ define void @srem() {
23
23
; CHECK-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %V16i8 = srem <16 x i8> undef, undef
24
24
; CHECK-NEXT: Cost Model: Found an estimated cost of 36 for instruction: %V32i8 = srem <32 x i8> undef, undef
25
25
; CHECK-NEXT: Cost Model: Found an estimated cost of 72 for instruction: %V64i8 = srem <64 x i8> undef, undef
26
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = srem <vscale x 2 x i128> undef, undef
26
27
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NV2i64 = srem <vscale x 2 x i64> undef, undef
27
28
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NV4i64 = srem <vscale x 4 x i64> undef, undef
28
29
; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NV8i64 = srem <vscale x 8 x i64> undef, undef
@@ -61,6 +62,7 @@ define void @srem() {
61
62
%V16i8 = srem <16 x i8 > undef , undef
62
63
%V32i8 = srem <32 x i8 > undef , undef
63
64
%V64i8 = srem <64 x i8 > undef , undef
65
+ %NV2i128 = srem <vscale x 2 x i128 > undef , undef
64
66
%NV2i64 = srem <vscale x 2 x i64 > undef , undef
65
67
%NV4i64 = srem <vscale x 4 x i64 > undef , undef
66
68
%NV8i64 = srem <vscale x 8 x i64 > undef , undef
@@ -102,6 +104,7 @@ define void @urem() {
102
104
; CHECK-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %V16i8 = urem <16 x i8> undef, undef
103
105
; CHECK-NEXT: Cost Model: Found an estimated cost of 36 for instruction: %V32i8 = urem <32 x i8> undef, undef
104
106
; CHECK-NEXT: Cost Model: Found an estimated cost of 72 for instruction: %V64i8 = urem <64 x i8> undef, undef
107
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = urem <vscale x 2 x i128> undef, undef
105
108
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NV2i64 = urem <vscale x 2 x i64> undef, undef
106
109
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NV4i64 = urem <vscale x 4 x i64> undef, undef
107
110
; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NV8i64 = urem <vscale x 8 x i64> undef, undef
@@ -140,6 +143,7 @@ define void @urem() {
140
143
%V16i8 = urem <16 x i8 > undef , undef
141
144
%V32i8 = urem <32 x i8 > undef , undef
142
145
%V64i8 = urem <64 x i8 > undef , undef
146
+ %NV2i128 = urem <vscale x 2 x i128 > undef , undef
143
147
%NV2i64 = urem <vscale x 2 x i64 > undef , undef
144
148
%NV4i64 = urem <vscale x 4 x i64 > undef , undef
145
149
%NV8i64 = urem <vscale x 8 x i64 > undef , undef
@@ -181,6 +185,7 @@ define void @srem_uniformconst() {
181
185
; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %V16i8 = srem <16 x i8> undef, splat (i8 7)
182
186
; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %V32i8 = srem <32 x i8> undef, splat (i8 7)
183
187
; CHECK-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V64i8 = srem <64 x i8> undef, splat (i8 7)
188
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = srem <vscale x 2 x i128> undef, splat (i128 7)
184
189
; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %NV2i64 = srem <vscale x 2 x i64> undef, splat (i64 7)
185
190
; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %NV4i64 = srem <vscale x 4 x i64> undef, splat (i64 7)
186
191
; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %NV8i64 = srem <vscale x 8 x i64> undef, splat (i64 7)
@@ -219,6 +224,7 @@ define void @srem_uniformconst() {
219
224
%V16i8 = srem <16 x i8 > undef , splat (i8 7 )
220
225
%V32i8 = srem <32 x i8 > undef , splat (i8 7 )
221
226
%V64i8 = srem <64 x i8 > undef , splat (i8 7 )
227
+ %NV2i128 = srem <vscale x 2 x i128 > undef , splat (i128 7 )
222
228
%NV2i64 = srem <vscale x 2 x i64 > undef , splat (i64 7 )
223
229
%NV4i64 = srem <vscale x 4 x i64 > undef , splat (i64 7 )
224
230
%NV8i64 = srem <vscale x 8 x i64 > undef , splat (i64 7 )
@@ -260,6 +266,7 @@ define void @urem_uniformconst() {
260
266
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16i8 = urem <16 x i8> undef, splat (i8 7)
261
267
; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V32i8 = urem <32 x i8> undef, splat (i8 7)
262
268
; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V64i8 = urem <64 x i8> undef, splat (i8 7)
269
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = urem <vscale x 2 x i128> undef, splat (i128 7)
263
270
; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %NV2i64 = urem <vscale x 2 x i64> undef, splat (i64 7)
264
271
; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %NV4i64 = urem <vscale x 4 x i64> undef, splat (i64 7)
265
272
; CHECK-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %NV8i64 = urem <vscale x 8 x i64> undef, splat (i64 7)
@@ -298,6 +305,7 @@ define void @urem_uniformconst() {
298
305
%V16i8 = urem <16 x i8 > undef , splat (i8 7 )
299
306
%V32i8 = urem <32 x i8 > undef , splat (i8 7 )
300
307
%V64i8 = urem <64 x i8 > undef , splat (i8 7 )
308
+ %NV2i128 = urem <vscale x 2 x i128 > undef , splat (i128 7 )
301
309
%NV2i64 = urem <vscale x 2 x i64 > undef , splat (i64 7 )
302
310
%NV4i64 = urem <vscale x 4 x i64 > undef , splat (i64 7 )
303
311
%NV8i64 = urem <vscale x 8 x i64 > undef , splat (i64 7 )
@@ -339,6 +347,7 @@ define void @srem_uniformconstpow2() {
339
347
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> undef, splat (i8 16)
340
348
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V32i8 = srem <32 x i8> undef, splat (i8 16)
341
349
; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V64i8 = srem <64 x i8> undef, splat (i8 16)
350
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = srem <vscale x 2 x i128> undef, splat (i128 16)
342
351
; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NV2i64 = srem <vscale x 2 x i64> undef, splat (i64 16)
343
352
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NV4i64 = srem <vscale x 4 x i64> undef, splat (i64 16)
344
353
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NV8i64 = srem <vscale x 8 x i64> undef, splat (i64 16)
@@ -377,6 +386,7 @@ define void @srem_uniformconstpow2() {
377
386
%V16i8 = srem <16 x i8 > undef , splat (i8 16 )
378
387
%V32i8 = srem <32 x i8 > undef , splat (i8 16 )
379
388
%V64i8 = srem <64 x i8 > undef , splat (i8 16 )
389
+ %NV2i128 = srem <vscale x 2 x i128 > undef , splat (i128 16 )
380
390
%NV2i64 = srem <vscale x 2 x i64 > undef , splat (i64 16 )
381
391
%NV4i64 = srem <vscale x 4 x i64 > undef , splat (i64 16 )
382
392
%NV8i64 = srem <vscale x 8 x i64 > undef , splat (i64 16 )
@@ -418,6 +428,7 @@ define void @urem_uniformconstpow2() {
418
428
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16i8 = urem <16 x i8> undef, splat (i8 16)
419
429
; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32i8 = urem <32 x i8> undef, splat (i8 16)
420
430
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> undef, splat (i8 16)
431
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = urem <vscale x 2 x i128> undef, splat (i128 16)
421
432
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NV2i64 = urem <vscale x 2 x i64> undef, splat (i64 16)
422
433
; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NV4i64 = urem <vscale x 4 x i64> undef, splat (i64 16)
423
434
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NV8i64 = urem <vscale x 8 x i64> undef, splat (i64 16)
@@ -456,6 +467,7 @@ define void @urem_uniformconstpow2() {
456
467
%V16i8 = urem <16 x i8 > undef , splat (i8 16 )
457
468
%V32i8 = urem <32 x i8 > undef , splat (i8 16 )
458
469
%V64i8 = urem <64 x i8 > undef , splat (i8 16 )
470
+ %NV2i128 = urem <vscale x 2 x i128 > undef , splat (i128 16 )
459
471
%NV2i64 = urem <vscale x 2 x i64 > undef , splat (i64 16 )
460
472
%NV4i64 = urem <vscale x 4 x i64 > undef , splat (i64 16 )
461
473
%NV8i64 = urem <vscale x 8 x i64 > undef , splat (i64 16 )
@@ -497,6 +509,7 @@ define void @srem_uniformconstnegpow2() {
497
509
; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %V16i8 = srem <16 x i8> undef, splat (i8 -16)
498
510
; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %V32i8 = srem <32 x i8> undef, splat (i8 -16)
499
511
; CHECK-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V64i8 = srem <64 x i8> undef, splat (i8 -16)
512
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = srem <vscale x 2 x i128> undef, splat (i128 -16)
500
513
; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %NV2i64 = srem <vscale x 2 x i64> undef, splat (i64 -16)
501
514
; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %NV4i64 = srem <vscale x 4 x i64> undef, splat (i64 -16)
502
515
; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %NV8i64 = srem <vscale x 8 x i64> undef, splat (i64 -16)
@@ -535,6 +548,7 @@ define void @srem_uniformconstnegpow2() {
535
548
%V16i8 = srem <16 x i8 > undef , splat (i8 -16 )
536
549
%V32i8 = srem <32 x i8 > undef , splat (i8 -16 )
537
550
%V64i8 = srem <64 x i8 > undef , splat (i8 -16 )
551
+ %NV2i128 = srem <vscale x 2 x i128 > undef , splat (i128 -16 )
538
552
%NV2i64 = srem <vscale x 2 x i64 > undef , splat (i64 -16 )
539
553
%NV4i64 = srem <vscale x 4 x i64 > undef , splat (i64 -16 )
540
554
%NV8i64 = srem <vscale x 8 x i64 > undef , splat (i64 -16 )
@@ -576,6 +590,7 @@ define void @urem_uniformconstnegpow2() {
576
590
; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %V16i8 = urem <16 x i8> undef, splat (i8 -16)
577
591
; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V32i8 = urem <32 x i8> undef, splat (i8 -16)
578
592
; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V64i8 = urem <64 x i8> undef, splat (i8 -16)
593
+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %NV2i128 = urem <vscale x 2 x i128> undef, splat (i128 -16)
579
594
; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %NV2i64 = urem <vscale x 2 x i64> undef, splat (i64 -16)
580
595
; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %NV4i64 = urem <vscale x 4 x i64> undef, splat (i64 -16)
581
596
; CHECK-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %NV8i64 = urem <vscale x 8 x i64> undef, splat (i64 -16)
@@ -614,6 +629,7 @@ define void @urem_uniformconstnegpow2() {
614
629
%V16i8 = urem <16 x i8 > undef , splat (i8 -16 )
615
630
%V32i8 = urem <32 x i8 > undef , splat (i8 -16 )
616
631
%V64i8 = urem <64 x i8 > undef , splat (i8 -16 )
632
+ %NV2i128 = urem <vscale x 2 x i128 > undef , splat (i128 -16 )
617
633
%NV2i64 = urem <vscale x 2 x i64 > undef , splat (i64 -16 )
618
634
%NV4i64 = urem <vscale x 4 x i64 > undef , splat (i64 -16 )
619
635
%NV8i64 = urem <vscale x 8 x i64 > undef , splat (i64 -16 )
0 commit comments