@@ -1107,46 +1107,41 @@ define i64 @imm_end_2addi_1() nounwind {
1107
1107
; RV64I-LABEL: imm_end_2addi_1:
1108
1108
; RV64I: # %bb.0:
1109
1109
; RV64I-NEXT: li a0, -2047
1110
- ; RV64I-NEXT: slli a0, a0, 27
1110
+ ; RV64I-NEXT: slli a0, a0, 39
1111
+ ; RV64I-NEXT: addi a0, a0, -2048
1111
1112
; RV64I-NEXT: addi a0, a0, -1
1112
- ; RV64I-NEXT: slli a0, a0, 12
1113
- ; RV64I-NEXT: addi a0, a0, 2047
1114
1113
; RV64I-NEXT: ret
1115
1114
;
1116
1115
; RV64IZBA-LABEL: imm_end_2addi_1:
1117
1116
; RV64IZBA: # %bb.0:
1118
1117
; RV64IZBA-NEXT: li a0, -2047
1119
- ; RV64IZBA-NEXT: slli a0, a0, 27
1118
+ ; RV64IZBA-NEXT: slli a0, a0, 39
1119
+ ; RV64IZBA-NEXT: addi a0, a0, -2048
1120
1120
; RV64IZBA-NEXT: addi a0, a0, -1
1121
- ; RV64IZBA-NEXT: slli a0, a0, 12
1122
- ; RV64IZBA-NEXT: addi a0, a0, 2047
1123
1121
; RV64IZBA-NEXT: ret
1124
1122
;
1125
1123
; RV64IZBB-LABEL: imm_end_2addi_1:
1126
1124
; RV64IZBB: # %bb.0:
1127
1125
; RV64IZBB-NEXT: li a0, -2047
1128
- ; RV64IZBB-NEXT: slli a0, a0, 27
1126
+ ; RV64IZBB-NEXT: slli a0, a0, 39
1127
+ ; RV64IZBB-NEXT: addi a0, a0, -2048
1129
1128
; RV64IZBB-NEXT: addi a0, a0, -1
1130
- ; RV64IZBB-NEXT: slli a0, a0, 12
1131
- ; RV64IZBB-NEXT: addi a0, a0, 2047
1132
1129
; RV64IZBB-NEXT: ret
1133
1130
;
1134
1131
; RV64IZBS-LABEL: imm_end_2addi_1:
1135
1132
; RV64IZBS: # %bb.0:
1136
1133
; RV64IZBS-NEXT: li a0, -2047
1137
- ; RV64IZBS-NEXT: slli a0, a0, 27
1134
+ ; RV64IZBS-NEXT: slli a0, a0, 39
1135
+ ; RV64IZBS-NEXT: addi a0, a0, -2048
1138
1136
; RV64IZBS-NEXT: addi a0, a0, -1
1139
- ; RV64IZBS-NEXT: slli a0, a0, 12
1140
- ; RV64IZBS-NEXT: addi a0, a0, 2047
1141
1137
; RV64IZBS-NEXT: ret
1142
1138
;
1143
1139
; RV64IXTHEADBB-LABEL: imm_end_2addi_1:
1144
1140
; RV64IXTHEADBB: # %bb.0:
1145
1141
; RV64IXTHEADBB-NEXT: li a0, -2047
1146
- ; RV64IXTHEADBB-NEXT: slli a0, a0, 27
1142
+ ; RV64IXTHEADBB-NEXT: slli a0, a0, 39
1143
+ ; RV64IXTHEADBB-NEXT: addi a0, a0, -2048
1147
1144
; RV64IXTHEADBB-NEXT: addi a0, a0, -1
1148
- ; RV64IXTHEADBB-NEXT: slli a0, a0, 12
1149
- ; RV64IXTHEADBB-NEXT: addi a0, a0, 2047
1150
1145
; RV64IXTHEADBB-NEXT: ret
1151
1146
ret i64 -1125350151030785 ; 0xFFFC_007F_FFFF_F7FF
1152
1147
}
@@ -2435,21 +2430,14 @@ define i64 @imm_12900925247761() {
2435
2430
; RV32I-NEXT: addi a1, a1, -1093
2436
2431
; RV32I-NEXT: ret
2437
2432
;
2438
- ; RV64-NOPOOL-LABEL: imm_12900925247761:
2439
- ; RV64-NOPOOL: # %bb.0:
2440
- ; RV64-NOPOOL-NEXT: lui a0, 188
2441
- ; RV64-NOPOOL-NEXT: addiw a0, a0, -1093
2442
- ; RV64-NOPOOL-NEXT: slli a0, a0, 12
2443
- ; RV64-NOPOOL-NEXT: addi a0, a0, 273
2444
- ; RV64-NOPOOL-NEXT: slli a0, a0, 12
2445
- ; RV64-NOPOOL-NEXT: addi a0, a0, 273
2446
- ; RV64-NOPOOL-NEXT: ret
2447
- ;
2448
- ; RV64I-POOL-LABEL: imm_12900925247761:
2449
- ; RV64I-POOL: # %bb.0:
2450
- ; RV64I-POOL-NEXT: lui a0, %hi(.LCPI52_0)
2451
- ; RV64I-POOL-NEXT: ld a0, %lo(.LCPI52_0)(a0)
2452
- ; RV64I-POOL-NEXT: ret
2433
+ ; RV64I-LABEL: imm_12900925247761:
2434
+ ; RV64I: # %bb.0:
2435
+ ; RV64I-NEXT: lui a0, 384478
2436
+ ; RV64I-NEXT: addiw a0, a0, -1911
2437
+ ; RV64I-NEXT: slli a0, a0, 13
2438
+ ; RV64I-NEXT: addi a0, a0, -2048
2439
+ ; RV64I-NEXT: addi a0, a0, -1775
2440
+ ; RV64I-NEXT: ret
2453
2441
;
2454
2442
; RV64IZBA-LABEL: imm_12900925247761:
2455
2443
; RV64IZBA: # %bb.0:
@@ -2461,32 +2449,29 @@ define i64 @imm_12900925247761() {
2461
2449
;
2462
2450
; RV64IZBB-LABEL: imm_12900925247761:
2463
2451
; RV64IZBB: # %bb.0:
2464
- ; RV64IZBB-NEXT: lui a0, 188
2465
- ; RV64IZBB-NEXT: addiw a0, a0, -1093
2466
- ; RV64IZBB-NEXT: slli a0, a0, 12
2467
- ; RV64IZBB-NEXT: addi a0, a0, 273
2468
- ; RV64IZBB-NEXT: slli a0, a0, 12
2469
- ; RV64IZBB-NEXT: addi a0, a0, 273
2452
+ ; RV64IZBB-NEXT: lui a0, 384478
2453
+ ; RV64IZBB-NEXT: addiw a0, a0, -1911
2454
+ ; RV64IZBB-NEXT: slli a0, a0, 13
2455
+ ; RV64IZBB-NEXT: addi a0, a0, -2048
2456
+ ; RV64IZBB-NEXT: addi a0, a0, -1775
2470
2457
; RV64IZBB-NEXT: ret
2471
2458
;
2472
2459
; RV64IZBS-LABEL: imm_12900925247761:
2473
2460
; RV64IZBS: # %bb.0:
2474
- ; RV64IZBS-NEXT: lui a0, 188
2475
- ; RV64IZBS-NEXT: addiw a0, a0, -1093
2476
- ; RV64IZBS-NEXT: slli a0, a0, 12
2477
- ; RV64IZBS-NEXT: addi a0, a0, 273
2478
- ; RV64IZBS-NEXT: slli a0, a0, 12
2479
- ; RV64IZBS-NEXT: addi a0, a0, 273
2461
+ ; RV64IZBS-NEXT: lui a0, 384478
2462
+ ; RV64IZBS-NEXT: addiw a0, a0, -1911
2463
+ ; RV64IZBS-NEXT: slli a0, a0, 13
2464
+ ; RV64IZBS-NEXT: addi a0, a0, -2048
2465
+ ; RV64IZBS-NEXT: addi a0, a0, -1775
2480
2466
; RV64IZBS-NEXT: ret
2481
2467
;
2482
2468
; RV64IXTHEADBB-LABEL: imm_12900925247761:
2483
2469
; RV64IXTHEADBB: # %bb.0:
2484
- ; RV64IXTHEADBB-NEXT: lui a0, 188
2485
- ; RV64IXTHEADBB-NEXT: addiw a0, a0, -1093
2486
- ; RV64IXTHEADBB-NEXT: slli a0, a0, 12
2487
- ; RV64IXTHEADBB-NEXT: addi a0, a0, 273
2488
- ; RV64IXTHEADBB-NEXT: slli a0, a0, 12
2489
- ; RV64IXTHEADBB-NEXT: addi a0, a0, 273
2470
+ ; RV64IXTHEADBB-NEXT: lui a0, 384478
2471
+ ; RV64IXTHEADBB-NEXT: addiw a0, a0, -1911
2472
+ ; RV64IXTHEADBB-NEXT: slli a0, a0, 13
2473
+ ; RV64IXTHEADBB-NEXT: addi a0, a0, -2048
2474
+ ; RV64IXTHEADBB-NEXT: addi a0, a0, -1775
2490
2475
; RV64IXTHEADBB-NEXT: ret
2491
2476
ret i64 12900925247761
2492
2477
}
0 commit comments