1/* More subroutines needed by GCC output code on some machines.  */
2/* Compile this one with gcc.  */
3/* Copyright (C) 1989-2022 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17Under Section 7 of GPL version 3, you are granted additional
18permissions described in the GCC Runtime Library Exception, version
193.1, as published by the Free Software Foundation.
20
21You should have received a copy of the GNU General Public License and
22a copy of the GCC Runtime Library Exception along with this program;
23see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24<http://www.gnu.org/licenses/>.  */
25
26/* The libgcc2.c implementation gets confused by our type setup and creates
27   a directly recursive call, so we do our own implementation.  For
28   the H8/300, that's in lib1funcs.S, for H8/300H and H8S, it's here.  */
29
30#ifndef __H8300__
31long __fixunssfsi (float a);
32
33long
34__fixunssfsi (float a)
35{
36  if (a >= (float) 32768L)
37    return (long) (a - 32768L) + 32768L;
38  return (long) a;
39}
40#endif
41