diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 42919cfc81e..5109eea3472 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -304,11 +304,11 @@ def FLDD : InstARM<(ops DFPRegs:$dst, op_addr_mode5:$addr), // Floating Point Store def FSTS : InstARM<(ops FPRegs:$src, op_addr_mode5:$addr), - "fsts $src, [$addr]", + "fsts $src, $addr", [(store FPRegs:$src, addr_mode5:$addr)]>; def FSTD : InstARM<(ops DFPRegs:$src, op_addr_mode5:$addr), - "fstd $src, [$addr]", + "fstd $src, $addr", [(store DFPRegs:$src, addr_mode5:$addr)]>; def : Pat<(ARMcall tglobaladdr:$dst), diff --git a/test/CodeGen/ARM/fpmem.ll b/test/CodeGen/ARM/fpmem.ll index e1ea410ab00..b617a6911db 100644 --- a/test/CodeGen/ARM/fpmem.ll +++ b/test/CodeGen/ARM/fpmem.ll @@ -1,14 +1,21 @@ ; RUN: llvm-as < %s | llc -march=arm && ; RUN: llvm-as < %s | llc -march=arm | grep flds | wc -l | grep 2 && -; RUN: llvm-as < %s | llc -march=arm | grep "flds.*\[" | wc -l | grep 1 +; RUN: llvm-as < %s | llc -march=arm | grep "flds.*\[" | wc -l | grep 1 && +; RUN: llvm-as < %s | llc -march=arm | grep "fsts.*\[" | wc -l | grep 1 -float %g(float %a) { +float %f1(float %a) { entry: ret float 0.000000e+00 } -float %g(float* %v) { +float %f2(float* %v) { entry: %tmp = load float* %v ret float %tmp } + +void %f3(float %a, float* %v) { +entry: + store float %a, float* %v + ret void +}