brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 12d30cb Raw
91 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=riscv32 -mattr=+f,+experimental-xqccmp -target-abi ilp32f -verify-machineinstrs < %s | FileCheck %s --check-prefix=XQCCMP323; RUN: llc -mtriple=riscv64 -mattr=+f,+experimental-xqccmp -target-abi lp64f -verify-machineinstrs < %s | FileCheck %s --check-prefix=XQCCMP644 5declare void @callee()6 7; Test the file could be compiled successfully.8define float @foo(float %arg) {9; XQCCMP32-LABEL: foo:10; XQCCMP32:       # %bb.0: # %entry11; XQCCMP32-NEXT:    qc.cm.push {ra}, -3212; XQCCMP32-NEXT:    .cfi_def_cfa_offset 3213; XQCCMP32-NEXT:    .cfi_offset ra, -414; XQCCMP32-NEXT:    fsw fs0, 12(sp) # 4-byte Folded Spill15; XQCCMP32-NEXT:    .cfi_offset fs0, -2016; XQCCMP32-NEXT:    fmv.s fs0, fa017; XQCCMP32-NEXT:    call callee18; XQCCMP32-NEXT:    fmv.s fa0, fs019; XQCCMP32-NEXT:    flw fs0, 12(sp) # 4-byte Folded Reload20; XQCCMP32-NEXT:    .cfi_restore fs021; XQCCMP32-NEXT:    qc.cm.popret {ra}, 3222;23; XQCCMP64-LABEL: foo:24; XQCCMP64:       # %bb.0: # %entry25; XQCCMP64-NEXT:    qc.cm.push {ra}, -3226; XQCCMP64-NEXT:    .cfi_def_cfa_offset 3227; XQCCMP64-NEXT:    .cfi_offset ra, -828; XQCCMP64-NEXT:    fsw fs0, 12(sp) # 4-byte Folded Spill29; XQCCMP64-NEXT:    .cfi_offset fs0, -2030; XQCCMP64-NEXT:    fmv.s fs0, fa031; XQCCMP64-NEXT:    call callee32; XQCCMP64-NEXT:    fmv.s fa0, fs033; XQCCMP64-NEXT:    flw fs0, 12(sp) # 4-byte Folded Reload34; XQCCMP64-NEXT:    .cfi_restore fs035; XQCCMP64-NEXT:    qc.cm.popret {ra}, 3236entry:37  call void @callee()38  ret float %arg39}40 41define void @foo2(i32 %x, float %y) {42; XQCCMP32-LABEL: foo2:43; XQCCMP32:       # %bb.0: # %entry44; XQCCMP32-NEXT:    qc.cm.push {ra, s0}, -3245; XQCCMP32-NEXT:    .cfi_def_cfa_offset 3246; XQCCMP32-NEXT:    .cfi_offset ra, -447; XQCCMP32-NEXT:    .cfi_offset s0, -848; XQCCMP32-NEXT:    fsw fs0, 12(sp) # 4-byte Folded Spill49; XQCCMP32-NEXT:    .cfi_offset fs0, -2050; XQCCMP32-NEXT:    fmv.s fs0, fa051; XQCCMP32-NEXT:    mv s0, a052; XQCCMP32-NEXT:    call bar53; XQCCMP32-NEXT:    mv a0, s054; XQCCMP32-NEXT:    fmv.s fa0, fs055; XQCCMP32-NEXT:    flw fs0, 12(sp) # 4-byte Folded Reload56; XQCCMP32-NEXT:    .cfi_restore fs057; XQCCMP32-NEXT:    qc.cm.pop {ra, s0}, 3258; XQCCMP32-NEXT:    .cfi_restore ra59; XQCCMP32-NEXT:    .cfi_restore s060; XQCCMP32-NEXT:    .cfi_def_cfa_offset 061; XQCCMP32-NEXT:    tail func62;63; XQCCMP64-LABEL: foo2:64; XQCCMP64:       # %bb.0: # %entry65; XQCCMP64-NEXT:    qc.cm.push {ra, s0}, -3266; XQCCMP64-NEXT:    .cfi_def_cfa_offset 3267; XQCCMP64-NEXT:    .cfi_offset ra, -868; XQCCMP64-NEXT:    .cfi_offset s0, -1669; XQCCMP64-NEXT:    fsw fs0, 12(sp) # 4-byte Folded Spill70; XQCCMP64-NEXT:    .cfi_offset fs0, -2071; XQCCMP64-NEXT:    fmv.s fs0, fa072; XQCCMP64-NEXT:    mv s0, a073; XQCCMP64-NEXT:    call bar74; XQCCMP64-NEXT:    mv a0, s075; XQCCMP64-NEXT:    fmv.s fa0, fs076; XQCCMP64-NEXT:    flw fs0, 12(sp) # 4-byte Folded Reload77; XQCCMP64-NEXT:    .cfi_restore fs078; XQCCMP64-NEXT:    qc.cm.pop {ra, s0}, 3279; XQCCMP64-NEXT:    .cfi_restore ra80; XQCCMP64-NEXT:    .cfi_restore s081; XQCCMP64-NEXT:    .cfi_def_cfa_offset 082; XQCCMP64-NEXT:    tail func83entry:84  tail call void @bar()85  tail call void @func(i32 %x, float %y)86  ret void87}88 89declare void @bar()90declare void @func(i32, float)91