Skip to content

Commit 96b5ea6

Browse files
author
esmeyi
committed
[NFC][PowerPC] Add cases for 64-bit constants.
1 parent d5e6931 commit 96b5ea6

File tree

1 file changed

+43
-21
lines changed

1 file changed

+43
-21
lines changed

llvm/test/CodeGen/PowerPC/constants-i64.ll

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -378,50 +378,72 @@ entry:
378378
define i64 @imm19() {
379379
; CHECK-LABEL: imm19:
380380
; CHECK: # %bb.0: # %entry
381-
; CHECK-NEXT: lis 3, -13105
382-
; CHECK-NEXT: ori 3, 3, 52479
383-
; CHECK-NEXT: rldic 3, 3, 32, 0
384-
; CHECK-NEXT: oris 3, 3, 52431
385-
; CHECK-NEXT: ori 3, 3, 291
386-
; CHECK-NEXT: blr
381+
; CHECK-NEXT: lis 3, -13105
382+
; CHECK-NEXT: ori 3, 3, 52479
383+
; CHECK-NEXT: rldic 3, 3, 32, 0
384+
; CHECK-NEXT: oris 3, 3, 52431
385+
; CHECK-NEXT: ori 3, 3, 291
386+
; CHECK-NEXT: blr
387387
entry:
388388
ret i64 14758239902941249827 ;0xCCCFCCFFCCCF0123
389389
}
390390

391391
define i64 @imm20() {
392392
; CHECK-LABEL: imm20:
393393
; CHECK: # %bb.0: # %entry
394-
; CHECK-NEXT: lis 3, 291
395-
; CHECK-NEXT: ori 3, 3, 52479
396-
; CHECK-NEXT: rldimi 3, 3, 32, 0
397-
; CHECK-NEXT: rldimi 3, 3, 48, 0
398-
; CHECK-NEXT: blr
394+
; CHECK-NEXT: lis 3, 291
395+
; CHECK-NEXT: ori 3, 3, 52479
396+
; CHECK-NEXT: rldimi 3, 3, 32, 0
397+
; CHECK-NEXT: rldimi 3, 3, 48, 0
398+
; CHECK-NEXT: blr
399399
entry:
400400
ret i64 14771750698406366463 ;0xCCFFCCFF0123CCFF
401401
}
402402

403403
define i64 @imm21() {
404404
; CHECK-LABEL: imm21:
405405
; CHECK: # %bb.0: # %entry
406-
; CHECK-NEXT: lis 3, -13057
407-
; CHECK-NEXT: ori 3, 3, 291
408-
; CHECK-NEXT: rldimi 3, 3, 32, 0
409-
; CHECK-NEXT: rlwimi 3, 3, 16, 16, 31
410-
; CHECK-NEXT: blr
406+
; CHECK-NEXT: lis 3, -13057
407+
; CHECK-NEXT: ori 3, 3, 291
408+
; CHECK-NEXT: rldimi 3, 3, 32, 0
409+
; CHECK-NEXT: rlwimi 3, 3, 16, 16, 31
410+
; CHECK-NEXT: blr
411411
entry:
412412
ret i64 14771526556073315583 ;0xCCFF0123CCFFCCFF
413413
}
414414

415415
define i64 @imm22() {
416416
; CHECK-LABEL: imm22:
417417
; CHECK: # %bb.0: # %entry
418-
; CHECK-NEXT: lis 3, 291
419-
; CHECK-NEXT: ori 3, 3, 52479
420-
; CHECK-NEXT: rldimi 3, 3, 32, 0
421-
; CHECK-NEXT: rlwimi 3, 3, 16, 0, 15
422-
; CHECK-NEXT: blr
418+
; CHECK-NEXT: lis 3, 291
419+
; CHECK-NEXT: ori 3, 3, 52479
420+
; CHECK-NEXT: rldimi 3, 3, 32, 0
421+
; CHECK-NEXT: rlwimi 3, 3, 16, 0, 15
422+
; CHECK-NEXT: blr
423423
entry:
424424
ret i64 82134617250843903 ;0x0123CCFFCCFFCCFF
425425
}
426426

427+
define i64 @imm23() {
428+
; CHECK-LABEL: imm23:
429+
; CHECK: # %bb.0: # %entry
430+
; CHECK-NEXT: lis 3, -2
431+
; CHECK-NEXT: ori 3, 3, 0
432+
; CHECK-NEXT: rldicl 3, 3, 15, 17
433+
; CHECK-NEXT: blr
434+
entry:
435+
ret i64 140733193420799 ;0x00007FFF00007FFF
436+
}
437+
438+
define i64 @imm24() {
439+
; CHECK-LABEL: imm24:
440+
; CHECK: # %bb.0: # %entry
441+
; CHECK-NEXT: lis 3, -9
442+
; CHECK-NEXT: ori 3, 3, 0
443+
; CHECK-NEXT: rldimi 3, 3, 32, 0
444+
; CHECK-NEXT: blr
445+
entry:
446+
ret i64 18444210803213533184 ;0xFFF70000FFF70000
447+
}
448+
427449
attributes #0 = { nounwind readnone }

0 commit comments

Comments
 (0)