@@ -1107,46 +1107,41 @@ define i64 @imm_end_2addi_1() nounwind {
11071107; RV64I-LABEL: imm_end_2addi_1:
11081108; RV64I: # %bb.0:
11091109; 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
11111112; RV64I-NEXT: addi a0, a0, -1
1112- ; RV64I-NEXT: slli a0, a0, 12
1113- ; RV64I-NEXT: addi a0, a0, 2047
11141113; RV64I-NEXT: ret
11151114;
11161115; RV64IZBA-LABEL: imm_end_2addi_1:
11171116; RV64IZBA: # %bb.0:
11181117; 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
11201120; RV64IZBA-NEXT: addi a0, a0, -1
1121- ; RV64IZBA-NEXT: slli a0, a0, 12
1122- ; RV64IZBA-NEXT: addi a0, a0, 2047
11231121; RV64IZBA-NEXT: ret
11241122;
11251123; RV64IZBB-LABEL: imm_end_2addi_1:
11261124; RV64IZBB: # %bb.0:
11271125; 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
11291128; RV64IZBB-NEXT: addi a0, a0, -1
1130- ; RV64IZBB-NEXT: slli a0, a0, 12
1131- ; RV64IZBB-NEXT: addi a0, a0, 2047
11321129; RV64IZBB-NEXT: ret
11331130;
11341131; RV64IZBS-LABEL: imm_end_2addi_1:
11351132; RV64IZBS: # %bb.0:
11361133; 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
11381136; RV64IZBS-NEXT: addi a0, a0, -1
1139- ; RV64IZBS-NEXT: slli a0, a0, 12
1140- ; RV64IZBS-NEXT: addi a0, a0, 2047
11411137; RV64IZBS-NEXT: ret
11421138;
11431139; RV64IXTHEADBB-LABEL: imm_end_2addi_1:
11441140; RV64IXTHEADBB: # %bb.0:
11451141; 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
11471144; RV64IXTHEADBB-NEXT: addi a0, a0, -1
1148- ; RV64IXTHEADBB-NEXT: slli a0, a0, 12
1149- ; RV64IXTHEADBB-NEXT: addi a0, a0, 2047
11501145; RV64IXTHEADBB-NEXT: ret
11511146 ret i64 -1125350151030785 ; 0xFFFC_007F_FFFF_F7FF
11521147}
@@ -2435,21 +2430,14 @@ define i64 @imm_12900925247761() {
24352430; RV32I-NEXT: addi a1, a1, -1093
24362431; RV32I-NEXT: ret
24372432;
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
24532441;
24542442; RV64IZBA-LABEL: imm_12900925247761:
24552443; RV64IZBA: # %bb.0:
@@ -2461,32 +2449,29 @@ define i64 @imm_12900925247761() {
24612449;
24622450; RV64IZBB-LABEL: imm_12900925247761:
24632451; 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
24702457; RV64IZBB-NEXT: ret
24712458;
24722459; RV64IZBS-LABEL: imm_12900925247761:
24732460; 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
24802466; RV64IZBS-NEXT: ret
24812467;
24822468; RV64IXTHEADBB-LABEL: imm_12900925247761:
24832469; 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
24902475; RV64IXTHEADBB-NEXT: ret
24912476 ret i64 12900925247761
24922477}
0 commit comments