llvm-6502/test/CodeGen/ARM/fnmacs.ll
Jim Grosbach 8cd0a8cb82 vml[as].f32 cause stalls in following advanced SIMD instructions. Avoid using
them for scalar floating point operations for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-31 22:57:36 +00:00

21 lines
533 B
LLVM

; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2
; RUN: llc < %s -march=arm -mattr=+neon -arm-use-neon-fp=0 | FileCheck %s -check-prefix=NEON
; RUN: llc < %s -march=arm -mattr=+neon -arm-use-neon-fp=1 | FileCheck %s -check-prefix=NEONFP
define float @test(float %acc, float %a, float %b) {
entry:
; VFP2: fnmacs
; NEON: fnmacs
; NEONFP-NOT: vmls
; NEONFP-NOT: fcpys
; NEONFP: vmul.f32
; NEONFP: vsub.f32
; NEONFP: fmrs
%0 = fmul float %a, %b
%1 = fsub float %acc, %0
ret float %1
}