Expand Up
@@ -32,10 +32,9 @@ define dso_local i64 @load_g_0() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_0:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB0_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_0)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB0_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi0:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_0)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi0)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -48,10 +47,9 @@ define dso_local i64 @load_g_0() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_0:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB0_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi0:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_0)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB0_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi0 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -70,10 +68,9 @@ define dso_local i64 @load_g_1() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_1:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB1_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_1)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB1_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi1:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_1)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi1)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -86,10 +83,9 @@ define dso_local i64 @load_g_1() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_1:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB1_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi1:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_1)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB1_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi1 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -108,10 +104,9 @@ define dso_local i64 @load_g_2() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_2:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB2_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_2)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB2_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi2:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_2)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi2)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -124,10 +119,9 @@ define dso_local i64 @load_g_2() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_2:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB2_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi2:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_2)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB2_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi2 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -146,10 +140,9 @@ define dso_local i64 @load_g_4() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_4:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB3_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_4)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB3_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi3:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi3)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -162,10 +155,9 @@ define dso_local i64 @load_g_4() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_4:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB3_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi3:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB3_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi3 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -183,10 +175,9 @@ define dso_local i64 @load_g_8() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_8:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB4_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_8)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB4_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi4:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_8)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi4)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -199,10 +190,9 @@ define dso_local i64 @load_g_8() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_8:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB4_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi4:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_8)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB4_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi4 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -220,10 +210,9 @@ define dso_local i64 @load_g_16() nounwind {
;
; RV32I-MEDIUM-LABEL: load_g_16:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB5_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(g_16)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB5_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi5:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_16)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi5)
; RV32I-MEDIUM-NEXT: lw a0, 0(a1)
; RV32I-MEDIUM-NEXT: lw a1, 4(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -236,10 +225,9 @@ define dso_local i64 @load_g_16() nounwind {
;
; RV64I-MEDIUM-LABEL: load_g_16:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB5_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi5:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_16)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB5_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi5 )
; RV64I-MEDIUM-NEXT: ld a0, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -258,10 +246,9 @@ define dso_local void @store_g_4() nounwind {
;
; RV32I-MEDIUM-LABEL: store_g_4:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB6_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: .Lpcrel_hi6:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4)
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB6_1 )
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi6 )
; RV32I-MEDIUM-NEXT: sw zero, 4(a0)
; RV32I-MEDIUM-NEXT: sw zero, 0(a0)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -274,10 +261,9 @@ define dso_local void @store_g_4() nounwind {
;
; RV64I-MEDIUM-LABEL: store_g_4:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB6_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi6:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB6_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi6 )
; RV64I-MEDIUM-NEXT: sd zero, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -295,10 +281,9 @@ define dso_local void @store_g_8() nounwind {
;
; RV32I-MEDIUM-LABEL: store_g_8:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB7_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: .Lpcrel_hi7:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_8)
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB7_1 )
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi7 )
; RV32I-MEDIUM-NEXT: sw zero, 4(a0)
; RV32I-MEDIUM-NEXT: sw zero, 0(a0)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -311,10 +296,9 @@ define dso_local void @store_g_8() nounwind {
;
; RV64I-MEDIUM-LABEL: store_g_8:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB7_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi7:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_8)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB7_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi7 )
; RV64I-MEDIUM-NEXT: sd zero, 0(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -338,10 +322,9 @@ define dso_local void @inc_g_i32() nounwind {
;
; RV32I-MEDIUM-LABEL: inc_g_i32:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB8_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: .Lpcrel_hi8:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4_i32)
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB8_1 )
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi8 )
; RV32I-MEDIUM-NEXT: lw a1, 0(a0)
; RV32I-MEDIUM-NEXT: addi a1, a1, 1
; RV32I-MEDIUM-NEXT: sw a1, 0(a0)
Expand All
@@ -357,10 +340,9 @@ define dso_local void @inc_g_i32() nounwind {
;
; RV64I-MEDIUM-LABEL: inc_g_i32:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB8_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi8:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(g_4_i32)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB8_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi8 )
; RV64I-MEDIUM-NEXT: lw a1, 0(a0)
; RV64I-MEDIUM-NEXT: addiw a1, a1, 1
; RV64I-MEDIUM-NEXT: sw a1, 0(a0)
Expand Down
Expand Up
@@ -388,9 +370,9 @@ define dso_local i32 @load_ga() local_unnamed_addr #0 {
;
; RV32I-MEDIUM-LABEL: load_ga:
; RV32I-MEDIUM: # %bb.0:
; RV32I-MEDIUM-NEXT: .LBB9_1: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: .Lpcrel_hi9:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga)
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB9_1 )
; RV32I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi9 )
; RV32I-MEDIUM-NEXT: lw a0, 4(a0)
; RV32I-MEDIUM-NEXT: ret
;
Expand All
@@ -402,9 +384,9 @@ define dso_local i32 @load_ga() local_unnamed_addr #0 {
;
; RV64I-MEDIUM-LABEL: load_ga:
; RV64I-MEDIUM: # %bb.0:
; RV64I-MEDIUM-NEXT: .LBB9_1: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi9:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB9_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi9 )
; RV64I-MEDIUM-NEXT: lw a0, 4(a0)
; RV64I-MEDIUM-NEXT: ret
%1 = load i32 , i32* getelementptr inbounds ([2 x i32 ], [2 x i32 ]* @ga , i32 0 , i32 1 ), align 4
Expand All
@@ -427,10 +409,9 @@ define dso_local i64 @load_ga_8() nounwind {
;
; RV32I-MEDIUM-LABEL: load_ga_8:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB10_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(ga_8)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB10_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi10:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga_8)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi10)
; RV32I-MEDIUM-NEXT: lw a0, 8(a1)
; RV32I-MEDIUM-NEXT: lw a1, 12(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -443,10 +424,9 @@ define dso_local i64 @load_ga_8() nounwind {
;
; RV64I-MEDIUM-LABEL: load_ga_8:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB10_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi10:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga_8)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB10_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi10 )
; RV64I-MEDIUM-NEXT: ld a0, 8(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand All
@@ -464,10 +444,9 @@ define dso_local i64 @load_ga_16() nounwind {
;
; RV32I-MEDIUM-LABEL: load_ga_16:
; RV32I-MEDIUM: # %bb.0: # %entry
; RV32I-MEDIUM-NEXT: .LBB11_1: # %entry
; RV32I-MEDIUM-NEXT: # Label of block must be emitted
; RV32I-MEDIUM-NEXT: auipc a1, %pcrel_hi(ga_16)
; RV32I-MEDIUM-NEXT: addi a1, a1, %pcrel_lo(.LBB11_1)
; RV32I-MEDIUM-NEXT: .Lpcrel_hi11:
; RV32I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga_16)
; RV32I-MEDIUM-NEXT: addi a1, a0, %pcrel_lo(.Lpcrel_hi11)
; RV32I-MEDIUM-NEXT: lw a0, 8(a1)
; RV32I-MEDIUM-NEXT: lw a1, 12(a1)
; RV32I-MEDIUM-NEXT: ret
Expand All
@@ -480,10 +459,9 @@ define dso_local i64 @load_ga_16() nounwind {
;
; RV64I-MEDIUM-LABEL: load_ga_16:
; RV64I-MEDIUM: # %bb.0: # %entry
; RV64I-MEDIUM-NEXT: .LBB11_1: # %entry
; RV64I-MEDIUM-NEXT: # Label of block must be emitted
; RV64I-MEDIUM-NEXT: .Lpcrel_hi11:
; RV64I-MEDIUM-NEXT: auipc a0, %pcrel_hi(ga_16)
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.LBB11_1 )
; RV64I-MEDIUM-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi11 )
; RV64I-MEDIUM-NEXT: ld a0, 8(a0)
; RV64I-MEDIUM-NEXT: ret
entry:
Expand Down