48 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple loongarch32 -mattr +d | FileCheck %s -check-prefixes=CHECK-323; RUN: llc < %s -mtriple loongarch64 -mattr +d | FileCheck %s -check-prefixes=CHECK-644 5declare dso_local void @main()6 7define dso_local void @naked() naked "frame-pointer"="all" {8; CHECK-32-LABEL: naked:9; CHECK-32: # %bb.0:10; CHECK-32-NEXT: bl main11;12; CHECK-64-LABEL: naked:13; CHECK-64: # %bb.0:14; CHECK-64-NEXT: pcaddu18i $ra, %call36(main)15; CHECK-64-NEXT: jirl $ra, $ra, 016 call void @main()17 unreachable18}19 20define dso_local void @normal() "frame-pointer"="all" {21; CHECK-32-LABEL: normal:22; CHECK-32: # %bb.0:23; CHECK-32-NEXT: addi.w $sp, $sp, -1624; CHECK-32-NEXT: .cfi_def_cfa_offset 1625; CHECK-32-NEXT: st.w $ra, $sp, 12 # 4-byte Folded Spill26; CHECK-32-NEXT: st.w $fp, $sp, 8 # 4-byte Folded Spill27; CHECK-32-NEXT: .cfi_offset 1, -428; CHECK-32-NEXT: .cfi_offset 22, -829; CHECK-32-NEXT: addi.w $fp, $sp, 1630; CHECK-32-NEXT: .cfi_def_cfa 22, 031; CHECK-32-NEXT: bl main32;33; CHECK-64-LABEL: normal:34; CHECK-64: # %bb.0:35; CHECK-64-NEXT: addi.d $sp, $sp, -1636; CHECK-64-NEXT: .cfi_def_cfa_offset 1637; CHECK-64-NEXT: st.d $ra, $sp, 8 # 8-byte Folded Spill38; CHECK-64-NEXT: st.d $fp, $sp, 0 # 8-byte Folded Spill39; CHECK-64-NEXT: .cfi_offset 1, -840; CHECK-64-NEXT: .cfi_offset 22, -1641; CHECK-64-NEXT: addi.d $fp, $sp, 1642; CHECK-64-NEXT: .cfi_def_cfa 22, 043; CHECK-64-NEXT: pcaddu18i $ra, %call36(main)44; CHECK-64-NEXT: jirl $ra, $ra, 045 call void @main()46 unreachable47}48