1/* Copyright (C) 2008-2020 Free Software Foundation, Inc.
2   Contributed by Embecosm on behalf of Adapteva, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 3, or (at your option) any later
9version.
10
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14for more details.
15
16Under Section 7 of GPL version 3, you are granted additional
17permissions described in the GCC Runtime Library Exception, version
183.1, as published by the Free Software Foundation.
19
20You should have received a copy of the GNU General Public License and
21a copy of the GCC Runtime Library Exception along with this program;
22see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23<http://www.gnu.org/licenses/>.  */
24
25#include "../epiphany-asm.h"
26
27	/* Assumption: NaNs have all bits 10..30 and one of bit 0..9 set.  */
28
29	FSTAB (__eqsf2,T_INT)
30	.global SYM(__eqsf2)
31	.balign 4
32	HIDDEN_FUNC(__eqsf2)
33SYM(__eqsf2):
34	sub	TMP0,r0,r1
35	beq	.Lno_bdiff
36	orr	TMP0,r0,r1
37	add	TMP0,TMP0,TMP0
38	rts
39.Lno_bdiff:
40#ifndef FLOAT_FORMAT_MOTOROLA
41	mov	TMP0,0xffff
42	movt	TMP0,0x7f
43	add	TMP0,TMP0,r0
44#else
45	add	TMP0,r0,0x3ff
46#endif
47	eor	TMP0,TMP0,r0
48	lsr	TMP0,TMP0,31
49	rts
50	ENDFUNC(__eqsf2)
51