1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test/CodeGen/ARM/fnmacs.ll
Jim Grosbach 5b094f3b36 vml[as].f32 cause stalls in following advanced SIMD instructions. Avoid using
them for scalar floating point operations for now.

llvm-svn: 85697
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
}