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