blob: ebeeb184121b9479aee6d3d7ca841ce86e1624d7 [file] [log] [blame]
Bob Wilsone8e72be2009-10-09 17:20:46 +00001; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s
Evan Cheng02b985c2007-01-19 09:20:23 +00002
Tanya Lattner6263f942008-02-17 20:02:20 +00003define float @f1(float %a, float %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +00004;CHECK: f1:
5;CHECK: fadds
Rafael Espindolaff7e63c2006-10-09 19:15:17 +00006entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +00007 %tmp = fadd float %a, %b ; <float> [#uses=1]
Rafael Espindolaff7e63c2006-10-09 19:15:17 +00008 ret float %tmp
9}
10
Tanya Lattner6263f942008-02-17 20:02:20 +000011define double @f2(double %a, double %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000012;CHECK: f2:
13;CHECK: faddd
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000014entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000015 %tmp = fadd double %a, %b ; <double> [#uses=1]
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000016 ret double %tmp
17}
18
Tanya Lattner6263f942008-02-17 20:02:20 +000019define float @f3(float %a, float %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000020;CHECK: f3:
21;CHECK: fmuls
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000022entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000023 %tmp = fmul float %a, %b ; <float> [#uses=1]
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000024 ret float %tmp
25}
26
Tanya Lattner6263f942008-02-17 20:02:20 +000027define double @f4(double %a, double %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000028;CHECK: f4:
29;CHECK: fmuld
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000030entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000031 %tmp = fmul double %a, %b ; <double> [#uses=1]
Rafael Espindolaff7e63c2006-10-09 19:15:17 +000032 ret double %tmp
33}
Rafael Espindola667c3492006-10-10 19:35:01 +000034
Tanya Lattner6263f942008-02-17 20:02:20 +000035define float @f5(float %a, float %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000036;CHECK: f5:
37;CHECK: fsubs
Rafael Espindola667c3492006-10-10 19:35:01 +000038entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000039 %tmp = fsub float %a, %b ; <float> [#uses=1]
Rafael Espindola667c3492006-10-10 19:35:01 +000040 ret float %tmp
41}
42
Tanya Lattner6263f942008-02-17 20:02:20 +000043define double @f6(double %a, double %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000044;CHECK: f6:
45;CHECK: fsubd
Rafael Espindola667c3492006-10-10 19:35:01 +000046entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000047 %tmp = fsub double %a, %b ; <double> [#uses=1]
Rafael Espindola667c3492006-10-10 19:35:01 +000048 ret double %tmp
49}
Rafael Espindola33d06bc2006-10-13 17:37:35 +000050
Tanya Lattner6263f942008-02-17 20:02:20 +000051define float @f7(float %a) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000052;CHECK: f7:
53;CHECK: eor
Rafael Espindola33d06bc2006-10-13 17:37:35 +000054entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000055 %tmp1 = fsub float -0.000000e+00, %a ; <float> [#uses=1]
Rafael Espindola33d06bc2006-10-13 17:37:35 +000056 ret float %tmp1
57}
58
Tanya Lattner6263f942008-02-17 20:02:20 +000059define double @f8(double %a) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000060;CHECK: f8:
61;CHECK: fnegd
Rafael Espindola33d06bc2006-10-13 17:37:35 +000062entry:
Dan Gohmanae3a0be2009-06-04 22:49:04 +000063 %tmp1 = fsub double -0.000000e+00, %a ; <double> [#uses=1]
Rafael Espindola33d06bc2006-10-13 17:37:35 +000064 ret double %tmp1
65}
Rafael Espindolaa605be62006-10-16 21:50:04 +000066
Tanya Lattner6263f942008-02-17 20:02:20 +000067define float @f9(float %a, float %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000068;CHECK: f9:
69;CHECK: fdivs
Rafael Espindolaa605be62006-10-16 21:50:04 +000070entry:
Tanya Lattner6263f942008-02-17 20:02:20 +000071 %tmp1 = fdiv float %a, %b ; <float> [#uses=1]
Rafael Espindolaa605be62006-10-16 21:50:04 +000072 ret float %tmp1
73}
74
Tanya Lattner6263f942008-02-17 20:02:20 +000075define double @f10(double %a, double %b) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000076;CHECK: f10:
77;CHECK: fdivd
Rafael Espindolaa605be62006-10-16 21:50:04 +000078entry:
Tanya Lattner6263f942008-02-17 20:02:20 +000079 %tmp1 = fdiv double %a, %b ; <double> [#uses=1]
Rafael Espindolaa605be62006-10-16 21:50:04 +000080 ret double %tmp1
81}
Rafael Espindolac01c87c2006-10-17 20:33:13 +000082
Tanya Lattner6263f942008-02-17 20:02:20 +000083define float @f11(float %a) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000084;CHECK: f11:
85;CHECK: bic
Rafael Espindolac01c87c2006-10-17 20:33:13 +000086entry:
Tanya Lattner6263f942008-02-17 20:02:20 +000087 %tmp1 = call float @fabsf( float %a ) ; <float> [#uses=1]
Rafael Espindolac01c87c2006-10-17 20:33:13 +000088 ret float %tmp1
89}
90
Tanya Lattner6263f942008-02-17 20:02:20 +000091declare float @fabsf(float)
Rafael Espindolac01c87c2006-10-17 20:33:13 +000092
Tanya Lattner6263f942008-02-17 20:02:20 +000093define double @f12(double %a) {
Bob Wilsone8e72be2009-10-09 17:20:46 +000094;CHECK: f12:
95;CHECK: fabsd
Rafael Espindolac01c87c2006-10-17 20:33:13 +000096entry:
Tanya Lattner6263f942008-02-17 20:02:20 +000097 %tmp1 = call double @fabs( double %a ) ; <double> [#uses=1]
Rafael Espindolac01c87c2006-10-17 20:33:13 +000098 ret double %tmp1
99}
100
Tanya Lattner6263f942008-02-17 20:02:20 +0000101declare double @fabs(double)