From 49d94c2d2df85a4bebe6523459db02586ec289e8 Mon Sep 17 00:00:00 2001 From: Daniel Sanders Date: Wed, 21 Oct 2015 12:44:14 +0000 Subject: [mips][mips16] Re-work the inline assembly stubs to work with IAS. NFC. Summary: Previously, we were inserting an InlineAsm statement for each line of the inline assembly. This works for GAS but it triggers prologue/epilogue emission when IAS is in use. This caused: .set noreorder .cpload $25 to be emitted as: .set push .set reorder .set noreorder .set pop .set push .set reorder .cpload $25 .set pop which led to assembler errors and caused the test to fail. The whitespace-after-comma changes included in this patch are necessary to match the output when IAS is in use. Reviewers: vkalintiris Subscribers: rkotler, llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D13653 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250895 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/Mips/hf16call32.ll | 184 ++++++++++++++++++++-------------------- 1 file changed, 92 insertions(+), 92 deletions(-) (limited to 'test/CodeGen/Mips/hf16call32.ll') diff --git a/test/CodeGen/Mips/hf16call32.ll b/test/CodeGen/Mips/hf16call32.ll index 1a5736d48a8..018b524c3b5 100644 --- a/test/CodeGen/Mips/hf16call32.ll +++ b/test/CodeGen/Mips/hf16call32.ll @@ -753,9 +753,9 @@ land.end289: ; preds = %land.rhs286, %land. declare void @v_sf(float) #1 ; stel: .section .mips16.call.fp.v_sf,"ax",@progbits ; stel: .ent __call_stub_fp_v_sf -; stel: mtc1 $4,$f12 -; stel: lui $25,%hi(v_sf) -; stel: addiu $25,$25,%lo(v_sf) +; stel: mtc1 $4, $f12 +; stel: lui $25, %hi(v_sf) +; stel: addiu $25, $25, %lo(v_sf) ; stel: jr $25 ; stel: .end __call_stub_fp_v_sf @@ -766,54 +766,54 @@ declare void @v_df(double) #1 ; stel: .ent __call_stub_fp_v_df ; stel: #APP ; setl: .set reorder -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: lui $25,%hi(v_df) -; stel: addiu $25,$25,%lo(v_df) +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: lui $25, %hi(v_df) +; stel: addiu $25, $25, %lo(v_df) ; stel: jr $25 ; stel: .end __call_stub_fp_v_df declare void @v_sf_sf(float, float) #1 ; stel: .section .mips16.call.fp.v_sf_sf,"ax",@progbits ; stel: .ent __call_stub_fp_v_sf_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f14 -; stel: lui $25,%hi(v_sf_sf) -; stel: addiu $25,$25,%lo(v_sf_sf) +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f14 +; stel: lui $25, %hi(v_sf_sf) +; stel: addiu $25, $25, %lo(v_sf_sf) ; stel: jr $25 ; stel: .end __call_stub_fp_v_sf_sf declare void @v_sf_df(float, double) #1 ; stel: .section .mips16.call.fp.v_sf_df,"ax",@progbits ; stel: .ent __call_stub_fp_v_sf_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 -; stel: lui $25,%hi(v_sf_df) -; stel: addiu $25,$25,%lo(v_sf_df) +; stel: mtc1 $4, $f12 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 +; stel: lui $25, %hi(v_sf_df) +; stel: addiu $25, $25, %lo(v_sf_df) ; stel: jr $25 ; stel: .end __call_stub_fp_v_sf_df declare void @v_df_sf(double, float) #1 ; stel: .section .mips16.call.fp.v_df_sf,"ax",@progbits ; stel: .ent __call_stub_fp_v_df_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 -; stel: lui $25,%hi(v_df_sf) -; stel: addiu $25,$25,%lo(v_df_sf) +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 +; stel: lui $25, %hi(v_df_sf) +; stel: addiu $25, $25, %lo(v_df_sf) ; stel: jr $25 ; stel: .end __call_stub_fp_v_df_sf declare void @v_df_df(double, double) #1 ; stel: .section .mips16.call.fp.v_df_df,"ax",@progbits ; stel: .ent __call_stub_fp_v_df_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 -; stel: lui $25,%hi(v_df_df) -; stel: addiu $25,$25,%lo(v_df_df) +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 +; stel: lui $25, %hi(v_df_df) +; stel: addiu $25, $25, %lo(v_df_df) ; stel: jr $25 ; stel: .end __call_stub_fp_v_df_df @@ -822,76 +822,76 @@ declare float @sf_v() #1 ; stel: .ent __call_stub_fp_sf_v ; stel: move $18, $31 ; stel: jal sf_v -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_v declare float @sf_sf(float) #1 ; stel: .section .mips16.call.fp.sf_sf,"ax",@progbits ; stel: .ent __call_stub_fp_sf_sf -; stel: mtc1 $4,$f12 +; stel: mtc1 $4, $f12 ; stel: move $18, $31 ; stel: jal sf_sf -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_sf declare float @sf_df(double) #1 ; stel: .section .mips16.call.fp.sf_df,"ax",@progbits ; stel: .ent __call_stub_fp_sf_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 ; stel: move $18, $31 ; stel: jal sf_df -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_df declare float @sf_sf_sf(float, float) #1 ; stel: .section .mips16.call.fp.sf_sf_sf,"ax",@progbits ; stel: .ent __call_stub_fp_sf_sf_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f14 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f14 ; stel: move $18, $31 ; stel: jal sf_sf_sf -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_sf_sf declare float @sf_sf_df(float, double) #1 ; stel: .section .mips16.call.fp.sf_sf_df,"ax",@progbits ; stel: .ent __call_stub_fp_sf_sf_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 +; stel: mtc1 $4, $f12 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 ; stel: move $18, $31 ; stel: jal sf_sf_df -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_sf_df declare float @sf_df_sf(double, float) #1 ; stel: .section .mips16.call.fp.sf_df_sf,"ax",@progbits ; stel: .ent __call_stub_fp_sf_df_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 ; stel: move $18, $31 ; stel: jal sf_df_sf -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_df_sf declare float @sf_df_df(double, double) #1 ; stel: .section .mips16.call.fp.sf_df_df,"ax",@progbits ; stel: .ent __call_stub_fp_sf_df_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 ; stel: move $18, $31 ; stel: jal sf_df_df -; stel: mfc1 $2,$f0 +; stel: mfc1 $2, $f0 ; stel: jr $18 ; stel: .end __call_stub_fp_sf_df_df @@ -900,83 +900,83 @@ declare double @df_v() #1 ; stel: .ent __call_stub_fp_df_v ; stel: move $18, $31 ; stel: jal df_v -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_v declare double @df_sf(float) #1 ; stel: .section .mips16.call.fp.df_sf,"ax",@progbits ; stel: .ent __call_stub_fp_df_sf -; stel: mtc1 $4,$f12 +; stel: mtc1 $4, $f12 ; stel: move $18, $31 ; stel: jal df_sf -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_sf declare double @df_df(double) #1 ; stel: .section .mips16.call.fp.df_df,"ax",@progbits ; stel: .ent __call_stub_fp_df_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 ; stel: move $18, $31 ; stel: jal df_df -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_df declare double @df_sf_sf(float, float) #1 ; stel: .section .mips16.call.fp.df_sf_sf,"ax",@progbits ; stel: .ent __call_stub_fp_df_sf_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f14 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f14 ; stel: move $18, $31 ; stel: jal df_sf_sf -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_sf_sf declare double @df_sf_df(float, double) #1 ; stel: .section .mips16.call.fp.df_sf_df,"ax",@progbits ; stel: .ent __call_stub_fp_df_sf_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 +; stel: mtc1 $4, $f12 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 ; stel: move $18, $31 ; stel: jal df_sf_df -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_sf_df declare double @df_df_sf(double, float) #1 ; stel: .section .mips16.call.fp.df_df_sf,"ax",@progbits ; stel: .ent __call_stub_fp_df_df_sf -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 ; stel: move $18, $31 ; stel: jal df_df_sf -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_df_sf declare double @df_df_df(double, double) #1 ; stel: .section .mips16.call.fp.df_df_df,"ax",@progbits ; stel: .ent __call_stub_fp_df_df_df -; stel: mtc1 $4,$f12 -; stel: mtc1 $5,$f13 -; stel: mtc1 $6,$f14 -; stel: mtc1 $7,$f15 +; stel: mtc1 $4, $f12 +; stel: mtc1 $5, $f13 +; stel: mtc1 $6, $f14 +; stel: mtc1 $7, $f15 ; stel: move $18, $31 ; stel: jal df_df_df -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_df_df_df @@ -985,19 +985,19 @@ declare { float, float } @sc_v() #1 ; stel: .ent __call_stub_fp_sc_v ; stel: move $18, $31 ; stel: jal sc_v -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f2 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f2 ; stel: jr $18 ; stel: .end __call_stub_fp_sc_v declare { float, float } @sc_sf(float) #1 ; stel: .section .mips16.call.fp.sc_sf,"ax",@progbits ; stel: .ent __call_stub_fp_sc_sf -; stel: mtc1 $4,$f12 +; stel: mtc1 $4, $f12 ; stel: move $18, $31 ; stel: jal sc_sf -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f2 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f2 ; stel: jr $18 ; stel: .end __call_stub_fp_sc_sf @@ -1006,23 +1006,23 @@ declare { double, double } @dc_v() #1 ; stel: .ent __call_stub_fp_dc_v ; stel: move $18, $31 ; stel: jal dc_v -; stel: mfc1 $4,$f2 -; stel: mfc1 $5,$f3 -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $4, $f2 +; stel: mfc1 $5, $f3 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_dc_v declare { double, double } @dc_sf(float) #1 ; stel: .section .mips16.call.fp.dc_sf,"ax",@progbits ; stel: .ent __call_stub_fp_dc_sf -; stel: mtc1 $4,$f12 +; stel: mtc1 $4, $f12 ; stel: move $18, $31 ; stel: jal dc_sf -; stel: mfc1 $4,$f2 -; stel: mfc1 $5,$f3 -; stel: mfc1 $2,$f0 -; stel: mfc1 $3,$f1 +; stel: mfc1 $4, $f2 +; stel: mfc1 $5, $f3 +; stel: mfc1 $2, $f0 +; stel: mfc1 $3, $f1 ; stel: jr $18 ; stel: .end __call_stub_fp_dc_sf -- cgit v1.2.3