floatunssisfvfp.S revision 276851
113546Sjulian//===-- floatunssisfvfp.S - Implement floatunssisfvfp ---------------------===// 2113658Sdeischen// 3113658Sdeischen// The LLVM Compiler Infrastructure 435509Sjb// 513546Sjulian// This file is dual licensed under the MIT and the University of Illinois Open 613546Sjulian// Source Licenses. See LICENSE.TXT for details. 713546Sjulian// 813546Sjulian//===----------------------------------------------------------------------===// 913546Sjulian 1013546Sjulian#include "../assembly.h" 1113546Sjulian 1213546Sjulian// 1313546Sjulian// extern float __floatunssisfvfp(unsigned int a); 1413546Sjulian// 1513546Sjulian// Converts single precision float to a 32-bit int rounding towards zero. 1613546Sjulian// Uses Darwin calling convention where a single precision result is 1713546Sjulian// return in a GPR.. 1813546Sjulian// 1913546Sjulian .syntax unified 2013546Sjulian .p2align 2 2113546SjulianDEFINE_COMPILERRT_FUNCTION(__floatunssisfvfp) 2213546Sjulian vmov s15, r0 // move int to float register s15 2313546Sjulian vcvt.f32.u32 s15, s15 // convert 32-bit int in s15 to float in s15 2413546Sjulian vmov r0, s15 // move s15 to result register 2544963Sjb bx lr 2613546SjulianEND_COMPILERRT_FUNCTION(__floatunssisfvfp) 2713546Sjulian