1*0a6a1f1dSLionel Sambuc/* $NetBSD: floatunsisf.S,v 1.3 2014/03/18 18:20:37 riastradh Exp $ */ 284d9c625SLionel Sambuc 384d9c625SLionel Sambuc/*- 484d9c625SLionel Sambuc * Copyright (c) 2013 The NetBSD Foundation, Inc. 584d9c625SLionel Sambuc * All rights reserved. 684d9c625SLionel Sambuc * 784d9c625SLionel Sambuc * This code is derived from software contributed to The NetBSD Foundation 884d9c625SLionel Sambuc * by Matt Thomas of 3am Software Foundry. 984d9c625SLionel Sambuc * 1084d9c625SLionel Sambuc * Redistribution and use in source and binary forms, with or without 1184d9c625SLionel Sambuc * modification, are permitted provided that the following conditions 1284d9c625SLionel Sambuc * are met: 1384d9c625SLionel Sambuc * 1. Redistributions of source code must retain the above copyright 1484d9c625SLionel Sambuc * notice, this list of conditions and the following disclaimer. 1584d9c625SLionel Sambuc * 2. Redistributions in binary form must reproduce the above copyright 1684d9c625SLionel Sambuc * notice, this list of conditions and the following disclaimer in the 1784d9c625SLionel Sambuc * documentation and/or other materials provided with the distribution. 1884d9c625SLionel Sambuc * 1984d9c625SLionel Sambuc * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 2084d9c625SLionel Sambuc * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2184d9c625SLionel Sambuc * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2284d9c625SLionel Sambuc * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2384d9c625SLionel Sambuc * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2484d9c625SLionel Sambuc * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2584d9c625SLionel Sambuc * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2684d9c625SLionel Sambuc * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2784d9c625SLionel Sambuc * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2884d9c625SLionel Sambuc * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2984d9c625SLionel Sambuc * POSSIBILITY OF SUCH DAMAGE. 3084d9c625SLionel Sambuc */ 3184d9c625SLionel Sambuc 3284d9c625SLionel Sambuc#include <machine/asm.h> 3384d9c625SLionel Sambuc 3484d9c625SLionel Sambuc#if defined(LIBC_SCCS) && !defined(lint) 35*0a6a1f1dSLionel SambucRCSID("$NetBSD: floatunsisf.S,v 1.3 2014/03/18 18:20:37 riastradh Exp $") 3684d9c625SLionel Sambuc#endif /* LIBC_SCCS and not lint */ 3784d9c625SLionel Sambuc 3884d9c625SLionel Sambuc#ifdef __mcoldfire__ 3984d9c625SLionel Sambuc .section .rodata,"a" 4084d9c625SLionel Sambuc .p2align 2 4184d9c625SLionel SambucL2G: .double 0r2147483648.0 4284d9c625SLionel Sambuc#endif 4384d9c625SLionel Sambuc 4484d9c625SLionel Sambuc/* LINTSTUB: double __floatunsisf(unsigned int); */ 4584d9c625SLionel SambucENTRY(__floatunsisf) 4684d9c625SLionel Sambuc movl 4(%sp),%d0 4784d9c625SLionel Sambuc jpl 1f 4884d9c625SLionel Sambuc fmovel %d0,%fp0 4984d9c625SLionel Sambuc#ifndef __SVR4_ABI__ 5084d9c625SLionel Sambuc fmoves %fp0,%d0 5184d9c625SLionel Sambuc#endif 5284d9c625SLionel Sambuc rts 5384d9c625SLionel Sambuc1: 5484d9c625SLionel Sambuc bclr #31,%d0 5584d9c625SLionel Sambuc fmovel %d0,%fp0 5684d9c625SLionel Sambuc#ifdef __mcoldfire__ 5784d9c625SLionel Sambuc LEA_LCL(L2G,%a0) 5884d9c625SLionel Sambuc faddd (%a0),%fp0 5984d9c625SLionel Sambuc#else 6084d9c625SLionel Sambuc faddd #0r2147483648.0,%fp0 6184d9c625SLionel Sambuc#endif 6284d9c625SLionel Sambuc#ifndef __SVR4_ABI__ 6384d9c625SLionel Sambuc fmoves %fp0,%d0 6484d9c625SLionel Sambuc#endif 6584d9c625SLionel Sambuc rts 6684d9c625SLionel SambucEND(__floatunsisf) 67