xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/hf1_body.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \
2*9880d681SAndroid Build Coastguard Worker; RUN:     -relocation-model=pic -no-integrated-as < %s | \
3*9880d681SAndroid Build Coastguard Worker; RUN:     FileCheck %s -check-prefixes=ALL,GAS
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; The integrated assembler expands assembly macros before printing.
6*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \
7*9880d681SAndroid Build Coastguard Worker; RUN:     -relocation-model=pic < %s | \
8*9880d681SAndroid Build Coastguard Worker; RUN:     FileCheck %s -check-prefixes=ALL,IAS
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker@x = external global float
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
13*9880d681SAndroid Build Coastguard Workerdefine void @v_sf(float %p) #0 {
14*9880d681SAndroid Build Coastguard Workerentry:
15*9880d681SAndroid Build Coastguard Worker  %p.addr = alloca float, align 4
16*9880d681SAndroid Build Coastguard Worker  store float %p, float* %p.addr, align 4
17*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %p.addr, align 4
18*9880d681SAndroid Build Coastguard Worker  store float %0, float* @x, align 4
19*9880d681SAndroid Build Coastguard Worker  ret void
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: .ent __fn_stub_v_sf
22*9880d681SAndroid Build Coastguard Worker; ALL:       .cpload $25
23*9880d681SAndroid Build Coastguard Worker; ALL:       .set reorder
24*9880d681SAndroid Build Coastguard Worker; ALL:       .reloc 0, R_MIPS_NONE, v_sf
25*9880d681SAndroid Build Coastguard Worker; GAS:       la $25, $__fn_local_v_sf
26*9880d681SAndroid Build Coastguard Worker; IAS:       lw $25, %got($$__fn_local_v_sf)($gp)
27*9880d681SAndroid Build Coastguard Worker; IAS:       addiu $25, $25, %lo($$__fn_local_v_sf)
28*9880d681SAndroid Build Coastguard Worker; ALL:       mfc1 $4, $f12
29*9880d681SAndroid Build Coastguard Worker; ALL:       jr $25
30*9880d681SAndroid Build Coastguard Worker; ALL:       .end __fn_stub_v_sf
31