xref: /llvm-project/llvm/test/CodeGen/LoongArch/numeric-reg-names.ll (revision 9d4f7f44b64d87d1068859906f43b7ce03a7388b)
17fa0a3c9Swanglei; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*9d4f7f44Swanglei; RUN: llc --mtriple=loongarch32 -mattr=+d --loongarch-numeric-reg < %s \
37fa0a3c9Swanglei; RUN:   | FileCheck %s --check-prefix=LA32
4*9d4f7f44Swanglei; RUN: llc --mtriple=loongarch64 -mattr=+d --loongarch-numeric-reg < %s \
57fa0a3c9Swanglei; RUN:   | FileCheck %s --check-prefix=LA64
67fa0a3c9Swanglei
77fa0a3c9Swanglei@.str_1 = internal constant [7 x i8] c"hello\0A\00"
87fa0a3c9Swanglei
97fa0a3c9Swangleideclare i32 @printf(ptr, ...)
107fa0a3c9Swanglei
117fa0a3c9Swangleidefine i32 @main() {
127fa0a3c9Swanglei; LA32-LABEL: main:
137fa0a3c9Swanglei; LA32:       # %bb.0:
147fa0a3c9Swanglei; LA32-NEXT:    addi.w $r3, $r3, -16
157fa0a3c9Swanglei; LA32-NEXT:    .cfi_def_cfa_offset 16
167fa0a3c9Swanglei; LA32-NEXT:    st.w $r1, $r3, 12 # 4-byte Folded Spill
177fa0a3c9Swanglei; LA32-NEXT:    .cfi_offset 1, -4
187fa0a3c9Swanglei; LA32-NEXT:    pcalau12i $r4, %pc_hi20(.str_1)
197fa0a3c9Swanglei; LA32-NEXT:    addi.w $r4, $r4, %pc_lo12(.str_1)
207fa0a3c9Swanglei; LA32-NEXT:    bl %plt(printf)
217fa0a3c9Swanglei; LA32-NEXT:    move $r4, $r0
227fa0a3c9Swanglei; LA32-NEXT:    ld.w $r1, $r3, 12 # 4-byte Folded Reload
237fa0a3c9Swanglei; LA32-NEXT:    addi.w $r3, $r3, 16
247fa0a3c9Swanglei; LA32-NEXT:    ret
257fa0a3c9Swanglei;
267fa0a3c9Swanglei; LA64-LABEL: main:
277fa0a3c9Swanglei; LA64:       # %bb.0:
287fa0a3c9Swanglei; LA64-NEXT:    addi.d $r3, $r3, -16
297fa0a3c9Swanglei; LA64-NEXT:    .cfi_def_cfa_offset 16
307fa0a3c9Swanglei; LA64-NEXT:    st.d $r1, $r3, 8 # 8-byte Folded Spill
317fa0a3c9Swanglei; LA64-NEXT:    .cfi_offset 1, -8
327fa0a3c9Swanglei; LA64-NEXT:    pcalau12i $r4, %pc_hi20(.str_1)
337fa0a3c9Swanglei; LA64-NEXT:    addi.d $r4, $r4, %pc_lo12(.str_1)
347fa0a3c9Swanglei; LA64-NEXT:    bl %plt(printf)
357fa0a3c9Swanglei; LA64-NEXT:    move $r4, $r0
367fa0a3c9Swanglei; LA64-NEXT:    ld.d $r1, $r3, 8 # 8-byte Folded Reload
377fa0a3c9Swanglei; LA64-NEXT:    addi.d $r3, $r3, 16
387fa0a3c9Swanglei; LA64-NEXT:    ret
397fa0a3c9Swanglei  %s = getelementptr [7 x i8], ptr @.str_1, i64 0, i64 0
407fa0a3c9Swanglei  call i32 (ptr, ...) @printf(ptr %s)
417fa0a3c9Swanglei  ret i32 0
427fa0a3c9Swanglei}
43