blob: e5351a6589cf74bb856190597d2f35dcec02e95a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc --mtriple=loongarch64 -mattr=+d --relocation-model=static -O1 \
; RUN: < %s | FileCheck %s --check-prefix=MERGE
; RUN: llc --mtriple=loongarch64 -mattr=+d --relocation-model=static -O1 \
; RUN: --loongarch-enable-merge-offset=false < %s | FileCheck %s --check-prefix=NO_MERGE
@g = dso_local global i32 zeroinitializer, align 4
define void @foo() nounwind {
; MERGE-LABEL: foo:
; MERGE: # %bb.0:
; MERGE-NEXT: pcalau12i $a0, %pc_hi20(g)
; MERGE-NEXT: ld.w $zero, $a0, %pc_lo12(g)
; MERGE-NEXT: ret
;
; NO_MERGE-LABEL: foo:
; NO_MERGE: # %bb.0:
; NO_MERGE-NEXT: pcalau12i $a0, %pc_hi20(g)
; NO_MERGE-NEXT: addi.d $a0, $a0, %pc_lo12(g)
; NO_MERGE-NEXT: ld.w $zero, $a0, 0
; NO_MERGE-NEXT: ret
%v = load volatile i32, ptr @g
ret void
}
|