divsf3vfp.S revision 214152
1214152Sed//===-- divsf3vfp.S - Implement divsf3vfp ---------------------------------===//
2214152Sed//
3214152Sed//                     The LLVM Compiler Infrastructure
4214152Sed//
5214152Sed// This file is distributed under the University of Illinois Open Source
6214152Sed// License. See LICENSE.TXT for details.
7214152Sed//
8214152Sed//===----------------------------------------------------------------------===//
9214152Sed
10214152Sed#include "../assembly.h"
11214152Sed
12214152Sed//
13214152Sed// extern float __divsf3vfp(float a, float b);
14214152Sed//
15214152Sed// Divides two single precision floating point numbers using the Darwin
16214152Sed// calling convention where single arguments are passsed like 32-bit ints.
17214152Sed//
18214152Sed	.align 2
19214152SedDEFINE_COMPILERRT_FUNCTION(__divsf3vfp)
20214152Sed	fmsr	s14, r0		// move first param from r0 into float register
21214152Sed	fmsr	s15, r1		// move second param from r1 into float register
22214152Sed	fdivs	s13, s14, s15
23214152Sed	fmrs	r0, s13		// move result back to r0
24214152Sed	bx	lr
25