URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgcc/] [config/] [epiphany/] [ieee-754/] [gtesf2.S] - Rev 734
Compare with Previous | Blame | View Log
/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.Contributed by Embecosm on behalf of Adapteva, Inc.This file is part of GCC.GCC is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 3, or (at your option) any laterversion.GCC is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licensefor more details.Under Section 7 of GPL version 3, you are granted additionalpermissions described in the GCC Runtime Library Exception, version3.1, as published by the Free Software Foundation.You should have received a copy of the GNU General Public License anda copy of the GCC Runtime Library Exception along with this program;see the files COPYING3 and COPYING.RUNTIME respectively. If not, see<http://www.gnu.org/licenses/>. */#include "../epiphany-asm.h"/* Assumptions: NaNs have all bits 10..30 and one of bit 0..9 set.after sub: AC = ~Borrow.clobber: TMP0output: gt / gte indicates greater / greater or equal. */FSTAB (__gtesf2,T_INT).global SYM(__gtesf2).balign 4HIDDEN_FUNC(__gtesf2)SYM(__gtesf2):#ifndef FLOAT_FORMAT_MOTOROLAmov TMP0,0xffffmovt TMP0,0x7fadd TMP0,TMP0,r0eor TMP0,TMP0,r0blt .Lretmov TMP0,0xffffmovt TMP0,0x7fadd TMP0,TMP0,r1#elseadd TMP0,r0,0x3ff; check for r0 NaNeor TMP0,TMP0,r0blt .Lretadd TMP0,r1,0x3ff; check for r1 NaN#endifeor TMP0,TMP0,r1blt .Lretand TMP0,r0,r1blt .Lnegorr TMP0,r0,r1lsl TMP0,TMP0,1beq .Lretsub TMP0,r0,r1.Lret:rts.balign 4.Lneg:sub TMP0,r1,r0rtsENDFUNC(__gtesf2)
