@@ -4637,3 +4637,129 @@ define i64 @imm64_0xFF7FFFFF7FFFFFFE() {
4637
4637
; RV64-REMAT-NEXT: ret
4638
4638
ret i64 -36028799166447617 ; 0xFF7FFFFF7FFFFFFE
4639
4639
}
4640
+
4641
+ define i64 @imm64_0xFFFFFFFF0 () {
4642
+ ; RV32I-LABEL: imm64_0xFFFFFFFF0:
4643
+ ; RV32I: # %bb.0:
4644
+ ; RV32I-NEXT: li a0, -16
4645
+ ; RV32I-NEXT: li a1, 15
4646
+ ; RV32I-NEXT: ret
4647
+ ;
4648
+ ; RV32IXQCILI-LABEL: imm64_0xFFFFFFFF0:
4649
+ ; RV32IXQCILI: # %bb.0:
4650
+ ; RV32IXQCILI-NEXT: li a0, -16
4651
+ ; RV32IXQCILI-NEXT: li a1, 15
4652
+ ; RV32IXQCILI-NEXT: ret
4653
+ ;
4654
+ ; RV64I-LABEL: imm64_0xFFFFFFFF0:
4655
+ ; RV64I: # %bb.0:
4656
+ ; RV64I-NEXT: li a0, 1
4657
+ ; RV64I-NEXT: slli a0, a0, 36
4658
+ ; RV64I-NEXT: addi a0, a0, -16
4659
+ ; RV64I-NEXT: ret
4660
+ ;
4661
+ ; RV64IZBA-LABEL: imm64_0xFFFFFFFF0:
4662
+ ; RV64IZBA: # %bb.0:
4663
+ ; RV64IZBA-NEXT: li a0, 1
4664
+ ; RV64IZBA-NEXT: slli a0, a0, 36
4665
+ ; RV64IZBA-NEXT: addi a0, a0, -16
4666
+ ; RV64IZBA-NEXT: ret
4667
+ ;
4668
+ ; RV64IZBB-LABEL: imm64_0xFFFFFFFF0:
4669
+ ; RV64IZBB: # %bb.0:
4670
+ ; RV64IZBB-NEXT: li a0, 1
4671
+ ; RV64IZBB-NEXT: slli a0, a0, 36
4672
+ ; RV64IZBB-NEXT: addi a0, a0, -16
4673
+ ; RV64IZBB-NEXT: ret
4674
+ ;
4675
+ ; RV64IZBS-LABEL: imm64_0xFFFFFFFF0:
4676
+ ; RV64IZBS: # %bb.0:
4677
+ ; RV64IZBS-NEXT: li a0, 1
4678
+ ; RV64IZBS-NEXT: slli a0, a0, 36
4679
+ ; RV64IZBS-NEXT: addi a0, a0, -16
4680
+ ; RV64IZBS-NEXT: ret
4681
+ ;
4682
+ ; RV64IXTHEADBB-LABEL: imm64_0xFFFFFFFF0:
4683
+ ; RV64IXTHEADBB: # %bb.0:
4684
+ ; RV64IXTHEADBB-NEXT: li a0, 1
4685
+ ; RV64IXTHEADBB-NEXT: slli a0, a0, 36
4686
+ ; RV64IXTHEADBB-NEXT: addi a0, a0, -16
4687
+ ; RV64IXTHEADBB-NEXT: ret
4688
+ ;
4689
+ ; RV32-REMAT-LABEL: imm64_0xFFFFFFFF0:
4690
+ ; RV32-REMAT: # %bb.0:
4691
+ ; RV32-REMAT-NEXT: li a0, -16
4692
+ ; RV32-REMAT-NEXT: li a1, 15
4693
+ ; RV32-REMAT-NEXT: ret
4694
+ ;
4695
+ ; RV64-REMAT-LABEL: imm64_0xFFFFFFFF0:
4696
+ ; RV64-REMAT: # %bb.0:
4697
+ ; RV64-REMAT-NEXT: li a0, 1
4698
+ ; RV64-REMAT-NEXT: slli a0, a0, 36
4699
+ ; RV64-REMAT-NEXT: addi a0, a0, -16
4700
+ ; RV64-REMAT-NEXT: ret
4701
+ ret i64 68719476720 ; 0xFFFFFFFF0
4702
+ }
4703
+
4704
+ define i64 @imm64_0x1FFFFFF08 () {
4705
+ ; RV32I-LABEL: imm64_0x1FFFFFF08:
4706
+ ; RV32I: # %bb.0:
4707
+ ; RV32I-NEXT: li a0, -248
4708
+ ; RV32I-NEXT: li a1, 1
4709
+ ; RV32I-NEXT: ret
4710
+ ;
4711
+ ; RV32IXQCILI-LABEL: imm64_0x1FFFFFF08:
4712
+ ; RV32IXQCILI: # %bb.0:
4713
+ ; RV32IXQCILI-NEXT: li a0, -248
4714
+ ; RV32IXQCILI-NEXT: li a1, 1
4715
+ ; RV32IXQCILI-NEXT: ret
4716
+ ;
4717
+ ; RV64I-LABEL: imm64_0x1FFFFFF08:
4718
+ ; RV64I: # %bb.0:
4719
+ ; RV64I-NEXT: li a0, 1
4720
+ ; RV64I-NEXT: slli a0, a0, 33
4721
+ ; RV64I-NEXT: addi a0, a0, -248
4722
+ ; RV64I-NEXT: ret
4723
+ ;
4724
+ ; RV64IZBA-LABEL: imm64_0x1FFFFFF08:
4725
+ ; RV64IZBA: # %bb.0:
4726
+ ; RV64IZBA-NEXT: li a0, 1
4727
+ ; RV64IZBA-NEXT: slli a0, a0, 33
4728
+ ; RV64IZBA-NEXT: addi a0, a0, -248
4729
+ ; RV64IZBA-NEXT: ret
4730
+ ;
4731
+ ; RV64IZBB-LABEL: imm64_0x1FFFFFF08:
4732
+ ; RV64IZBB: # %bb.0:
4733
+ ; RV64IZBB-NEXT: li a0, 1
4734
+ ; RV64IZBB-NEXT: slli a0, a0, 33
4735
+ ; RV64IZBB-NEXT: addi a0, a0, -248
4736
+ ; RV64IZBB-NEXT: ret
4737
+ ;
4738
+ ; RV64IZBS-LABEL: imm64_0x1FFFFFF08:
4739
+ ; RV64IZBS: # %bb.0:
4740
+ ; RV64IZBS-NEXT: li a0, 1
4741
+ ; RV64IZBS-NEXT: slli a0, a0, 33
4742
+ ; RV64IZBS-NEXT: addi a0, a0, -248
4743
+ ; RV64IZBS-NEXT: ret
4744
+ ;
4745
+ ; RV64IXTHEADBB-LABEL: imm64_0x1FFFFFF08:
4746
+ ; RV64IXTHEADBB: # %bb.0:
4747
+ ; RV64IXTHEADBB-NEXT: li a0, 1
4748
+ ; RV64IXTHEADBB-NEXT: slli a0, a0, 33
4749
+ ; RV64IXTHEADBB-NEXT: addi a0, a0, -248
4750
+ ; RV64IXTHEADBB-NEXT: ret
4751
+ ;
4752
+ ; RV32-REMAT-LABEL: imm64_0x1FFFFFF08:
4753
+ ; RV32-REMAT: # %bb.0:
4754
+ ; RV32-REMAT-NEXT: li a0, -248
4755
+ ; RV32-REMAT-NEXT: li a1, 1
4756
+ ; RV32-REMAT-NEXT: ret
4757
+ ;
4758
+ ; RV64-REMAT-LABEL: imm64_0x1FFFFFF08:
4759
+ ; RV64-REMAT: # %bb.0:
4760
+ ; RV64-REMAT-NEXT: li a0, 1
4761
+ ; RV64-REMAT-NEXT: slli a0, a0, 33
4762
+ ; RV64-REMAT-NEXT: addi a0, a0, -248
4763
+ ; RV64-REMAT-NEXT: ret
4764
+ ret i64 8589934344 ; 0x1FFFFFF08
4765
+ }
0 commit comments