(root)/
gcc-13.2.0/
libgcc/
config/
aarch64/
crtfastmath.c
       1  /*
       2   * Copyright (C) 2014-2023 Free Software Foundation, Inc.
       3   *
       4   * This file is free software; you can redistribute it and/or modify it
       5   * under the terms of the GNU General Public License as published by the
       6   * Free Software Foundation; either version 3, or (at your option) any
       7   * later version.
       8   *
       9   * This file is distributed in the hope that it will be useful, but
      10   * WITHOUT ANY WARRANTY; without even the implied warranty of
      11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12   * General Public License for more details.
      13   *
      14   * Under Section 7 of GPL version 3, you are granted additional
      15   * permissions described in the GCC Runtime Library Exception, version
      16   * 3.1, as published by the Free Software Foundation.
      17   *
      18   * You should have received a copy of the GNU General Public License and
      19   * a copy of the GCC Runtime Library Exception along with this program;
      20   * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
      21   * <http://www.gnu.org/licenses/>.
      22   */
      23  
      24  #define _FPU_FPCR_FZ 0x1000000
      25  
      26  #define _FPU_SETCW(fpcr)				   \
      27    {							   \
      28      __asm__ __volatile__ ("msr	fpcr, %0" : : "r" (fpcr)); \
      29    }
      30  
      31  static void __attribute__((constructor))
      32  set_fast_math (void)
      33  {
      34    /* Flush to zero, round to nearest, IEEE exceptions disabled.  */
      35    _FPU_SETCW (_FPU_FPCR_FZ);
      36  }