@@ -285,19 +285,11 @@ entry:
285
285
}
286
286
287
287
define <1 x ptr > @vector_gep_v1i64_c10 (ptr %b ) {
288
- ; CHECK-SD-LABEL: vector_gep_v1i64_c10:
289
- ; CHECK-SD: // %bb.0: // %entry
290
- ; CHECK-SD-NEXT: mov w8, #10 // =0xa
291
- ; CHECK-SD-NEXT: fmov d0, x0
292
- ; CHECK-SD-NEXT: fmov d1, x8
293
- ; CHECK-SD-NEXT: add d0, d0, d1
294
- ; CHECK-SD-NEXT: ret
295
- ;
296
- ; CHECK-GI-LABEL: vector_gep_v1i64_c10:
297
- ; CHECK-GI: // %bb.0: // %entry
298
- ; CHECK-GI-NEXT: add x8, x0, #10
299
- ; CHECK-GI-NEXT: fmov d0, x8
300
- ; CHECK-GI-NEXT: ret
288
+ ; CHECK-LABEL: vector_gep_v1i64_c10:
289
+ ; CHECK: // %bb.0: // %entry
290
+ ; CHECK-NEXT: add x8, x0, #10
291
+ ; CHECK-NEXT: fmov d0, x8
292
+ ; CHECK-NEXT: ret
301
293
entry:
302
294
%g = getelementptr i8 , ptr %b , <1 x i64 > <i64 10 >
303
295
ret <1 x ptr > %g
@@ -306,10 +298,8 @@ entry:
306
298
define <2 x ptr > @vector_gep_v2i64_c10 (ptr %b ) {
307
299
; CHECK-SD-LABEL: vector_gep_v2i64_c10:
308
300
; CHECK-SD: // %bb.0: // %entry
309
- ; CHECK-SD-NEXT: mov w8, #10 // =0xa
310
- ; CHECK-SD-NEXT: dup v0.2d, x0
311
- ; CHECK-SD-NEXT: dup v1.2d, x8
312
- ; CHECK-SD-NEXT: add v0.2d, v0.2d, v1.2d
301
+ ; CHECK-SD-NEXT: add x8, x0, #10
302
+ ; CHECK-SD-NEXT: dup v0.2d, x8
313
303
; CHECK-SD-NEXT: ret
314
304
;
315
305
; CHECK-GI-LABEL: vector_gep_v2i64_c10:
@@ -327,15 +317,10 @@ entry:
327
317
define <3 x ptr > @vector_gep_v3i64_c10 (ptr %b ) {
328
318
; CHECK-SD-LABEL: vector_gep_v3i64_c10:
329
319
; CHECK-SD: // %bb.0: // %entry
330
- ; CHECK-SD-NEXT: mov w8, #10 // =0xa
331
- ; CHECK-SD-NEXT: dup v0.2d, x0
332
- ; CHECK-SD-NEXT: fmov d3, x0
333
- ; CHECK-SD-NEXT: dup v2.2d, x8
334
- ; CHECK-SD-NEXT: add v0.2d, v0.2d, v2.2d
335
- ; CHECK-SD-NEXT: add d2, d3, d2
336
- ; CHECK-SD-NEXT: ext v1.16b, v0.16b, v0.16b, #8
337
- ; CHECK-SD-NEXT: // kill: def $d0 killed $d0 killed $q0
338
- ; CHECK-SD-NEXT: // kill: def $d1 killed $d1 killed $q1
320
+ ; CHECK-SD-NEXT: add x8, x0, #10
321
+ ; CHECK-SD-NEXT: fmov d0, x8
322
+ ; CHECK-SD-NEXT: fmov d1, d0
323
+ ; CHECK-SD-NEXT: fmov d2, d0
339
324
; CHECK-SD-NEXT: ret
340
325
;
341
326
; CHECK-GI-LABEL: vector_gep_v3i64_c10:
@@ -356,10 +341,8 @@ entry:
356
341
define <4 x ptr > @vector_gep_v4i64_c10 (ptr %b ) {
357
342
; CHECK-SD-LABEL: vector_gep_v4i64_c10:
358
343
; CHECK-SD: // %bb.0: // %entry
359
- ; CHECK-SD-NEXT: mov w8, #10 // =0xa
360
- ; CHECK-SD-NEXT: dup v0.2d, x0
361
- ; CHECK-SD-NEXT: dup v1.2d, x8
362
- ; CHECK-SD-NEXT: add v0.2d, v0.2d, v1.2d
344
+ ; CHECK-SD-NEXT: add x8, x0, #10
345
+ ; CHECK-SD-NEXT: dup v0.2d, x8
363
346
; CHECK-SD-NEXT: mov v1.16b, v0.16b
364
347
; CHECK-SD-NEXT: ret
365
348
;
@@ -377,19 +360,11 @@ entry:
377
360
}
378
361
379
362
define <1 x ptr > @vector_gep_v1i64_cm10 (ptr %b ) {
380
- ; CHECK-SD-LABEL: vector_gep_v1i64_cm10:
381
- ; CHECK-SD: // %bb.0: // %entry
382
- ; CHECK-SD-NEXT: mov x8, #-10 // =0xfffffffffffffff6
383
- ; CHECK-SD-NEXT: fmov d1, x0
384
- ; CHECK-SD-NEXT: fmov d0, x8
385
- ; CHECK-SD-NEXT: add d0, d1, d0
386
- ; CHECK-SD-NEXT: ret
387
- ;
388
- ; CHECK-GI-LABEL: vector_gep_v1i64_cm10:
389
- ; CHECK-GI: // %bb.0: // %entry
390
- ; CHECK-GI-NEXT: sub x8, x0, #10
391
- ; CHECK-GI-NEXT: fmov d0, x8
392
- ; CHECK-GI-NEXT: ret
363
+ ; CHECK-LABEL: vector_gep_v1i64_cm10:
364
+ ; CHECK: // %bb.0: // %entry
365
+ ; CHECK-NEXT: sub x8, x0, #10
366
+ ; CHECK-NEXT: fmov d0, x8
367
+ ; CHECK-NEXT: ret
393
368
entry:
394
369
%g = getelementptr i8 , ptr %b , <1 x i64 > <i64 -10 >
395
370
ret <1 x ptr > %g
@@ -398,10 +373,8 @@ entry:
398
373
define <2 x ptr > @vector_gep_v2i64_cm10 (ptr %b ) {
399
374
; CHECK-SD-LABEL: vector_gep_v2i64_cm10:
400
375
; CHECK-SD: // %bb.0: // %entry
401
- ; CHECK-SD-NEXT: mov x8, #-10 // =0xfffffffffffffff6
402
- ; CHECK-SD-NEXT: dup v1.2d, x0
376
+ ; CHECK-SD-NEXT: sub x8, x0, #10
403
377
; CHECK-SD-NEXT: dup v0.2d, x8
404
- ; CHECK-SD-NEXT: add v0.2d, v1.2d, v0.2d
405
378
; CHECK-SD-NEXT: ret
406
379
;
407
380
; CHECK-GI-LABEL: vector_gep_v2i64_cm10:
@@ -419,15 +392,10 @@ entry:
419
392
define <3 x ptr > @vector_gep_v3i64_cm10 (ptr %b ) {
420
393
; CHECK-SD-LABEL: vector_gep_v3i64_cm10:
421
394
; CHECK-SD: // %bb.0: // %entry
422
- ; CHECK-SD-NEXT: mov x8, #-10 // =0xfffffffffffffff6
423
- ; CHECK-SD-NEXT: dup v0.2d, x0
424
- ; CHECK-SD-NEXT: fmov d3, x0
425
- ; CHECK-SD-NEXT: dup v2.2d, x8
426
- ; CHECK-SD-NEXT: add v0.2d, v0.2d, v2.2d
427
- ; CHECK-SD-NEXT: add d2, d3, d2
428
- ; CHECK-SD-NEXT: ext v1.16b, v0.16b, v0.16b, #8
429
- ; CHECK-SD-NEXT: // kill: def $d0 killed $d0 killed $q0
430
- ; CHECK-SD-NEXT: // kill: def $d1 killed $d1 killed $q1
395
+ ; CHECK-SD-NEXT: sub x8, x0, #10
396
+ ; CHECK-SD-NEXT: fmov d0, x8
397
+ ; CHECK-SD-NEXT: fmov d1, d0
398
+ ; CHECK-SD-NEXT: fmov d2, d0
431
399
; CHECK-SD-NEXT: ret
432
400
;
433
401
; CHECK-GI-LABEL: vector_gep_v3i64_cm10:
@@ -448,10 +416,8 @@ entry:
448
416
define <4 x ptr > @vector_gep_v4i64_cm10 (ptr %b ) {
449
417
; CHECK-SD-LABEL: vector_gep_v4i64_cm10:
450
418
; CHECK-SD: // %bb.0: // %entry
451
- ; CHECK-SD-NEXT: mov x8, #-10 // =0xfffffffffffffff6
452
- ; CHECK-SD-NEXT: dup v1.2d, x0
419
+ ; CHECK-SD-NEXT: sub x8, x0, #10
453
420
; CHECK-SD-NEXT: dup v0.2d, x8
454
- ; CHECK-SD-NEXT: add v0.2d, v1.2d, v0.2d
455
421
; CHECK-SD-NEXT: mov v1.16b, v0.16b
456
422
; CHECK-SD-NEXT: ret
457
423
;
0 commit comments