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