Daniel Sanders | e160f83 | 2016-05-14 12:43:08 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \ |
| 2 | ; RUN: -relocation-model=pic -no-integrated-as < %s | \ |
Daniel Sanders | 0d97270 | 2016-06-24 12:23:17 +0000 | [diff] [blame] | 3 | ; RUN: FileCheck %s -check-prefixes=ALL,GAS |
Daniel Sanders | e160f83 | 2016-05-14 12:43:08 +0000 | [diff] [blame] | 4 | |
| 5 | ; The integrated assembler expands assembly macros before printing. |
| 6 | ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \ |
| 7 | ; RUN: -relocation-model=pic < %s | \ |
Daniel Sanders | 0d97270 | 2016-06-24 12:23:17 +0000 | [diff] [blame] | 8 | ; RUN: FileCheck %s -check-prefixes=ALL,IAS |
Reed Kotler | a6ce797 | 2013-09-25 20:58:50 +0000 | [diff] [blame] | 9 | |
| 10 | @x = external global float |
| 11 | |
| 12 | ; Function Attrs: nounwind |
| 13 | define void @v_sf(float %p) #0 { |
| 14 | entry: |
| 15 | %p.addr = alloca float, align 4 |
| 16 | store float %p, float* %p.addr, align 4 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 17 | %0 = load float, float* %p.addr, align 4 |
Reed Kotler | a6ce797 | 2013-09-25 20:58:50 +0000 | [diff] [blame] | 18 | store float %0, float* @x, align 4 |
| 19 | ret void |
| 20 | } |
Daniel Sanders | e160f83 | 2016-05-14 12:43:08 +0000 | [diff] [blame] | 21 | ; ALL-LABEL: .ent __fn_stub_v_sf |
| 22 | ; ALL: .cpload $25 |
| 23 | ; ALL: .set reorder |
| 24 | ; ALL: .reloc 0, R_MIPS_NONE, v_sf |
| 25 | ; GAS: la $25, $__fn_local_v_sf |
Daniel Sanders | 6ba3dd6 | 2016-06-03 09:53:06 +0000 | [diff] [blame] | 26 | ; IAS: lw $25, %got($$__fn_local_v_sf)($gp) |
Daniel Sanders | e160f83 | 2016-05-14 12:43:08 +0000 | [diff] [blame] | 27 | ; IAS: addiu $25, $25, %lo($$__fn_local_v_sf) |
| 28 | ; ALL: mfc1 $4, $f12 |
| 29 | ; ALL: jr $25 |
| 30 | ; ALL: .end __fn_stub_v_sf |