divsf3vfp.S revision 215125
1109998Smarkm//===-- divsf3vfp.S - Implement divsf3vfp ---------------------------------===//
2296465Sdelphij//
3296465Sdelphij//                     The LLVM Compiler Infrastructure
4296465Sdelphij//
5109998Smarkm// This file is distributed under the University of Illinois Open Source
6109998Smarkm// License. See LICENSE.TXT for details.
7109998Smarkm//
855714Skris//===----------------------------------------------------------------------===//
955714Skris
1055714Skris#include "../assembly.h"
1155714Skris
12109998Smarkm//
13109998Smarkm// extern float __divsf3vfp(float a, float b);
14296465Sdelphij//
15109998Smarkm// Divides two single precision floating point numbers using the Darwin
1655714Skris// calling convention where single arguments are passsed like 32-bit ints.
17109998Smarkm//
18109998Smarkm	.align 2
19109998SmarkmDEFINE_COMPILERRT_FUNCTION(__divsf3vfp)
20109998Smarkm	fmsr	s14, r0		// move first param from r0 into float register
21109998Smarkm	fmsr	s15, r1		// move second param from r1 into float register
22109998Smarkm	fdivs	s13, s14, s15
23109998Smarkm	fmrs	r0, s13		// move result back to r0
24109998Smarkm	bx	lr
25109998Smarkm