• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - | FileCheck %s -check-prefix=VFP2
2; RUN: llc -mtriple=arm-eabi -mattr=+neon %s -o - | FileCheck %s -check-prefix=NEON
3; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a8 %s -o - | FileCheck %s -check-prefix=A8
4
5define float @t1(float %acc, float %a, float %b) {
6entry:
7; VFP2-LABEL: t1:
8; VFP2: vnmls.f32
9
10; NEON-LABEL: t1:
11; NEON: vnmls.f32
12
13; A8-LABEL: t1:
14; A8: vmul.f32
15; A8: vsub.f32
16	%0 = fmul float %a, %b
17        %1 = fsub float %0, %acc
18	ret float %1
19}
20
21define double @t2(double %acc, double %a, double %b) {
22entry:
23; VFP2-LABEL: t2:
24; VFP2: vnmls.f64
25
26; NEON-LABEL: t2:
27; NEON: vnmls.f64
28
29; A8-LABEL: t2:
30; A8: vmul.f64
31; A8: vsub.f64
32	%0 = fmul double %a, %b
33        %1 = fsub double %0, %acc
34	ret double %1
35}
36