@@ -1167,10 +1167,8 @@ declare void @f(ptr)
11671167define i32 @crash () {
11681168; RV32I-LABEL: crash:
11691169; RV32I: # %bb.0: # %entry
1170- ; RV32I-NEXT: lui a0, %hi(g)
1171- ; RV32I-NEXT: addi a0, a0, %lo(g)
1172- ; RV32I-NEXT: add a0, a0, zero
1173- ; RV32I-NEXT: lbu a0, 401(a0)
1170+ ; RV32I-NEXT: lui a0, %hi(g+401)
1171+ ; RV32I-NEXT: lbu a0, %lo(g+401)(a0)
11741172; RV32I-NEXT: seqz a0, a0
11751173; RV32I-NEXT: sw a0, 0(zero)
11761174; RV32I-NEXT: li a0, 0
@@ -1179,21 +1177,17 @@ define i32 @crash() {
11791177; RV32I-MEDIUM-LABEL: crash:
11801178; RV32I-MEDIUM: # %bb.0: # %entry
11811179; RV32I-MEDIUM-NEXT: .Lpcrel_hi14:
1182- ; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g)
1183- ; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi14)
1184- ; RV32I-MEDIUM-NEXT: add a0, a0, zero
1185- ; RV32I-MEDIUM-NEXT: lbu a0, 401(a0)
1180+ ; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g+401)
1181+ ; RV32I-MEDIUM-NEXT: lbu a0, %pcrel_lo(.Lpcrel_hi14)(a0)
11861182; RV32I-MEDIUM-NEXT: seqz a0, a0
11871183; RV32I-MEDIUM-NEXT: sw a0, 0(zero)
11881184; RV32I-MEDIUM-NEXT: li a0, 0
11891185; RV32I-MEDIUM-NEXT: ret
11901186;
11911187; RV64I-LABEL: crash:
11921188; RV64I: # %bb.0: # %entry
1193- ; RV64I-NEXT: lui a0, %hi(g)
1194- ; RV64I-NEXT: addi a0, a0, %lo(g)
1195- ; RV64I-NEXT: add a0, a0, zero
1196- ; RV64I-NEXT: lbu a0, 401(a0)
1189+ ; RV64I-NEXT: lui a0, %hi(g+401)
1190+ ; RV64I-NEXT: lbu a0, %lo(g+401)(a0)
11971191; RV64I-NEXT: seqz a0, a0
11981192; RV64I-NEXT: sw a0, 0(zero)
11991193; RV64I-NEXT: li a0, 0
@@ -1202,22 +1196,21 @@ define i32 @crash() {
12021196; RV64I-MEDIUM-LABEL: crash:
12031197; RV64I-MEDIUM: # %bb.0: # %entry
12041198; RV64I-MEDIUM-NEXT: .Lpcrel_hi14:
1205- ; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g)
1206- ; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi14)
1207- ; RV64I-MEDIUM-NEXT: add a0, a0, zero
1208- ; RV64I-MEDIUM-NEXT: lbu a0, 401(a0)
1199+ ; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g+401)
1200+ ; RV64I-MEDIUM-NEXT: lbu a0, %pcrel_lo(.Lpcrel_hi14)(a0)
12091201; RV64I-MEDIUM-NEXT: seqz a0, a0
12101202; RV64I-MEDIUM-NEXT: sw a0, 0(zero)
12111203; RV64I-MEDIUM-NEXT: li a0, 0
12121204; RV64I-MEDIUM-NEXT: ret
12131205;
12141206; RV64I-LARGE-LABEL: crash:
12151207; RV64I-LARGE: # %bb.0: # %entry
1208+ ; RV64I-LARGE-NEXT: li a0, 1
12161209; RV64I-LARGE-NEXT: .Lpcrel_hi15:
1217- ; RV64I-LARGE-NEXT: auipc a0 , %pcrel_hi(.LCPI21_0)
1218- ; RV64I-LARGE-NEXT: ld a0 , %pcrel_lo(.Lpcrel_hi15)(a0 )
1219- ; RV64I-LARGE-NEXT: add a0, a0, zero
1220- ; RV64I-LARGE-NEXT: lbu a0, 401 (a0)
1210+ ; RV64I-LARGE-NEXT: auipc a1 , %pcrel_hi(.LCPI21_0)
1211+ ; RV64I-LARGE-NEXT: ld a1 , %pcrel_lo(.Lpcrel_hi15)(a1 )
1212+ ; RV64I-LARGE-NEXT: add a0, a1, a0
1213+ ; RV64I-LARGE-NEXT: lbu a0, 400 (a0)
12211214; RV64I-LARGE-NEXT: seqz a0, a0
12221215; RV64I-LARGE-NEXT: sw a0, 0(zero)
12231216; RV64I-LARGE-NEXT: li a0, 0
0 commit comments