fpsetsticky.S revision 1.2
11.2Sthorpej/* $NetBSD: fpsetsticky.S,v 1.2 2002/01/13 21:45:42 thorpej Exp $ */ 21.1Sbjh21 31.1Sbjh21/* 41.1Sbjh21 * Copyright (c) 1996 Mark Brinicombe 51.1Sbjh21 * All rights reserved. 61.1Sbjh21 * 71.1Sbjh21 * Redistribution and use in source and binary forms, with or without 81.1Sbjh21 * modification, are permitted provided that the following conditions 91.1Sbjh21 * are met: 101.1Sbjh21 * 1. Redistributions of source code must retain the above copyright 111.1Sbjh21 * notice, this list of conditions and the following disclaimer. 121.1Sbjh21 * 2. Redistributions in binary form must reproduce the above copyright 131.1Sbjh21 * notice, this list of conditions and the following disclaimer in the 141.1Sbjh21 * documentation and/or other materials provided with the distribution. 151.1Sbjh21 * 3. All advertising materials mentioning features or use of this software 161.1Sbjh21 * must display the following acknowledgement: 171.1Sbjh21 * This product includes software developed by Mark Brinicombe 181.1Sbjh21 * for the NetBSD project. 191.1Sbjh21 * 4. Neither the name of the University nor the names of its contributors 201.1Sbjh21 * may be used to endorse or promote products derived from this software 211.1Sbjh21 * without specific prior written permission. 221.1Sbjh21 * 231.1Sbjh21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 241.1Sbjh21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 251.1Sbjh21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 261.1Sbjh21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 271.1Sbjh21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 281.1Sbjh21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 291.1Sbjh21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 301.1Sbjh21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 311.1Sbjh21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 321.1Sbjh21 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 331.1Sbjh21 * SUCH DAMAGE. 341.1Sbjh21 */ 351.1Sbjh21 361.1Sbjh21#include <machine/asm.h> 371.1Sbjh21 381.1Sbjh21/* 391.1Sbjh21 * Set the current FP cumulative flags 401.1Sbjh21 */ 411.1Sbjh21 421.2Sthorpej#ifdef WEAK_ALIAS 431.2SthorpejWEAK_ALIAS(fpsetsticky, _fpsetsticky) 441.2SthorpejENTRY(_fpsetsticky) 451.2Sthorpej#else 461.1Sbjh21ENTRY(fpsetsticky) 471.2Sthorpej#endif 481.1Sbjh21 rfs r1 491.1Sbjh21 bic r1, r1, #0x1f 501.1Sbjh21 and r0, r0, #0x1f 511.1Sbjh21 orr r0, r1, r0 521.1Sbjh21 wfs r0 531.1Sbjh21 mov r0, r1 /* Return old mask */ 541.1Sbjh21#ifdef __APCS_26__ 551.1Sbjh21 movs r15, r14 /* return */ 561.1Sbjh21#else 571.1Sbjh21 mov r15, r14 /* return */ 581.1Sbjh21#endif 59