diff -Nrcpad gcc-11.4.0/ChangeLog gcc-11.5.0/ChangeLog
*** gcc-11.4.0/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/INSTALL/binaries.html gcc-11.5.0/INSTALL/binaries.html
*** gcc-11.4.0/INSTALL/binaries.html	Mon May 29 08:49:50 2023
--- gcc-11.5.0/INSTALL/binaries.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Binaries</title>
  
  <meta name="description" content="Installing GCC: Binaries">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 79,86 ****
  
  
  
! <span id="index-Binaries"></span>
! <span id="index-Installing-GCC_003a-Binaries"></span>
  
  <p>We are often asked about pre-compiled versions of GCC.  While we cannot
  provide these for all platforms, below you&rsquo;ll find links to binaries for
--- 85,92 ----
  
  
  
! <a name="index-Binaries"></a>
! <a name="index-Installing-GCC_003a-Binaries"></a>
  
  <p>We are often asked about pre-compiled versions of GCC.  While we cannot
  provide these for all platforms, below you&rsquo;ll find links to binaries for
diff -Nrcpad gcc-11.4.0/INSTALL/build.html gcc-11.5.0/INSTALL/build.html
*** gcc-11.4.0/INSTALL/build.html	Mon May 29 08:49:50 2023
--- gcc-11.5.0/INSTALL/build.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Building</title>
  
  <meta name="description" content="Installing GCC: Building">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 76,82 ****
  
  
  
! <span id="index-Installing-GCC_003a-Building"></span>
  
  <p>Now that GCC is configured, you are ready to build the compiler and
  runtime libraries.
--- 82,88 ----
  
  
  
! <a name="index-Installing-GCC_003a-Building"></a>
  
  <p>Now that GCC is configured, you are ready to build the compiler and
  runtime libraries.
*************** documentation, you need version 4.7 or l
*** 123,129 ****
  want Info documentation to be regenerated.  Releases contain Info
  documentation pre-built for the unmodified documentation in the release.
  </p>
! <div class="section" id="Building-a-native-compiler">
  <h3 class="section">Building a native compiler</h3>
  
  <p>For a native build, the default configuration is to perform
--- 129,135 ----
  want Info documentation to be regenerated.  Releases contain Info
  documentation pre-built for the unmodified documentation in the release.
  </p>
! <a name="Building-a-native-compiler"></a>
  <h3 class="section">Building a native compiler</h3>
  
  <p>For a native build, the default configuration is to perform
*************** following example.  This will save rough
*** 166,173 ****
  the bootstrap and the final installation.  (Libraries will still contain
  debugging information.)
  </p>
! <div class="example">
! <pre class="example">make BOOT_CFLAGS='-O' bootstrap
  </pre></div>
  
  <p>You can place non-default optimization flags into <code>BOOT_CFLAGS</code>; they
--- 172,179 ----
  the bootstrap and the final installation.  (Libraries will still contain
  debugging information.)
  </p>
! <div class="smallexample">
! <pre class="smallexample">make BOOT_CFLAGS='-O' bootstrap
  </pre></div>
  
  <p>You can place non-default optimization flags into <code>BOOT_CFLAGS</code>; they
*************** configure option <samp>--with-build-conf
*** 218,235 ****
  examples of supported build configurations are:
  </p>
  <dl compact="compact">
! <dt><span>&lsquo;<samp>bootstrap-O1</samp>&rsquo;</span></dt>
  <dd><p>Removes any <samp>-O</samp>-started option from <code>BOOT_CFLAGS</code>, and adds
  <samp>-O1</samp> to it.  &lsquo;<samp>BUILD_CONFIG=bootstrap-O1</samp>&rsquo; is equivalent to
  &lsquo;<samp>BOOT_CFLAGS='-g -O1'</samp>&rsquo;.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-O3</samp>&rsquo;</span></dt>
! <dt><span>&lsquo;<samp>bootstrap-Og</samp>&rsquo;</span></dt>
  <dd><p>Analogous to <code>bootstrap-O1</code>.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-lto</samp>&rsquo;</span></dt>
  <dd><p>Enables Link-Time Optimization for host tools during bootstrapping.
  &lsquo;<samp>BUILD_CONFIG=bootstrap-lto</samp>&rsquo; is equivalent to adding
  <samp>-flto</samp> to &lsquo;<samp>BOOT_CFLAGS</samp>&rsquo;.  This option assumes that the host
--- 224,241 ----
  examples of supported build configurations are:
  </p>
  <dl compact="compact">
! <dt>&lsquo;<samp>bootstrap-O1</samp>&rsquo;</dt>
  <dd><p>Removes any <samp>-O</samp>-started option from <code>BOOT_CFLAGS</code>, and adds
  <samp>-O1</samp> to it.  &lsquo;<samp>BUILD_CONFIG=bootstrap-O1</samp>&rsquo; is equivalent to
  &lsquo;<samp>BOOT_CFLAGS='-g -O1'</samp>&rsquo;.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-O3</samp>&rsquo;</dt>
! <dt>&lsquo;<samp>bootstrap-Og</samp>&rsquo;</dt>
  <dd><p>Analogous to <code>bootstrap-O1</code>.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-lto</samp>&rsquo;</dt>
  <dd><p>Enables Link-Time Optimization for host tools during bootstrapping.
  &lsquo;<samp>BUILD_CONFIG=bootstrap-lto</samp>&rsquo; is equivalent to adding
  <samp>-flto</samp> to &lsquo;<samp>BOOT_CFLAGS</samp>&rsquo;.  This option assumes that the host
*************** supports the linker plugin (e.g. GNU ld
*** 237,243 ****
  version 2.21 or later).
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-lto-noplugin</samp>&rsquo;</span></dt>
  <dd><p>This option is similar to <code>bootstrap-lto</code>, but is intended for
  hosts that do not support the linker plugin.  Without the linker plugin 
  static libraries are not compiled with link-time optimizations.  Since 
--- 243,249 ----
  version 2.21 or later).
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-lto-noplugin</samp>&rsquo;</dt>
  <dd><p>This option is similar to <code>bootstrap-lto</code>, but is intended for
  hosts that do not support the linker plugin.  Without the linker plugin 
  static libraries are not compiled with link-time optimizations.  Since 
*************** the GCC middle end and back end are in <
*** 245,258 ****
  that only the front end is actually LTO optimized.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-lto-lean</samp>&rsquo;</span></dt>
  <dd><p>This option is similar to <code>bootstrap-lto</code>, but is intended for
  faster build by only using LTO in the final bootstrap stage.
  With &lsquo;<samp>make profiledbootstrap</samp>&rsquo; the LTO frontend
  is trained only on generator files.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-debug</samp>&rsquo;</span></dt>
  <dd><p>Verifies that the compiler generates the same executable code, whether
  or not it is asked to emit debug information.  To this end, this
  option builds stage2 host programs without debug information, and uses
--- 251,264 ----
  that only the front end is actually LTO optimized.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-lto-lean</samp>&rsquo;</dt>
  <dd><p>This option is similar to <code>bootstrap-lto</code>, but is intended for
  faster build by only using LTO in the final bootstrap stage.
  With &lsquo;<samp>make profiledbootstrap</samp>&rsquo; the LTO frontend
  is trained only on generator files.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-debug</samp>&rsquo;</dt>
  <dd><p>Verifies that the compiler generates the same executable code, whether
  or not it is asked to emit debug information.  To this end, this
  option builds stage2 host programs without debug information, and uses
*************** info into identical object files.  In ad
*** 265,271 ****
  coverage, this option makes default bootstraps faster and leaner.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-debug-big</samp>&rsquo;</span></dt>
  <dd><p>Rather than comparing stripped object files, as in
  <code>bootstrap-debug</code>, this option saves internal compiler dumps
  during stage2 and stage3 and compares them as well, which helps catch
--- 271,277 ----
  coverage, this option makes default bootstraps faster and leaner.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-debug-big</samp>&rsquo;</dt>
  <dd><p>Rather than comparing stripped object files, as in
  <code>bootstrap-debug</code>, this option saves internal compiler dumps
  during stage2 and stage3 and compares them as well, which helps catch
*************** additional potential problems, but at a
*** 273,279 ****
  space.  It can be specified in addition to &lsquo;<samp>bootstrap-debug</samp>&rsquo;.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-debug-lean</samp>&rsquo;</span></dt>
  <dd><p>This option saves disk space compared with <code>bootstrap-debug-big</code>,
  but at the expense of some recompilation.  Instead of saving the dumps
  of stage2 and stage3 until the final compare, it uses
--- 279,285 ----
  space.  It can be specified in addition to &lsquo;<samp>bootstrap-debug</samp>&rsquo;.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-debug-lean</samp>&rsquo;</dt>
  <dd><p>This option saves disk space compared with <code>bootstrap-debug-big</code>,
  but at the expense of some recompilation.  Instead of saving the dumps
  of stage2 and stage3 until the final compare, it uses
*************** during stage3, repeating the compilation
*** 282,288 ****
  stage2, whose dumps were not saved.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-debug-lib</samp>&rsquo;</span></dt>
  <dd><p>This option tests executable code invariance over debug information
  generation on target libraries, just like <code>bootstrap-debug-lean</code>
  tests it on host programs.  It builds stage3 libraries with
--- 288,294 ----
  stage2, whose dumps were not saved.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-debug-lib</samp>&rsquo;</dt>
  <dd><p>This option tests executable code invariance over debug information
  generation on target libraries, just like <code>bootstrap-debug-lean</code>
  tests it on host programs.  It builds stage3 libraries with
*************** in stage2 are used in stage3 host progra
*** 296,302 ****
  compile stage2 libraries with different options for comparison purposes.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-debug-ckovw</samp>&rsquo;</span></dt>
  <dd><p>Arranges for error messages to be issued if the compiler built on any
  stage is run without the option <samp>-fcompare-debug</samp>.  This is
  useful to verify the full <samp>-fcompare-debug</samp> testing coverage.  It
--- 302,308 ----
  compile stage2 libraries with different options for comparison purposes.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-debug-ckovw</samp>&rsquo;</dt>
  <dd><p>Arranges for error messages to be issued if the compiler built on any
  stage is run without the option <samp>-fcompare-debug</samp>.  This is
  useful to verify the full <samp>-fcompare-debug</samp> testing coverage.  It
*************** must be used along with <code>bootstrap-
*** 304,310 ****
  <code>bootstrap-debug-lib</code>.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-cet</samp>&rsquo;</span></dt>
  <dd><p>This option enables Intel CET for host tools during bootstrapping.
  &lsquo;<samp>BUILD_CONFIG=bootstrap-cet</samp>&rsquo; is equivalent to adding
  <samp>-fcf-protection</samp> to &lsquo;<samp>BOOT_CFLAGS</samp>&rsquo;.  This option
--- 310,316 ----
  <code>bootstrap-debug-lib</code>.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-cet</samp>&rsquo;</dt>
  <dd><p>This option enables Intel CET for host tools during bootstrapping.
  &lsquo;<samp>BUILD_CONFIG=bootstrap-cet</samp>&rsquo; is equivalent to adding
  <samp>-fcf-protection</samp> to &lsquo;<samp>BOOT_CFLAGS</samp>&rsquo;.  This option
*************** assumes that the host supports Intel CET
*** 312,329 ****
  2.30 or later).
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-time</samp>&rsquo;</span></dt>
  <dd><p>Arranges for the run time of each program started by the GCC driver,
  built in any stage, to be logged to <samp>time.log</samp>, in the top level of
  the build tree.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-asan</samp>&rsquo;</span></dt>
  <dd><p>Compiles GCC itself using Address Sanitization in order to catch invalid memory
  accesses within the GCC code.
  </p>
  </dd>
! <dt><span>&lsquo;<samp>bootstrap-hwasan</samp>&rsquo;</span></dt>
  <dd><p>Compiles GCC itself using HWAddress Sanitization in order to catch invalid
  memory accesses within the GCC code.  This option is only available on AArch64
  systems that are running Linux kernel version 5.4 or later.
--- 318,335 ----
  2.30 or later).
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-time</samp>&rsquo;</dt>
  <dd><p>Arranges for the run time of each program started by the GCC driver,
  built in any stage, to be logged to <samp>time.log</samp>, in the top level of
  the build tree.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-asan</samp>&rsquo;</dt>
  <dd><p>Compiles GCC itself using Address Sanitization in order to catch invalid memory
  accesses within the GCC code.
  </p>
  </dd>
! <dt>&lsquo;<samp>bootstrap-hwasan</samp>&rsquo;</dt>
  <dd><p>Compiles GCC itself using HWAddress Sanitization in order to catch invalid
  memory accesses within the GCC code.  This option is only available on AArch64
  systems that are running Linux kernel version 5.4 or later.
*************** systems that are running Linux kernel ve
*** 331,338 ****
  </dd>
  </dl>
  
! </div>
! <div class="section" id="Building-a-cross-compiler">
  <h3 class="section">Building a cross compiler</h3>
  
  <p>When building a cross compiler, it is not generally possible to do a
--- 337,343 ----
  </dd>
  </dl>
  
! <a name="Building-a-cross-compiler"></a>
  <h3 class="section">Building a cross compiler</h3>
  
  <p>When building a cross compiler, it is not generally possible to do a
*************** configuring GCC.  Put them in the direct
*** 370,389 ****
  you should put in this directory:
  </p>
  <dl compact="compact">
! <dt><span><samp>as</samp></span></dt>
  <dd><p>This should be the cross-assembler.
  </p>
  </dd>
! <dt><span><samp>ld</samp></span></dt>
  <dd><p>This should be the cross-linker.
  </p>
  </dd>
! <dt><span><samp>ar</samp></span></dt>
  <dd><p>This should be the cross-archiver: a program which can manipulate
  archive files (linker libraries) in the target machine&rsquo;s format.
  </p>
  </dd>
! <dt><span><samp>ranlib</samp></span></dt>
  <dd><p>This should be a program to construct a symbol table in an archive file.
  </p></dd>
  </dl>
--- 375,394 ----
  you should put in this directory:
  </p>
  <dl compact="compact">
! <dt><samp>as</samp></dt>
  <dd><p>This should be the cross-assembler.
  </p>
  </dd>
! <dt><samp>ld</samp></dt>
  <dd><p>This should be the cross-linker.
  </p>
  </dd>
! <dt><samp>ar</samp></dt>
  <dd><p>This should be the cross-archiver: a program which can manipulate
  archive files (linker libraries) in the target machine&rsquo;s format.
  </p>
  </dd>
! <dt><samp>ranlib</samp></dt>
  <dd><p>This should be a program to construct a symbol table in an archive file.
  </p></dd>
  </dl>
*************** alternatives for <samp>crt0.o</samp>, fo
*** 410,417 ****
  compilation options.  Check your target&rsquo;s definition of
  <code>STARTFILE_SPEC</code> to find out what start files it uses.
  </p>
! </div>
! <div class="section" id="Building-in-parallel">
  <h3 class="section">Building in parallel</h3>
  
  <p>GNU Make 3.80 and above, which is necessary to build GCC, support
--- 415,421 ----
  compilation options.  Check your target&rsquo;s definition of
  <code>STARTFILE_SPEC</code> to find out what start files it uses.
  </p>
! <a name="Building-in-parallel"></a>
  <h3 class="section">Building in parallel</h3>
  
  <p>GNU Make 3.80 and above, which is necessary to build GCC, support
*************** your machine will result in fewer and sh
*** 422,435 ****
  improving overall throughput; this is especially true for slow drives
  and network filesystems.
  </p>
! </div>
! <div class="section" id="Building-the-Ada-compiler">
  <h3 class="section">Building the Ada compiler</h3>
  
  <p><a href="prerequisites.html#GNAT-prerequisite">GNAT prerequisites</a>.
  </p>
! </div>
! <div class="section" id="Building-with-profile-feedback">
  <h3 class="section">Building with profile feedback</h3>
  
  <p>It is possible to use profile feedback to optimize the compiler itself.  This
--- 426,437 ----
  improving overall throughput; this is especially true for slow drives
  and network filesystems.
  </p>
! <a name="Building-the-Ada-compiler"></a>
  <h3 class="section">Building the Ada compiler</h3>
  
  <p><a href="prerequisites.html#GNAT-prerequisite">GNAT prerequisites</a>.
  </p>
! <a name="Building-with-profile-feedback"></a>
  <h3 class="section">Building with profile feedback</h3>
  
  <p>It is possible to use profile feedback to optimize the compiler itself.  This
*************** the code quality may be much worse.
*** 470,476 ****
  
  
  
! <hr></div>
  
  
  
--- 472,478 ----
  
  
  
! <hr>
  
  
  
diff -Nrcpad gcc-11.4.0/INSTALL/configure.html gcc-11.5.0/INSTALL/configure.html
*** gcc-11.4.0/INSTALL/configure.html	Mon May 29 08:49:49 2023
--- gcc-11.5.0/INSTALL/configure.html	Fri Jul 19 05:53:53 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Configuration</title>
  
  <meta name="description" content="Installing GCC: Configuration">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 75,82 ****
  
  
  
! <span id="index-Configuration"></span>
! <span id="index-Installing-GCC_003a-Configuration"></span>
  
  <p>Like most GNU software, GCC must be configured before it can be built.
  This document describes the recommended configuration procedure
--- 81,88 ----
  
  
  
! <a name="index-Configuration"></a>
! <a name="index-Installing-GCC_003a-Configuration"></a>
  
  <p>Like most GNU software, GCC must be configured before it can be built.
  This document describes the recommended configuration procedure
*************** scripts may fail.
*** 122,141 ****
  
  <p>To configure GCC:
  </p>
! <div class="example">
! <pre class="example">% mkdir <var>objdir</var>
  % cd <var>objdir</var>
  % <var>srcdir</var>/configure [<var>options</var>] [<var>target</var>]
  </pre></div>
  
! <span id="Distributor-options"></span><h3 class="heading">Distributor options</h3>
  
  <p>If you will be distributing binary versions of GCC, with modifications
  to the source code, you should use the options described in this
  section to make clear that your version contains modifications.
  </p>
  <dl compact="compact">
! <dt><span><code>--with-pkgversion=<var>version</var></code></span></dt>
  <dd><p>Specify a string that identifies your package.  You may wish
  to include a build number or build date.  This version string will be
  included in the output of <code>gcc --version</code>.  This suffix does
--- 128,148 ----
  
  <p>To configure GCC:
  </p>
! <div class="smallexample">
! <pre class="smallexample">% mkdir <var>objdir</var>
  % cd <var>objdir</var>
  % <var>srcdir</var>/configure [<var>options</var>] [<var>target</var>]
  </pre></div>
  
! <a name="Distributor-options"></a>
! <h3 class="heading">Distributor options</h3>
  
  <p>If you will be distributing binary versions of GCC, with modifications
  to the source code, you should use the options described in this
  section to make clear that your version contains modifications.
  </p>
  <dl compact="compact">
! <dt><code>--with-pkgversion=<var>version</var></code></dt>
  <dd><p>Specify a string that identifies your package.  You may wish
  to include a build number or build date.  This version string will be
  included in the output of <code>gcc --version</code>.  This suffix does
*************** not replace the default version string,
*** 144,150 ****
  <p>The default value is &lsquo;<samp>GCC</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--with-bugurl=<var>url</var></code></span></dt>
  <dd><p>Specify the URL that users should visit if they wish to report a bug.
  You are of course welcome to forward bugs reported to you to the FSF,
  if you determine that they are not bugs in your modifications.
--- 151,157 ----
  <p>The default value is &lsquo;<samp>GCC</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--with-bugurl=<var>url</var></code></dt>
  <dd><p>Specify the URL that users should visit if they wish to report a bug.
  You are of course welcome to forward bugs reported to you to the FSF,
  if you determine that they are not bugs in your modifications.
*************** if you determine that they are not bugs
*** 152,165 ****
  <p>The default value refers to the FSF&rsquo;s GCC bug tracker.
  </p>
  </dd>
! <dt><span><code>--with-documentation-root-url=<var>url</var></code></span></dt>
  <dd><p>Specify the URL root that contains GCC option documentation.  The <var>url</var>
  should end with a <code>/</code> character.
  </p>
  <p>The default value is <a href="https://gcc.gnu.org/onlinedocs/">https://gcc.gnu.org/onlinedocs/</a>.
  </p>
  </dd>
! <dt><span><code>--with-changes-root-url=<var>url</var></code></span></dt>
  <dd><p>Specify the URL root that contains information about changes in GCC
  releases like <code>gcc-<var>version</var>/changes.html</code>.
  The <var>url</var> should end with a <code>/</code> character.
--- 159,172 ----
  <p>The default value refers to the FSF&rsquo;s GCC bug tracker.
  </p>
  </dd>
! <dt><code>--with-documentation-root-url=<var>url</var></code></dt>
  <dd><p>Specify the URL root that contains GCC option documentation.  The <var>url</var>
  should end with a <code>/</code> character.
  </p>
  <p>The default value is <a href="https://gcc.gnu.org/onlinedocs/">https://gcc.gnu.org/onlinedocs/</a>.
  </p>
  </dd>
! <dt><code>--with-changes-root-url=<var>url</var></code></dt>
  <dd><p>Specify the URL root that contains information about changes in GCC
  releases like <code>gcc-<var>version</var>/changes.html</code>.
  The <var>url</var> should end with a <code>/</code> character.
*************** The <var>url</var> should end with a <co
*** 169,175 ****
  </dd>
  </dl>
  
! <span id="Target-specification"></span><h3 class="heading">Target specification</h3>
  <ul>
  <li> GCC has code to correctly determine the correct value for <var>target</var>
  for nearly all native systems.  Therefore, we highly recommend you do
--- 176,183 ----
  </dd>
  </dl>
  
! <a name="Target-specification"></a>
! <h3 class="heading">Target specification</h3>
  <ul>
  <li> GCC has code to correctly determine the correct value for <var>target</var>
  for nearly all native systems.  Therefore, we highly recommend you do
*************** implies that the host defaults to <var>t
*** 184,190 ****
  </li></ul>
  
  
! <span id="Options-specification"></span><h3 class="heading">Options specification</h3>
  
  <p>Use <var>options</var> to override several configure time options for
  GCC.  A list of supported <var>options</var> follows; &lsquo;<samp>configure
--- 192,199 ----
  </li></ul>
  
  
! <a name="Options-specification"></a>
! <h3 class="heading">Options specification</h3>
  
  <p>Use <var>options</var> to override several configure time options for
  GCC.  A list of supported <var>options</var> follows; &lsquo;<samp>configure
*************** work and should not normally be used.
*** 196,202 ****
  corresponding <samp>--without</samp> option.
  </p>
  <dl compact="compact">
! <dt><span><code>--prefix=<var>dirname</var></code></span></dt>
  <dd><p>Specify the toplevel installation
  directory.  This is the recommended way to install the tools into a directory
  other than the default.  The toplevel installation directory defaults to
--- 205,211 ----
  corresponding <samp>--without</samp> option.
  </p>
  <dl compact="compact">
! <dt><code>--prefix=<var>dirname</var></code></dt>
  <dd><p>Specify the toplevel installation
  directory.  This is the recommended way to install the tools into a directory
  other than the default.  The toplevel installation directory defaults to
*************** beneath a user&rsquo;s home directory tr
*** 211,273 ****
  <p>The following standard <code>autoconf</code> options are supported.  Normally you
  should not need to use these options.
  </p><dl compact="compact">
! <dt><span><code>--exec-prefix=<var>dirname</var></code></span></dt>
  <dd><p>Specify the toplevel installation directory for architecture-dependent
  files.  The default is <samp><var>prefix</var></samp>.
  </p>
  </dd>
! <dt><span><code>--bindir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for the executables called by users
  (such as <code>gcc</code> and <code>g++</code>).  The default is
  <samp><var>exec-prefix</var>/bin</samp>.
  </p>
  </dd>
! <dt><span><code>--libdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for object code libraries and
  internal data files of GCC.  The default is <samp><var>exec-prefix</var>/lib</samp>.
  </p>
  </dd>
! <dt><span><code>--libexecdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for internal executables of GCC.
  The default is <samp><var>exec-prefix</var>/libexec</samp>.
  </p>
  </dd>
! <dt><span><code>--with-slibdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for the shared libgcc library.  The
  default is <samp><var>libdir</var></samp>.
  </p>
  </dd>
! <dt><span><code>--datarootdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the root of the directory tree for read-only architecture-independent
  data files referenced by GCC.  The default is <samp><var>prefix</var>/share</samp>.
  </p>
  </dd>
! <dt><span><code>--infodir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for documentation in info format.
  The default is <samp><var>datarootdir</var>/info</samp>.
  </p>
  </dd>
! <dt><span><code>--datadir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for some architecture-independent
  data files referenced by GCC.  The default is <samp><var>datarootdir</var></samp>.
  </p>
  </dd>
! <dt><span><code>--docdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for documentation files (other
  than Info) for GCC.  The default is <samp><var>datarootdir</var>/doc</samp>.
  </p>
  </dd>
! <dt><span><code>--htmldir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for HTML documentation files.
  The default is <samp><var>docdir</var></samp>.
  </p>
  </dd>
! <dt><span><code>--pdfdir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for PDF documentation files.
  The default is <samp><var>docdir</var></samp>.
  </p>
  </dd>
! <dt><span><code>--mandir=<var>dirname</var></code></span></dt>
  <dd><p>Specify the installation directory for manual pages.  The default is
  <samp><var>datarootdir</var>/man</samp>.  (Note that the manual pages are only extracts
  from the full GCC manuals, which are provided in Texinfo format.  The manpages
--- 220,282 ----
  <p>The following standard <code>autoconf</code> options are supported.  Normally you
  should not need to use these options.
  </p><dl compact="compact">
! <dt><code>--exec-prefix=<var>dirname</var></code></dt>
  <dd><p>Specify the toplevel installation directory for architecture-dependent
  files.  The default is <samp><var>prefix</var></samp>.
  </p>
  </dd>
! <dt><code>--bindir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for the executables called by users
  (such as <code>gcc</code> and <code>g++</code>).  The default is
  <samp><var>exec-prefix</var>/bin</samp>.
  </p>
  </dd>
! <dt><code>--libdir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for object code libraries and
  internal data files of GCC.  The default is <samp><var>exec-prefix</var>/lib</samp>.
  </p>
  </dd>
! <dt><code>--libexecdir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for internal executables of GCC.
  The default is <samp><var>exec-prefix</var>/libexec</samp>.
  </p>
  </dd>
! <dt><code>--with-slibdir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for the shared libgcc library.  The
  default is <samp><var>libdir</var></samp>.
  </p>
  </dd>
! <dt><code>--datarootdir=<var>dirname</var></code></dt>
  <dd><p>Specify the root of the directory tree for read-only architecture-independent
  data files referenced by GCC.  The default is <samp><var>prefix</var>/share</samp>.
  </p>
  </dd>
! <dt><code>--infodir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for documentation in info format.
  The default is <samp><var>datarootdir</var>/info</samp>.
  </p>
  </dd>
! <dt><code>--datadir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for some architecture-independent
  data files referenced by GCC.  The default is <samp><var>datarootdir</var></samp>.
  </p>
  </dd>
! <dt><code>--docdir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for documentation files (other
  than Info) for GCC.  The default is <samp><var>datarootdir</var>/doc</samp>.
  </p>
  </dd>
! <dt><code>--htmldir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for HTML documentation files.
  The default is <samp><var>docdir</var></samp>.
  </p>
  </dd>
! <dt><code>--pdfdir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for PDF documentation files.
  The default is <samp><var>docdir</var></samp>.
  </p>
  </dd>
! <dt><code>--mandir=<var>dirname</var></code></dt>
  <dd><p>Specify the installation directory for manual pages.  The default is
  <samp><var>datarootdir</var>/man</samp>.  (Note that the manual pages are only extracts
  from the full GCC manuals, which are provided in Texinfo format.  The manpages
*************** are derived by an automatic conversion p
*** 275,288 ****
  manual.)
  </p>
  </dd>
! <dt><span><code>--with-gxx-include-dir=<var>dirname</var></code></span></dt>
  <dd><p>Specify
  the installation directory for G++ header files.  The default depends
  on other configuration options, and differs between cross and native
  configurations.
  </p>
  </dd>
! <dt><span><code>--with-specs=<var>specs</var></code></span></dt>
  <dd><p>Specify additional command line driver SPECS.
  This can be useful if you need to turn on a non-standard feature by
  default without modifying the compiler&rsquo;s source code, for instance
--- 284,297 ----
  manual.)
  </p>
  </dd>
! <dt><code>--with-gxx-include-dir=<var>dirname</var></code></dt>
  <dd><p>Specify
  the installation directory for G++ header files.  The default depends
  on other configuration options, and differs between cross and native
  configurations.
  </p>
  </dd>
! <dt><code>--with-specs=<var>specs</var></code></dt>
  <dd><p>Specify additional command line driver SPECS.
  This can be useful if you need to turn on a non-standard feature by
  default without modifying the compiler&rsquo;s source code, for instance
*************** See &ldquo;Spec Files&rdquo; in the main
*** 293,299 ****
  </dl>
  
  </dd>
! <dt><span><code>--program-prefix=<var>prefix</var></code></span></dt>
  <dd><p>GCC supports some transformations of the names of its programs when
  installing them.  This option prepends <var>prefix</var> to the names of
  programs to install in <var>bindir</var> (see above).  For example, specifying
--- 302,308 ----
  </dl>
  
  </dd>
! <dt><code>--program-prefix=<var>prefix</var></code></dt>
  <dd><p>GCC supports some transformations of the names of its programs when
  installing them.  This option prepends <var>prefix</var> to the names of
  programs to install in <var>bindir</var> (see above).  For example, specifying
*************** programs to install in <var>bindir</var>
*** 301,314 ****
  being installed as <samp>/usr/local/bin/foo-gcc</samp>.
  </p>
  </dd>
! <dt><span><code>--program-suffix=<var>suffix</var></code></span></dt>
  <dd><p>Appends <var>suffix</var> to the names of programs to install in <var>bindir</var>
  (see above).  For example, specifying <samp>--program-suffix=-3.1</samp>
  would result in &lsquo;<samp>gcc</samp>&rsquo; being installed as
  <samp>/usr/local/bin/gcc-3.1</samp>.
  </p>
  </dd>
! <dt><span><code>--program-transform-name=<var>pattern</var></code></span></dt>
  <dd><p>Applies the &lsquo;<samp>sed</samp>&rsquo; script <var>pattern</var> to be applied to the names
  of programs to install in <var>bindir</var> (see above).  <var>pattern</var> has to
  consist of one or more basic &lsquo;<samp>sed</samp>&rsquo; editing commands, separated by
--- 310,323 ----
  being installed as <samp>/usr/local/bin/foo-gcc</samp>.
  </p>
  </dd>
! <dt><code>--program-suffix=<var>suffix</var></code></dt>
  <dd><p>Appends <var>suffix</var> to the names of programs to install in <var>bindir</var>
  (see above).  For example, specifying <samp>--program-suffix=-3.1</samp>
  would result in &lsquo;<samp>gcc</samp>&rsquo; being installed as
  <samp>/usr/local/bin/gcc-3.1</samp>.
  </p>
  </dd>
! <dt><code>--program-transform-name=<var>pattern</var></code></dt>
  <dd><p>Applies the &lsquo;<samp>sed</samp>&rsquo; script <var>pattern</var> to be applied to the names
  of programs to install in <var>bindir</var> (see above).  <var>pattern</var> has to
  consist of one or more basic &lsquo;<samp>sed</samp>&rsquo; editing commands, separated by
*************** resulting binary would be installed as
*** 341,347 ****
  transformed yet, which will be fixed in some time.
  </p>
  </dd>
! <dt><span><code>--with-local-prefix=<var>dirname</var></code></span></dt>
  <dd><p>Specify the
  installation directory for local include files.  The default is
  <samp>/usr/local</samp>.  Specify this option if you want the compiler to
--- 350,356 ----
  transformed yet, which will be fixed in some time.
  </p>
  </dd>
! <dt><code>--with-local-prefix=<var>dirname</var></code></dt>
  <dd><p>Specify the
  installation directory for local include files.  The default is
  <samp>/usr/local</samp>.  Specify this option if you want the compiler to
*************** install part of GCC.  Perhaps they make
*** 414,425 ****
  installing GCC creates the directory.
  </p>
  </dd>
! <dt><span><code>--with-gcc-major-version-only</code></span></dt>
  <dd><p>Specifies that GCC should use only the major number rather than
  <var>major</var>.<var>minor</var>.<var>patchlevel</var> in filesystem paths.
  </p>
  </dd>
! <dt><span><code>--with-native-system-header-dir=<var>dirname</var></code></span></dt>
  <dd><p>Specifies that <var>dirname</var> is the directory that contains native system
  header files, rather than <samp>/usr/include</samp>.  This option is most useful
  if you are creating a compiler that should be isolated from the system
--- 423,434 ----
  installing GCC creates the directory.
  </p>
  </dd>
! <dt><code>--with-gcc-major-version-only</code></dt>
  <dd><p>Specifies that GCC should use only the major number rather than
  <var>major</var>.<var>minor</var>.<var>patchlevel</var> in filesystem paths.
  </p>
  </dd>
! <dt><code>--with-native-system-header-dir=<var>dirname</var></code></dt>
  <dd><p>Specifies that <var>dirname</var> is the directory that contains native system
  header files, rather than <samp>/usr/include</samp>.  This option is most useful
  if you are creating a compiler that should be isolated from the system
*************** as much as possible.  It is most commonl
*** 428,434 ****
  <var>dirname</var> inside the system root specified by that option.
  </p>
  </dd>
! <dt><span><code>--enable-shared[=<var>package</var>[,&hellip;]]</code></span></dt>
  <dd><p>Build shared versions of libraries, if shared libraries are supported on
  the target platform.  Unlike GCC 2.95.x and earlier, shared libraries
  are enabled by default on all platforms that support shared libraries.
--- 437,443 ----
  <var>dirname</var> inside the system root specified by that option.
  </p>
  </dd>
! <dt><code>--enable-shared[=<var>package</var>[,&hellip;]]</code></dt>
  <dd><p>Build shared versions of libraries, if shared libraries are supported on
  the target platform.  Unlike GCC 2.95.x and earlier, shared libraries
  are enabled by default on all platforms that support shared libraries.
*************** argument, only <samp>--enable-shared</sa
*** 449,455 ****
  code.
  </p>
  </dd>
! <dt><span><code>--enable-host-shared</code></span></dt>
  <dd><p>Specify that the <em>host</em> code should be built into position-independent
  machine code (with -fPIC), allowing it to be used within shared libraries,
  but yielding a slightly slower compiler.
--- 458,464 ----
  code.
  </p>
  </dd>
! <dt><code>--enable-host-shared</code></dt>
  <dd><p>Specify that the <em>host</em> code should be built into position-independent
  machine code (with -fPIC), allowing it to be used within shared libraries,
  but yielding a slightly slower compiler.
*************** but yielding a slightly slower compiler.
*** 460,466 ****
  libraries.
  </p>
  </dd>
! <dt><span><code><span id="with-gnu-as"></span>--with-gnu-as</code></span></dt>
  <dd><p>Specify that the compiler should assume that the
  assembler it finds is the GNU assembler.  However, this does not modify
  the rules to find an assembler and will result in confusion if the
--- 469,475 ----
  libraries.
  </p>
  </dd>
! <dt><code><a name="with-gnu-as"></a>--with-gnu-as</code></dt>
  <dd><p>Specify that the compiler should assume that the
  assembler it finds is the GNU assembler.  However, this does not modify
  the rules to find an assembler and will result in confusion if the
*************** whether you use the GNU assembler.  On a
*** 483,489 ****
  </li></ul>
  
  </dd>
! <dt><span><code><span id="with-as"></span>--with-as=<var>pathname</var></code></span></dt>
  <dd><p>Specify that the compiler should use the assembler pointed to by
  <var>pathname</var>, rather than the one found by the standard rules to find
  an assembler, which are:
--- 492,498 ----
  </li></ul>
  
  </dd>
! <dt><code><a name="with-as"></a>--with-as=<var>pathname</var></code></dt>
  <dd><p>Specify that the compiler should use the assembler pointed to by
  <var>pathname</var>, rather than the one found by the standard rules to find
  an assembler, which are:
*************** assemblers installed and want to choose
*** 516,550 ****
  above rules.
  </p>
  </dd>
! <dt><span><code><span id="with-gnu-ld"></span>--with-gnu-ld</code></span></dt>
  <dd><p>Same as <a href="#with-gnu-as"><samp>--with-gnu-as</samp></a>
  but for the linker.
  </p>
  </dd>
! <dt><span><code>--with-ld=<var>pathname</var></code></span></dt>
  <dd><p>Same as <a href="#with-as"><samp>--with-as</samp></a>
  but for the linker.
  </p>
  </dd>
! <dt><span><code>--with-dsymutil=<var>pathname</var></code></span></dt>
  <dd><p>Same as <a href="#with-as"><samp>--with-as</samp></a>
  but for the debug linker (only used on Darwin platforms so far).
  </p>
  </dd>
! <dt><span><code>--with-stabs</code></span></dt>
  <dd><p>Specify that stabs debugging
  information should be used instead of whatever format the host normally
  uses.  Normally GCC uses the same debug format as the host system.
  </p>
  </dd>
! <dt><span><code>--with-tls=<var>dialect</var></code></span></dt>
  <dd><p>Specify the default TLS dialect, for systems were there is a choice.
  For ARM targets, possible values for <var>dialect</var> are <code>gnu</code> or
  <code>gnu2</code>, which select between the original GNU dialect and the GNU TLS
  descriptor-based dialect.
  </p>
  </dd>
! <dt><span><code>--enable-multiarch</code></span></dt>
  <dd><p>Specify whether to enable or disable multiarch support.  The default is
  to check for glibc start files in a multiarch location, and enable it
  if the files are found.  The auto detection is enabled for native builds,
--- 525,559 ----
  above rules.
  </p>
  </dd>
! <dt><code><a name="with-gnu-ld"></a>--with-gnu-ld</code></dt>
  <dd><p>Same as <a href="#with-gnu-as"><samp>--with-gnu-as</samp></a>
  but for the linker.
  </p>
  </dd>
! <dt><code>--with-ld=<var>pathname</var></code></dt>
  <dd><p>Same as <a href="#with-as"><samp>--with-as</samp></a>
  but for the linker.
  </p>
  </dd>
! <dt><code>--with-dsymutil=<var>pathname</var></code></dt>
  <dd><p>Same as <a href="#with-as"><samp>--with-as</samp></a>
  but for the debug linker (only used on Darwin platforms so far).
  </p>
  </dd>
! <dt><code>--with-stabs</code></dt>
  <dd><p>Specify that stabs debugging
  information should be used instead of whatever format the host normally
  uses.  Normally GCC uses the same debug format as the host system.
  </p>
  </dd>
! <dt><code>--with-tls=<var>dialect</var></code></dt>
  <dd><p>Specify the default TLS dialect, for systems were there is a choice.
  For ARM targets, possible values for <var>dialect</var> are <code>gnu</code> or
  <code>gnu2</code>, which select between the original GNU dialect and the GNU TLS
  descriptor-based dialect.
  </p>
  </dd>
! <dt><code>--enable-multiarch</code></dt>
  <dd><p>Specify whether to enable or disable multiarch support.  The default is
  to check for glibc start files in a multiarch location, and enable it
  if the files are found.  The auto detection is enabled for native builds,
*************** More documentation about multiarch can b
*** 554,566 ****
  <a href="https://wiki.debian.org/Multiarch">https://wiki.debian.org/Multiarch</a>.
  </p>
  </dd>
! <dt><span><code>--enable-sjlj-exceptions</code></span></dt>
  <dd><p>Force use of the <code>setjmp</code>/<code>longjmp</code>-based scheme for exceptions.
  &lsquo;<samp>configure</samp>&rsquo; ordinarily picks the correct value based on the platform.
  Only use this option if you are sure you need a different setting.
  </p>
  </dd>
! <dt><span><code>--enable-vtable-verify</code></span></dt>
  <dd><p>Specify whether to enable or disable the vtable verification feature.
  Enabling this feature causes libstdc++ to be built with its virtual calls
  in verifiable mode.  This means that, when linked with libvtv, every
--- 563,575 ----
  <a href="https://wiki.debian.org/Multiarch">https://wiki.debian.org/Multiarch</a>.
  </p>
  </dd>
! <dt><code>--enable-sjlj-exceptions</code></dt>
  <dd><p>Force use of the <code>setjmp</code>/<code>longjmp</code>-based scheme for exceptions.
  &lsquo;<samp>configure</samp>&rsquo; ordinarily picks the correct value based on the platform.
  Only use this option if you are sure you need a different setting.
  </p>
  </dd>
! <dt><code>--enable-vtable-verify</code></dt>
  <dd><p>Specify whether to enable or disable the vtable verification feature.
  Enabling this feature causes libstdc++ to be built with its virtual calls
  in verifiable mode.  This means that, when linked with libvtv, every
*************** still be built (see <samp>--disable-libv
*** 573,584 ****
  <samp>--disable-vtable-verify</samp> is the default.
  </p>
  </dd>
! <dt><span><code>--disable-gcov</code></span></dt>
  <dd><p>Specify that the run-time library used for coverage analysis
  and associated host tools should not be built.
  </p>
  </dd>
! <dt><span><code>--disable-multilib</code></span></dt>
  <dd><p>Specify that multiple target
  libraries to support different target variants, calling
  conventions, etc. should not be built.  The default is to build a
--- 582,593 ----
  <samp>--disable-vtable-verify</samp> is the default.
  </p>
  </dd>
! <dt><code>--disable-gcov</code></dt>
  <dd><p>Specify that the run-time library used for coverage analysis
  and associated host tools should not be built.
  </p>
  </dd>
! <dt><code>--disable-multilib</code></dt>
  <dd><p>Specify that multiple target
  libraries to support different target variants, calling
  conventions, etc. should not be built.  The default is to build a
*************** predefined set of them.
*** 587,609 ****
  <p>Some targets provide finer-grained control over which multilibs are built
  (e.g., <samp>--disable-softfloat</samp>):
  </p><dl compact="compact">
! <dt><span><code>arm-*-*</code></span></dt>
  <dd><p>fpu, 26bit, underscore, interwork, biendian, nofmult.
  </p>
  </dd>
! <dt><span><code>m68*-*-*</code></span></dt>
  <dd><p>softfloat, m68881, m68000, m68020.
  </p>
  </dd>
! <dt><span><code>mips*-*-*</code></span></dt>
  <dd><p>single-float, biendian, softfloat.
  </p>
  </dd>
! <dt><span><code>msp430-*-*</code></span></dt>
  <dd><p>no-exceptions
  </p>
  </dd>
! <dt><span><code>powerpc*-*-*, rs6000*-*-*</code></span></dt>
  <dd><p>aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian,
  sysv, aix.
  </p>
--- 596,618 ----
  <p>Some targets provide finer-grained control over which multilibs are built
  (e.g., <samp>--disable-softfloat</samp>):
  </p><dl compact="compact">
! <dt><code>arm-*-*</code></dt>
  <dd><p>fpu, 26bit, underscore, interwork, biendian, nofmult.
  </p>
  </dd>
! <dt><code>m68*-*-*</code></dt>
  <dd><p>softfloat, m68881, m68000, m68020.
  </p>
  </dd>
! <dt><code>mips*-*-*</code></dt>
  <dd><p>single-float, biendian, softfloat.
  </p>
  </dd>
! <dt><code>msp430-*-*</code></dt>
  <dd><p>no-exceptions
  </p>
  </dd>
! <dt><code>powerpc*-*-*, rs6000*-*-*</code></dt>
  <dd><p>aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian,
  sysv, aix.
  </p>
*************** sysv, aix.
*** 611,625 ****
  </dl>
  
  </dd>
! <dt><span><code>--with-multilib-list=<var>list</var></code></span></dt>
! <dt><span><code>--without-multilib-list</code></span></dt>
  <dd><p>Specify what multilibs to build.  <var>list</var> is a comma separated list of
  values, possibly consisting of a single value.  Currently only implemented
  for aarch64*-*-*, arm*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*.  The
  accepted values and meaning for each target is given below.
  </p>
  <dl compact="compact">
! <dt><span><code>aarch64*-*-*</code></span></dt>
  <dd><p><var>list</var> is a comma separated list of <code>ilp32</code>, and <code>lp64</code>
  to enable ILP32 and LP64 run-time libraries, respectively.  If
  <var>list</var> is empty, then there will be no multilibs and only the
--- 620,634 ----
  </dl>
  
  </dd>
! <dt><code>--with-multilib-list=<var>list</var></code></dt>
! <dt><code>--without-multilib-list</code></dt>
  <dd><p>Specify what multilibs to build.  <var>list</var> is a comma separated list of
  values, possibly consisting of a single value.  Currently only implemented
  for aarch64*-*-*, arm*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*.  The
  accepted values and meaning for each target is given below.
  </p>
  <dl compact="compact">
! <dt><code>aarch64*-*-*</code></dt>
  <dd><p><var>list</var> is a comma separated list of <code>ilp32</code>, and <code>lp64</code>
  to enable ILP32 and LP64 run-time libraries, respectively.  If
  <var>list</var> is empty, then there will be no multilibs and only the
*************** default set of libraries is selected bas
*** 629,635 ****
  <samp>--target</samp>.
  </p>
  </dd>
! <dt><span><code>arm*-*-*</code></span></dt>
  <dd><p><var>list</var> is a comma separated list of <code>aprofile</code> and
  <code>rmprofile</code> to build multilibs for A or R and M architecture
  profiles respectively.  Note that, due to some limitation of the current
--- 638,644 ----
  <samp>--target</samp>.
  </p>
  </dd>
! <dt><code>arm*-*-*</code></dt>
  <dd><p><var>list</var> is a comma separated list of <code>aprofile</code> and
  <code>rmprofile</code> to build multilibs for A or R and M architecture
  profiles respectively.  Note that, due to some limitation of the current
*************** profile.  The union of these options is
*** 691,697 ****
  </table>
  
  </dd>
! <dt><span><code>riscv*-*-*</code></span></dt>
  <dd><p><var>list</var> is a single ABI name.  The target architecture must be either
  <code>rv32gc</code> or <code>rv64gc</code>.  This will build a single multilib for the
  specified architecture and ABI pair.  If <code>--with-multilib-list</code> is not
--- 700,706 ----
  </table>
  
  </dd>
! <dt><code>riscv*-*-*</code></dt>
  <dd><p><var>list</var> is a single ABI name.  The target architecture must be either
  <code>rv32gc</code> or <code>rv64gc</code>.  This will build a single multilib for the
  specified architecture and ABI pair.  If <code>--with-multilib-list</code> is not
*************** given, then a default set of multilibs i
*** 699,705 ****
  <samp>--target</samp>.  This is usually a large set of multilibs.
  </p>
  </dd>
! <dt><span><code>sh*-*-*</code></span></dt>
  <dd><p><var>list</var> is a comma separated list of CPU names.  These must be of the
  form <code>sh*</code> or <code>m*</code> (in which case they match the compiler option
  for that processor).  The list should not contain any endian options -
--- 708,714 ----
  <samp>--target</samp>.  This is usually a large set of multilibs.
  </p>
  </dd>
! <dt><code>sh*-*-*</code></dt>
  <dd><p><var>list</var> is a comma separated list of CPU names.  These must be of the
  form <code>sh*</code> or <code>m*</code> (in which case they match the compiler option
  for that processor).  The list should not contain any endian options -
*************** specialized subset.
*** 720,738 ****
  </p>
  <p>Example 1: to configure a compiler for SH4A only, but supporting both
  endians, with little endian being the default:
! </p><div class="example">
! <pre class="example">--with-cpu=sh4a --with-endian=little,big --with-multilib-list=
  </pre></div>
  
  <p>Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with
  only little endian SH4AL:
! </p><div class="example">
! <pre class="example">--with-cpu=sh4a --with-endian=little,big \
  --with-multilib-list=sh4al,!mb/m4al
  </pre></div>
  
  </dd>
! <dt><span><code>x86-64-*-linux*</code></span></dt>
  <dd><p><var>list</var> is a comma separated list of <code>m32</code>, <code>m64</code> and
  <code>mx32</code> to enable 32-bit, 64-bit and x32 run-time libraries,
  respectively.  If <var>list</var> is empty, then there will be no multilibs
--- 729,747 ----
  </p>
  <p>Example 1: to configure a compiler for SH4A only, but supporting both
  endians, with little endian being the default:
! </p><div class="smallexample">
! <pre class="smallexample">--with-cpu=sh4a --with-endian=little,big --with-multilib-list=
  </pre></div>
  
  <p>Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with
  only little endian SH4AL:
! </p><div class="smallexample">
! <pre class="smallexample">--with-cpu=sh4a --with-endian=little,big \
  --with-multilib-list=sh4al,!mb/m4al
  </pre></div>
  
  </dd>
! <dt><code>x86-64-*-linux*</code></dt>
  <dd><p><var>list</var> is a comma separated list of <code>m32</code>, <code>m64</code> and
  <code>mx32</code> to enable 32-bit, 64-bit and x32 run-time libraries,
  respectively.  If <var>list</var> is empty, then there will be no multilibs
*************** and only the default run-time library wi
*** 744,750 ****
  </dl>
  
  </dd>
! <dt><span><code>--with-multilib-generator=<var>config</var></code></span></dt>
  <dd><p>Specify what multilibs to build.  <var>config</var> is a semicolon separated list of
  values, possibly consisting of a single value.  Currently only implemented
  for riscv*-*-elf*.  The accepted values and meanings are given below.
--- 753,759 ----
  </dl>
  
  </dd>
! <dt><code>--with-multilib-generator=<var>config</var></code></dt>
  <dd><p>Specify what multilibs to build.  <var>config</var> is a semicolon separated list of
  values, possibly consisting of a single value.  Currently only implemented
  for riscv*-*-elf*.  The accepted values and meanings are given below.
*************** for riscv*-*-elf*.  The accepted values
*** 754,778 ****
  reuse rule with architecture string and reuse rule with sub-extension.
  </p>
  <p>Example 1: Add multi-lib suppport for rv32i with ilp32.
! </p><div class="example">
! <pre class="example">rv32i-ilp32--
  </pre></div>
  
  <p>Example 2: Add multi-lib suppport for rv32i with ilp32 and rv32imafd with ilp32.
! </p><div class="example">
! <pre class="example">rv32i-ilp32--;rv32imafd-ilp32--
  </pre></div>
  
  <p>Example 3: Add multi-lib suppport for rv32i with ilp32; rv32im with ilp32 and
  rv32ic with ilp32 will reuse this multi-lib set.
! </p><div class="example">
! <pre class="example">rv32i-ilp32-rv32im-c
  </pre></div>
  
  <p>Example 4: Add multi-lib suppport for rv64ima with lp64; rv64imaf with lp64,
  rv64imac with lp64 and rv64imafc with lp64 will reuse this multi-lib set.
! </p><div class="example">
! <pre class="example">rv64ima-lp64--f,c,fc
  </pre></div>
  
  <p><samp>--with-multilib-generator</samp> have an optional configuration argument
--- 763,787 ----
  reuse rule with architecture string and reuse rule with sub-extension.
  </p>
  <p>Example 1: Add multi-lib suppport for rv32i with ilp32.
! </p><div class="smallexample">
! <pre class="smallexample">rv32i-ilp32--
  </pre></div>
  
  <p>Example 2: Add multi-lib suppport for rv32i with ilp32 and rv32imafd with ilp32.
! </p><div class="smallexample">
! <pre class="smallexample">rv32i-ilp32--;rv32imafd-ilp32--
  </pre></div>
  
  <p>Example 3: Add multi-lib suppport for rv32i with ilp32; rv32im with ilp32 and
  rv32ic with ilp32 will reuse this multi-lib set.
! </p><div class="smallexample">
! <pre class="smallexample">rv32i-ilp32-rv32im-c
  </pre></div>
  
  <p>Example 4: Add multi-lib suppport for rv64ima with lp64; rv64imaf with lp64,
  rv64imac with lp64 and rv64imafc with lp64 will reuse this multi-lib set.
! </p><div class="smallexample">
! <pre class="smallexample">rv64ima-lp64--f,c,fc
  </pre></div>
  
  <p><samp>--with-multilib-generator</samp> have an optional configuration argument
*************** currently we support medlow and medany.
*** 782,820 ****
  </p>
  <p>Example 5: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and
  medlow code model
! </p><div class="example">
! <pre class="example">rv64ima-lp64--;--cmodel=medlow
  </pre></div>
  
  <p>Example 6: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and
  medlow code model; rv64ima with lp64 and medany code model
! </p><div class="example">
! <pre class="example">rv64ima-lp64--;--cmodel=medlow,medany
  </pre></div>
  
  </dd>
! <dt><span><code>--with-endian=<var>endians</var></code></span></dt>
  <dd><p>Specify what endians to use.
  Currently only implemented for sh*-*-*.
  </p>
  <p><var>endians</var> may be one of the following:
  </p><dl compact="compact">
! <dt><span><code>big</code></span></dt>
  <dd><p>Use big endian exclusively.
  </p></dd>
! <dt><span><code>little</code></span></dt>
  <dd><p>Use little endian exclusively.
  </p></dd>
! <dt><span><code>big,little</code></span></dt>
  <dd><p>Use big endian by default.  Provide a multilib for little endian.
  </p></dd>
! <dt><span><code>little,big</code></span></dt>
  <dd><p>Use little endian by default.  Provide a multilib for big endian.
  </p></dd>
  </dl>
  
  </dd>
! <dt><span><code>--enable-threads</code></span></dt>
  <dd><p>Specify that the target
  supports threads.  This affects the Objective-C compiler and runtime
  library, and exception handling for other languages like C++.
--- 791,829 ----
  </p>
  <p>Example 5: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and
  medlow code model
! </p><div class="smallexample">
! <pre class="smallexample">rv64ima-lp64--;--cmodel=medlow
  </pre></div>
  
  <p>Example 6: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and
  medlow code model; rv64ima with lp64 and medany code model
! </p><div class="smallexample">
! <pre class="smallexample">rv64ima-lp64--;--cmodel=medlow,medany
  </pre></div>
  
  </dd>
! <dt><code>--with-endian=<var>endians</var></code></dt>
  <dd><p>Specify what endians to use.
  Currently only implemented for sh*-*-*.
  </p>
  <p><var>endians</var> may be one of the following:
  </p><dl compact="compact">
! <dt><code>big</code></dt>
  <dd><p>Use big endian exclusively.
  </p></dd>
! <dt><code>little</code></dt>
  <dd><p>Use little endian exclusively.
  </p></dd>
! <dt><code>big,little</code></dt>
  <dd><p>Use big endian by default.  Provide a multilib for little endian.
  </p></dd>
! <dt><code>little,big</code></dt>
  <dd><p>Use little endian by default.  Provide a multilib for big endian.
  </p></dd>
  </dl>
  
  </dd>
! <dt><code>--enable-threads</code></dt>
  <dd><p>Specify that the target
  supports threads.  This affects the Objective-C compiler and runtime
  library, and exception handling for other languages like C++.
*************** available for the system.  In this case,
*** 827,881 ****
  alias for <samp>--enable-threads=single</samp>.
  </p>
  </dd>
! <dt><span><code>--disable-threads</code></span></dt>
  <dd><p>Specify that threading support should be disabled for the system.
  This is an alias for <samp>--enable-threads=single</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-threads=<var>lib</var></code></span></dt>
  <dd><p>Specify that
  <var>lib</var> is the thread support library.  This affects the Objective-C
  compiler and runtime library, and exception handling for other languages
  like C++.  The possibilities for <var>lib</var> are:
  </p>
  <dl compact="compact">
! <dt><span><code>aix</code></span></dt>
  <dd><p>AIX thread support.
  </p></dd>
! <dt><span><code>dce</code></span></dt>
  <dd><p>DCE thread support.
  </p></dd>
! <dt><span><code>lynx</code></span></dt>
  <dd><p>LynxOS thread support.
  </p></dd>
! <dt><span><code>mipssde</code></span></dt>
  <dd><p>MIPS SDE thread support.
  </p></dd>
! <dt><span><code>no</code></span></dt>
  <dd><p>This is an alias for &lsquo;<samp>single</samp>&rsquo;.
  </p></dd>
! <dt><span><code>posix</code></span></dt>
  <dd><p>Generic POSIX/Unix98 thread support.
  </p></dd>
! <dt><span><code>rtems</code></span></dt>
  <dd><p>RTEMS thread support.
  </p></dd>
! <dt><span><code>single</code></span></dt>
  <dd><p>Disable thread support, should work for all platforms.
  </p></dd>
! <dt><span><code>tpf</code></span></dt>
  <dd><p>TPF thread support.
  </p></dd>
! <dt><span><code>vxworks</code></span></dt>
  <dd><p>VxWorks thread support.
  </p></dd>
! <dt><span><code>win32</code></span></dt>
  <dd><p>Microsoft Win32 API thread support.
  </p></dd>
  </dl>
  
  </dd>
! <dt><span><code>--enable-tls</code></span></dt>
  <dd><p>Specify that the target supports TLS (Thread Local Storage).  Usually
  configure can correctly determine if TLS is supported.  In cases where
  it guesses incorrectly, TLS can be explicitly enabled or disabled with
--- 836,890 ----
  alias for <samp>--enable-threads=single</samp>.
  </p>
  </dd>
! <dt><code>--disable-threads</code></dt>
  <dd><p>Specify that threading support should be disabled for the system.
  This is an alias for <samp>--enable-threads=single</samp>.
  </p>
  </dd>
! <dt><code>--enable-threads=<var>lib</var></code></dt>
  <dd><p>Specify that
  <var>lib</var> is the thread support library.  This affects the Objective-C
  compiler and runtime library, and exception handling for other languages
  like C++.  The possibilities for <var>lib</var> are:
  </p>
  <dl compact="compact">
! <dt><code>aix</code></dt>
  <dd><p>AIX thread support.
  </p></dd>
! <dt><code>dce</code></dt>
  <dd><p>DCE thread support.
  </p></dd>
! <dt><code>lynx</code></dt>
  <dd><p>LynxOS thread support.
  </p></dd>
! <dt><code>mipssde</code></dt>
  <dd><p>MIPS SDE thread support.
  </p></dd>
! <dt><code>no</code></dt>
  <dd><p>This is an alias for &lsquo;<samp>single</samp>&rsquo;.
  </p></dd>
! <dt><code>posix</code></dt>
  <dd><p>Generic POSIX/Unix98 thread support.
  </p></dd>
! <dt><code>rtems</code></dt>
  <dd><p>RTEMS thread support.
  </p></dd>
! <dt><code>single</code></dt>
  <dd><p>Disable thread support, should work for all platforms.
  </p></dd>
! <dt><code>tpf</code></dt>
  <dd><p>TPF thread support.
  </p></dd>
! <dt><code>vxworks</code></dt>
  <dd><p>VxWorks thread support.
  </p></dd>
! <dt><code>win32</code></dt>
  <dd><p>Microsoft Win32 API thread support.
  </p></dd>
  </dl>
  
  </dd>
! <dt><code>--enable-tls</code></dt>
  <dd><p>Specify that the target supports TLS (Thread Local Storage).  Usually
  configure can correctly determine if TLS is supported.  In cases where
  it guesses incorrectly, TLS can be explicitly enabled or disabled with
*************** the assembler supports TLS but the C lib
*** 884,903 ****
  assumptions made by the configure test are incorrect.
  </p>
  </dd>
! <dt><span><code>--disable-tls</code></span></dt>
  <dd><p>Specify that the target does not support TLS.
  This is an alias for <samp>--enable-tls=no</samp>.
  </p>
  </dd>
! <dt><span><code>--disable-tm-clone-registry</code></span></dt>
  <dd><p>Disable TM clone registry in libgcc. It is enabled in libgcc by default.
  This option helps to reduce code size for embedded targets which do
  not use transactional memory.
  </p>
  </dd>
! <dt><span><code>--with-cpu=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-cpu-32=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-cpu-64=<var>cpu</var></code></span></dt>
  <dd><p>Specify which cpu variant the compiler should generate code for by default.
  <var>cpu</var> will be used as the default value of the <samp>-mcpu=</samp> switch.
  This option is only supported on some targets, including ARC, ARM, i386, M68k,
--- 893,912 ----
  assumptions made by the configure test are incorrect.
  </p>
  </dd>
! <dt><code>--disable-tls</code></dt>
  <dd><p>Specify that the target does not support TLS.
  This is an alias for <samp>--enable-tls=no</samp>.
  </p>
  </dd>
! <dt><code>--disable-tm-clone-registry</code></dt>
  <dd><p>Disable TM clone registry in libgcc. It is enabled in libgcc by default.
  This option helps to reduce code size for embedded targets which do
  not use transactional memory.
  </p>
  </dd>
! <dt><code>--with-cpu=<var>cpu</var></code></dt>
! <dt><code>--with-cpu-32=<var>cpu</var></code></dt>
! <dt><code>--with-cpu-64=<var>cpu</var></code></dt>
  <dd><p>Specify which cpu variant the compiler should generate code for by default.
  <var>cpu</var> will be used as the default value of the <samp>-mcpu=</samp> switch.
  This option is only supported on some targets, including ARC, ARM, i386, M68k,
*************** PowerPC, and SPARC.  It is mandatory for
*** 907,922 ****
  x86-64, PowerPC, and SPARC.
  </p>
  </dd>
! <dt><span><code>--with-schedule=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-arch=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-arch-32=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-arch-64=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-tune=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-tune-32=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-tune-64=<var>cpu</var></code></span></dt>
! <dt><span><code>--with-abi=<var>abi</var></code></span></dt>
! <dt><span><code>--with-fpu=<var>type</var></code></span></dt>
! <dt><span><code>--with-float=<var>type</var></code></span></dt>
  <dd><p>These configure options provide default values for the <samp>-mschedule=</samp>,
  <samp>-march=</samp>, <samp>-mtune=</samp>, <samp>-mabi=</samp>, and <samp>-mfpu=</samp>
  options and for <samp>-mhard-float</samp> or <samp>-msoft-float</samp>.  As with
--- 916,931 ----
  x86-64, PowerPC, and SPARC.
  </p>
  </dd>
! <dt><code>--with-schedule=<var>cpu</var></code></dt>
! <dt><code>--with-arch=<var>cpu</var></code></dt>
! <dt><code>--with-arch-32=<var>cpu</var></code></dt>
! <dt><code>--with-arch-64=<var>cpu</var></code></dt>
! <dt><code>--with-tune=<var>cpu</var></code></dt>
! <dt><code>--with-tune-32=<var>cpu</var></code></dt>
! <dt><code>--with-tune-64=<var>cpu</var></code></dt>
! <dt><code>--with-abi=<var>abi</var></code></dt>
! <dt><code>--with-fpu=<var>type</var></code></dt>
! <dt><code>--with-float=<var>type</var></code></dt>
  <dd><p>These configure options provide default values for the <samp>-mschedule=</samp>,
  <samp>-march=</samp>, <samp>-mtune=</samp>, <samp>-mabi=</samp>, and <samp>-mfpu=</samp>
  options and for <samp>-mhard-float</samp> or <samp>-msoft-float</samp>.  As with
*************** options and for <samp>-mhard-float</samp
*** 924,960 ****
  of the arguments depend on the target.
  </p>
  </dd>
! <dt><span><code>--with-mode=<var>mode</var></code></span></dt>
  <dd><p>Specify if the compiler should default to <samp>-marm</samp> or <samp>-mthumb</samp>.
  This option is only supported on ARM targets.
  </p>
  </dd>
! <dt><span><code>--with-stack-offset=<var>num</var></code></span></dt>
  <dd><p>This option sets the default for the -mstack-offset=<var>num</var> option,
  and will thus generally also control the setting of this option for
  libraries.  This option is only supported on Epiphany targets.
  </p>
  </dd>
! <dt><span><code>--with-fpmath=<var>isa</var></code></span></dt>
  <dd><p>This options sets <samp>-mfpmath=sse</samp> by default and specifies the default
  ISA for floating-point arithmetics.  You can select either &lsquo;<samp>sse</samp>&rsquo; which
  enables <samp>-msse2</samp> or &lsquo;<samp>avx</samp>&rsquo; which enables <samp>-mavx</samp> by default.
  This option is only supported on i386 and x86-64 targets.
  </p>
  </dd>
! <dt><span><code>--with-fp-32=<var>mode</var></code></span></dt>
  <dd><p>On MIPS targets, set the default value for the <samp>-mfp</samp> option when using
  the o32 ABI.  The possibilities for <var>mode</var> are:
  </p><dl compact="compact">
! <dt><span><code>32</code></span></dt>
  <dd><p>Use the o32 FP32 ABI extension, as with the <samp>-mfp32</samp> command-line
  option.
  </p></dd>
! <dt><span><code>xx</code></span></dt>
  <dd><p>Use the o32 FPXX ABI extension, as with the <samp>-mfpxx</samp> command-line
  option.
  </p></dd>
! <dt><span><code>64</code></span></dt>
  <dd><p>Use the o32 FP64 ABI extension, as with the <samp>-mfp64</samp> command-line
  option.
  </p></dd>
--- 933,969 ----
  of the arguments depend on the target.
  </p>
  </dd>
! <dt><code>--with-mode=<var>mode</var></code></dt>
  <dd><p>Specify if the compiler should default to <samp>-marm</samp> or <samp>-mthumb</samp>.
  This option is only supported on ARM targets.
  </p>
  </dd>
! <dt><code>--with-stack-offset=<var>num</var></code></dt>
  <dd><p>This option sets the default for the -mstack-offset=<var>num</var> option,
  and will thus generally also control the setting of this option for
  libraries.  This option is only supported on Epiphany targets.
  </p>
  </dd>
! <dt><code>--with-fpmath=<var>isa</var></code></dt>
  <dd><p>This options sets <samp>-mfpmath=sse</samp> by default and specifies the default
  ISA for floating-point arithmetics.  You can select either &lsquo;<samp>sse</samp>&rsquo; which
  enables <samp>-msse2</samp> or &lsquo;<samp>avx</samp>&rsquo; which enables <samp>-mavx</samp> by default.
  This option is only supported on i386 and x86-64 targets.
  </p>
  </dd>
! <dt><code>--with-fp-32=<var>mode</var></code></dt>
  <dd><p>On MIPS targets, set the default value for the <samp>-mfp</samp> option when using
  the o32 ABI.  The possibilities for <var>mode</var> are:
  </p><dl compact="compact">
! <dt><code>32</code></dt>
  <dd><p>Use the o32 FP32 ABI extension, as with the <samp>-mfp32</samp> command-line
  option.
  </p></dd>
! <dt><code>xx</code></dt>
  <dd><p>Use the o32 FPXX ABI extension, as with the <samp>-mfpxx</samp> command-line
  option.
  </p></dd>
! <dt><code>64</code></dt>
  <dd><p>Use the o32 FP64 ABI extension, as with the <samp>-mfp64</samp> command-line
  option.
  </p></dd>
*************** option.
*** 963,989 ****
  FP32 ABI extension.
  </p>
  </dd>
! <dt><span><code>--with-odd-spreg-32</code></span></dt>
  <dd><p>On MIPS targets, set the <samp>-modd-spreg</samp> option by default when using
  the o32 ABI.
  </p>
  </dd>
! <dt><span><code>--without-odd-spreg-32</code></span></dt>
  <dd><p>On MIPS targets, set the <samp>-mno-odd-spreg</samp> option by default when using
  the o32 ABI.  This is normally used in conjunction with
  <samp>--with-fp-32=64</samp> in order to target the o32 FP64A ABI extension.
  </p>
  </dd>
! <dt><span><code>--with-nan=<var>encoding</var></code></span></dt>
  <dd><p>On MIPS targets, set the default encoding convention to use for the
  special not-a-number (NaN) IEEE 754 floating-point data.  The
  possibilities for <var>encoding</var> are:
  </p><dl compact="compact">
! <dt><span><code>legacy</code></span></dt>
  <dd><p>Use the legacy encoding, as with the <samp>-mnan=legacy</samp> command-line
  option.
  </p></dd>
! <dt><span><code>2008</code></span></dt>
  <dd><p>Use the 754-2008 encoding, as with the <samp>-mnan=2008</samp> command-line
  option.
  </p></dd>
--- 972,998 ----
  FP32 ABI extension.
  </p>
  </dd>
! <dt><code>--with-odd-spreg-32</code></dt>
  <dd><p>On MIPS targets, set the <samp>-modd-spreg</samp> option by default when using
  the o32 ABI.
  </p>
  </dd>
! <dt><code>--without-odd-spreg-32</code></dt>
  <dd><p>On MIPS targets, set the <samp>-mno-odd-spreg</samp> option by default when using
  the o32 ABI.  This is normally used in conjunction with
  <samp>--with-fp-32=64</samp> in order to target the o32 FP64A ABI extension.
  </p>
  </dd>
! <dt><code>--with-nan=<var>encoding</var></code></dt>
  <dd><p>On MIPS targets, set the default encoding convention to use for the
  special not-a-number (NaN) IEEE 754 floating-point data.  The
  possibilities for <var>encoding</var> are:
  </p><dl compact="compact">
! <dt><code>legacy</code></dt>
  <dd><p>Use the legacy encoding, as with the <samp>-mnan=legacy</samp> command-line
  option.
  </p></dd>
! <dt><code>2008</code></dt>
  <dd><p>Use the 754-2008 encoding, as with the <samp>-mnan=2008</samp> command-line
  option.
  </p></dd>
*************** the legacy encoding, as when neither of
*** 995,1044 ****
  <samp>-mnan=legacy</samp> command-line options has been used.
  </p>
  </dd>
! <dt><span><code>--with-divide=<var>type</var></code></span></dt>
  <dd><p>Specify how the compiler should generate code for checking for
  division by zero.  This option is only supported on the MIPS target.
  The possibilities for <var>type</var> are:
  </p><dl compact="compact">
! <dt><span><code>traps</code></span></dt>
  <dd><p>Division by zero checks use conditional traps (this is the default on
  systems that support conditional traps).
  </p></dd>
! <dt><span><code>breaks</code></span></dt>
  <dd><p>Division by zero checks use the break instruction.
  </p></dd>
  </dl>
  
  
  </dd>
! <dt><span><code>--with-llsc</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mllsc</samp> the default when no
  <samp>-mno-llsc</samp> option is passed.  This is the default for
  Linux-based targets, as the kernel will emulate them if the ISA does
  not provide them.
  </p>
  </dd>
! <dt><span><code>--without-llsc</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mno-llsc</samp> the default when no
  <samp>-mllsc</samp> option is passed.
  </p>
  </dd>
! <dt><span><code>--with-synci</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-msynci</samp> the default when no
  <samp>-mno-synci</samp> option is passed.
  </p>
  </dd>
! <dt><span><code>--without-synci</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mno-synci</samp> the default when no
  <samp>-msynci</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><span><code>--with-lxc1-sxc1</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mlxc1-sxc1</samp> the default when no
  <samp>-mno-lxc1-sxc1</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><span><code>--without-lxc1-sxc1</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mno-lxc1-sxc1</samp> the default when no
  <samp>-mlxc1-sxc1</samp> option is passed.  The indexed load/store
  instructions are not directly a problem but can lead to unexpected
--- 1004,1053 ----
  <samp>-mnan=legacy</samp> command-line options has been used.
  </p>
  </dd>
! <dt><code>--with-divide=<var>type</var></code></dt>
  <dd><p>Specify how the compiler should generate code for checking for
  division by zero.  This option is only supported on the MIPS target.
  The possibilities for <var>type</var> are:
  </p><dl compact="compact">
! <dt><code>traps</code></dt>
  <dd><p>Division by zero checks use conditional traps (this is the default on
  systems that support conditional traps).
  </p></dd>
! <dt><code>breaks</code></dt>
  <dd><p>Division by zero checks use the break instruction.
  </p></dd>
  </dl>
  
  
  </dd>
! <dt><code>--with-llsc</code></dt>
  <dd><p>On MIPS targets, make <samp>-mllsc</samp> the default when no
  <samp>-mno-llsc</samp> option is passed.  This is the default for
  Linux-based targets, as the kernel will emulate them if the ISA does
  not provide them.
  </p>
  </dd>
! <dt><code>--without-llsc</code></dt>
  <dd><p>On MIPS targets, make <samp>-mno-llsc</samp> the default when no
  <samp>-mllsc</samp> option is passed.
  </p>
  </dd>
! <dt><code>--with-synci</code></dt>
  <dd><p>On MIPS targets, make <samp>-msynci</samp> the default when no
  <samp>-mno-synci</samp> option is passed.
  </p>
  </dd>
! <dt><code>--without-synci</code></dt>
  <dd><p>On MIPS targets, make <samp>-mno-synci</samp> the default when no
  <samp>-msynci</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><code>--with-lxc1-sxc1</code></dt>
  <dd><p>On MIPS targets, make <samp>-mlxc1-sxc1</samp> the default when no
  <samp>-mno-lxc1-sxc1</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><code>--without-lxc1-sxc1</code></dt>
  <dd><p>On MIPS targets, make <samp>-mno-lxc1-sxc1</samp> the default when no
  <samp>-mlxc1-sxc1</samp> option is passed.  The indexed load/store
  instructions are not directly a problem but can lead to unexpected
*************** pure 32-bit environment and can hold tru
*** 1054,1065 ****
  the address space is accurately set to be 32-bit for o32 and n32.
  </p>
  </dd>
! <dt><span><code>--with-madd4</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mmadd4</samp> the default when no
  <samp>-mno-madd4</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><span><code>--without-madd4</code></span></dt>
  <dd><p>On MIPS targets, make <samp>-mno-madd4</samp> the default when no
  <samp>-mmadd4</samp> option is passed.  The <code>madd4</code> instruction
  family can be problematic when targeting a combination of cores that
--- 1063,1074 ----
  the address space is accurately set to be 32-bit for o32 and n32.
  </p>
  </dd>
! <dt><code>--with-madd4</code></dt>
  <dd><p>On MIPS targets, make <samp>-mmadd4</samp> the default when no
  <samp>-mno-madd4</samp> option is passed.  This is the default.
  </p>
  </dd>
! <dt><code>--without-madd4</code></dt>
  <dd><p>On MIPS targets, make <samp>-mno-madd4</samp> the default when no
  <samp>-mmadd4</samp> option is passed.  The <code>madd4</code> instruction
  family can be problematic when targeting a combination of cores that
*************** only way to ensure compatible code is ge
*** 1070,1089 ****
  a performance penalty.
  </p>
  </dd>
! <dt><span><code>--with-mips-plt</code></span></dt>
  <dd><p>On MIPS targets, make use of copy relocations and PLTs.
  These features are extensions to the traditional
  SVR4-based MIPS ABIs and require support from GNU binutils
  and the runtime C library.
  </p>
  </dd>
! <dt><span><code>--with-stack-clash-protection-guard-size=<var>size</var></code></span></dt>
  <dd><p>On certain targets this option sets the default stack clash protection guard
  size as a power of two in bytes.  On AArch64 <var>size</var> is required to be either
  12 (4KB) or 16 (64KB).
  </p>
  </dd>
! <dt><span><code>--enable-__cxa_atexit</code></span></dt>
  <dd><p>Define if you want to use __cxa_atexit, rather than atexit, to
  register C++ destructors for local statics and global objects.
  This is essential for fully standards-compliant handling of
--- 1079,1098 ----
  a performance penalty.
  </p>
  </dd>
! <dt><code>--with-mips-plt</code></dt>
  <dd><p>On MIPS targets, make use of copy relocations and PLTs.
  These features are extensions to the traditional
  SVR4-based MIPS ABIs and require support from GNU binutils
  and the runtime C library.
  </p>
  </dd>
! <dt><code>--with-stack-clash-protection-guard-size=<var>size</var></code></dt>
  <dd><p>On certain targets this option sets the default stack clash protection guard
  size as a power of two in bytes.  On AArch64 <var>size</var> is required to be either
  12 (4KB) or 16 (64KB).
  </p>
  </dd>
! <dt><code>--enable-__cxa_atexit</code></dt>
  <dd><p>Define if you want to use __cxa_atexit, rather than atexit, to
  register C++ destructors for local statics and global objects.
  This is essential for fully standards-compliant handling of
*************** only available on systems with GNU libc.
*** 1092,1119 ****
  <samp>-fuse-cxa-atexit</samp> to be passed by default.
  </p>
  </dd>
! <dt><span><code>--enable-gnu-indirect-function</code></span></dt>
  <dd><p>Define if you want to enable the <code>ifunc</code> attribute.  This option is
  currently only available on systems with GNU libc on certain targets.
  </p>
  </dd>
! <dt><span><code>--enable-target-optspace</code></span></dt>
  <dd><p>Specify that target
  libraries should be optimized for code space instead of code speed.
  This is the default for the m32r platform.
  </p>
  </dd>
! <dt><span><code>--with-cpp-install-dir=<var>dirname</var></code></span></dt>
  <dd><p>Specify that the user visible <code>cpp</code> program should be installed
  in <samp><var>prefix</var>/<var>dirname</var>/cpp</samp>, in addition to <var>bindir</var>.
  </p>
  </dd>
! <dt><span><code>--enable-comdat</code></span></dt>
  <dd><p>Enable COMDAT group support.  This is primarily used to override the
  automatically detected value.
  </p>
  </dd>
! <dt><span><code>--enable-initfini-array</code></span></dt>
  <dd><p>Force the use of sections <code>.init_array</code> and <code>.fini_array</code>
  (instead of <code>.init</code> and <code>.fini</code>) for constructors and
  destructors.  Option <samp>--disable-initfini-array</samp> has the
--- 1101,1128 ----
  <samp>-fuse-cxa-atexit</samp> to be passed by default.
  </p>
  </dd>
! <dt><code>--enable-gnu-indirect-function</code></dt>
  <dd><p>Define if you want to enable the <code>ifunc</code> attribute.  This option is
  currently only available on systems with GNU libc on certain targets.
  </p>
  </dd>
! <dt><code>--enable-target-optspace</code></dt>
  <dd><p>Specify that target
  libraries should be optimized for code space instead of code speed.
  This is the default for the m32r platform.
  </p>
  </dd>
! <dt><code>--with-cpp-install-dir=<var>dirname</var></code></dt>
  <dd><p>Specify that the user visible <code>cpp</code> program should be installed
  in <samp><var>prefix</var>/<var>dirname</var>/cpp</samp>, in addition to <var>bindir</var>.
  </p>
  </dd>
! <dt><code>--enable-comdat</code></dt>
  <dd><p>Enable COMDAT group support.  This is primarily used to override the
  automatically detected value.
  </p>
  </dd>
! <dt><code>--enable-initfini-array</code></dt>
  <dd><p>Force the use of sections <code>.init_array</code> and <code>.fini_array</code>
  (instead of <code>.init</code> and <code>.fini</code>) for constructors and
  destructors.  Option <samp>--disable-initfini-array</samp> has the
*************** will try to guess whether the <code>.ini
*** 1122,1134 ****
  <code>.fini_array</code> sections are supported and, if they are, use them.
  </p>
  </dd>
! <dt><span><code>--enable-link-mutex</code></span></dt>
  <dd><p>When building GCC, use a mutex to avoid linking the compilers for
  multiple languages at the same time, to avoid thrashing on build
  systems with limited free memory.  The default is not to use such a mutex.
  </p>
  </dd>
! <dt><span><code>--enable-link-serialization</code></span></dt>
  <dd><p>When building GCC, use make dependencies to serialize linking the compilers for
  multiple languages, to avoid thrashing on build
  systems with limited free memory.  The default is not to add such
--- 1131,1143 ----
  <code>.fini_array</code> sections are supported and, if they are, use them.
  </p>
  </dd>
! <dt><code>--enable-link-mutex</code></dt>
  <dd><p>When building GCC, use a mutex to avoid linking the compilers for
  multiple languages at the same time, to avoid thrashing on build
  systems with limited free memory.  The default is not to use such a mutex.
  </p>
  </dd>
! <dt><code>--enable-link-serialization</code></dt>
  <dd><p>When building GCC, use make dependencies to serialize linking the compilers for
  multiple languages, to avoid thrashing on build
  systems with limited free memory.  The default is not to add such
*************** compilers concurrently.  If the argument
*** 1137,1143 ****
  that number of concurrent link processes for the large binaries.
  </p>
  </dd>
! <dt><span><code>--enable-maintainer-mode</code></span></dt>
  <dd><p>The build rules that regenerate the Autoconf and Automake output files as
  well as the GCC master message catalog <samp>gcc.pot</samp> are normally
  disabled.  This is because it can only be rebuilt if the complete source
--- 1146,1152 ----
  that number of concurrent link processes for the large binaries.
  </p>
  </dd>
! <dt><code>--enable-maintainer-mode</code></dt>
  <dd><p>The build rules that regenerate the Autoconf and Automake output files as
  well as the GCC master message catalog <samp>gcc.pot</samp> are normally
  disabled.  This is because it can only be rebuilt if the complete source
*************** this.  Note that you need a recent versi
*** 1147,1160 ****
  to do so.
  </p>
  </dd>
! <dt><span><code>--disable-bootstrap</code></span></dt>
  <dd><p>For a native build, the default configuration is to perform
  a 3-stage bootstrap of the compiler when &lsquo;<samp>make</samp>&rsquo; is invoked,
  testing that GCC can compile itself correctly.  If you want to disable
  this process, you can configure with <samp>--disable-bootstrap</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-bootstrap</code></span></dt>
  <dd><p>In special cases, you may want to perform a 3-stage build
  even if the target and host triplets are different.
  This is possible when the host can run code compiled for
--- 1156,1169 ----
  to do so.
  </p>
  </dd>
! <dt><code>--disable-bootstrap</code></dt>
  <dd><p>For a native build, the default configuration is to perform
  a 3-stage bootstrap of the compiler when &lsquo;<samp>make</samp>&rsquo; is invoked,
  testing that GCC can compile itself correctly.  If you want to disable
  this process, you can configure with <samp>--disable-bootstrap</samp>.
  </p>
  </dd>
! <dt><code>--enable-bootstrap</code></dt>
  <dd><p>In special cases, you may want to perform a 3-stage build
  even if the target and host triplets are different.
  This is possible when the host can run code compiled for
*************** Starting from GCC 4.2, to do this you ha
*** 1163,1169 ****
  with <samp>--enable-bootstrap</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-generated-files-in-srcdir</code></span></dt>
  <dd><p>Neither the .c and .h files that are generated from Bison and flex nor the
  info manuals and man pages that are built from the .texi files are present
  in the repository development tree.  When building GCC from that development tree,
--- 1172,1178 ----
  with <samp>--enable-bootstrap</samp>.
  </p>
  </dd>
! <dt><code>--enable-generated-files-in-srcdir</code></dt>
  <dd><p>Neither the .c and .h files that are generated from Bison and flex nor the
  info manuals and man pages that are built from the .texi files are present
  in the repository development tree.  When building GCC from that development tree,
*************** is not a requirement that the users of s
*** 1178,1184 ****
  or makeinfo.
  </p>
  </dd>
! <dt><span><code>--enable-version-specific-runtime-libs</code></span></dt>
  <dd><p>Specify
  that runtime libraries should be installed in the compiler specific
  subdirectory (<samp><var>libdir</var>/gcc</samp>) rather than the usual places.  In
--- 1187,1193 ----
  or makeinfo.
  </p>
  </dd>
! <dt><code>--enable-version-specific-runtime-libs</code></dt>
  <dd><p>Specify
  that runtime libraries should be installed in the compiler specific
  subdirectory (<samp><var>libdir</var>/gcc</samp>) rather than the usual places.  In
*************** parallel.  The default is &lsquo;<samp>y
*** 1190,1196 ****
  the remaining libraries.
  </p>
  </dd>
! <dt><span><code><span id="WithAixSoname"></span>--with-aix-soname=&lsquo;<samp>aix</samp>&rsquo;, &lsquo;<samp>svr4</samp>&rsquo; or &lsquo;<samp>both</samp>&rsquo;</code></span></dt>
  <dd><p>Traditional AIX shared library versioning (versioned <code>Shared Object</code>
  files as members of unversioned <code>Archive Library</code> files named
  &lsquo;<samp>lib.a</samp>&rsquo;) causes numerous headaches for package managers. However,
--- 1199,1205 ----
  the remaining libraries.
  </p>
  </dd>
! <dt><code><a name="WithAixSoname"></a>--with-aix-soname=&lsquo;<samp>aix</samp>&rsquo;, &lsquo;<samp>svr4</samp>&rsquo; or &lsquo;<samp>both</samp>&rsquo;</code></dt>
  <dd><p>Traditional AIX shared library versioning (versioned <code>Shared Object</code>
  files as members of unversioned <code>Archive Library</code> files named
  &lsquo;<samp>lib.a</samp>&rsquo;) causes numerous headaches for package managers. However,
*************** where this is called the &quot;SONAME&qu
*** 1201,1214 ****
  linker does search for &lsquo;<samp>libNAME.so</samp>&rsquo; before &lsquo;<samp>libNAME.a</samp>&rsquo; library
  filenames with the &lsquo;<samp>-lNAME</samp>&rsquo; linker flag.
  </p>
! <span id="AixLdCommand"></span><p>For detailed information please refer to the AIX
  <a href="https://www.ibm.com/support/knowledgecenter/search/%22the%20ld%20command%2C%20also%20called%20the%20linkage%20editor%20or%20binder%22">ld
  Command</a> reference.
  </p>
  <p>As long as shared library creation is enabled, upon:
  </p><dl compact="compact">
! <dt><span><code>--with-aix-soname=aix</code></span></dt>
! <dt><span><code>--with-aix-soname=both</code></span></dt>
  <dd><p>A (traditional AIX) <code>Shared Archive Library</code> file is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.a</samp>&rsquo; filename scheme
--- 1210,1223 ----
  linker does search for &lsquo;<samp>libNAME.so</samp>&rsquo; before &lsquo;<samp>libNAME.a</samp>&rsquo; library
  filenames with the &lsquo;<samp>-lNAME</samp>&rsquo; linker flag.
  </p>
! <a name="AixLdCommand"></a><p>For detailed information please refer to the AIX
  <a href="https://www.ibm.com/support/knowledgecenter/search/%22the%20ld%20command%2C%20also%20called%20the%20linkage%20editor%20or%20binder%22">ld
  Command</a> reference.
  </p>
  <p>As long as shared library creation is enabled, upon:
  </p><dl compact="compact">
! <dt><code>--with-aix-soname=aix</code></dt>
! <dt><code>--with-aix-soname=both</code></dt>
  <dd><p>A (traditional AIX) <code>Shared Archive Library</code> file is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.a</samp>&rsquo; filename scheme
*************** Command</a> reference.
*** 1225,1232 ****
    </li></ul>
  </li></ul>
  </dd>
! <dt><span><code>--with-aix-soname=both</code></span></dt>
! <dt><span><code>--with-aix-soname=svr4</code></span></dt>
  <dd><p>A (second) <code>Shared Archive Library</code> file is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.so.V</samp>&rsquo; filename scheme
--- 1234,1241 ----
    </li></ul>
  </li></ul>
  </dd>
! <dt><code>--with-aix-soname=both</code></dt>
! <dt><code>--with-aix-soname=svr4</code></dt>
  <dd><p>A (second) <code>Shared Archive Library</code> file is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.so.V</samp>&rsquo; filename scheme
*************** Command</a> reference.
*** 1264,1270 ****
  
  <p>As long as static library creation is enabled, upon:
  </p><dl compact="compact">
! <dt><span><code>--with-aix-soname=svr4</code></span></dt>
  <dd><p>A <code>Static Archive Library</code> is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.a</samp>&rsquo; filename scheme
--- 1273,1279 ----
  
  <p>As long as static library creation is enabled, upon:
  </p><dl compact="compact">
! <dt><code>--with-aix-soname=svr4</code></dt>
  <dd><p>A <code>Static Archive Library</code> is created:
   </p><ul>
  <li> using the &lsquo;<samp>libNAME.a</samp>&rsquo; filename scheme
*************** this option is still experimental and no
*** 1296,1308 ****
  <p>Default is the traditional behavior <samp>--with-aix-soname=&lsquo;<samp>aix</samp>&rsquo;</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-languages=<var>lang1</var>,<var>lang2</var>,&hellip;</code></span></dt>
  <dd><p>Specify that only a particular subset of compilers and
  their runtime libraries should be built.  For a list of valid values for
  <var>langN</var> you can issue the following command in the
  <samp>gcc</samp> directory of your GCC source tree:<br>
! </p><div class="example">
! <pre class="example">grep ^language= */config-lang.in
  </pre></div>
  <p>Currently, you can use any of the following:
  <code>all</code>, <code>default</code>, <code>ada</code>, <code>c</code>, <code>c++</code>, <code>d</code>,
--- 1305,1317 ----
  <p>Default is the traditional behavior <samp>--with-aix-soname=&lsquo;<samp>aix</samp>&rsquo;</samp>.
  </p>
  </dd>
! <dt><code>--enable-languages=<var>lang1</var>,<var>lang2</var>,&hellip;</code></dt>
  <dd><p>Specify that only a particular subset of compilers and
  their runtime libraries should be built.  For a list of valid values for
  <var>langN</var> you can issue the following command in the
  <samp>gcc</samp> directory of your GCC source tree:<br>
! </p><div class="smallexample">
! <pre class="smallexample">grep ^language= */config-lang.in
  </pre></div>
  <p>Currently, you can use any of the following:
  <code>all</code>, <code>default</code>, <code>ada</code>, <code>c</code>, <code>c++</code>, <code>d</code>,
*************** exception is <code>jit</code> language,
*** 1318,1324 ****
  <samp>--enable-host-shared</samp> to be included with <code>all</code>.
  </p>
  </dd>
! <dt><span><code>--enable-stage1-languages=<var>lang1</var>,<var>lang2</var>,&hellip;</code></span></dt>
  <dd><p>Specify that a particular subset of compilers and their runtime
  libraries should be built with the system C compiler during stage 1 of
  the bootstrap process, rather than only in later stages with the
--- 1327,1333 ----
  <samp>--enable-host-shared</samp> to be included with <code>all</code>.
  </p>
  </dd>
! <dt><code>--enable-stage1-languages=<var>lang1</var>,<var>lang2</var>,&hellip;</code></dt>
  <dd><p>Specify that a particular subset of compilers and their runtime
  libraries should be built with the system C compiler during stage 1 of
  the bootstrap process, rather than only in later stages with the
*************** stage1-bubble all-target</code>, or run
*** 1334,1385 ****
  for the specified languages using <code>make stage1-start check-gcc</code>.
  </p>
  </dd>
! <dt><span><code>--disable-libada</code></span></dt>
  <dd><p>Specify that the run-time libraries and tools used by GNAT should not
  be built.  This can be useful for debugging, or for compatibility with
  previous Ada build procedures, when it was required to explicitly
  do a &lsquo;<samp>make -C gcc gnatlib_and_tools</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--disable-libsanitizer</code></span></dt>
  <dd><p>Specify that the run-time libraries for the various sanitizers should
  not be built.
  </p>
  </dd>
! <dt><span><code>--disable-libssp</code></span></dt>
  <dd><p>Specify that the run-time libraries for stack smashing protection
  should not be built or linked against.  On many targets library support
  is provided by the C library instead.
  </p>
  </dd>
! <dt><span><code>--disable-libquadmath</code></span></dt>
  <dd><p>Specify that the GCC quad-precision math library should not be built.
  On some systems, the library is required to be linkable when building
  the Fortran front end, unless <samp>--disable-libquadmath-support</samp>
  is used.
  </p>
  </dd>
! <dt><span><code>--disable-libquadmath-support</code></span></dt>
  <dd><p>Specify that the Fortran front end and <code>libgfortran</code> do not add
  support for <code>libquadmath</code> on systems supporting it.
  </p>
  </dd>
! <dt><span><code>--disable-libgomp</code></span></dt>
  <dd><p>Specify that the GNU Offloading and Multi Processing Runtime Library
  should not be built.
  </p>
  </dd>
! <dt><span><code>--disable-libvtv</code></span></dt>
  <dd><p>Specify that the run-time libraries used by vtable verification
  should not be built.
  </p>
  </dd>
! <dt><span><code>--with-dwarf2</code></span></dt>
  <dd><p>Specify that the compiler should
  use DWARF 2 debugging information as the default.
  </p>
  </dd>
! <dt><span><code>--with-advance-toolchain=<var>at</var></code></span></dt>
  <dd><p>On 64-bit PowerPC Linux systems, configure the compiler to use the
  header files, library files, and the dynamic linker from the Advance
  Toolchain release <var>at</var> instead of the default versions that are
--- 1343,1394 ----
  for the specified languages using <code>make stage1-start check-gcc</code>.
  </p>
  </dd>
! <dt><code>--disable-libada</code></dt>
  <dd><p>Specify that the run-time libraries and tools used by GNAT should not
  be built.  This can be useful for debugging, or for compatibility with
  previous Ada build procedures, when it was required to explicitly
  do a &lsquo;<samp>make -C gcc gnatlib_and_tools</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--disable-libsanitizer</code></dt>
  <dd><p>Specify that the run-time libraries for the various sanitizers should
  not be built.
  </p>
  </dd>
! <dt><code>--disable-libssp</code></dt>
  <dd><p>Specify that the run-time libraries for stack smashing protection
  should not be built or linked against.  On many targets library support
  is provided by the C library instead.
  </p>
  </dd>
! <dt><code>--disable-libquadmath</code></dt>
  <dd><p>Specify that the GCC quad-precision math library should not be built.
  On some systems, the library is required to be linkable when building
  the Fortran front end, unless <samp>--disable-libquadmath-support</samp>
  is used.
  </p>
  </dd>
! <dt><code>--disable-libquadmath-support</code></dt>
  <dd><p>Specify that the Fortran front end and <code>libgfortran</code> do not add
  support for <code>libquadmath</code> on systems supporting it.
  </p>
  </dd>
! <dt><code>--disable-libgomp</code></dt>
  <dd><p>Specify that the GNU Offloading and Multi Processing Runtime Library
  should not be built.
  </p>
  </dd>
! <dt><code>--disable-libvtv</code></dt>
  <dd><p>Specify that the run-time libraries used by vtable verification
  should not be built.
  </p>
  </dd>
! <dt><code>--with-dwarf2</code></dt>
  <dd><p>Specify that the compiler should
  use DWARF 2 debugging information as the default.
  </p>
  </dd>
! <dt><code>--with-advance-toolchain=<var>at</var></code></dt>
  <dd><p>On 64-bit PowerPC Linux systems, configure the compiler to use the
  header files, library files, and the dynamic linker from the Advance
  Toolchain release <var>at</var> instead of the default versions that are
*************** intended for the developers of GCC, and
*** 1388,1395 ****
  use.
  </p>
  </dd>
! <dt><span><code>--enable-targets=all</code></span></dt>
! <dt><span><code>--enable-targets=<var>target_list</var></code></span></dt>
  <dd><p>Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers.
  These are compilers that are able to generate either 64-bit or 32-bit
  code.  Typically, the corresponding 32-bit target, e.g.
--- 1397,1404 ----
  use.
  </p>
  </dd>
! <dt><code>--enable-targets=all</code></dt>
! <dt><code>--enable-targets=<var>target_list</var></code></dt>
  <dd><p>Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers.
  These are compilers that are able to generate either 64-bit or 32-bit
  code.  Typically, the corresponding 32-bit target, e.g.
*************** Currently, this option only affects spar
*** 1403,1427 ****
  mips-linux and s390-linux.
  </p>
  </dd>
! <dt><span><code>--enable-default-pie</code></span></dt>
  <dd><p>Turn on <samp>-fPIE</samp> and <samp>-pie</samp> by default.
  </p>
  </dd>
! <dt><span><code>--enable-secureplt</code></span></dt>
  <dd><p>This option enables <samp>-msecure-plt</samp> by default for powerpc-linux.
  See &ldquo;RS/6000 and PowerPC Options&rdquo; in the main manual
  </p>
  </dd>
! <dt><span><code>--enable-default-ssp</code></span></dt>
  <dd><p>Turn on <samp>-fstack-protector-strong</samp> by default.
  </p>
  </dd>
! <dt><span><code>--enable-cld</code></span></dt>
  <dd><p>This option enables <samp>-mcld</samp> by default for 32-bit x86 targets.
  See &ldquo;i386 and x86-64 Options&rdquo; in the main manual
  </p>
  </dd>
! <dt><span><code>--enable-large-address-aware</code></span></dt>
  <dd><p>The <samp>--enable-large-address-aware</samp> option arranges for MinGW
  executables to be linked using the <samp>--large-address-aware</samp>
  option, that enables the use of more than 2GB of memory.  If GCC is
--- 1412,1436 ----
  mips-linux and s390-linux.
  </p>
  </dd>
! <dt><code>--enable-default-pie</code></dt>
  <dd><p>Turn on <samp>-fPIE</samp> and <samp>-pie</samp> by default.
  </p>
  </dd>
! <dt><code>--enable-secureplt</code></dt>
  <dd><p>This option enables <samp>-msecure-plt</samp> by default for powerpc-linux.
  See &ldquo;RS/6000 and PowerPC Options&rdquo; in the main manual
  </p>
  </dd>
! <dt><code>--enable-default-ssp</code></dt>
  <dd><p>Turn on <samp>-fstack-protector-strong</samp> by default.
  </p>
  </dd>
! <dt><code>--enable-cld</code></dt>
  <dd><p>This option enables <samp>-mcld</samp> by default for 32-bit x86 targets.
  See &ldquo;i386 and x86-64 Options&rdquo; in the main manual
  </p>
  </dd>
! <dt><code>--enable-large-address-aware</code></dt>
  <dd><p>The <samp>--enable-large-address-aware</samp> option arranges for MinGW
  executables to be linked using the <samp>--large-address-aware</samp>
  option, that enables the use of more than 2GB of memory.  If GCC is
*************** configured with this option, its effects
*** 1430,1443 ****
  compiler driver.
  </p>
  </dd>
! <dt><span><code>--enable-win32-registry</code></span></dt>
! <dt><span><code>--enable-win32-registry=<var>key</var></code></span></dt>
! <dt><span><code>--disable-win32-registry</code></span></dt>
  <dd><p>The <samp>--enable-win32-registry</samp> option enables Microsoft Windows-hosted GCC
  to look up installations paths in the registry using the following key:
  </p>
! <div class="example">
! <pre class="example"><code>HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\<var>key</var></code>
  </pre></div>
  
  <p><var>key</var> defaults to GCC version number, and can be overridden by the
--- 1439,1452 ----
  compiler driver.
  </p>
  </dd>
! <dt><code>--enable-win32-registry</code></dt>
! <dt><code>--enable-win32-registry=<var>key</var></code></dt>
! <dt><code>--disable-win32-registry</code></dt>
  <dd><p>The <samp>--enable-win32-registry</samp> option enables Microsoft Windows-hosted GCC
  to look up installations paths in the registry using the following key:
  </p>
! <div class="smallexample">
! <pre class="smallexample"><code>HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\<var>key</var></code>
  </pre></div>
  
  <p><var>key</var> defaults to GCC version number, and can be overridden by the
*************** by default, and can be disabled by <samp
*** 1449,1464 ****
  option.  This option has no effect on the other hosts.
  </p>
  </dd>
! <dt><span><code>--nfp</code></span></dt>
  <dd><p>Specify that the machine does not have a floating point unit.  This
  option only applies to &lsquo;<samp>m68k-sun-sunos<var>n</var></samp>&rsquo;.  On any other
  system, <samp>--nfp</samp> has no effect.
  </p>
  </dd>
! <dt><span><code>--enable-werror</code></span></dt>
! <dt><span><code>--disable-werror</code></span></dt>
! <dt><span><code>--enable-werror=yes</code></span></dt>
! <dt><span><code>--enable-werror=no</code></span></dt>
  <dd><p>When you specify this option, it controls whether certain files in the
  compiler are built with <samp>-Werror</samp> in bootstrap stage2 and later.
  If you don&rsquo;t specify it, <samp>-Werror</samp> is turned on for the main
--- 1458,1473 ----
  option.  This option has no effect on the other hosts.
  </p>
  </dd>
! <dt><code>--nfp</code></dt>
  <dd><p>Specify that the machine does not have a floating point unit.  This
  option only applies to &lsquo;<samp>m68k-sun-sunos<var>n</var></samp>&rsquo;.  On any other
  system, <samp>--nfp</samp> has no effect.
  </p>
  </dd>
! <dt><code>--enable-werror</code></dt>
! <dt><code>--disable-werror</code></dt>
! <dt><code>--enable-werror=yes</code></dt>
! <dt><code>--enable-werror=no</code></dt>
  <dd><p>When you specify this option, it controls whether certain files in the
  compiler are built with <samp>-Werror</samp> in bootstrap stage2 and later.
  If you don&rsquo;t specify it, <samp>-Werror</samp> is turned on for the main
*************** final releases.  The specific files whic
*** 1467,1475 ****
  controlled by the Makefiles.
  </p>
  </dd>
! <dt><span><code>--enable-checking</code></span></dt>
! <dt><span><code>--disable-checking</code></span></dt>
! <dt><span><code>--enable-checking=<var>list</var></code></span></dt>
  <dd><p>This option controls performing internal consistency checks in the compiler.
  It does not change the generated code, but adds error checking of the
  requested complexity.  This slows down the compiler and may only work
--- 1476,1484 ----
  controlled by the Makefiles.
  </p>
  </dd>
! <dt><code>--enable-checking</code></dt>
! <dt><code>--disable-checking</code></dt>
! <dt><code>--enable-checking=<var>list</var></code></dt>
  <dd><p>This option controls performing internal consistency checks in the compiler.
  It does not change the generated code, but adds error checking of the
  requested complexity.  This slows down the compiler and may only work
*************** expensive and the &lsquo;<samp>df</samp>
*** 1507,1515 ****
  expensive.
  </p>
  </dd>
! <dt><span><code>--disable-stage1-checking</code></span></dt>
! <dt><span><code>--enable-stage1-checking</code></span></dt>
! <dt><span><code>--enable-stage1-checking=<var>list</var></code></span></dt>
  <dd><p>This option affects only bootstrap build.  If no <samp>--enable-checking</samp>
  option is specified the stage1 compiler is built with &lsquo;<samp>yes</samp>&rsquo; checking
  enabled, otherwise the stage1 checking flags are the same as specified by
--- 1516,1524 ----
  expensive.
  </p>
  </dd>
! <dt><code>--disable-stage1-checking</code></dt>
! <dt><code>--enable-stage1-checking</code></dt>
! <dt><code>--enable-stage1-checking=<var>list</var></code></dt>
  <dd><p>This option affects only bootstrap build.  If no <samp>--enable-checking</samp>
  option is specified the stage1 compiler is built with &lsquo;<samp>yes</samp>&rsquo; checking
  enabled, otherwise the stage1 checking flags are the same as specified by
*************** with checking for stage1 enabled, you ca
*** 1521,1528 ****
  to disable checking for the stage1 compiler.
  </p>
  </dd>
! <dt><span><code>--enable-coverage</code></span></dt>
! <dt><span><code>--enable-coverage=<var>level</var></code></span></dt>
  <dd><p>With this option, the compiler is built to collect self coverage
  information, every time it is run.  This is for internal development
  purposes, and only works when the compiler is being built with gcc.  The
--- 1530,1537 ----
  to disable checking for the stage1 compiler.
  </p>
  </dd>
! <dt><code>--enable-coverage</code></dt>
! <dt><code>--enable-coverage=<var>level</var></code></dt>
  <dd><p>With this option, the compiler is built to collect self coverage
  information, every time it is run.  This is for internal development
  purposes, and only works when the compiler is being built with gcc.  The
*************** enable optimization.  When coverage is e
*** 1533,1563 ****
  without optimization.
  </p>
  </dd>
! <dt><span><code>--enable-gather-detailed-mem-stats</code></span></dt>
  <dd><p>When this option is specified more detailed information on memory
  allocation is gathered.  This information is printed when using
  <samp>-fmem-report</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-valgrind-annotations</code></span></dt>
  <dd><p>Mark selected memory related operations in the compiler when run under
  valgrind to suppress false positives.
  </p>
  </dd>
! <dt><span><code>--enable-nls</code></span></dt>
! <dt><span><code>--disable-nls</code></span></dt>
  <dd><p>The <samp>--enable-nls</samp> option enables Native Language Support (NLS),
  which lets GCC output diagnostics in languages other than American
  English.  Native Language Support is enabled by default if not doing a
  canadian cross build.  The <samp>--disable-nls</samp> option disables NLS.
  </p>
  </dd>
! <dt><span><code>--with-included-gettext</code></span></dt>
  <dd><p>If NLS is enabled, the <samp>--with-included-gettext</samp> option causes the build
  procedure to prefer its copy of GNU <code>gettext</code>.
  </p>
  </dd>
! <dt><span><code>--with-catgets</code></span></dt>
  <dd><p>If NLS is enabled, and if the host lacks <code>gettext</code> but has the
  inferior <code>catgets</code> interface, the GCC build procedure normally
  ignores <code>catgets</code> and instead uses GCC&rsquo;s copy of the GNU
--- 1542,1572 ----
  without optimization.
  </p>
  </dd>
! <dt><code>--enable-gather-detailed-mem-stats</code></dt>
  <dd><p>When this option is specified more detailed information on memory
  allocation is gathered.  This information is printed when using
  <samp>-fmem-report</samp>.
  </p>
  </dd>
! <dt><code>--enable-valgrind-annotations</code></dt>
  <dd><p>Mark selected memory related operations in the compiler when run under
  valgrind to suppress false positives.
  </p>
  </dd>
! <dt><code>--enable-nls</code></dt>
! <dt><code>--disable-nls</code></dt>
  <dd><p>The <samp>--enable-nls</samp> option enables Native Language Support (NLS),
  which lets GCC output diagnostics in languages other than American
  English.  Native Language Support is enabled by default if not doing a
  canadian cross build.  The <samp>--disable-nls</samp> option disables NLS.
  </p>
  </dd>
! <dt><code>--with-included-gettext</code></dt>
  <dd><p>If NLS is enabled, the <samp>--with-included-gettext</samp> option causes the build
  procedure to prefer its copy of GNU <code>gettext</code>.
  </p>
  </dd>
! <dt><code>--with-catgets</code></dt>
  <dd><p>If NLS is enabled, and if the host lacks <code>gettext</code> but has the
  inferior <code>catgets</code> interface, the GCC build procedure normally
  ignores <code>catgets</code> and instead uses GCC&rsquo;s copy of the GNU
*************** ignores <code>catgets</code> and instead
*** 1565,1576 ****
  build procedure to use the host&rsquo;s <code>catgets</code> in this situation.
  </p>
  </dd>
! <dt><span><code>--with-libiconv-prefix=<var>dir</var></code></span></dt>
  <dd><p>Search for libiconv header files in <samp><var>dir</var>/include</samp> and
  libiconv library files in <samp><var>dir</var>/lib</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-obsolete</code></span></dt>
  <dd><p>Enable configuration for an obsoleted system.  If you attempt to
  configure GCC for a system (build, host, or target) which has been
  obsoleted, and you do not specify this flag, configure will halt with an
--- 1574,1585 ----
  build procedure to use the host&rsquo;s <code>catgets</code> in this situation.
  </p>
  </dd>
! <dt><code>--with-libiconv-prefix=<var>dir</var></code></dt>
  <dd><p>Search for libiconv header files in <samp><var>dir</var>/include</samp> and
  libiconv library files in <samp><var>dir</var>/lib</samp>.
  </p>
  </dd>
! <dt><code>--enable-obsolete</code></dt>
  <dd><p>Enable configuration for an obsoleted system.  If you attempt to
  configure GCC for a system (build, host, or target) which has been
  obsoleted, and you do not specify this flag, configure will halt with an
*************** is removed entirely in the next major re
*** 1581,1592 ****
  forward to maintain the port.
  </p>
  </dd>
! <dt><span><code>--enable-decimal-float</code></span></dt>
! <dt><span><code>--enable-decimal-float=yes</code></span></dt>
! <dt><span><code>--enable-decimal-float=no</code></span></dt>
! <dt><span><code>--enable-decimal-float=bid</code></span></dt>
! <dt><span><code>--enable-decimal-float=dpd</code></span></dt>
! <dt><span><code>--disable-decimal-float</code></span></dt>
  <dd><p>Enable (or disable) support for the C decimal floating point extension
  that is in the IEEE 754-2008 standard.  This is enabled by default only
  on PowerPC, i386, and x86_64 GNU/Linux systems.  Other systems may also
--- 1590,1601 ----
  forward to maintain the port.
  </p>
  </dd>
! <dt><code>--enable-decimal-float</code></dt>
! <dt><code>--enable-decimal-float=yes</code></dt>
! <dt><code>--enable-decimal-float=no</code></dt>
! <dt><code>--enable-decimal-float=bid</code></dt>
! <dt><code>--enable-decimal-float=dpd</code></dt>
! <dt><code>--disable-decimal-float</code></dt>
  <dd><p>Enable (or disable) support for the C decimal floating point extension
  that is in the IEEE 754-2008 standard.  This is enabled by default only
  on PowerPC, i386, and x86_64 GNU/Linux systems.  Other systems may also
*************** format is default on i386 and x86_64 sys
*** 1597,1611 ****
  (densely packed decimal) format is default on PowerPC systems.
  </p>
  </dd>
! <dt><span><code>--enable-fixed-point</code></span></dt>
! <dt><span><code>--disable-fixed-point</code></span></dt>
  <dd><p>Enable (or disable) support for C fixed-point arithmetic.
  This option is enabled by default for some targets (such as MIPS) which
  have hardware-support for fixed-point operations.  On other targets, you
  may enable this option manually.
  </p>
  </dd>
! <dt><span><code>--with-long-double-128</code></span></dt>
  <dd><p>Specify if <code>long double</code> type should be 128-bit by default on selected
  GNU/Linux architectures.  If using <code>--without-long-double-128</code>,
  <code>long double</code> will be by default 64-bit, the same as <code>double</code> type.
--- 1606,1620 ----
  (densely packed decimal) format is default on PowerPC systems.
  </p>
  </dd>
! <dt><code>--enable-fixed-point</code></dt>
! <dt><code>--disable-fixed-point</code></dt>
  <dd><p>Enable (or disable) support for C fixed-point arithmetic.
  This option is enabled by default for some targets (such as MIPS) which
  have hardware-support for fixed-point operations.  On other targets, you
  may enable this option manually.
  </p>
  </dd>
! <dt><code>--with-long-double-128</code></dt>
  <dd><p>Specify if <code>long double</code> type should be 128-bit by default on selected
  GNU/Linux architectures.  If using <code>--without-long-double-128</code>,
  <code>long double</code> will be by default 64-bit, the same as <code>double</code> type.
*************** When neither of these configure options
*** 1614,1621 ****
  64-bit <code>long double</code> otherwise.
  </p>
  </dd>
! <dt><span><code>--with-long-double-format=ibm</code></span></dt>
! <dt><span><code>--with-long-double-format=ieee</code></span></dt>
  <dd><p>Specify whether <code>long double</code> uses the IBM extended double format
  or the IEEE 128-bit floating point format on PowerPC Linux systems.
  This configuration switch will only work on little endian PowerPC
--- 1623,1630 ----
  64-bit <code>long double</code> otherwise.
  </p>
  </dd>
! <dt><code>--with-long-double-format=ibm</code></dt>
! <dt><code>--with-long-double-format=ieee</code></dt>
  <dd><p>Specify whether <code>long double</code> uses the IBM extended double format
  or the IEEE 128-bit floating point format on PowerPC Linux systems.
  This configuration switch will only work on little endian PowerPC
*************** the compiler using the <samp>--with-syst
*** 1644,1662 ****
  will be generated.
  </p>
  </dd>
! <dt><span><code>--enable-fdpic</code></span></dt>
  <dd><p>On SH Linux systems, generate ELF FDPIC code.
  </p>
  </dd>
! <dt><span><code>--with-gmp=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-gmp-include=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-gmp-lib=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpfr=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpfr-include=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpfr-lib=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpc=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpc-include=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-mpc-lib=<var>pathname</var></code></span></dt>
  <dd><p>If you want to build GCC but do not have the GMP library, the MPFR
  library and/or the MPC library installed in a standard location and
  do not have their sources present in the GCC source tree then you
--- 1653,1671 ----
  will be generated.
  </p>
  </dd>
! <dt><code>--enable-fdpic</code></dt>
  <dd><p>On SH Linux systems, generate ELF FDPIC code.
  </p>
  </dd>
! <dt><code>--with-gmp=<var>pathname</var></code></dt>
! <dt><code>--with-gmp-include=<var>pathname</var></code></dt>
! <dt><code>--with-gmp-lib=<var>pathname</var></code></dt>
! <dt><code>--with-mpfr=<var>pathname</var></code></dt>
! <dt><code>--with-mpfr-include=<var>pathname</var></code></dt>
! <dt><code>--with-mpfr-lib=<var>pathname</var></code></dt>
! <dt><code>--with-mpc=<var>pathname</var></code></dt>
! <dt><code>--with-mpc-include=<var>pathname</var></code></dt>
! <dt><code>--with-mpc-lib=<var>pathname</var></code></dt>
  <dd><p>If you want to build GCC but do not have the GMP library, the MPFR
  library and/or the MPC library installed in a standard location and
  do not have their sources present in the GCC source tree then you
*************** variable (<code>LD_LIBRARY_PATH</code> o
*** 1683,1691 ****
  a cross compiler, they will not be used to configure target libraries.
  </p>
  </dd>
! <dt><span><code>--with-isl=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-isl-include=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-isl-lib=<var>pathname</var></code></span></dt>
  <dd><p>If you do not have the isl library installed in a standard location and you
  want to build GCC, you can explicitly specify the directory where it is
  installed (&lsquo;<samp>--with-isl=<var>islinstalldir</var></samp>&rsquo;). The
--- 1692,1700 ----
  a cross compiler, they will not be used to configure target libraries.
  </p>
  </dd>
! <dt><code>--with-isl=<var>pathname</var></code></dt>
! <dt><code>--with-isl-include=<var>pathname</var></code></dt>
! <dt><code>--with-isl-lib=<var>pathname</var></code></dt>
  <dd><p>If you do not have the isl library installed in a standard location and you
  want to build GCC, you can explicitly specify the directory where it is
  installed (&lsquo;<samp>--with-isl=<var>islinstalldir</var></samp>&rsquo;). The
*************** include and lib options directly.
*** 1699,1705 ****
  a cross compiler, they will not be used to configure target libraries.
  </p>
  </dd>
! <dt><span><code>--with-stage1-ldflags=<var>flags</var></code></span></dt>
  <dd><p>This option may be used to set linker flags to be used when linking
  stage 1 of GCC.  These are also used when linking GCC if configured with
  <samp>--disable-bootstrap</samp>.  If <samp>--with-stage1-libs</samp> is not set to a
--- 1708,1714 ----
  a cross compiler, they will not be used to configure target libraries.
  </p>
  </dd>
! <dt><code>--with-stage1-ldflags=<var>flags</var></code></dt>
  <dd><p>This option may be used to set linker flags to be used when linking
  stage 1 of GCC.  These are also used when linking GCC if configured with
  <samp>--disable-bootstrap</samp>.  If <samp>--with-stage1-libs</samp> is not set to a
*************** value, then the default is &lsquo;<samp>
*** 1707,1737 ****
  supported.
  </p>
  </dd>
! <dt><span><code>--with-stage1-libs=<var>libs</var></code></span></dt>
  <dd><p>This option may be used to set libraries to be used when linking stage 1
  of GCC.  These are also used when linking GCC if configured with
  <samp>--disable-bootstrap</samp>.
  </p>
  </dd>
! <dt><span><code>--with-boot-ldflags=<var>flags</var></code></span></dt>
  <dd><p>This option may be used to set linker flags to be used when linking
  stage 2 and later when bootstrapping GCC.  If &ndash;with-boot-libs
  is not is set to a value, then the default is
  &lsquo;<samp>-static-libstdc++ -static-libgcc</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--with-boot-libs=<var>libs</var></code></span></dt>
  <dd><p>This option may be used to set libraries to be used when linking stage 2
  and later when bootstrapping GCC.
  </p>
  </dd>
! <dt><span><code>--with-debug-prefix-map=<var>map</var></code></span></dt>
  <dd><p>Convert source directory names using <samp>-fdebug-prefix-map</samp> when
  building runtime libraries.  &lsquo;<samp><var>map</var></samp>&rsquo; is a space-separated
  list of maps of the form &lsquo;<samp><var>old</var>=<var>new</var></samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--enable-linker-build-id</code></span></dt>
  <dd><p>Tells GCC to pass <samp>--build-id</samp> option to the linker for all final
  links (links performed without the <samp>-r</samp> or <samp>--relocatable</samp>
  option), if the linker supports it.  If you specify
--- 1716,1746 ----
  supported.
  </p>
  </dd>
! <dt><code>--with-stage1-libs=<var>libs</var></code></dt>
  <dd><p>This option may be used to set libraries to be used when linking stage 1
  of GCC.  These are also used when linking GCC if configured with
  <samp>--disable-bootstrap</samp>.
  </p>
  </dd>
! <dt><code>--with-boot-ldflags=<var>flags</var></code></dt>
  <dd><p>This option may be used to set linker flags to be used when linking
  stage 2 and later when bootstrapping GCC.  If &ndash;with-boot-libs
  is not is set to a value, then the default is
  &lsquo;<samp>-static-libstdc++ -static-libgcc</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--with-boot-libs=<var>libs</var></code></dt>
  <dd><p>This option may be used to set libraries to be used when linking stage 2
  and later when bootstrapping GCC.
  </p>
  </dd>
! <dt><code>--with-debug-prefix-map=<var>map</var></code></dt>
  <dd><p>Convert source directory names using <samp>-fdebug-prefix-map</samp> when
  building runtime libraries.  &lsquo;<samp><var>map</var></samp>&rsquo; is a space-separated
  list of maps of the form &lsquo;<samp><var>old</var>=<var>new</var></samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--enable-linker-build-id</code></dt>
  <dd><p>Tells GCC to pass <samp>--build-id</samp> option to the linker for all final
  links (links performed without the <samp>-r</samp> or <samp>--relocatable</samp>
  option), if the linker supports it.  If you specify
*************** support <samp>--build-id</samp> option,
*** 1740,1760 ****
  <samp>--enable-linker-build-id</samp> option is ignored.  The default is off.
  </p>
  </dd>
! <dt><span><code>--with-linker-hash-style=<var>choice</var></code></span></dt>
  <dd><p>Tells GCC to pass <samp>--hash-style=<var>choice</var></samp> option to the
  linker for all final links. <var>choice</var> can be one of
  &lsquo;<samp>sysv</samp>&rsquo;, &lsquo;<samp>gnu</samp>&rsquo;, and &lsquo;<samp>both</samp>&rsquo; where &lsquo;<samp>sysv</samp>&rsquo; is the default.
  </p>
  </dd>
! <dt><span><code>--enable-gnu-unique-object</code></span></dt>
! <dt><span><code>--disable-gnu-unique-object</code></span></dt>
  <dd><p>Tells GCC to use the gnu_unique_object relocation for C++ template
  static data members and inline function local statics.  Enabled by
  default for a toolchain with an assembler that accepts it and
  GLIBC 2.11 or above, otherwise disabled.
  </p>
  </dd>
! <dt><span><code>--with-diagnostics-color=<var>choice</var></code></span></dt>
  <dd><p>Tells GCC to use <var>choice</var> as the default for <samp>-fdiagnostics-color=</samp>
  option (if not used explicitly on the command line).  <var>choice</var>
  can be one of &lsquo;<samp>never</samp>&rsquo;, &lsquo;<samp>auto</samp>&rsquo;, &lsquo;<samp>always</samp>&rsquo;, and &lsquo;<samp>auto-if-env</samp>&rsquo;
--- 1749,1769 ----
  <samp>--enable-linker-build-id</samp> option is ignored.  The default is off.
  </p>
  </dd>
! <dt><code>--with-linker-hash-style=<var>choice</var></code></dt>
  <dd><p>Tells GCC to pass <samp>--hash-style=<var>choice</var></samp> option to the
  linker for all final links. <var>choice</var> can be one of
  &lsquo;<samp>sysv</samp>&rsquo;, &lsquo;<samp>gnu</samp>&rsquo;, and &lsquo;<samp>both</samp>&rsquo; where &lsquo;<samp>sysv</samp>&rsquo; is the default.
  </p>
  </dd>
! <dt><code>--enable-gnu-unique-object</code></dt>
! <dt><code>--disable-gnu-unique-object</code></dt>
  <dd><p>Tells GCC to use the gnu_unique_object relocation for C++ template
  static data members and inline function local statics.  Enabled by
  default for a toolchain with an assembler that accepts it and
  GLIBC 2.11 or above, otherwise disabled.
  </p>
  </dd>
! <dt><code>--with-diagnostics-color=<var>choice</var></code></dt>
  <dd><p>Tells GCC to use <var>choice</var> as the default for <samp>-fdiagnostics-color=</samp>
  option (if not used explicitly on the command line).  <var>choice</var>
  can be one of &lsquo;<samp>never</samp>&rsquo;, &lsquo;<samp>auto</samp>&rsquo;, &lsquo;<samp>always</samp>&rsquo;, and &lsquo;<samp>auto-if-env</samp>&rsquo;
*************** is present and non-empty in the environm
*** 1764,1770 ****
  <samp>-fdiagnostics-color=never</samp> otherwise.
  </p>
  </dd>
! <dt><span><code>--with-diagnostics-urls=<var>choice</var></code></span></dt>
  <dd><p>Tells GCC to use <var>choice</var> as the default for <samp>-fdiagnostics-urls=</samp>
  option (if not used explicitly on the command line).  <var>choice</var>
  can be one of &lsquo;<samp>never</samp>&rsquo;, &lsquo;<samp>auto</samp>&rsquo;, &lsquo;<samp>always</samp>&rsquo;, and &lsquo;<samp>auto-if-env</samp>&rsquo;
--- 1773,1779 ----
  <samp>-fdiagnostics-color=never</samp> otherwise.
  </p>
  </dd>
! <dt><code>--with-diagnostics-urls=<var>choice</var></code></dt>
  <dd><p>Tells GCC to use <var>choice</var> as the default for <samp>-fdiagnostics-urls=</samp>
  option (if not used explicitly on the command line).  <var>choice</var>
  can be one of &lsquo;<samp>never</samp>&rsquo;, &lsquo;<samp>auto</samp>&rsquo;, &lsquo;<samp>always</samp>&rsquo;, and &lsquo;<samp>auto-if-env</samp>&rsquo;
*************** or <code>TERM_URLS</code> is present and
*** 1774,1787 ****
  compiler, and <samp>-fdiagnostics-urls=never</samp> otherwise.
  </p>
  </dd>
! <dt><span><code>--enable-lto</code></span></dt>
! <dt><span><code>--disable-lto</code></span></dt>
  <dd><p>Enable support for link-time optimization (LTO).  This is enabled by
  default, and may be disabled using <samp>--disable-lto</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-linker-plugin-configure-flags=FLAGS</code></span></dt>
! <dt><span><code>--enable-linker-plugin-flags=FLAGS</code></span></dt>
  <dd><p>By default, linker plugins (such as the LTO plugin) are built for the
  host system architecture.  For the case that the linker has a
  different (but run-time compatible) architecture, these flags can be
--- 1783,1796 ----
  compiler, and <samp>-fdiagnostics-urls=never</samp> otherwise.
  </p>
  </dd>
! <dt><code>--enable-lto</code></dt>
! <dt><code>--disable-lto</code></dt>
  <dd><p>Enable support for link-time optimization (LTO).  This is enabled by
  default, and may be disabled using <samp>--disable-lto</samp>.
  </p>
  </dd>
! <dt><code>--enable-linker-plugin-configure-flags=FLAGS</code></dt>
! <dt><code>--enable-linker-plugin-flags=FLAGS</code></dt>
  <dd><p>By default, linker plugins (such as the LTO plugin) are built for the
  host system architecture.  For the case that the linker has a
  different (but run-time compatible) architecture, these flags can be
*************** GNU/Linux (&lsquo;<samp>i686-pc-linux-gn
*** 1792,1806 ****
  executable on the former system), you can configure GCC as follows for
  getting compatible linker plugins:
  </p>
! <div class="example">
! <pre class="example">% <var>srcdir</var>/configure \
      --host=x86_64-pc-linux-gnu \
      --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
      --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
  </pre></div>
  
  </dd>
! <dt><span><code>--with-plugin-ld=<var>pathname</var></code></span></dt>
  <dd><p>Enable an alternate linker to be used at link-time optimization (LTO)
  link time when <samp>-fuse-linker-plugin</samp> is enabled.
  This linker should have plugin support such as gold starting with
--- 1801,1815 ----
  executable on the former system), you can configure GCC as follows for
  getting compatible linker plugins:
  </p>
! <div class="smallexample">
! <pre class="smallexample">% <var>srcdir</var>/configure \
      --host=x86_64-pc-linux-gnu \
      --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
      --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
  </pre></div>
  
  </dd>
! <dt><code>--with-plugin-ld=<var>pathname</var></code></dt>
  <dd><p>Enable an alternate linker to be used at link-time optimization (LTO)
  link time when <samp>-fuse-linker-plugin</samp> is enabled.
  This linker should have plugin support such as gold starting with
*************** version 2.20 or GNU ld starting with ver
*** 1808,1815 ****
  See <samp>-fuse-linker-plugin</samp> for details.
  </p>
  </dd>
! <dt><span><code>--enable-canonical-system-headers</code></span></dt>
! <dt><span><code>--disable-canonical-system-headers</code></span></dt>
  <dd><p>Enable system header path canonicalization for <samp>libcpp</samp>.  This can
  produce shorter header file paths in diagnostics and dependency output
  files, but these changed header paths may conflict with some compilation
--- 1817,1824 ----
  See <samp>-fuse-linker-plugin</samp> for details.
  </p>
  </dd>
! <dt><code>--enable-canonical-system-headers</code></dt>
! <dt><code>--disable-canonical-system-headers</code></dt>
  <dd><p>Enable system header path canonicalization for <samp>libcpp</samp>.  This can
  produce shorter header file paths in diagnostics and dependency output
  files, but these changed header paths may conflict with some compilation
*************** environments.  Enabled by default, and m
*** 1817,1823 ****
  <samp>--disable-canonical-system-headers</samp>.
  </p>
  </dd>
! <dt><span><code>--with-glibc-version=<var>major</var>.<var>minor</var></code></span></dt>
  <dd><p>Tell GCC that when the GNU C Library (glibc) is used on the target it
  will be version <var>major</var>.<var>minor</var> or later.  Normally this can
  be detected from the C library&rsquo;s header files, but this option may be
--- 1826,1832 ----
  <samp>--disable-canonical-system-headers</samp>.
  </p>
  </dd>
! <dt><code>--with-glibc-version=<var>major</var>.<var>minor</var></code></dt>
  <dd><p>Tell GCC that when the GNU C Library (glibc) is used on the target it
  will be version <var>major</var>.<var>minor</var> or later.  Normally this can
  be detected from the C library&rsquo;s header files, but this option may be
*************** However, such configurations may not wor
*** 1830,1854 ****
  configuration in GCC is on a per-multilib basis.
  </p>
  </dd>
! <dt><span><code>--enable-as-accelerator-for=<var>target</var></code></span></dt>
  <dd><p>Build as offload target compiler. Specify offload host triple by <var>target</var>.
  </p>
  </dd>
! <dt><span><code>--enable-offload-targets=<var>target1</var>[=<var>path1</var>],&hellip;,<var>targetN</var>[=<var>pathN</var>]</code></span></dt>
  <dd><p>Enable offloading to targets <var>target1</var>, &hellip;, <var>targetN</var>.
  Offload compilers are expected to be already installed.  Default search
  path for them is <samp><var>exec-prefix</var></samp>, but it can be changed by
  specifying paths <var>path1</var>, &hellip;, <var>pathN</var>.
  </p>
! <div class="example">
! <pre class="example">% <var>srcdir</var>/configure \
      --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none
  </pre></div>
  
  </dd>
! <dt><span><code>--with-hsa-runtime=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-hsa-runtime-include=<var>pathname</var></code></span></dt>
! <dt><span><code>--with-hsa-runtime-lib=<var>pathname</var></code></span></dt>
  <dd>
  <p>If you configure GCC with offloading which uses an HSA run-time such as
  AMDGCN but do not have the HSA run-time library installed in a standard
--- 1839,1863 ----
  configuration in GCC is on a per-multilib basis.
  </p>
  </dd>
! <dt><code>--enable-as-accelerator-for=<var>target</var></code></dt>
  <dd><p>Build as offload target compiler. Specify offload host triple by <var>target</var>.
  </p>
  </dd>
! <dt><code>--enable-offload-targets=<var>target1</var>[=<var>path1</var>],&hellip;,<var>targetN</var>[=<var>pathN</var>]</code></dt>
  <dd><p>Enable offloading to targets <var>target1</var>, &hellip;, <var>targetN</var>.
  Offload compilers are expected to be already installed.  Default search
  path for them is <samp><var>exec-prefix</var></samp>, but it can be changed by
  specifying paths <var>path1</var>, &hellip;, <var>pathN</var>.
  </p>
! <div class="smallexample">
! <pre class="smallexample">% <var>srcdir</var>/configure \
      --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none
  </pre></div>
  
  </dd>
! <dt><code>--with-hsa-runtime=<var>pathname</var></code></dt>
! <dt><code>--with-hsa-runtime-include=<var>pathname</var></code></dt>
! <dt><code>--with-hsa-runtime-lib=<var>pathname</var></code></dt>
  <dd>
  <p>If you configure GCC with offloading which uses an HSA run-time such as
  AMDGCN but do not have the HSA run-time library installed in a standard
*************** is a shorthand for
*** 1859,1866 ****
  <samp>--with-hsa-runtime-include=<var>hsainstalldir</var>/include</samp>.
  </p>
  </dd>
! <dt><span><code>--enable-cet</code></span></dt>
! <dt><span><code>--disable-cet</code></span></dt>
  <dd><p>Enable building target run-time libraries with control-flow
  instrumentation, see <samp>-fcf-protection</samp> option.  When
  <code>--enable-cet</code> is specified target libraries are configured
--- 1868,1875 ----
  <samp>--with-hsa-runtime-include=<var>hsainstalldir</var>/include</samp>.
  </p>
  </dd>
! <dt><code>--enable-cet</code></dt>
! <dt><code>--disable-cet</code></dt>
  <dd><p>Enable building target run-time libraries with control-flow
  instrumentation, see <samp>-fcf-protection</samp> option.  When
  <code>--enable-cet</code> is specified target libraries are configured
*************** otherwise.  In this case, the target lib
*** 1873,1879 ****
  additional <samp>-fcf-protection</samp> option.
  </p>
  </dd>
! <dt><span><code>--with-riscv-attribute=&lsquo;<samp>yes</samp>&rsquo;, &lsquo;<samp>no</samp>&rsquo; or &lsquo;<samp>default</samp>&rsquo;</code></span></dt>
  <dd><p>Generate RISC-V attribute by default, in order to record extra build
  information in object.
  </p>
--- 1882,1888 ----
  additional <samp>-fcf-protection</samp> option.
  </p>
  </dd>
! <dt><code>--with-riscv-attribute=&lsquo;<samp>yes</samp>&rsquo;, &lsquo;<samp>no</samp>&rsquo; or &lsquo;<samp>default</samp>&rsquo;</code></dt>
  <dd><p>Generate RISC-V attribute by default, in order to record extra build
  information in object.
  </p>
*************** information in object.
*** 1881,1888 ****
  target if target binutils supported.
  </p>
  </dd>
! <dt><span><code>--enable-s390-excess-float-precision</code></span></dt>
! <dt><span><code>--disable-s390-excess-float-precision</code></span></dt>
  <dd><p>On s390(x) targets, enable treatment of float expressions with double precision
  when in standards-compliant mode (e.g., when <code>--std=c99</code> or
  <code>-fexcess-precision=standard</code> are given).
--- 1890,1897 ----
  target if target binutils supported.
  </p>
  </dd>
! <dt><code>--enable-s390-excess-float-precision</code></dt>
! <dt><code>--disable-s390-excess-float-precision</code></dt>
  <dd><p>On s390(x) targets, enable treatment of float expressions with double precision
  when in standards-compliant mode (e.g., when <code>--std=c99</code> or
  <code>-fexcess-precision=standard</code> are given).
*************** disabled.
*** 1894,1910 ****
  </p></dd>
  </dl>
  
! <span id="Cross-Compiler-Specific-Options"></span><h4 class="subheading">Cross-Compiler-Specific Options</h4>
  <p>The following options only apply to building cross compilers.
  </p>
  <dl compact="compact">
! <dt><span><code>--with-toolexeclibdir=<var>dir</var></code></span></dt>
  <dd><p>Specify the installation directory for libraries built with a cross compiler.
  The default is <samp>${gcc_tooldir}/lib</samp>.
  </p>
  </dd>
! <dt><span><code>--with-sysroot</code></span></dt>
! <dt><span><code>--with-sysroot=<var>dir</var></code></span></dt>
  <dd><p>Tells GCC to consider <var>dir</var> as the root of a tree that contains
  (a subset of) the root filesystem of the target operating system.
  Target system headers, libraries and run-time object files will be
--- 1903,1920 ----
  </p></dd>
  </dl>
  
! <a name="Cross-Compiler-Specific-Options"></a>
! <h4 class="subheading">Cross-Compiler-Specific Options</h4>
  <p>The following options only apply to building cross compilers.
  </p>
  <dl compact="compact">
! <dt><code>--with-toolexeclibdir=<var>dir</var></code></dt>
  <dd><p>Specify the installation directory for libraries built with a cross compiler.
  The default is <samp>${gcc_tooldir}/lib</samp>.
  </p>
  </dd>
! <dt><code>--with-sysroot</code></dt>
! <dt><code>--with-sysroot=<var>dir</var></code></dt>
  <dd><p>Tells GCC to consider <var>dir</var> as the root of a tree that contains
  (a subset of) the root filesystem of the target operating system.
  Target system headers, libraries and run-time object files will be
*************** option then the compiler will search tha
*** 1928,1935 ****
  native system headers rather than the default <samp>/usr/include</samp>.
  </p>
  </dd>
! <dt><span><code>--with-build-sysroot</code></span></dt>
! <dt><span><code>--with-build-sysroot=<var>dir</var></code></span></dt>
  <dd><p>Tells GCC to consider <var>dir</var> as the system root (see
  <samp>--with-sysroot</samp>) while building target libraries, instead of
  the directory specified with <samp>--with-sysroot</samp>.  This option is
--- 1938,1945 ----
  native system headers rather than the default <samp>/usr/include</samp>.
  </p>
  </dd>
! <dt><code>--with-build-sysroot</code></dt>
! <dt><code>--with-build-sysroot=<var>dir</var></code></dt>
  <dd><p>Tells GCC to consider <var>dir</var> as the system root (see
  <samp>--with-sysroot</samp>) while building target libraries, instead of
  the directory specified with <samp>--with-sysroot</samp>.  This option is
*************** option then the compiler will search tha
*** 1947,1954 ****
  native system headers rather than the default <samp>/usr/include</samp>.
  </p>
  </dd>
! <dt><span><code>--with-headers</code></span></dt>
! <dt><span><code>--with-headers=<var>dir</var></code></span></dt>
  <dd><p>Deprecated in favor of <samp>--with-sysroot</samp>.
  Specifies that target headers are available when building a cross compiler.
  The <var>dir</var> argument specifies a directory which has the target include
--- 1957,1964 ----
  native system headers rather than the default <samp>/usr/include</samp>.
  </p>
  </dd>
! <dt><code>--with-headers</code></dt>
! <dt><code>--with-headers=<var>dir</var></code></dt>
  <dd><p>Deprecated in favor of <samp>--with-sysroot</samp>.
  Specifies that target headers are available when building a cross compiler.
  The <var>dir</var> argument specifies a directory which has the target include
*************** pre-exist, the <var>dir</var> argument m
*** 1960,1973 ****
  will be run on these files to make them compatible with GCC.
  </p>
  </dd>
! <dt><span><code>--without-headers</code></span></dt>
  <dd><p>Tells GCC not use any target headers from a libc when building a cross
  compiler.  When crossing to GNU/Linux, you need the headers so GCC
  can build the exception handling for libgcc.
  </p>
  </dd>
! <dt><span><code>--with-libs</code></span></dt>
! <dt><span><code>--with-libs=&quot;<var>dir1</var> <var>dir2</var> &hellip; <var>dirN</var>&quot;</code></span></dt>
  <dd><p>Deprecated in favor of <samp>--with-sysroot</samp>.
  Specifies a list of directories which contain the target runtime
  libraries.  These libraries will be copied into the <samp>gcc</samp> install
--- 1970,1983 ----
  will be run on these files to make them compatible with GCC.
  </p>
  </dd>
! <dt><code>--without-headers</code></dt>
  <dd><p>Tells GCC not use any target headers from a libc when building a cross
  compiler.  When crossing to GNU/Linux, you need the headers so GCC
  can build the exception handling for libgcc.
  </p>
  </dd>
! <dt><code>--with-libs</code></dt>
! <dt><code>--with-libs=&quot;<var>dir1</var> <var>dir2</var> &hellip; <var>dirN</var>&quot;</code></dt>
  <dd><p>Deprecated in favor of <samp>--with-sysroot</samp>.
  Specifies a list of directories which contain the target runtime
  libraries.  These libraries will be copied into the <samp>gcc</samp> install
*************** directory.  If the directory list is omi
*** 1975,1981 ****
  effect.
  </p>
  </dd>
! <dt><span><code>--with-newlib</code></span></dt>
  <dd><p>Specifies that &lsquo;<samp>newlib</samp>&rsquo; is
  being used as the target C library.  This causes <code>__eprintf</code> to be
  omitted from <samp>libgcc.a</samp> on the assumption that it will be provided by
--- 1985,1991 ----
  effect.
  </p>
  </dd>
! <dt><code>--with-newlib</code></dt>
  <dd><p>Specifies that &lsquo;<samp>newlib</samp>&rsquo; is
  being used as the target C library.  This causes <code>__eprintf</code> to be
  omitted from <samp>libgcc.a</samp> on the assumption that it will be provided by
*************** omitted from <samp>libgcc.a</samp> on th
*** 1983,1989 ****
  </p>
  <a name="avr"></a>
  </dd>
! <dt><span><code>--with-avrlibc</code></span></dt>
  <dd><p>Only supported for the AVR target. Specifies that &lsquo;<samp>AVR-Libc</samp>&rsquo; is
  being used as the target C&nbsp; library.  This causes float support
  functions like <code>__addsf3</code> to be omitted from <samp>libgcc.a</samp> on
--- 1993,1999 ----
  </p>
  <a name="avr"></a>
  </dd>
! <dt><code>--with-avrlibc</code></dt>
  <dd><p>Only supported for the AVR target. Specifies that &lsquo;<samp>AVR-Libc</samp>&rsquo; is
  being used as the target C&nbsp; library.  This causes float support
  functions like <code>__addsf3</code> to be omitted from <samp>libgcc.a</samp> on
*************** RTEMS configurations, which currently us
*** 1994,2001 ****
  supported since version 4.7.2 and is the default in 4.8.0 and newer.
  </p>
  </dd>
! <dt><span><code>--with-double={32|64|32,64|64,32}</code></span></dt>
! <dt><span><code>--with-long-double={32|64|32,64|64,32|double}</code></span></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify the default layout available for the C/C++ &lsquo;<samp>double</samp>&rsquo;
  and &lsquo;<samp>long double</samp>&rsquo; type, respectively. The following rules apply:
--- 2004,2011 ----
  supported since version 4.7.2 and is the default in 4.8.0 and newer.
  </p>
  </dd>
! <dt><code>--with-double={32|64|32,64|64,32}</code></dt>
! <dt><code>--with-long-double={32|64|32,64|64,32|double}</code></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify the default layout available for the C/C++ &lsquo;<samp>double</samp>&rsquo;
  and &lsquo;<samp>long double</samp>&rsquo; type, respectively. The following rules apply:
*************** that &lsquo;<samp>long double</samp>&rsq
*** 2022,2028 ****
  32&nbsp;bits wide.
  </p>
  </dd>
! <dt><span><code>--with-double-comparison={tristate|bool|libf7}</code></span></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify what result format is returned by library functions that
  compare 64-bit floating point values (<code>DFmode</code>).
--- 2032,2038 ----
  32&nbsp;bits wide.
  </p>
  </dd>
! <dt><code>--with-double-comparison={tristate|bool|libf7}</code></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify what result format is returned by library functions that
  compare 64-bit floating point values (<code>DFmode</code>).
*************** The GCC default is &lsquo;<samp>tristate
*** 2030,2036 ****
  implementation returns a boolean instead, set it to &lsquo;<samp>bool</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--with-libf7={libgcc|math|math-symbols|no}</code></span></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify to which degree code from LibF7 is included in libgcc.
  LibF7 is an ad-hoc, AVR-specific, 64-bit floating point emulation
--- 2040,2046 ----
  implementation returns a boolean instead, set it to &lsquo;<samp>bool</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--with-libf7={libgcc|math|math-symbols|no}</code></dt>
  <dd><p>Only supported for the AVR target since version&nbsp;10.
  Specify to which degree code from LibF7 is included in libgcc.
  LibF7 is an ad-hoc, AVR-specific, 64-bit floating point emulation
*************** from elsewhere.  This option sets <samp>
*** 2046,2058 ****
  to &lsquo;<samp>bool</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--with-nds32-lib=<var>library</var></code></span></dt>
  <dd><p>Specifies that <var>library</var> setting is used for building <samp>libgcc.a</samp>.
  Currently, the valid <var>library</var> is &lsquo;<samp>newlib</samp>&rsquo; or &lsquo;<samp>mculib</samp>&rsquo;.
  This option is only supported for the NDS32 target.
  </p>
  </dd>
! <dt><span><code>--with-build-time-tools=<var>dir</var></code></span></dt>
  <dd><p>Specifies where to find the set of target tools (assembler, linker, etc.)
  that will be used while building GCC itself.  This option can be useful
  if the directory layouts are different between the system you are building
--- 2056,2068 ----
  to &lsquo;<samp>bool</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--with-nds32-lib=<var>library</var></code></dt>
  <dd><p>Specifies that <var>library</var> setting is used for building <samp>libgcc.a</samp>.
  Currently, the valid <var>library</var> is &lsquo;<samp>newlib</samp>&rsquo; or &lsquo;<samp>mculib</samp>&rsquo;.
  This option is only supported for the NDS32 target.
  </p>
  </dd>
! <dt><code>--with-build-time-tools=<var>dir</var></code></dt>
  <dd><p>Specifies where to find the set of target tools (assembler, linker, etc.)
  that will be used while building GCC itself.  This option can be useful
  if the directory layouts are different between the system you are building
*************** tools.
*** 2071,2077 ****
  </p></dd>
  </dl>
  
! <span id="Overriding-configure-test-results"></span><h4 class="subsubheading">Overriding <code>configure</code> test results</h4>
  
  <p>Sometimes, it might be necessary to override the result of some
  <code>configure</code> test, for example in order to ease porting to a new
--- 2081,2088 ----
  </p></dd>
  </dl>
  
! <a name="Overriding-configure-test-results"></a>
! <h4 class="subsubheading">Overriding <code>configure</code> test results</h4>
  
  <p>Sometimes, it might be necessary to override the result of some
  <code>configure</code> test, for example in order to ease porting to a new
*************** system or work around a bug in a test.
*** 2079,2096 ****
  script provides three variables for this:
  </p>
  <dl compact="compact">
! <dt id='index-build_005fconfigargs'><span><code>build_configargs</code><a href='#index-build_005fconfigargs' class='copiable-anchor'> &para;</a></span></dt>
! <dd><p>The contents of this variable is passed to all build <code>configure</code>
  scripts.
  </p>
  </dd>
! <dt id='index-host_005fconfigargs'><span><code>host_configargs</code><a href='#index-host_005fconfigargs' class='copiable-anchor'> &para;</a></span></dt>
! <dd><p>The contents of this variable is passed to all host <code>configure</code>
  scripts.
  </p>
  </dd>
! <dt id='index-target_005fconfigargs'><span><code>target_configargs</code><a href='#index-target_005fconfigargs' class='copiable-anchor'> &para;</a></span></dt>
! <dd><p>The contents of this variable is passed to all target <code>configure</code>
  scripts.
  </p>
  </dd>
--- 2090,2110 ----
  script provides three variables for this:
  </p>
  <dl compact="compact">
! <dt><code>build_configargs</code></dt>
! <dd><a name="index-build_005fconfigargs"></a>
! <p>The contents of this variable is passed to all build <code>configure</code>
  scripts.
  </p>
  </dd>
! <dt><code>host_configargs</code></dt>
! <dd><a name="index-host_005fconfigargs"></a>
! <p>The contents of this variable is passed to all host <code>configure</code>
  scripts.
  </p>
  </dd>
! <dt><code>target_configargs</code></dt>
! <dd><a name="index-target_005fconfigargs"></a>
! <p>The contents of this variable is passed to all target <code>configure</code>
  scripts.
  </p>
  </dd>
*************** scripts.
*** 2100,2111 ****
  overrides, you can pass a setting for <code>CONFIG_SITE</code> and set
  variables in the site file.
  </p>
! <span id="Objective-C-Specific-Options"></span><h4 class="subheading">Objective-C-Specific Options</h4>
  
  <p>The following options apply to the build of the Objective-C runtime library.
  </p>
  <dl compact="compact">
! <dt><span><code>--enable-objc-gc</code></span></dt>
  <dd><p>Specify that an additional variant of the GNU Objective-C runtime library
  is built, using an external build of the Boehm-Demers-Weiser garbage
  collector (<a href="https://www.hboehm.info/gc/">https://www.hboehm.info/gc/</a>).  This library needs to be
--- 2114,2126 ----
  overrides, you can pass a setting for <code>CONFIG_SITE</code> and set
  variables in the site file.
  </p>
! <a name="Objective-C-Specific-Options"></a>
! <h4 class="subheading">Objective-C-Specific Options</h4>
  
  <p>The following options apply to the build of the Objective-C runtime library.
  </p>
  <dl compact="compact">
! <dt><code>--enable-objc-gc</code></dt>
  <dd><p>Specify that an additional variant of the GNU Objective-C runtime library
  is built, using an external build of the Boehm-Demers-Weiser garbage
  collector (<a href="https://www.hboehm.info/gc/">https://www.hboehm.info/gc/</a>).  This library needs to be
*************** additional runtime library is skipped wh
*** 2115,2123 ****
  continues.
  </p>
  </dd>
! <dt><span><code>--with-target-bdw-gc=<var>list</var></code></span></dt>
! <dt><span><code>--with-target-bdw-gc-include=<var>list</var></code></span></dt>
! <dt><span><code>--with-target-bdw-gc-lib=<var>list</var></code></span></dt>
  <dd><p>Specify search directories for the garbage collector header files and
  libraries. <var>list</var> is a comma separated list of key value pairs of the
  form &lsquo;<samp><var>multilibdir</var>=<var>path</var></samp>&rsquo;, where the default multilib key
--- 2130,2138 ----
  continues.
  </p>
  </dd>
! <dt><code>--with-target-bdw-gc=<var>list</var></code></dt>
! <dt><code>--with-target-bdw-gc-include=<var>list</var></code></dt>
! <dt><code>--with-target-bdw-gc-lib=<var>list</var></code></dt>
  <dd><p>Specify search directories for the garbage collector header files and
  libraries. <var>list</var> is a comma separated list of key value pairs of the
  form &lsquo;<samp><var>multilibdir</var>=<var>path</var></samp>&rsquo;, where the default multilib key
*************** default locations.
*** 2136,2149 ****
  </p></dd>
  </dl>
  
! <span id="D-Specific-Options"></span><h4 class="subheading">D-Specific Options</h4>
  
  <p>The following options apply to the build of the D runtime library.
  </p>
  <dl compact="compact">
! <dt><span><code>--enable-libphobos-checking</code></span></dt>
! <dt><span><code>--disable-libphobos-checking</code></span></dt>
! <dt><span><code>--enable-libphobos-checking=<var>list</var></code></span></dt>
  <dd><p>This option controls whether run-time checks and contracts are compiled into
  the D runtime library.  When the option is not specified, the library is built
  with &lsquo;<samp>release</samp>&rsquo; checking.  When the option is specified without a
--- 2151,2165 ----
  </p></dd>
  </dl>
  
! <a name="D-Specific-Options"></a>
! <h4 class="subheading">D-Specific Options</h4>
  
  <p>The following options apply to the build of the D runtime library.
  </p>
  <dl compact="compact">
! <dt><code>--enable-libphobos-checking</code></dt>
! <dt><code>--disable-libphobos-checking</code></dt>
! <dt><code>--enable-libphobos-checking=<var>list</var></code></dt>
  <dd><p>This option controls whether run-time checks and contracts are compiled into
  the D runtime library.  When the option is not specified, the library is built
  with &lsquo;<samp>release</samp>&rsquo; checking.  When the option is specified without a
*************** libphobos with <samp>-fno-release</samp>
*** 2160,2167 ****
  with an extra option <samp>-fassert</samp>).
  </p>
  </dd>
! <dt><span><code>--with-libphobos-druntime-only</code></span></dt>
! <dt><span><code>--with-libphobos-druntime-only=<var>choice</var></code></span></dt>
  <dd><p>Specify whether to build only the core D runtime library (druntime), or both
  the core and standard library (phobos) into libphobos.  This is useful for
  targets that have full support in druntime, but no or incomplete support
--- 2176,2183 ----
  with an extra option <samp>-fassert</samp>).
  </p>
  </dd>
! <dt><code>--with-libphobos-druntime-only</code></dt>
! <dt><code>--with-libphobos-druntime-only=<var>choice</var></code></dt>
  <dd><p>Specify whether to build only the core D runtime library (druntime), or both
  the core and standard library (phobos) into libphobos.  This is useful for
  targets that have full support in druntime, but no or incomplete support
*************** When the option is specified without a <
*** 2174,2180 ****
  &lsquo;<samp>--with-libphobos-druntime-only=yes</samp>&rsquo;.
  </p>
  </dd>
! <dt><span><code>--with-target-system-zlib</code></span></dt>
  <dd><p>Use installed &lsquo;<samp>zlib</samp>&rsquo; rather than that included with GCC.  This needs
  to be available for each multilib variant, unless configured with
  <samp>--with-target-system-zlib=&lsquo;<samp>auto</samp>&rsquo;</samp> in which case the GCC&nbsp;included
--- 2190,2196 ----
  &lsquo;<samp>--with-libphobos-druntime-only=yes</samp>&rsquo;.
  </p>
  </dd>
! <dt><code>--with-target-system-zlib</code></dt>
  <dd><p>Use installed &lsquo;<samp>zlib</samp>&rsquo; rather than that included with GCC.  This needs
  to be available for each multilib variant, unless configured with
  <samp>--with-target-system-zlib=&lsquo;<samp>auto</samp>&rsquo;</samp> in which case the GCC&nbsp;included
diff -Nrcpad gcc-11.4.0/INSTALL/download.html gcc-11.5.0/INSTALL/download.html
*** gcc-11.4.0/INSTALL/download.html	Mon May 29 08:49:49 2023
--- gcc-11.5.0/INSTALL/download.html	Fri Jul 19 05:53:53 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Downloading GCC</title>
  
  <meta name="description" content="Downloading GCC">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 74,81 ****
  
  
  
! <span id="index-Downloading-GCC"></span>
! <span id="index-Downloading-the-Source"></span>
  
  <p>GCC is distributed via <a href="http://gcc.gnu.org/git.html">git</a> and via
  HTTPS as tarballs compressed with <code>gzip</code> or <code>bzip2</code>.
--- 80,87 ----
  
  
  
! <a name="index-Downloading-GCC"></a>
! <a name="index-Downloading-the-Source"></a>
  
  <p>GCC is distributed via <a href="http://gcc.gnu.org/git.html">git</a> and via
  HTTPS as tarballs compressed with <code>gzip</code> or <code>bzip2</code>.
diff -Nrcpad gcc-11.4.0/INSTALL/finalinstall.html gcc-11.5.0/INSTALL/finalinstall.html
*** gcc-11.4.0/INSTALL/finalinstall.html	Mon May 29 08:49:50 2023
--- gcc-11.5.0/INSTALL/finalinstall.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Final installation</title>
  
  <meta name="description" content="Installing GCC: Final installation">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 80,87 ****
  
  
  <p>Now that GCC has been built (and optionally tested), you can install it with
! </p><div class="example">
! <pre class="example">cd <var>objdir</var> &amp;&amp; make install
  </pre></div>
  
  <p>We strongly recommend to install into a target directory where there is
--- 86,93 ----
  
  
  <p>Now that GCC has been built (and optionally tested), you can install it with
! </p><div class="smallexample">
! <pre class="smallexample">cd <var>objdir</var> &amp;&amp; make install
  </pre></div>
  
  <p>We strongly recommend to install into a target directory where there is
*************** binutils, including assembler and linker
*** 113,120 ****
  <p>Installation into a temporary staging area or into a <code>chroot</code>
  jail can be achieved with the command
  </p>
! <div class="example">
! <pre class="example">make DESTDIR=<var>path-to-rootdir</var> install
  </pre></div>
  
  <p>where <var>path-to-rootdir</var> is the absolute path of
--- 119,126 ----
  <p>Installation into a temporary staging area or into a <code>chroot</code>
  jail can be achieved with the command
  </p>
! <div class="smallexample">
! <pre class="smallexample">make DESTDIR=<var>path-to-rootdir</var> install
  </pre></div>
  
  <p>where <var>path-to-rootdir</var> is the absolute path of
*************** using the <code>DESTDIR</code> feature.
*** 133,140 ****
  </p>
  <p>You can install stripped programs and libraries with
  </p>
! <div class="example">
! <pre class="example">make install-strip
  </pre></div>
  
  <p>If you are bootstrapping a released version of GCC then please
--- 139,146 ----
  </p>
  <p>You can install stripped programs and libraries with
  </p>
! <div class="smallexample">
! <pre class="smallexample">make install-strip
  </pre></div>
  
  <p>If you are bootstrapping a released version of GCC then please
diff -Nrcpad gcc-11.4.0/INSTALL/gfdl.html gcc-11.5.0/INSTALL/gfdl.html
*** gcc-11.4.0/INSTALL/gfdl.html	Mon May 29 08:49:51 2023
--- gcc-11.5.0/INSTALL/gfdl.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: GNU Free Documentation License</title>
  
  <meta name="description" content="Installing GCC: GNU Free Documentation License">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 84,90 ****
  
  <h1 align="center">Installing GCC: GNU Free Documentation License</h1>
  
! <span id="index-FDL_002c-GNU-Free-Documentation-License"></span>
  <div align="center">Version 1.3, 3 November 2008
  </div>
  <div class="display">
--- 90,96 ----
  
  <h1 align="center">Installing GCC: GNU Free Documentation License</h1>
  
! <a name="index-FDL_002c-GNU-Free-Documentation-License"></a>
  <div align="center">Version 1.3, 3 November 2008
  </div>
  <div class="display">
*************** provided the MMC is eligible for relicen
*** 517,531 ****
  </p>
  </li></ol>
  
! <div class="unnumberedsec" id="ADDENDUM_003a-How-to-use-this-License-for-your-documents">
  <h3 class="unnumberedsec">ADDENDUM: How to use this License for your documents</h3>
  
  <p>To use this License in a document you have written, include a copy of
  the License in the document and put the following copyright and
  license notices just after the title page:
  </p>
! <div class="example">
! <pre class="example">  Copyright (C)  <var>year</var>  <var>your name</var>.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3
    or any later version published by the Free Software Foundation;
--- 523,537 ----
  </p>
  </li></ol>
  
! <a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a>
  <h3 class="unnumberedsec">ADDENDUM: How to use this License for your documents</h3>
  
  <p>To use this License in a document you have written, include a copy of
  the License in the document and put the following copyright and
  license notices just after the title page:
  </p>
! <div class="smallexample">
! <pre class="smallexample">  Copyright (C)  <var>year</var>  <var>your name</var>.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3
    or any later version published by the Free Software Foundation;
*************** license notices just after the title pag
*** 537,544 ****
  <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
  replace the &ldquo;with...Texts.&rdquo; line with this:
  </p>
! <div class="example">
! <pre class="example">    with the Invariant Sections being <var>list their titles</var>, with
      the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
      being <var>list</var>.
  </pre></div>
--- 543,550 ----
  <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
  replace the &ldquo;with...Texts.&rdquo; line with this:
  </p>
! <div class="smallexample">
! <pre class="smallexample">    with the Invariant Sections being <var>list their titles</var>, with
      the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
      being <var>list</var>.
  </pre></div>
*************** to permit their use in free software.
*** 558,564 ****
  <p><a href="./index.html">Return to the GCC Installation page</a>
  </p>
  
! <hr></div>
  
  
  
--- 564,570 ----
  <p><a href="./index.html">Return to the GCC Installation page</a>
  </p>
  
! <hr>
  
  
  
diff -Nrcpad gcc-11.4.0/INSTALL/index.html gcc-11.5.0/INSTALL/index.html
*** gcc-11.4.0/INSTALL/index.html	Mon May 29 08:49:48 2023
--- gcc-11.5.0/INSTALL/index.html	Fri Jul 19 05:53:53 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC</title>
  
  <meta name="description" content="Installing GCC">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** Free Documentation License</a>&rdquo;.
*** 143,148 ****
--- 149,155 ----
  
  
  
+ 
  
  
  
diff -Nrcpad gcc-11.4.0/INSTALL/old.html gcc-11.5.0/INSTALL/old.html
*** gcc-11.4.0/INSTALL/old.html	Mon May 29 08:49:50 2023
--- gcc-11.5.0/INSTALL/old.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Old documentation</title>
  
  <meta name="description" content="Installing GCC: Old documentation">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** the same as the host machine.
*** 124,131 ****
  </p>
  <p>Here is an example:
  </p>
! <div class="example">
! <pre class="example">./configure --host=sparc-sun-sunos4.1
  </pre></div>
  
  <p>A configuration name may be canonical or it may be more or less
--- 130,137 ----
  </p>
  <p>Here is an example:
  </p>
! <div class="smallexample">
! <pre class="smallexample">./configure --host=sparc-sun-sunos4.1
  </pre></div>
  
  <p>A configuration name may be canonical or it may be more or less
*************** section before proceeding any further wi
*** 151,158 ****
  </p>
  </li></ol>
  
! <h2><span id="Configurations"></span>Configurations Supported by GCC</h2>
! <span id="index-configurations-supported-by-GCC"></span>
  
  <p>Here are the possible CPU types:
  </p>
--- 157,164 ----
  </p>
  </li></ol>
  
! <h2><a name="Configurations"></a>Configurations Supported by GCC</h2>
! <a name="index-configurations-supported-by-GCC"></a>
  
  <p>Here are the possible CPU types:
  </p>
diff -Nrcpad gcc-11.4.0/INSTALL/prerequisites.html gcc-11.5.0/INSTALL/prerequisites.html
*** gcc-11.4.0/INSTALL/prerequisites.html	Mon May 29 08:49:49 2023
--- gcc-11.5.0/INSTALL/prerequisites.html	Fri Jul 19 05:53:53 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Prerequisites for GCC</title>
  
  <meta name="description" content="Prerequisites for GCC">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 73,87 ****
  
  
  
! <span id="index-Prerequisites"></span>
  
  <p>GCC requires that various tools and packages be available for use in the
  build procedure.  Modifying GCC sources requires additional tools
  described below.
  </p>
! <span id="Tools_002fpackages-necessary-for-building-GCC"></span><h3 class="heading">Tools/packages necessary for building GCC</h3>
  <dl compact="compact">
! <dt><span>ISO C++11 compiler</span></dt>
  <dd><p>Necessary to bootstrap GCC.
  </p>
  <p>Versions of GCC prior to 11 also allow bootstrapping with an ISO C++98
--- 79,94 ----
  
  
  
! <a name="index-Prerequisites"></a>
  
  <p>GCC requires that various tools and packages be available for use in the
  build procedure.  Modifying GCC sources requires additional tools
  described below.
  </p>
! <a name="Tools_002fpackages-necessary-for-building-GCC"></a>
! <h3 class="heading">Tools/packages necessary for building GCC</h3>
  <dl compact="compact">
! <dt>ISO C++11 compiler</dt>
  <dd><p>Necessary to bootstrap GCC.
  </p>
  <p>Versions of GCC prior to 11 also allow bootstrapping with an ISO C++98
*************** bootstrapping the compiler with such ear
*** 100,106 ****
  discouraged.
  </p>
  </dd>
! <dt><span>C standard library and headers</span></dt>
  <dd>
  <p>In order to build GCC, the C standard library and headers must be present
  for all target variants for which target libraries will be built (and not
--- 107,113 ----
  discouraged.
  </p>
  </dd>
! <dt>C standard library and headers</dt>
  <dd>
  <p>In order to build GCC, the C standard library and headers must be present
  for all target variants for which target libraries will be built (and not
*************** name of the package depends on your dist
*** 117,123 ****
  &lsquo;<samp>fatal error: gnu/stubs-32.h: No such file</samp>&rsquo;
  </p>
  </dd>
! <dt><span><span id="GNAT-prerequisite"></span>GNAT</span></dt>
  <dd>
  <p>In order to build GNAT, the Ada compiler, you need a working GNAT
  compiler (GCC version 4.7 or later).
--- 124,130 ----
  &lsquo;<samp>fatal error: gnu/stubs-32.h: No such file</samp>&rsquo;
  </p>
  </dd>
! <dt><a name="GNAT-prerequisite"></a>GNAT</dt>
  <dd>
  <p>In order to build GNAT, the Ada compiler, you need a working GNAT
  compiler (GCC version 4.7 or later).
*************** by verifying that &lsquo;<samp>gnatls -v
*** 147,153 ****
  section.
  </p>
  </dd>
! <dt><span>A &ldquo;working&rdquo; POSIX compatible shell, or GNU bash</span></dt>
  <dd>
  <p>Necessary when running <code>configure</code> because some
  <code>/bin/sh</code> shells have bugs and may crash when configuring the
--- 154,160 ----
  section.
  </p>
  </dd>
! <dt>A &ldquo;working&rdquo; POSIX compatible shell, or GNU bash</dt>
  <dd>
  <p>Necessary when running <code>configure</code> because some
  <code>/bin/sh</code> shells have bugs and may crash when configuring the
*************** environment to your &ldquo;good&rdquo; s
*** 166,205 ****
  work when configuring GCC.
  </p>
  </dd>
! <dt><span>A POSIX or SVR4 awk</span></dt>
  <dd>
  <p>Necessary for creating some of the generated source files for GCC.
  If in doubt, use a recent GNU awk version, as some of the older ones
  are broken.  GNU awk version 3.1.5 is known to work.
  </p>
  </dd>
! <dt><span>GNU binutils</span></dt>
  <dd>
  <p>Necessary in some circumstances, optional in others.  See the
  host/target specific instructions for your platform for the exact
  requirements.
  </p>
  </dd>
! <dt><span>gzip version 1.2.4 (or later) or</span></dt>
! <dt><span>bzip2 version 1.0.2 (or later)</span></dt>
  <dd>
  <p>Necessary to uncompress GCC <code>tar</code> files when source code is
  obtained via HTTPS mirror sites.
  </p>
  </dd>
! <dt><span>GNU make version 3.80 (or later)</span></dt>
  <dd>
  <p>You must have GNU make installed to build GCC.
  </p>
  </dd>
! <dt><span>GNU tar version 1.14 (or later)</span></dt>
  <dd>
  <p>Necessary (only on some platforms) to untar the source code.  Many
  systems&rsquo; <code>tar</code> programs will also work, only try GNU
  <code>tar</code> if you have problems.
  </p>
  </dd>
! <dt><span>Perl version between 5.6.1 and 5.6.24</span></dt>
  <dd>
  <p>Necessary when targeting Darwin, building &lsquo;<samp>libstdc++</samp>&rsquo;,
  and not using <samp>--disable-symvers</samp>.
--- 173,212 ----
  work when configuring GCC.
  </p>
  </dd>
! <dt>A POSIX or SVR4 awk</dt>
  <dd>
  <p>Necessary for creating some of the generated source files for GCC.
  If in doubt, use a recent GNU awk version, as some of the older ones
  are broken.  GNU awk version 3.1.5 is known to work.
  </p>
  </dd>
! <dt>GNU binutils</dt>
  <dd>
  <p>Necessary in some circumstances, optional in others.  See the
  host/target specific instructions for your platform for the exact
  requirements.
  </p>
  </dd>
! <dt>gzip version 1.2.4 (or later) or</dt>
! <dt>bzip2 version 1.0.2 (or later)</dt>
  <dd>
  <p>Necessary to uncompress GCC <code>tar</code> files when source code is
  obtained via HTTPS mirror sites.
  </p>
  </dd>
! <dt>GNU make version 3.80 (or later)</dt>
  <dd>
  <p>You must have GNU make installed to build GCC.
  </p>
  </dd>
! <dt>GNU tar version 1.14 (or later)</dt>
  <dd>
  <p>Necessary (only on some platforms) to untar the source code.  Many
  systems&rsquo; <code>tar</code> programs will also work, only try GNU
  <code>tar</code> if you have problems.
  </p>
  </dd>
! <dt>Perl version between 5.6.1 and 5.6.24</dt>
  <dd>
  <p>Necessary when targeting Darwin, building &lsquo;<samp>libstdc++</samp>&rsquo;,
  and not using <samp>--disable-symvers</samp>.
*************** tables.
*** 215,220 ****
--- 222,230 ----
  </p>
  <p>Used by <code>automake</code>.
  </p>
+ <p>If available, enables parallel testing of &lsquo;<samp>libgomp</samp>&rsquo; in case that
+ <code>flock</code> is not available.
+ </p>
  </dd>
  </dl>
  
*************** support libraries then using those packa
*** 228,234 ****
  install the libraries.
  </p>
  <dl compact="compact">
! <dt><span>GNU Multiple Precision Library (GMP) version 4.3.2 (or later)</span></dt>
  <dd>
  <p>Necessary to build GCC.  If a GMP source distribution is found in a
  subdirectory of your GCC sources named <samp>gmp</samp>, it will be built
--- 238,244 ----
  install the libraries.
  </p>
  <dl compact="compact">
! <dt>GNU Multiple Precision Library (GMP) version 4.3.2 (or later)</dt>
  <dd>
  <p>Necessary to build GCC.  If a GMP source distribution is found in a
  subdirectory of your GCC sources named <samp>gmp</samp>, it will be built
*************** The in-tree build is only supported with
*** 240,246 ****
  download_prerequisites installs.
  </p>
  </dd>
! <dt><span>MPFR Library version 3.1.0 (or later)</span></dt>
  <dd>
  <p>Necessary to build GCC.  It can be downloaded from
  <a href="https://www.mpfr.org">https://www.mpfr.org</a>.  If an MPFR source distribution is found
--- 250,256 ----
  download_prerequisites installs.
  </p>
  </dd>
! <dt>MPFR Library version 3.1.0 (or later)</dt>
  <dd>
  <p>Necessary to build GCC.  It can be downloaded from
  <a href="https://www.mpfr.org">https://www.mpfr.org</a>.  If an MPFR source distribution is found
*************** The in-tree build is only supported with
*** 253,259 ****
  download_prerequisites installs.
  </p>
  </dd>
! <dt><span>MPC Library version 1.0.1 (or later)</span></dt>
  <dd>
  <p>Necessary to build GCC.  It can be downloaded from
  <a href="http://www.multiprecision.org/mpc/">http://www.multiprecision.org/mpc/</a>.  If an MPC source distribution
--- 263,269 ----
  download_prerequisites installs.
  </p>
  </dd>
! <dt>MPC Library version 1.0.1 (or later)</dt>
  <dd>
  <p>Necessary to build GCC.  It can be downloaded from
  <a href="http://www.multiprecision.org/mpc/">http://www.multiprecision.org/mpc/</a>.  If an MPC source distribution
*************** The in-tree build is only supported with
*** 266,272 ****
  download_prerequisites installs.
  </p>
  </dd>
! <dt><span>isl Library version 0.15 or later.</span></dt>
  <dd>
  <p>Necessary to build GCC with the Graphite loop optimizations.
  It can be downloaded from <a href="https://gcc.gnu.org/pub/gcc/infrastructure/">https://gcc.gnu.org/pub/gcc/infrastructure/</a>.
--- 276,282 ----
  download_prerequisites installs.
  </p>
  </dd>
! <dt>isl Library version 0.15 or later.</dt>
  <dd>
  <p>Necessary to build GCC with the Graphite loop optimizations.
  It can be downloaded from <a href="https://gcc.gnu.org/pub/gcc/infrastructure/">https://gcc.gnu.org/pub/gcc/infrastructure/</a>.
*************** option should be used if isl is not inst
*** 277,283 ****
  search path.
  </p>
  </dd>
! <dt><span>zstd Library.</span></dt>
  <dd>
  <p>Necessary to build GCC with zstd compression used for LTO bytecode.
  The library is searched in your default library patch search.
--- 287,293 ----
  search path.
  </p>
  </dd>
! <dt>zstd Library.</dt>
  <dd>
  <p>Necessary to build GCC with zstd compression used for LTO bytecode.
  The library is searched in your default library patch search.
*************** Alternatively, the <samp>--with-zstd</sa
*** 286,301 ****
  </dd>
  </dl>
  
! <span id="Tools_002fpackages-necessary-for-modifying-GCC"></span><h3 class="heading">Tools/packages necessary for modifying GCC</h3>
  <dl compact="compact">
! <dt><span>autoconf version 2.69</span></dt>
! <dt><span>GNU m4 version 1.4.6 (or later)</span></dt>
  <dd>
  <p>Necessary when modifying <samp>configure.ac</samp>, <samp>aclocal.m4</samp>, etc.
  to regenerate <samp>configure</samp> and <samp>config.in</samp> files.
  </p>
  </dd>
! <dt><span>automake version 1.15.1</span></dt>
  <dd>
  <p>Necessary when modifying a <samp>Makefile.am</samp> file to regenerate its
  associated <samp>Makefile.in</samp>.
--- 296,312 ----
  </dd>
  </dl>
  
! <a name="Tools_002fpackages-necessary-for-modifying-GCC"></a>
! <h3 class="heading">Tools/packages necessary for modifying GCC</h3>
  <dl compact="compact">
! <dt>autoconf version 2.69</dt>
! <dt>GNU m4 version 1.4.6 (or later)</dt>
  <dd>
  <p>Necessary when modifying <samp>configure.ac</samp>, <samp>aclocal.m4</samp>, etc.
  to regenerate <samp>configure</samp> and <samp>config.in</samp> files.
  </p>
  </dd>
! <dt>automake version 1.15.1</dt>
  <dd>
  <p>Necessary when modifying a <samp>Makefile.am</samp> file to regenerate its
  associated <samp>Makefile.in</samp>.
*************** to a newer version, please update all th
*** 311,338 ****
  to the latest released version.
  </p>
  </dd>
! <dt><span>gettext version 0.14.5 (or later)</span></dt>
  <dd>
  <p>Needed to regenerate <samp>gcc.pot</samp>.
  </p>
  </dd>
! <dt><span>gperf version 2.7.2 (or later)</span></dt>
  <dd>
  <p>Necessary when modifying <code>gperf</code> input files, e.g.
  <samp>gcc/cp/cfns.gperf</samp> to regenerate its associated header file, e.g.
  <samp>gcc/cp/cfns.h</samp>.
  </p>
  </dd>
! <dt><span>DejaGnu 1.4.4</span></dt>
! <dt><span>Expect</span></dt>
! <dt><span>Tcl</span></dt>
  <dd>
  <p>Necessary to run the GCC testsuite; see the section on testing for
  details.
  </p>
  </dd>
! <dt><span>autogen version 5.5.4 (or later) and</span></dt>
! <dt><span>guile version 1.4.1 (or later)</span></dt>
  <dd>
  <p>Necessary to regenerate <samp>fixinc/fixincl.x</samp> from
  <samp>fixinc/inclhack.def</samp> and <samp>fixinc/*.tpl</samp>.
--- 322,349 ----
  to the latest released version.
  </p>
  </dd>
! <dt>gettext version 0.14.5 (or later)</dt>
  <dd>
  <p>Needed to regenerate <samp>gcc.pot</samp>.
  </p>
  </dd>
! <dt>gperf version 2.7.2 (or later)</dt>
  <dd>
  <p>Necessary when modifying <code>gperf</code> input files, e.g.
  <samp>gcc/cp/cfns.gperf</samp> to regenerate its associated header file, e.g.
  <samp>gcc/cp/cfns.h</samp>.
  </p>
  </dd>
! <dt>DejaGnu 1.4.4</dt>
! <dt>Expect</dt>
! <dt>Tcl</dt>
  <dd>
  <p>Necessary to run the GCC testsuite; see the section on testing for
  details.
  </p>
  </dd>
! <dt>autogen version 5.5.4 (or later) and</dt>
! <dt>guile version 1.4.1 (or later)</dt>
  <dd>
  <p>Necessary to regenerate <samp>fixinc/fixincl.x</samp> from
  <samp>fixinc/inclhack.def</samp> and <samp>fixinc/*.tpl</samp>.
*************** details.
*** 343,349 ****
  <samp>Makefile.tpl</samp> and <samp>Makefile.def</samp>.
  </p>
  </dd>
! <dt><span>Flex version 2.5.4 (or later)</span></dt>
  <dd>
  <p>Necessary when modifying <samp>*.l</samp> files.
  </p>
--- 354,360 ----
  <samp>Makefile.tpl</samp> and <samp>Makefile.def</samp>.
  </p>
  </dd>
! <dt>Flex version 2.5.4 (or later)</dt>
  <dd>
  <p>Necessary when modifying <samp>*.l</samp> files.
  </p>
*************** files are not included in the version-co
*** 352,358 ****
  They are included in releases.
  </p>
  </dd>
! <dt><span>Texinfo version 4.7 (or later)</span></dt>
  <dd>
  <p>Necessary for running <code>makeinfo</code> when modifying <samp>*.texi</samp>
  files to test your changes.
--- 363,369 ----
  They are included in releases.
  </p>
  </dd>
! <dt>Texinfo version 4.7 (or later)</dt>
  <dd>
  <p>Necessary for running <code>makeinfo</code> when modifying <samp>*.texi</samp>
  files to test your changes.
*************** generated output files are not included
*** 366,397 ****
  included in releases.
  </p>
  </dd>
! <dt><span>TeX (any working version)</span></dt>
  <dd>
  <p>Necessary for running <code>texi2dvi</code> and <code>texi2pdf</code>, which
  are used when running <code>make dvi</code> or <code>make pdf</code> to create
  DVI or PDF files, respectively.
  </p>
  </dd>
! <dt><span>Sphinx version 1.0 (or later)</span></dt>
  <dd>
  <p>Necessary to regenerate <samp>jit/docs/_build/texinfo</samp> from the <samp>.rst</samp>
  files in the directories below <samp>jit/docs</samp>.
  </p>
  </dd>
! <dt><span>git (any version)</span></dt>
! <dt><span>SSH (any version)</span></dt>
  <dd>
  <p>Necessary to access the source repository.  Public releases and weekly
  snapshots of the development sources are also available via HTTPS.
  </p>
  </dd>
! <dt><span>GNU diffutils version 2.7 (or later)</span></dt>
  <dd>
  <p>Useful when submitting patches for the GCC source code.
  </p>
  </dd>
! <dt><span>patch version 2.5.4 (or later)</span></dt>
  <dd>
  <p>Necessary when applying patches, created with <code>diff</code>, to one&rsquo;s
  own sources.
--- 377,408 ----
  included in releases.
  </p>
  </dd>
! <dt>TeX (any working version)</dt>
  <dd>
  <p>Necessary for running <code>texi2dvi</code> and <code>texi2pdf</code>, which
  are used when running <code>make dvi</code> or <code>make pdf</code> to create
  DVI or PDF files, respectively.
  </p>
  </dd>
! <dt>Sphinx version 1.0 (or later)</dt>
  <dd>
  <p>Necessary to regenerate <samp>jit/docs/_build/texinfo</samp> from the <samp>.rst</samp>
  files in the directories below <samp>jit/docs</samp>.
  </p>
  </dd>
! <dt>git (any version)</dt>
! <dt>SSH (any version)</dt>
  <dd>
  <p>Necessary to access the source repository.  Public releases and weekly
  snapshots of the development sources are also available via HTTPS.
  </p>
  </dd>
! <dt>GNU diffutils version 2.7 (or later)</dt>
  <dd>
  <p>Useful when submitting patches for the GCC source code.
  </p>
  </dd>
! <dt>patch version 2.5.4 (or later)</dt>
  <dd>
  <p>Necessary when applying patches, created with <code>diff</code>, to one&rsquo;s
  own sources.
diff -Nrcpad gcc-11.4.0/INSTALL/specific.html gcc-11.5.0/INSTALL/specific.html
*** gcc-11.4.0/INSTALL/specific.html	Mon May 29 08:49:49 2023
--- gcc-11.5.0/INSTALL/specific.html	Fri Jul 19 05:53:53 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Host/Target specific installation notes for GCC</title>
  
  <meta name="description" content="Host/Target specific installation notes for GCC">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 80,90 ****
  
  
  
! <span id="index-Specific"></span>
! <span id="index-Specific-installation-notes"></span>
! <span id="index-Target-specific-installation"></span>
! <span id="index-Host-specific-installation"></span>
! <span id="index-Target-specific-installation-notes"></span>
  
  <p>Please read this document carefully <em>before</em> installing the
  GNU Compiler Collection on your machine.
--- 86,96 ----
  
  
  
! <a name="index-Specific"></a>
! <a name="index-Specific-installation-notes"></a>
! <a name="index-Target-specific-installation"></a>
! <a name="index-Host-specific-installation"></a>
! <a name="index-Target-specific-installation-notes"></a>
  
  <p>Please read this document carefully <em>before</em> installing the
  GNU Compiler Collection on your machine.
*************** information have to.
*** 174,180 ****
  
  <!-- -------- host/target specific issues start here ---------------- -->
  <hr />
! <span id="aarch64-x-x"></span><span id="aarch64*-*-*"></span><h3 class="heading">aarch64*-*-*</h3>
  <p>Binutils pre 2.24 does not have support for selecting <samp>-mabi</samp> and
  does not support ILP32.  If it is used to build GCC 4.9 or later, GCC will
  not support option <samp>-mabi=ilp32</samp>.
--- 180,187 ----
  
  <!-- -------- host/target specific issues start here ---------------- -->
  <hr />
! <a name="aarch64-x-x"></a><a name="aarch64*-*-*"></a>
! <h3 class="heading">aarch64*-*-*</h3>
  <p>Binutils pre 2.24 does not have support for selecting <samp>-mabi</samp> and
  does not support ILP32.  If it is used to build GCC 4.9 or later, GCC will
  not support option <samp>-mabi=ilp32</samp>.
*************** protections by default.  This mechanism
*** 211,227 ****
  of the options are given at configure time.
  </p>
  <hr />
! <span id="alpha-x-x"></span><span id="alpha*-*-*"></span><h3 class="heading">alpha*-*-*</h3>
  <p>This section contains general configuration information for all
  Alpha-based platforms using ELF.  In addition to reading this
  section, please read all other sections that match your target.
  </p>
  <hr />
! <span id="amd64-x-solaris2"></span><span id="amd64-*-solaris2*"></span><h3 class="heading">amd64-*-solaris2*</h3>
  <p>This is a synonym for &lsquo;<samp>x86_64-*-solaris2*</samp>&rsquo;.
  </p>
  <hr />
! <span id="amdgcn-x-amdhsa"></span><span id="amdgcn-*-amdhsa"></span><h3 class="heading">amdgcn-*-amdhsa</h3>
  <p>AMD GCN GPU target.
  </p>
  <p>Instead of GNU Binutils, you will need to install LLVM 6, or later, and copy
--- 218,237 ----
  of the options are given at configure time.
  </p>
  <hr />
! <a name="alpha-x-x"></a><a name="alpha*-*-*"></a>
! <h3 class="heading">alpha*-*-*</h3>
  <p>This section contains general configuration information for all
  Alpha-based platforms using ELF.  In addition to reading this
  section, please read all other sections that match your target.
  </p>
  <hr />
! <a name="amd64-x-solaris2"></a><a name="amd64-*-solaris2*"></a>
! <h3 class="heading">amd64-*-solaris2*</h3>
  <p>This is a synonym for &lsquo;<samp>x86_64-*-solaris2*</samp>&rsquo;.
  </p>
  <hr />
! <a name="amdgcn-x-amdhsa"></a><a name="amdgcn-*-amdhsa"></a>
! <h3 class="heading">amdgcn-*-amdhsa</h3>
  <p>AMD GCN GPU target.
  </p>
  <p>Instead of GNU Binutils, you will need to install LLVM 6, or later, and copy
*************** section, please read all other sections
*** 239,257 ****
  on the GPU.
  </p>
  <hr />
! <span id="arc-x-elf32"></span><span id="arc-*-elf32"></span><h3 class="heading">arc-*-elf32</h3>
  
  <p>Use &lsquo;<samp>configure --target=arc-elf32 --with-cpu=<var>cpu</var> --enable-languages=&quot;c,c++&quot;</samp>&rsquo;
  to configure GCC, with <var>cpu</var> being one of &lsquo;<samp>arc600</samp>&rsquo;, &lsquo;<samp>arc601</samp>&rsquo;,
  or &lsquo;<samp>arc700</samp>&rsquo;.
  </p>
  <hr />
! <span id="arc-linux-uclibc"></span><span id="arc-linux-uclibc-1"></span><h3 class="heading">arc-linux-uclibc</h3>
  
  <p>Use &lsquo;<samp>configure --target=arc-linux-uclibc --with-cpu=arc700 --enable-languages=&quot;c,c++&quot;</samp>&rsquo; to configure GCC.
  </p>
  <hr />
! <span id="arm-x-eabi"></span><span id="arm-*-eabi"></span><h3 class="heading">arm-*-eabi</h3>
  <p>ARM-family processors.
  </p>
  <p>Building the Ada frontend commonly fails (an infinite loop executing
--- 249,270 ----
  on the GPU.
  </p>
  <hr />
! <a name="arc-x-elf32"></a><a name="arc-*-elf32"></a>
! <h3 class="heading">arc-*-elf32</h3>
  
  <p>Use &lsquo;<samp>configure --target=arc-elf32 --with-cpu=<var>cpu</var> --enable-languages=&quot;c,c++&quot;</samp>&rsquo;
  to configure GCC, with <var>cpu</var> being one of &lsquo;<samp>arc600</samp>&rsquo;, &lsquo;<samp>arc601</samp>&rsquo;,
  or &lsquo;<samp>arc700</samp>&rsquo;.
  </p>
  <hr />
! <a name="arc-linux-uclibc"></a><a name="arc-linux-uclibc-1"></a>
! <h3 class="heading">arc-linux-uclibc</h3>
  
  <p>Use &lsquo;<samp>configure --target=arc-linux-uclibc --with-cpu=arc700 --enable-languages=&quot;c,c++&quot;</samp>&rsquo; to configure GCC.
  </p>
  <hr />
! <a name="arm-x-eabi"></a><a name="arm-*-eabi"></a>
! <h3 class="heading">arm-*-eabi</h3>
  <p>ARM-family processors.
  </p>
  <p>Building the Ada frontend commonly fails (an infinite loop executing
*************** or &lsquo;<samp>arc700</samp>&rsquo;.
*** 259,265 ****
  GNAT 4.6, 4.9 or 5 release branches are known to succeed.
  </p>
  <hr />
! <span id="avr"></span><span id="avr-1"></span><h3 class="heading">avr</h3>
  <p>ATMEL AVR-family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  See &ldquo;AVR Options&rdquo; in the main manual
--- 272,279 ----
  GNAT 4.6, 4.9 or 5 release branches are known to succeed.
  </p>
  <hr />
! <a name="avr"></a><a name="avr-1"></a>
! <h3 class="heading">avr</h3>
  <p>ATMEL AVR-family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  See &ldquo;AVR Options&rdquo; in the main manual
*************** can also be obtained from:
*** 276,289 ****
  </li></ul>
  
  <p>The following error:
! </p><div class="example">
! <pre class="example">Error: register required
  </pre></div>
  
  <p>indicates that you should upgrade to a newer version of the binutils.
  </p>
  <hr />
! <span id="bfin"></span><span id="Blackfin"></span><h3 class="heading">Blackfin</h3>
  <p>The Blackfin processor, an Analog Devices DSP.
  See &ldquo;Blackfin Options&rdquo; in the main manual
  </p>
--- 290,304 ----
  </li></ul>
  
  <p>The following error:
! </p><div class="smallexample">
! <pre class="smallexample">Error: register required
  </pre></div>
  
  <p>indicates that you should upgrade to a newer version of the binutils.
  </p>
  <hr />
! <a name="bfin"></a><a name="Blackfin"></a>
! <h3 class="heading">Blackfin</h3>
  <p>The Blackfin processor, an Analog Devices DSP.
  See &ldquo;Blackfin Options&rdquo; in the main manual
  </p>
*************** See &ldquo;Blackfin Options&rdquo; in th
*** 291,297 ****
  are available at <a href="https://sourceforge.net/projects/adi-toolchain/">https://sourceforge.net/projects/adi-toolchain/</a>.
  </p>
  <hr />
! <span id="cr16"></span><span id="CR16"></span><h3 class="heading">CR16</h3>
  <p>The CR16 CompactRISC architecture is a 16-bit architecture. This
  architecture is used in embedded applications.
  </p>
--- 306,313 ----
  are available at <a href="https://sourceforge.net/projects/adi-toolchain/">https://sourceforge.net/projects/adi-toolchain/</a>.
  </p>
  <hr />
! <a name="cr16"></a><a name="CR16"></a>
! <h3 class="heading">CR16</h3>
  <p>The CR16 CompactRISC architecture is a 16-bit architecture. This
  architecture is used in embedded applications.
  </p>
*************** GCC&nbsp;for building a CR16 elf cross-c
*** 305,311 ****
  configure GCC&nbsp;for building a CR16 uclinux cross-compiler.
  </p>
  <hr />
! <span id="cris"></span><span id="CRIS"></span><h3 class="heading">CRIS</h3>
  <p>CRIS is a CPU architecture in Axis Communications systems-on-a-chip, for
  example the ETRAX series.  These are used in embedded applications.
  </p>
--- 321,328 ----
  configure GCC&nbsp;for building a CR16 uclinux cross-compiler.
  </p>
  <hr />
! <a name="cris"></a><a name="CRIS"></a>
! <h3 class="heading">CRIS</h3>
  <p>CRIS is a CPU architecture in Axis Communications systems-on-a-chip, for
  example the ETRAX series.  These are used in embedded applications.
  </p>
*************** for a list of CRIS-specific options.
*** 315,321 ****
  <p>Use &lsquo;<samp>configure --target=cris-elf</samp>&rsquo; to configure GCC&nbsp;for building
  a cross-compiler for CRIS.
  <hr />
! <span id="dos"></span></p><span id="DOS"></span><h3 class="heading">DOS</h3>
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
  </p>
  <p>You cannot install GCC by itself on MSDOS; it will not compile under
--- 332,339 ----
  <p>Use &lsquo;<samp>configure --target=cris-elf</samp>&rsquo; to configure GCC&nbsp;for building
  a cross-compiler for CRIS.
  <hr />
! <a name="dos"></a></p><a name="DOS"></a>
! <h3 class="heading">DOS</h3>
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
  </p>
  <p>You cannot install GCC by itself on MSDOS; it will not compile under
*************** compilation package DJGPP, which include
*** 324,335 ****
  and includes all the necessary compilation tools and libraries.
  </p>
  <hr />
! <span id="epiphany-x-elf"></span><span id="epiphany-*-elf"></span><h3 class="heading">epiphany-*-elf</h3>
  <p>Adapteva Epiphany.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="x-x-freebsd"></span><span id="g_t*-*-freebsd*"></span><h3 class="heading">*-*-freebsd*</h3>
  <p>Support for FreeBSD 1 was discontinued in GCC 3.2.  Support for
  FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was
  discontinued in GCC 4.0.
--- 342,355 ----
  and includes all the necessary compilation tools and libraries.
  </p>
  <hr />
! <a name="epiphany-x-elf"></a><a name="epiphany-*-elf"></a>
! <h3 class="heading">epiphany-*-elf</h3>
  <p>Adapteva Epiphany.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="x-x-freebsd"></a><a name="g_t*-*-freebsd*"></a>
! <h3 class="heading">*-*-freebsd*</h3>
  <p>Support for FreeBSD 1 was discontinued in GCC 3.2.  Support for
  FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was
  discontinued in GCC 4.0.
*************** properly on FreeBSD prior to the FreeBSD
*** 364,375 ****
  after 2.16.1.
  </p>
  <hr />
! <span id="ft32-x-elf"></span><span id="ft32-*-elf"></span><h3 class="heading">ft32-*-elf</h3>
  <p>The FT32 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="h8300-hms"></span><span id="h8300-hms-1"></span><h3 class="heading">h8300-hms</h3>
  <p>Renesas H8/300 series of processors.
  </p>
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
--- 384,397 ----
  after 2.16.1.
  </p>
  <hr />
! <a name="ft32-x-elf"></a><a name="ft32-*-elf"></a>
! <h3 class="heading">ft32-*-elf</h3>
  <p>The FT32 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="h8300-hms"></a><a name="h8300-hms-1"></a>
! <h3 class="heading">h8300-hms</h3>
  <p>Renesas H8/300 series of processors.
  </p>
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
*************** first three arguments in function calls
*** 380,386 ****
  longer a multiple of 2 bytes.
  </p>
  <hr />
! <span id="hppa-hp-hpux"></span><span id="hppa*-hp-hpux*"></span><h3 class="heading">hppa*-hp-hpux*</h3>
  <p>Support for HP-UX version 9 and older was discontinued in GCC 3.4.
  </p>
  <p>We require using gas/binutils on all hppa platforms.  Version 2.19 or
--- 402,409 ----
  longer a multiple of 2 bytes.
  </p>
  <hr />
! <a name="hppa-hp-hpux"></a><a name="hppa*-hp-hpux*"></a>
! <h3 class="heading">hppa*-hp-hpux*</h3>
  <p>Support for HP-UX version 9 and older was discontinued in GCC 3.4.
  </p>
  <p>We require using gas/binutils on all hppa platforms.  Version 2.19 or
*************** a list of the predefines used with each
*** 430,436 ****
  <p>More specific information to &lsquo;<samp>hppa*-hp-hpux*</samp>&rsquo; targets follows.
  </p>
  <hr />
! <span id="hppa-hp-hpux10"></span><span id="hppa*-hp-hpux10"></span><h3 class="heading">hppa*-hp-hpux10</h3>
  <p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed patch
  <code>PHCO_19798</code> from HP.
  </p>
--- 453,460 ----
  <p>More specific information to &lsquo;<samp>hppa*-hp-hpux*</samp>&rsquo; targets follows.
  </p>
  <hr />
! <a name="hppa-hp-hpux10"></a><a name="hppa*-hp-hpux10"></a>
! <h3 class="heading">hppa*-hp-hpux10</h3>
  <p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed patch
  <code>PHCO_19798</code> from HP.
  </p>
*************** problems in using C++ on this target.  H
*** 440,446 ****
  with the one implemented under HP-UX 11 using secondary definitions.
  </p>
  <hr />
! <span id="hppa-hp-hpux11"></span><span id="hppa*-hp-hpux11"></span><h3 class="heading">hppa*-hp-hpux11</h3>
  <p>GCC 3.0 and up support HP-UX 11.  GCC 2.95.x is not supported and cannot
  be used to compile GCC 3.0 and up.
  </p>
--- 464,471 ----
  with the one implemented under HP-UX 11 using secondary definitions.
  </p>
  <hr />
! <a name="hppa-hp-hpux11"></a><a name="hppa*-hp-hpux11"></a>
! <h3 class="heading">hppa*-hp-hpux11</h3>
  <p>GCC 3.0 and up support HP-UX 11.  GCC 2.95.x is not supported and cannot
  be used to compile GCC 3.0 and up.
  </p>
*************** versioning with <samp>--disable-symvers<
*** 543,555 ****
  supported, so <samp>--enable-threads=dce</samp> does not work.
  </p>
  <hr />
! <span id="x-x-linux-gnu"></span><span id="g_t*-*-linux-gnu"></span><h3 class="heading">*-*-linux-gnu</h3>
  <p>Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present
  in glibc 2.2.5 and later.  More information is available in the
  libstdc++-v3 documentation.
  </p>
  <hr />
! <span id="ix86-x-linux"></span><span id="i_003f86-*-linux*"></span><h3 class="heading">i?86-*-linux*</h3>
  <p>As of GCC 3.3, binutils 2.13.1 or later is required for this platform.
  See <a href="http://gcc.gnu.org/PR10877">bug 10877</a> for more information.
  </p>
--- 568,582 ----
  supported, so <samp>--enable-threads=dce</samp> does not work.
  </p>
  <hr />
! <a name="x-x-linux-gnu"></a><a name="g_t*-*-linux-gnu"></a>
! <h3 class="heading">*-*-linux-gnu</h3>
  <p>Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present
  in glibc 2.2.5 and later.  More information is available in the
  libstdc++-v3 documentation.
  </p>
  <hr />
! <a name="ix86-x-linux"></a><a name="i_003f86-*-linux*"></a>
! <h3 class="heading">i?86-*-linux*</h3>
  <p>As of GCC 3.3, binutils 2.13.1 or later is required for this platform.
  See <a href="http://gcc.gnu.org/PR10877">bug 10877</a> for more information.
  </p>
*************** possible you have a hardware problem.  F
*** 558,564 ****
  found on <a href="http://www.bitwizard.nl/sig11/">www.bitwizard.nl</a>.
  </p>
  <hr />
! <span id="ix86-x-solaris2"></span><span id="i_003f86-*-solaris2*"></span><h3 class="heading">i?86-*-solaris2*</h3>
  <p>Use this for Solaris 11.3 or later on x86 and x86-64 systems.  Starting
  with GCC 4.7, there is also a 64-bit &lsquo;<samp>amd64-*-solaris2*</samp>&rsquo; or
  &lsquo;<samp>x86_64-*-solaris2*</samp>&rsquo; configuration that corresponds to
--- 585,592 ----
  found on <a href="http://www.bitwizard.nl/sig11/">www.bitwizard.nl</a>.
  </p>
  <hr />
! <a name="ix86-x-solaris2"></a><a name="i_003f86-*-solaris2*"></a>
! <h3 class="heading">i?86-*-solaris2*</h3>
  <p>Use this for Solaris 11.3 or later on x86 and x86-64 systems.  Starting
  with GCC 4.7, there is also a 64-bit &lsquo;<samp>amd64-*-solaris2*</samp>&rsquo; or
  &lsquo;<samp>x86_64-*-solaris2*</samp>&rsquo; configuration that corresponds to
*************** to configure with <samp>--without-gnu-ld
*** 582,588 ****
  guarantee use of Solaris <code>ld</code>.
  </p>
  <hr />
! <span id="ia64-x-linux"></span><span id="ia64-*-linux"></span><h3 class="heading">ia64-*-linux</h3>
  <p>IA-64 processor (also known as IPF, or Itanium Processor Family)
  running GNU/Linux.
  </p>
--- 610,617 ----
  guarantee use of Solaris <code>ld</code>.
  </p>
  <hr />
! <a name="ia64-x-linux"></a><a name="ia64-*-linux"></a>
! <h3 class="heading">ia64-*-linux</h3>
  <p>IA-64 processor (also known as IPF, or Itanium Processor Family)
  running GNU/Linux.
  </p>
*************** As of version 3.1 GCC is believed to be
*** 600,606 ****
  more major ABI changes are expected.
  </p>
  <hr />
! <span id="ia64-x-hpux"></span><span id="ia64-*-hpux*"></span><h3 class="heading">ia64-*-hpux*</h3>
  <p>Building GCC on this target requires the GNU Assembler.  The bundled HP
  assembler will not work.  To prevent GCC from using the wrong assembler,
  the option <samp>--with-gnu-as</samp> may be necessary.
--- 629,636 ----
  more major ABI changes are expected.
  </p>
  <hr />
! <a name="ia64-x-hpux"></a><a name="ia64-*-hpux*"></a>
! <h3 class="heading">ia64-*-hpux*</h3>
  <p>Building GCC on this target requires the GNU Assembler.  The bundled HP
  assembler will not work.  To prevent GCC from using the wrong assembler,
  the option <samp>--with-gnu-as</samp> may be necessary.
*************** removed and the system libunwind library
*** 613,619 ****
  </p>
  <hr />
  <!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
! <span id="x-ibm-aix"></span><span id="g_t*-ibm-aix*"></span><h3 class="heading">*-ibm-aix*</h3>
  <p>Support for AIX version 3 and older was discontinued in GCC 3.4.
  Support for AIX version 4.2 and older was discontinued in GCC 4.5.
  </p>
--- 643,650 ----
  </p>
  <hr />
  <!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
! <a name="x-ibm-aix"></a><a name="g_t*-ibm-aix*"></a>
! <h3 class="heading">*-ibm-aix*</h3>
  <p>Support for AIX version 3 and older was discontinued in GCC 3.4.
  Support for AIX version 4.2 and older was discontinued in GCC 4.5.
  </p>
*************** with an earlier release of GCC is recomm
*** 630,637 ****
  requires a larger data segment, which can be enabled through the
  <var>LDR_CNTRL</var> environment variable, e.g.,
  </p>
! <div class="example">
! <pre class="example">% LDR_CNTRL=MAXDATA=0x50000000
  % export LDR_CNTRL
  </pre></div>
  
--- 661,668 ----
  requires a larger data segment, which can be enabled through the
  <var>LDR_CNTRL</var> environment variable, e.g.,
  </p>
! <div class="smallexample">
! <pre class="smallexample">% LDR_CNTRL=MAXDATA=0x50000000
  % export LDR_CNTRL
  </pre></div>
  
*************** with a version of GCC built for an earli
*** 642,649 ****
  <p>To speed up the configuration phases of bootstrapping and installing GCC,
  one may use GNU Bash instead of AIX <code>/bin/sh</code>, e.g.,
  </p>
! <div class="example">
! <pre class="example">% CONFIG_SHELL=/opt/freeware/bin/bash
  % export CONFIG_SHELL
  </pre></div>
  
--- 673,680 ----
  <p>To speed up the configuration phases of bootstrapping and installing GCC,
  one may use GNU Bash instead of AIX <code>/bin/sh</code>, e.g.,
  </p>
! <div class="smallexample">
! <pre class="smallexample">% CONFIG_SHELL=/opt/freeware/bin/bash
  % export CONFIG_SHELL
  </pre></div>
  
*************** APAR IY26685 (AIX 4.3) or APAR IY25528 (
*** 693,699 ****
  fix for another AIX Assembler bug and a co-dependent AIX Archiver fix
  referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)
  </p>
! <span id="TransferAixShobj"></span><p>&lsquo;<samp>libstdc++</samp>&rsquo; in GCC 3.4 increments the major version number of the
  shared object and GCC installation places the <samp>libstdc++.a</samp>
  shared library in a common location which will overwrite the and GCC
  3.3 version of the shared library.  Applications either need to be
--- 724,730 ----
  fix for another AIX Assembler bug and a co-dependent AIX Archiver fix
  referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)
  </p>
! <a name="TransferAixShobj"></a><p>&lsquo;<samp>libstdc++</samp>&rsquo; in GCC 3.4 increments the major version number of the
  shared object and GCC installation places the <samp>libstdc++.a</samp>
  shared library in a common location which will overwrite the and GCC
  3.3 version of the shared library.  Applications either need to be
*************** multilib <samp>libstdc++.a</samp> instal
*** 707,726 ****
  </p>
  <p>Extract the shared objects from the currently installed
  <samp>libstdc++.a</samp> archive:
! </p><div class="example">
! <pre class="example">% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Enable the &lsquo;<samp>F_LOADONLY</samp>&rsquo; flag so that the shared object will be
  available for runtime dynamic loading, but not linking:
! </p><div class="example">
! <pre class="example">% strip -e libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Archive the runtime-only shared object in the GCC 3.4
  <samp>libstdc++.a</samp> archive:
! </p><div class="example">
! <pre class="example">% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Eventually, the
--- 738,757 ----
  </p>
  <p>Extract the shared objects from the currently installed
  <samp>libstdc++.a</samp> archive:
! </p><div class="smallexample">
! <pre class="smallexample">% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Enable the &lsquo;<samp>F_LOADONLY</samp>&rsquo; flag so that the shared object will be
  available for runtime dynamic loading, but not linking:
! </p><div class="smallexample">
! <pre class="smallexample">% strip -e libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Archive the runtime-only shared object in the GCC 3.4
  <samp>libstdc++.a</samp> archive:
! </p><div class="smallexample">
! <pre class="smallexample">% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
  </pre></div>
  
  <p>Eventually, the
*************** environment variable to &lsquo;<samp>C</
*** 777,808 ****
  switch and using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
  </p>
  <hr />
! <span id="iq2000-x-elf"></span><span id="iq2000-*-elf"></span><h3 class="heading">iq2000-*-elf</h3>
  <p>Vitesse IQ2000 processors.  These are used in embedded
  applications.  There are no standard Unix configurations.
  </p>
  <hr />
! <span id="lm32-x-elf"></span><span id="lm32-*-elf"></span><h3 class="heading">lm32-*-elf</h3>
  <p>Lattice Mico32 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="lm32-x-uclinux"></span><span id="lm32-*-uclinux"></span><h3 class="heading">lm32-*-uclinux</h3>
  <p>Lattice Mico32 processor.
  This configuration is intended for embedded systems running uClinux.
  </p>
  <hr />
! <span id="m32c-x-elf"></span><span id="m32c-*-elf"></span><h3 class="heading">m32c-*-elf</h3>
  <p>Renesas M32C processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="m32r-x-elf"></span><span id="m32r-*-elf"></span><h3 class="heading">m32r-*-elf</h3>
  <p>Renesas M32R processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="m68k-x-x"></span><span id="m68k-*-*"></span><h3 class="heading">m68k-*-*</h3>
  <p>By default,
  &lsquo;<samp>m68k-*-elf*</samp>&rsquo;, &lsquo;<samp>m68k-*-rtems</samp>&rsquo;,  &lsquo;<samp>m68k-*-uclinux</samp>&rsquo; and
  &lsquo;<samp>m68k-*-linux</samp>&rsquo;
--- 808,845 ----
  switch and using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
  </p>
  <hr />
! <a name="iq2000-x-elf"></a><a name="iq2000-*-elf"></a>
! <h3 class="heading">iq2000-*-elf</h3>
  <p>Vitesse IQ2000 processors.  These are used in embedded
  applications.  There are no standard Unix configurations.
  </p>
  <hr />
! <a name="lm32-x-elf"></a><a name="lm32-*-elf"></a>
! <h3 class="heading">lm32-*-elf</h3>
  <p>Lattice Mico32 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="lm32-x-uclinux"></a><a name="lm32-*-uclinux"></a>
! <h3 class="heading">lm32-*-uclinux</h3>
  <p>Lattice Mico32 processor.
  This configuration is intended for embedded systems running uClinux.
  </p>
  <hr />
! <a name="m32c-x-elf"></a><a name="m32c-*-elf"></a>
! <h3 class="heading">m32c-*-elf</h3>
  <p>Renesas M32C processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="m32r-x-elf"></a><a name="m32r-*-elf"></a>
! <h3 class="heading">m32r-*-elf</h3>
  <p>Renesas M32R processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="m68k-x-x"></a><a name="m68k-*-*"></a>
! <h3 class="heading">m68k-*-*</h3>
  <p>By default,
  &lsquo;<samp>m68k-*-elf*</samp>&rsquo;, &lsquo;<samp>m68k-*-rtems</samp>&rsquo;,  &lsquo;<samp>m68k-*-uclinux</samp>&rsquo; and
  &lsquo;<samp>m68k-*-linux</samp>&rsquo;
*************** be a <samp>-mcpu</samp> argument or one
*** 828,846 ****
  <p>GCC requires at least binutils version 2.17 on these targets.
  </p>
  <hr />
! <span id="m68k-x-uclinux"></span><span id="m68k-*-uclinux"></span><h3 class="heading">m68k-*-uclinux</h3>
  <p>GCC 4.3 changed the uClinux configuration so that it uses the
  &lsquo;<samp>m68k-linux-gnu</samp>&rsquo; ABI rather than the &lsquo;<samp>m68k-elf</samp>&rsquo; ABI.
  It also added improved support for C++ and flat shared libraries,
  both of which were ABI changes.
  </p>
  <hr />
! <span id="microblaze-x-elf"></span><span id="microblaze-*-elf"></span><h3 class="heading">microblaze-*-elf</h3>
  <p>Xilinx MicroBlaze processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="mips-x-x"></span><span id="mips-*-*"></span><h3 class="heading">mips-*-*</h3>
  <p>If on a MIPS system you get an error message saying &ldquo;does not have gp
  sections for all it&rsquo;s [sic] sectons [sic]&rdquo;, don&rsquo;t worry about it.  This
  happens whenever you use GAS with the MIPS linker, but there is not
--- 865,886 ----
  <p>GCC requires at least binutils version 2.17 on these targets.
  </p>
  <hr />
! <a name="m68k-x-uclinux"></a><a name="m68k-*-uclinux"></a>
! <h3 class="heading">m68k-*-uclinux</h3>
  <p>GCC 4.3 changed the uClinux configuration so that it uses the
  &lsquo;<samp>m68k-linux-gnu</samp>&rsquo; ABI rather than the &lsquo;<samp>m68k-elf</samp>&rsquo; ABI.
  It also added improved support for C++ and flat shared libraries,
  both of which were ABI changes.
  </p>
  <hr />
! <a name="microblaze-x-elf"></a><a name="microblaze-*-elf"></a>
! <h3 class="heading">microblaze-*-elf</h3>
  <p>Xilinx MicroBlaze processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="mips-x-x"></a><a name="mips-*-*"></a>
! <h3 class="heading">mips-*-*</h3>
  <p>If on a MIPS system you get an error message saying &ldquo;does not have gp
  sections for all it&rsquo;s [sic] sectons [sic]&rdquo;, don&rsquo;t worry about it.  This
  happens whenever you use GAS with the MIPS linker, but there is not
*************** the use of break, use the <samp>--with-d
*** 880,890 ****
  use traps on systems that support them.
  </p>
  <hr />
! <span id="moxie-x-elf"></span><span id="moxie-*-elf"></span><h3 class="heading">moxie-*-elf</h3>
  <p>The moxie processor.
  </p>
  <hr />
! <span id="msp430-x-elf"></span><span id="msp430-*-elf*"></span><h3 class="heading">msp430-*-elf*</h3>
  <p>TI MSP430 processor.
  This configuration is intended for embedded systems.
  </p>
--- 920,932 ----
  use traps on systems that support them.
  </p>
  <hr />
! <a name="moxie-x-elf"></a><a name="moxie-*-elf"></a>
! <h3 class="heading">moxie-*-elf</h3>
  <p>The moxie processor.
  </p>
  <hr />
! <a name="msp430-x-elf"></a><a name="msp430-*-elf*"></a>
! <h3 class="heading">msp430-*-elf*</h3>
  <p>TI MSP430 processor.
  This configuration is intended for embedded systems.
  </p>
*************** in a minimal run-time environment by def
*** 903,917 ****
  </li></ul>
  
  <hr />
! <span id="nds32le-x-elf"></span><span id="nds32le-*-elf"></span><h3 class="heading">nds32le-*-elf</h3>
  <p>Andes NDS32 target in little endian mode.
  </p>
  <hr />
! <span id="nds32be-x-elf"></span><span id="nds32be-*-elf"></span><h3 class="heading">nds32be-*-elf</h3>
  <p>Andes NDS32 target in big endian mode.
  </p>
  <hr />
! <span id="nvptx-x-none"></span><span id="nvptx-*-none"></span><h3 class="heading">nvptx-*-none</h3>
  <p>Nvidia PTX target.
  </p>
  <p>Instead of GNU binutils, you will need to install
--- 945,962 ----
  </li></ul>
  
  <hr />
! <a name="nds32le-x-elf"></a><a name="nds32le-*-elf"></a>
! <h3 class="heading">nds32le-*-elf</h3>
  <p>Andes NDS32 target in little endian mode.
  </p>
  <hr />
! <a name="nds32be-x-elf"></a><a name="nds32be-*-elf"></a>
! <h3 class="heading">nds32be-*-elf</h3>
  <p>Andes NDS32 target in big endian mode.
  </p>
  <hr />
! <a name="nvptx-x-none"></a><a name="nvptx-*-none"></a>
! <h3 class="heading">nvptx-*-none</h3>
  <p>Nvidia PTX target.
  </p>
  <p>Instead of GNU binutils, you will need to install
*************** the GCC sources.
*** 929,951 ****
  <samp>--enable-newlib-io-long-long</samp> options when configuring.
  </p>
  <hr />
! <span id="or1k-x-elf"></span><span id="or1k-*-elf"></span><h3 class="heading">or1k-*-elf</h3>
  <p>The OpenRISC 1000 32-bit processor with delay slots.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="or1k-x-linux"></span><span id="or1k-*-linux"></span><h3 class="heading">or1k-*-linux</h3>
  <p>The OpenRISC 1000 32-bit processor with delay slots.
  </p>
  <hr />
! <span id="powerpc-x-x"></span><span id="powerpc-*-*"></span><h3 class="heading">powerpc-*-*</h3>
  <p>You can specify a default version for the <samp>-mcpu=<var>cpu_type</var></samp>
  switch by using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
  </p>
  <p>You will need GNU binutils 2.20 or newer.
  </p>
  <hr />
! <span id="powerpc-x-darwin"></span><span id="powerpc-*-darwin*"></span><h3 class="heading">powerpc-*-darwin*</h3>
  <p>PowerPC running Darwin (Mac OS X kernel).
  </p>
  <p>Pre-installed versions of Mac OS X may not include any developer tools,
--- 974,1000 ----
  <samp>--enable-newlib-io-long-long</samp> options when configuring.
  </p>
  <hr />
! <a name="or1k-x-elf"></a><a name="or1k-*-elf"></a>
! <h3 class="heading">or1k-*-elf</h3>
  <p>The OpenRISC 1000 32-bit processor with delay slots.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="or1k-x-linux"></a><a name="or1k-*-linux"></a>
! <h3 class="heading">or1k-*-linux</h3>
  <p>The OpenRISC 1000 32-bit processor with delay slots.
  </p>
  <hr />
! <a name="powerpc-x-x"></a><a name="powerpc-*-*"></a>
! <h3 class="heading">powerpc-*-*</h3>
  <p>You can specify a default version for the <samp>-mcpu=<var>cpu_type</var></samp>
  switch by using the configure option <samp>--with-cpu-<var>cpu_type</var></samp>.
  </p>
  <p>You will need GNU binutils 2.20 or newer.
  </p>
  <hr />
! <a name="powerpc-x-darwin"></a><a name="powerpc-*-darwin*"></a>
! <h3 class="heading">powerpc-*-darwin*</h3>
  <p>PowerPC running Darwin (Mac OS X kernel).
  </p>
  <p>Pre-installed versions of Mac OS X may not include any developer tools,
*************** cctools-590.36 package referenced from
*** 959,1043 ****
  on systems older than 10.3.9 (aka darwin7.9.0).
  </p>
  <hr />
! <span id="powerpc-x-elf"></span><span id="powerpc-*-elf"></span><h3 class="heading">powerpc-*-elf</h3>
  <p>PowerPC system in big endian mode, running System V.4.
  </p>
  <hr />
! <span id="powerpc-x-linux-gnu"></span><span id="powerpc*-*-linux-gnu*"></span><h3 class="heading">powerpc*-*-linux-gnu*</h3>
  <p>PowerPC system in big endian mode running Linux.
  </p>
  <hr />
! <span id="powerpc-x-netbsd"></span><span id="powerpc-*-netbsd*"></span><h3 class="heading">powerpc-*-netbsd*</h3>
  <p>PowerPC system in big endian mode running NetBSD.
  </p>
  <hr />
! <span id="powerpc-x-eabisim"></span><span id="powerpc-*-eabisim"></span><h3 class="heading">powerpc-*-eabisim</h3>
  <p>Embedded PowerPC system in big endian mode for use in running under the
  PSIM simulator.
  </p>
  <hr />
! <span id="powerpc-x-eabi"></span><span id="powerpc-*-eabi"></span><h3 class="heading">powerpc-*-eabi</h3>
  <p>Embedded PowerPC system in big endian mode.
  </p>
  <hr />
! <span id="powerpcle-x-elf"></span><span id="powerpcle-*-elf"></span><h3 class="heading">powerpcle-*-elf</h3>
  <p>PowerPC system in little endian mode, running System V.4.
  </p>
  <hr />
! <span id="powerpcle-x-eabisim"></span><span id="powerpcle-*-eabisim"></span><h3 class="heading">powerpcle-*-eabisim</h3>
  <p>Embedded PowerPC system in little endian mode for use in running under
  the PSIM simulator.
  </p>
  <hr />
! <span id="powerpcle-x-eabi"></span><span id="powerpcle-*-eabi"></span><h3 class="heading">powerpcle-*-eabi</h3>
  <p>Embedded PowerPC system in little endian mode.
  </p>
  <hr />
! <span id="rl78-x-elf"></span><span id="rl78-*-elf"></span><h3 class="heading">rl78-*-elf</h3>
  <p>The Renesas RL78 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="riscv32-x-elf"></span><span id="riscv32-*-elf"></span><h3 class="heading">riscv32-*-elf</h3>
  <p>The RISC-V RV32 instruction set.
  This configuration is intended for embedded systems.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <span id="riscv32-x-linux"></span><span id="riscv32-*-linux"></span><h3 class="heading">riscv32-*-linux</h3>
  <p>The RISC-V RV32 instruction set running GNU/Linux.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <span id="riscv64-x-elf"></span><span id="riscv64-*-elf"></span><h3 class="heading">riscv64-*-elf</h3>
  <p>The RISC-V RV64 instruction set.
  This configuration is intended for embedded systems.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <span id="riscv64-x-linux"></span><span id="riscv64-*-linux"></span><h3 class="heading">riscv64-*-linux</h3>
  <p>The RISC-V RV64 instruction set running GNU/Linux.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <span id="rx-x-elf"></span><span id="rx-*-elf"></span><h3 class="heading">rx-*-elf</h3>
  <p>The Renesas RX processor.
  </p>
  <hr />
! <span id="s390-x-linux"></span><span id="s390-*-linux*"></span><h3 class="heading">s390-*-linux*</h3>
  <p>S/390 system running GNU/Linux for S/390.
  </p>
  <hr />
! <span id="s390x-x-linux"></span><span id="s390x-*-linux*"></span><h3 class="heading">s390x-*-linux*</h3>
  <p>zSeries system (64-bit) running GNU/Linux for zSeries.
  </p>
  <hr />
! <span id="s390x-ibm-tpf"></span><span id="s390x-ibm-tpf*"></span><h3 class="heading">s390x-ibm-tpf*</h3>
  <p>zSeries system (64-bit) running TPF.  This platform is
  supported as cross-compilation target only.
  </p>
  <hr />
! <span id="x-x-solaris2"></span><span id="g_t*-*-solaris2*"></span><h3 class="heading">*-*-solaris2*</h3>
  <p>Support for Solaris 10 has been removed in GCC 10.  Support for Solaris
  9 has been removed in GCC 5.  Support for Solaris 8 has been removed in
  GCC 4.8.  Support for Solaris 7 has been removed in GCC 4.6.
--- 1008,1110 ----
  on systems older than 10.3.9 (aka darwin7.9.0).
  </p>
  <hr />
! <a name="powerpc-x-elf"></a><a name="powerpc-*-elf"></a>
! <h3 class="heading">powerpc-*-elf</h3>
  <p>PowerPC system in big endian mode, running System V.4.
  </p>
  <hr />
! <a name="powerpc-x-linux-gnu"></a><a name="powerpc*-*-linux-gnu*"></a>
! <h3 class="heading">powerpc*-*-linux-gnu*</h3>
  <p>PowerPC system in big endian mode running Linux.
  </p>
  <hr />
! <a name="powerpc-x-netbsd"></a><a name="powerpc-*-netbsd*"></a>
! <h3 class="heading">powerpc-*-netbsd*</h3>
  <p>PowerPC system in big endian mode running NetBSD.
  </p>
  <hr />
! <a name="powerpc-x-eabisim"></a><a name="powerpc-*-eabisim"></a>
! <h3 class="heading">powerpc-*-eabisim</h3>
  <p>Embedded PowerPC system in big endian mode for use in running under the
  PSIM simulator.
  </p>
  <hr />
! <a name="powerpc-x-eabi"></a><a name="powerpc-*-eabi"></a>
! <h3 class="heading">powerpc-*-eabi</h3>
  <p>Embedded PowerPC system in big endian mode.
  </p>
  <hr />
! <a name="powerpcle-x-elf"></a><a name="powerpcle-*-elf"></a>
! <h3 class="heading">powerpcle-*-elf</h3>
  <p>PowerPC system in little endian mode, running System V.4.
  </p>
  <hr />
! <a name="powerpcle-x-eabisim"></a><a name="powerpcle-*-eabisim"></a>
! <h3 class="heading">powerpcle-*-eabisim</h3>
  <p>Embedded PowerPC system in little endian mode for use in running under
  the PSIM simulator.
  </p>
  <hr />
! <a name="powerpcle-x-eabi"></a><a name="powerpcle-*-eabi"></a>
! <h3 class="heading">powerpcle-*-eabi</h3>
  <p>Embedded PowerPC system in little endian mode.
  </p>
  <hr />
! <a name="rl78-x-elf"></a><a name="rl78-*-elf"></a>
! <h3 class="heading">rl78-*-elf</h3>
  <p>The Renesas RL78 processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="riscv32-x-elf"></a><a name="riscv32-*-elf"></a>
! <h3 class="heading">riscv32-*-elf</h3>
  <p>The RISC-V RV32 instruction set.
  This configuration is intended for embedded systems.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <a name="riscv32-x-linux"></a><a name="riscv32-*-linux"></a>
! <h3 class="heading">riscv32-*-linux</h3>
  <p>The RISC-V RV32 instruction set running GNU/Linux.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <a name="riscv64-x-elf"></a><a name="riscv64-*-elf"></a>
! <h3 class="heading">riscv64-*-elf</h3>
  <p>The RISC-V RV64 instruction set.
  This configuration is intended for embedded systems.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <a name="riscv64-x-linux"></a><a name="riscv64-*-linux"></a>
! <h3 class="heading">riscv64-*-linux</h3>
  <p>The RISC-V RV64 instruction set running GNU/Linux.
  This (and all other RISC-V) targets require the binutils 2.30 release.
  </p>
  <hr />
! <a name="rx-x-elf"></a><a name="rx-*-elf"></a>
! <h3 class="heading">rx-*-elf</h3>
  <p>The Renesas RX processor.
  </p>
  <hr />
! <a name="s390-x-linux"></a><a name="s390-*-linux*"></a>
! <h3 class="heading">s390-*-linux*</h3>
  <p>S/390 system running GNU/Linux for S/390.
  </p>
  <hr />
! <a name="s390x-x-linux"></a><a name="s390x-*-linux*"></a>
! <h3 class="heading">s390x-*-linux*</h3>
  <p>zSeries system (64-bit) running GNU/Linux for zSeries.
  </p>
  <hr />
! <a name="s390x-ibm-tpf"></a><a name="s390x-ibm-tpf*"></a>
! <h3 class="heading">s390x-ibm-tpf*</h3>
  <p>zSeries system (64-bit) running TPF.  This platform is
  supported as cross-compilation target only.
  </p>
  <hr />
! <a name="x-x-solaris2"></a><a name="g_t*-*-solaris2*"></a>
! <h3 class="heading">*-*-solaris2*</h3>
  <p>Support for Solaris 10 has been removed in GCC 10.  Support for Solaris
  9 has been removed in GCC 5.  Support for Solaris 8 has been removed in
  GCC 4.8.  Support for Solaris 7 has been removed in GCC 4.6.
*************** you can install a pre-built GCC to boots
*** 1052,1059 ****
  &lsquo;<samp>libstdc++-v3</samp>&rsquo;.  We therefore recommend using the
  following initial sequence of commands
  </p>
! <div class="example">
! <pre class="example">% CONFIG_SHELL=/bin/ksh
  % export CONFIG_SHELL
  </pre></div>
  
--- 1119,1126 ----
  &lsquo;<samp>libstdc++-v3</samp>&rsquo;.  We therefore recommend using the
  following initial sequence of commands
  </p>
! <div class="smallexample">
! <pre class="smallexample">% CONFIG_SHELL=/bin/ksh
  % export CONFIG_SHELL
  </pre></div>
  
*************** need to provide a more recent one.
*** 1110,1116 ****
  </li></ul>
  
  <hr />
! <span id="sparc-x-x"></span><span id="sparc*-*-*"></span><h3 class="heading">sparc*-*-*</h3>
  <p>This section contains general configuration information for all
  SPARC-based platforms.  In addition to reading this section, please
  read all other sections that match your target.
--- 1177,1184 ----
  </li></ul>
  
  <hr />
! <a name="sparc-x-x"></a><a name="sparc*-*-*"></a>
! <h3 class="heading">sparc*-*-*</h3>
  <p>This section contains general configuration information for all
  SPARC-based platforms.  In addition to reading this section, please
  read all other sections that match your target.
*************** of the exact versions of these libraries
*** 1122,1128 ****
  in <a href="prerequisites.html">the prerequisites</a>.
  </p>
  <hr />
! <span id="sparc-sun-solaris2"></span><span id="sparc-sun-solaris2*"></span><h3 class="heading">sparc-sun-solaris2*</h3>
  <p>When GCC is configured to use GNU binutils 2.14 or later, the binaries
  produced are smaller than the ones produced using Solaris native tools;
  this difference is quite significant for binaries containing debugging
--- 1190,1197 ----
  in <a href="prerequisites.html">the prerequisites</a>.
  </p>
  <hr />
! <a name="sparc-sun-solaris2"></a><a name="sparc-sun-solaris2*"></a>
! <h3 class="heading">sparc-sun-solaris2*</h3>
  <p>When GCC is configured to use GNU binutils 2.14 or later, the binaries
  produced are smaller than the ones produced using Solaris native tools;
  this difference is quite significant for binaries containing debugging
*************** target triplet must be specified as the
*** 1142,1156 ****
  configure line.  This target triplet can be obtained by invoking <code>./config.guess</code> in the toplevel source directory of GCC (and
  not that of GMP or MPFR or MPC).  For example on a Solaris 11 system:
  </p>
! <div class="example">
! <pre class="example">% ./configure --build=sparc-sun-solaris2.11 --prefix=xxx
  </pre></div>
  
  <hr />
! <span id="sparc-x-linux"></span><span id="sparc-*-linux*"></span><h3 class="heading">sparc-*-linux*</h3>
  
  <hr />
! <span id="sparc64-x-solaris2"></span><span id="sparc64-*-solaris2*"></span><h3 class="heading">sparc64-*-solaris2*</h3>
  <p>When configuring a 64-bit-default GCC on Solaris/SPARC, you must use a
  build compiler that generates 64-bit code, either by default or by
  specifying &lsquo;<samp>CC='gcc -m64' CXX='gcc-m64'</samp>&rsquo; to <code>configure</code>.
--- 1211,1227 ----
  configure line.  This target triplet can be obtained by invoking <code>./config.guess</code> in the toplevel source directory of GCC (and
  not that of GMP or MPFR or MPC).  For example on a Solaris 11 system:
  </p>
! <div class="smallexample">
! <pre class="smallexample">% ./configure --build=sparc-sun-solaris2.11 --prefix=xxx
  </pre></div>
  
  <hr />
! <a name="sparc-x-linux"></a><a name="sparc-*-linux*"></a>
! <h3 class="heading">sparc-*-linux*</h3>
  
  <hr />
! <a name="sparc64-x-solaris2"></a><a name="sparc64-*-solaris2*"></a>
! <h3 class="heading">sparc64-*-solaris2*</h3>
  <p>When configuring a 64-bit-default GCC on Solaris/SPARC, you must use a
  build compiler that generates 64-bit code, either by default or by
  specifying &lsquo;<samp>CC='gcc -m64' CXX='gcc-m64'</samp>&rsquo; to <code>configure</code>.
*************** library or the MPC library, the canonica
*** 1163,1202 ****
  as the <code>build</code> parameter on the configure line.  For example
  on a Solaris 11 system:
  </p>
! <div class="example">
! <pre class="example">% ./configure --build=sparc64-sun-solaris2.11 --prefix=xxx
  </pre></div>
  
  <hr />
! <span id="sparcv9-x-solaris2"></span><span id="sparcv9-*-solaris2*"></span><h3 class="heading">sparcv9-*-solaris2*</h3>
  <p>This is a synonym for &lsquo;<samp>sparc64-*-solaris2*</samp>&rsquo;.
  </p>
  <hr />
! <span id="c6x-x-x"></span><span id="c6x-*-*"></span><h3 class="heading">c6x-*-*</h3>
  <p>The C6X family of processors. This port requires binutils-2.22 or newer.
  </p>
  <hr />
! <span id="tilegx-*-linux"></span><span id="tilegx-*-linux*"></span><h3 class="heading">tilegx-*-linux*</h3>
  <p>The TILE-Gx processor in little endian mode, running GNU/Linux.  This
  port requires binutils-2.22 or newer.
  </p>
  <hr />
! <span id="tilegxbe-*-linux"></span><span id="tilegxbe-*-linux*"></span><h3 class="heading">tilegxbe-*-linux*</h3>
  <p>The TILE-Gx processor in big endian mode, running GNU/Linux.  This
  port requires binutils-2.23 or newer.
  </p>
  <hr />
! <span id="tilepro-*-linux"></span><span id="tilepro-*-linux*"></span><h3 class="heading">tilepro-*-linux*</h3>
  <p>The TILEPro processor running GNU/Linux.  This port requires
  binutils-2.22 or newer.
  </p>
  <hr />
! <span id="visium-x-elf"></span><span id="visium-*-elf"></span><h3 class="heading">visium-*-elf</h3>
  <p>CDS VISIUMcore processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <span id="x-x-vxworks"></span><span id="g_t*-*-vxworks*"></span><h3 class="heading">*-*-vxworks*</h3>
  <p>Support for VxWorks is in flux.  At present GCC supports <em>only</em> the
  very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC.
  We welcome patches for other architectures supported by VxWorks 5.5.
--- 1234,1280 ----
  as the <code>build</code> parameter on the configure line.  For example
  on a Solaris 11 system:
  </p>
! <div class="smallexample">
! <pre class="smallexample">% ./configure --build=sparc64-sun-solaris2.11 --prefix=xxx
  </pre></div>
  
  <hr />
! <a name="sparcv9-x-solaris2"></a><a name="sparcv9-*-solaris2*"></a>
! <h3 class="heading">sparcv9-*-solaris2*</h3>
  <p>This is a synonym for &lsquo;<samp>sparc64-*-solaris2*</samp>&rsquo;.
  </p>
  <hr />
! <a name="c6x-x-x"></a><a name="c6x-*-*"></a>
! <h3 class="heading">c6x-*-*</h3>
  <p>The C6X family of processors. This port requires binutils-2.22 or newer.
  </p>
  <hr />
! <a name="tilegx-*-linux"></a><a name="tilegx-*-linux*"></a>
! <h3 class="heading">tilegx-*-linux*</h3>
  <p>The TILE-Gx processor in little endian mode, running GNU/Linux.  This
  port requires binutils-2.22 or newer.
  </p>
  <hr />
! <a name="tilegxbe-*-linux"></a><a name="tilegxbe-*-linux*"></a>
! <h3 class="heading">tilegxbe-*-linux*</h3>
  <p>The TILE-Gx processor in big endian mode, running GNU/Linux.  This
  port requires binutils-2.23 or newer.
  </p>
  <hr />
! <a name="tilepro-*-linux"></a><a name="tilepro-*-linux*"></a>
! <h3 class="heading">tilepro-*-linux*</h3>
  <p>The TILEPro processor running GNU/Linux.  This port requires
  binutils-2.22 or newer.
  </p>
  <hr />
! <a name="visium-x-elf"></a><a name="visium-*-elf"></a>
! <h3 class="heading">visium-*-elf</h3>
  <p>CDS VISIUMcore processor.
  This configuration is intended for embedded systems.
  </p>
  <hr />
! <a name="x-x-vxworks"></a><a name="g_t*-*-vxworks*"></a>
! <h3 class="heading">*-*-vxworks*</h3>
  <p>Support for VxWorks is in flux.  At present GCC supports <em>only</em> the
  very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC.
  We welcome patches for other architectures supported by VxWorks 5.5.
*************** that file to add the module to your kern
*** 1229,1242 ****
  VxWorks will incorporate this module.)
  </p>
  <hr />
! <span id="x86-64-x-x"></span><span id="x86_005f64-*-*_002c-amd64-*-*"></span><h3 class="heading">x86_64-*-*, amd64-*-*</h3>
  <p>GCC supports the x86-64 architecture implemented by the AMD64 processor
  (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD.
  On GNU/Linux the default is a bi-arch compiler which is able to generate
  both 64-bit x86-64 and 32-bit x86 code (via the <samp>-m32</samp> switch).
  </p>
  <hr />
! <span id="x86-64-x-solaris2"></span><span id="x86_005f64-*-solaris2*"></span><h3 class="heading">x86_64-*-solaris2*</h3>
  <p>GCC also supports the x86-64 architecture implemented by the AMD64
  processor (&lsquo;<samp>amd64-*-*</samp>&rsquo; is an alias for &lsquo;<samp>x86_64-*-*</samp>&rsquo;) on
  Solaris 10 or later.  Unlike other systems, without special options a
--- 1307,1322 ----
  VxWorks will incorporate this module.)
  </p>
  <hr />
! <a name="x86-64-x-x"></a><a name="x86_005f64-*-*_002c-amd64-*-*"></a>
! <h3 class="heading">x86_64-*-*, amd64-*-*</h3>
  <p>GCC supports the x86-64 architecture implemented by the AMD64 processor
  (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD.
  On GNU/Linux the default is a bi-arch compiler which is able to generate
  both 64-bit x86-64 and 32-bit x86 code (via the <samp>-m32</samp> switch).
  </p>
  <hr />
! <a name="x86-64-x-solaris2"></a><a name="x86_005f64-*-solaris2*"></a>
! <h3 class="heading">x86_64-*-solaris2*</h3>
  <p>GCC also supports the x86-64 architecture implemented by the AMD64
  processor (&lsquo;<samp>amd64-*-*</samp>&rsquo; is an alias for &lsquo;<samp>x86_64-*-*</samp>&rsquo;) on
  Solaris 10 or later.  Unlike other systems, without special options a
*************** as 64-bit code, configure with <samp>--t
*** 1249,1255 ****
  and &lsquo;<samp>CC=gcc -m64</samp>&rsquo;.
  </p>
  <hr />
! <span id="xtensa-x-elf"></span><span id="xtensa*-*-elf"></span><h3 class="heading">xtensa*-*-elf</h3>
  <p>This target is intended for embedded Xtensa systems using the
  &lsquo;<samp>newlib</samp>&rsquo; C library.  It uses ELF but does not support shared
  objects.  Designed-defined instructions specified via the
--- 1329,1336 ----
  and &lsquo;<samp>CC=gcc -m64</samp>&rsquo;.
  </p>
  <hr />
! <a name="xtensa-x-elf"></a><a name="xtensa*-*-elf"></a>
! <h3 class="heading">xtensa*-*-elf</h3>
  <p>This target is intended for embedded Xtensa systems using the
  &lsquo;<samp>newlib</samp>&rsquo; C library.  It uses ELF but does not support shared
  objects.  Designed-defined instructions specified via the
*************** downloaded files include a customized co
*** 1264,1270 ****
  which you can use to replace the default header file.
  </p>
  <hr />
! <span id="xtensa-x-linux"></span><span id="xtensa*-*-linux*"></span><h3 class="heading">xtensa*-*-linux*</h3>
  <p>This target is for Xtensa systems running GNU/Linux.  It supports ELF
  shared objects and the GNU C library (glibc).  It also generates
  position-independent code (PIC) regardless of whether the
--- 1345,1352 ----
  which you can use to replace the default header file.
  </p>
  <hr />
! <a name="xtensa-x-linux"></a><a name="xtensa*-*-linux*"></a>
! <h3 class="heading">xtensa*-*-linux*</h3>
  <p>This target is for Xtensa systems running GNU/Linux.  It supports ELF
  shared objects and the GNU C library (glibc).  It also generates
  position-independent code (PIC) regardless of whether the
*************** respects, this target is the same as the
*** 1273,1288 ****
  <a href="#xtensa*-*-elf">&lsquo;<samp>xtensa*-*-elf</samp>&rsquo;</a> target.
  </p>
  <hr />
! <span id="windows"></span><span id="Microsoft-Windows"></span><h3 class="heading">Microsoft Windows</h3>
  
! <span id="Intel-16-bit-versions"></span><h4 class="subheading">Intel 16-bit versions</h4>
  <p>The 16-bit versions of Microsoft Windows, such as Windows 3.1, are not
  supported.
  </p>
  <p>However, the 32-bit port has limited support for Microsoft
  Windows 3.11 in the Win32s environment, as a target only.  See below.
  </p>
! <span id="Intel-32-bit-versions"></span><h4 class="subheading">Intel 32-bit versions</h4>
  <p>The 32-bit versions of Windows, including Windows 95, Windows NT, Windows
  XP, and Windows Vista, are supported by several different target
  platforms.  These targets differ in which Windows subsystem they target
--- 1355,1373 ----
  <a href="#xtensa*-*-elf">&lsquo;<samp>xtensa*-*-elf</samp>&rsquo;</a> target.
  </p>
  <hr />
! <a name="windows"></a><a name="Microsoft-Windows"></a>
! <h3 class="heading">Microsoft Windows</h3>
  
! <a name="Intel-16-bit-versions"></a>
! <h4 class="subheading">Intel 16-bit versions</h4>
  <p>The 16-bit versions of Microsoft Windows, such as Windows 3.1, are not
  supported.
  </p>
  <p>However, the 32-bit port has limited support for Microsoft
  Windows 3.11 in the Win32s environment, as a target only.  See below.
  </p>
! <a name="Intel-32-bit-versions"></a>
! <h4 class="subheading">Intel 32-bit versions</h4>
  <p>The 32-bit versions of Windows, including Windows 95, Windows NT, Windows
  XP, and Windows Vista, are supported by several different target
  platforms.  These targets differ in which Windows subsystem they target
*************** the Win32 subsystem that provides a subs
*** 1297,1314 ****
  <a href="https://www.mkssoftware.com">https://www.mkssoftware.com</a> for more information.
  </li></ul>
  
! <span id="Intel-64-bit-versions"></span><h4 class="subheading">Intel 64-bit versions</h4>
  <p>GCC contains support for x86-64 using the mingw-w64
  runtime library, available from <a href="http://mingw-w64.org/doku.php">http://mingw-w64.org/doku.php</a>.
  This library should be used with the target triple x86_64-pc-mingw32.
  </p>
  <p>Presently Windows for Itanium is not supported.
  </p>
! <span id="Windows-CE"></span><h4 class="subheading">Windows CE</h4>
  <p>Windows CE is supported as a target only on Hitachi
  SuperH (sh-wince-pe), and MIPS (mips-wince-pe).
  </p>
! <span id="Other-Windows-Platforms"></span><h4 class="subheading">Other Windows Platforms</h4>
  <p>GCC no longer supports Windows NT on the Alpha or PowerPC.
  </p>
  <p>GCC no longer supports the Windows POSIX subsystem.  However, it does
--- 1382,1402 ----
  <a href="https://www.mkssoftware.com">https://www.mkssoftware.com</a> for more information.
  </li></ul>
  
! <a name="Intel-64-bit-versions"></a>
! <h4 class="subheading">Intel 64-bit versions</h4>
  <p>GCC contains support for x86-64 using the mingw-w64
  runtime library, available from <a href="http://mingw-w64.org/doku.php">http://mingw-w64.org/doku.php</a>.
  This library should be used with the target triple x86_64-pc-mingw32.
  </p>
  <p>Presently Windows for Itanium is not supported.
  </p>
! <a name="Windows-CE"></a>
! <h4 class="subheading">Windows CE</h4>
  <p>Windows CE is supported as a target only on Hitachi
  SuperH (sh-wince-pe), and MIPS (mips-wince-pe).
  </p>
! <a name="Other-Windows-Platforms"></a>
! <h4 class="subheading">Other Windows Platforms</h4>
  <p>GCC no longer supports Windows NT on the Alpha or PowerPC.
  </p>
  <p>GCC no longer supports the Windows POSIX subsystem.  However, it does
*************** be inactive.  See <a href="http://pw32.s
*** 1322,1328 ****
  <p>UWIN support has been removed due to a lack of maintenance.
  </p>
  <hr />
! <span id="x-x-cygwin"></span><span id="g_t*-*-cygwin"></span><h3 class="heading">*-*-cygwin</h3>
  <p>Ports of GCC are included with the
  <a href="http://www.cygwin.com/">Cygwin environment</a>.
  </p>
--- 1410,1417 ----
  <p>UWIN support has been removed due to a lack of maintenance.
  </p>
  <hr />
! <a name="x-x-cygwin"></a><a name="g_t*-*-cygwin"></a>
! <h3 class="heading">*-*-cygwin</h3>
  <p>Ports of GCC are included with the
  <a href="http://www.cygwin.com/">Cygwin environment</a>.
  </p>
*************** the latest official GNU binutils release
*** 1336,1348 ****
  or version 2.20 or above if building your own.
  </p>
  <hr />
! <span id="x-x-mingw32"></span><span id="g_t*-*-mingw32"></span><h3 class="heading">*-*-mingw32</h3>
  <p>GCC will build with and support only MinGW runtime 3.12 and later.
  Earlier versions of headers are incompatible with the new default semantics
  of <code>extern inline</code> in <code>-std=c99</code> and <code>-std=gnu99</code> modes.
  </p>
  <hr />
! <span id="older"></span><span id="Older-systems"></span><h3 class="heading">Older systems</h3>
  <p>GCC contains support files for many older (1980s and early
  1990s) Unix variants.  For the most part, support for these systems
  has not been deliberately removed, but it has not been maintained for
--- 1425,1439 ----
  or version 2.20 or above if building your own.
  </p>
  <hr />
! <a name="x-x-mingw32"></a><a name="g_t*-*-mingw32"></a>
! <h3 class="heading">*-*-mingw32</h3>
  <p>GCC will build with and support only MinGW runtime 3.12 and later.
  Earlier versions of headers are incompatible with the new default semantics
  of <code>extern inline</code> in <code>-std=c99</code> and <code>-std=gnu99</code> modes.
  </p>
  <hr />
! <a name="older"></a><a name="Older-systems"></a>
! <h3 class="heading">Older systems</h3>
  <p>GCC contains support files for many older (1980s and early
  1990s) Unix variants.  For the most part, support for these systems
  has not been deliberately removed, but it has not been maintained for
*************** about GCC on such systems (which may no
*** 1385,1391 ****
  current GCC) is to be found in the GCC texinfo manual.
  </p>
  <hr />
! <span id="elf"></span><span id="all-ELF-targets-_0028SVR4_002c-Solaris-2_002c-etc_002e_0029"></span><h3 class="heading">all ELF targets (SVR4, Solaris 2, etc.)</h3>
  <p>C++ support is significantly better on ELF targets if you use the
  <a href="./configure.html#with-gnu-ld">GNU linker</a>; duplicate copies of
  inlines, vtables and template instantiations will be discarded
--- 1476,1483 ----
  current GCC) is to be found in the GCC texinfo manual.
  </p>
  <hr />
! <a name="elf"></a><a name="all-ELF-targets-_0028SVR4_002c-Solaris-2_002c-etc_002e_0029"></a>
! <h3 class="heading">all ELF targets (SVR4, Solaris 2, etc.)</h3>
  <p>C++ support is significantly better on ELF targets if you use the
  <a href="./configure.html#with-gnu-ld">GNU linker</a>; duplicate copies of
  inlines, vtables and template instantiations will be discarded
diff -Nrcpad gcc-11.4.0/INSTALL/test.html gcc-11.5.0/INSTALL/test.html
*** gcc-11.4.0/INSTALL/test.html	Mon May 29 08:49:50 2023
--- gcc-11.5.0/INSTALL/test.html	Fri Jul 19 05:53:54 2024
***************
*** 1,8 ****
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
- <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
  Permission is granted to copy, distribute and/or modify this document
--- 1,5 ----
*************** A GNU Manual
*** 22,27 ****
--- 19,27 ----
  You have freedom to copy and modify this GNU Manual, like GNU
       software.  Copies published by the Free Software Foundation raise
       funds for GNU development. -->
+ <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Installing GCC: Testing</title>
  
  <meta name="description" content="Installing GCC: Testing">
*************** You have freedom to copy and modify this
*** 29,52 ****
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- 
  <style type="text/css">
  <!--
- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
- span:hover a.copiable-anchor {visibility: visible}
  ul.no-bullet {list-style: none}
  -->
  </style>
--- 29,58 ----
  <meta name="resource-type" content="document">
  <meta name="distribution" content="global">
  <meta name="Generator" content="makeinfo">
  <style type="text/css">
  <!--
  a.summary-letter {text-decoration: none}
  blockquote.indentedblock {margin-right: 0em}
+ blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+ blockquote.smallquotation {font-size: smaller}
  div.display {margin-left: 3.2em}
  div.example {margin-left: 3.2em}
+ div.lisp {margin-left: 3.2em}
+ div.smalldisplay {margin-left: 3.2em}
+ div.smallexample {margin-left: 3.2em}
+ div.smalllisp {margin-left: 3.2em}
  kbd {font-style: oblique}
  pre.display {font-family: inherit}
  pre.format {font-family: inherit}
  pre.menu-comment {font-family: serif}
  pre.menu-preformatted {font-family: serif}
+ pre.smalldisplay {font-family: inherit; font-size: smaller}
+ pre.smallexample {font-size: smaller}
+ pre.smallformat {font-family: inherit; font-size: smaller}
+ pre.smalllisp {font-size: smaller}
  span.nolinebreak {white-space: nowrap}
  span.roman {font-family: initial; font-weight: normal}
  span.sansserif {font-family: sans-serif; font-weight: normal}
  ul.no-bullet {list-style: none}
  -->
  </style>
*************** ul.no-bullet {list-style: none}
*** 77,85 ****
  
  
  
! <span id="index-Testing"></span>
! <span id="index-Installing-GCC_003a-Testing"></span>
! <span id="index-Testsuite"></span>
  
  <p>Before you install GCC, we encourage you to run the testsuites and to
  compare your results with results from a similar configuration that have
--- 83,91 ----
  
  
  
! <a name="index-Testing"></a>
! <a name="index-Installing-GCC_003a-Testing"></a>
! <a name="index-Testsuite"></a>
  
  <p>Before you install GCC, we encourage you to run the testsuites and to
  compare your results with results from a similar configuration that have
*************** installed are not in the <code>PATH</cod
*** 109,116 ****
  environment variables appropriately, as in the following example (which
  assumes that DejaGnu has been installed under <samp>/usr/local</samp>):
  </p>
! <div class="example">
! <pre class="example">TCL_LIBRARY = /usr/local/share/tcl8.0
  DEJAGNULIBS = /usr/local/share/dejagnu
  </pre></div>
  
--- 115,122 ----
  environment variables appropriately, as in the following example (which
  assumes that DejaGnu has been installed under <samp>/usr/local</samp>):
  </p>
! <div class="smallexample">
! <pre class="smallexample">TCL_LIBRARY = /usr/local/share/tcl8.0
  DEJAGNULIBS = /usr/local/share/dejagnu
  </pre></div>
  
*************** portability in the DejaGnu code.)
*** 120,127 ****
  </p>
  
  <p>Finally, you can run the testsuite (which may take a long time):
! </p><div class="example">
! <pre class="example">cd <var>objdir</var>; make -k check
  </pre></div>
  
  <p>This will test various components of GCC, such as compiler
--- 126,133 ----
  </p>
  
  <p>Finally, you can run the testsuite (which may take a long time):
! </p><div class="smallexample">
! <pre class="smallexample">cd <var>objdir</var>; make -k check
  </pre></div>
  
  <p>This will test various components of GCC, such as compiler
*************** might emit some harmless messages resemb
*** 133,139 ****
  <p>If you are testing a cross-compiler, you may want to run the testsuite
  on a simulator as described at <a href="http://gcc.gnu.org/simtest-howto.html">http://gcc.gnu.org/simtest-howto.html</a>.
  </p>
! <div class="section" id="How-can-you-run-the-testsuite-on-selected-tests_003f">
  <h3 class="section">How can you run the testsuite on selected tests?</h3>
  
  <p>In order to run sets of tests selectively, there are targets
--- 139,145 ----
  <p>If you are testing a cross-compiler, you may want to run the testsuite
  on a simulator as described at <a href="http://gcc.gnu.org/simtest-howto.html">http://gcc.gnu.org/simtest-howto.html</a>.
  </p>
! <a name="How-can-you-run-the-testsuite-on-selected-tests_003f"></a>
  <h3 class="section">How can you run the testsuite on selected tests?</h3>
  
  <p>In order to run sets of tests selectively, there are targets
*************** just run &lsquo;<samp>make check</samp>&
*** 148,162 ****
  <p>A more selective way to just run all <code>gcc</code> execute tests in the
  testsuite is to use
  </p>
! <div class="example">
! <pre class="example">make check-gcc RUNTESTFLAGS=&quot;execute.exp <var>other-options</var>&quot;
  </pre></div>
  
  <p>Likewise, in order to run only the <code>g++</code> &ldquo;old-deja&rdquo; tests in
  the testsuite with filenames matching &lsquo;<samp>9805*</samp>&rsquo;, you would use
  </p>
! <div class="example">
! <pre class="example">make check-g++ RUNTESTFLAGS=&quot;old-deja.exp=9805* <var>other-options</var>&quot;
  </pre></div>
  
  <p>The file-matching expression following <var>filename</var><code>.exp=</code> is treated
--- 154,168 ----
  <p>A more selective way to just run all <code>gcc</code> execute tests in the
  testsuite is to use
  </p>
! <div class="smallexample">
! <pre class="smallexample">make check-gcc RUNTESTFLAGS=&quot;execute.exp <var>other-options</var>&quot;
  </pre></div>
  
  <p>Likewise, in order to run only the <code>g++</code> &ldquo;old-deja&rdquo; tests in
  the testsuite with filenames matching &lsquo;<samp>9805*</samp>&rsquo;, you would use
  </p>
! <div class="smallexample">
! <pre class="smallexample">make check-g++ RUNTESTFLAGS=&quot;old-deja.exp=9805* <var>other-options</var>&quot;
  </pre></div>
  
  <p>The file-matching expression following <var>filename</var><code>.exp=</code> is treated
*************** as a series of whitespace-delimited glob
*** 164,171 ****
  may be passed, although any whitespace must either be escaped or surrounded by
  single quotes if multiple expressions are desired. For example,
  </p>
! <div class="example">
! <pre class="example">make check-g++ RUNTESTFLAGS=&quot;old-deja.exp=9805*\ virtual2.c <var>other-options</var>&quot;
  make check-g++ RUNTESTFLAGS=&quot;'old-deja.exp=9805* virtual2.c' <var>other-options</var>&quot;
  </pre></div>
  
--- 170,177 ----
  may be passed, although any whitespace must either be escaped or surrounded by
  single quotes if multiple expressions are desired. For example,
  </p>
! <div class="smallexample">
! <pre class="smallexample">make check-g++ RUNTESTFLAGS=&quot;old-deja.exp=9805*\ virtual2.c <var>other-options</var>&quot;
  make check-g++ RUNTESTFLAGS=&quot;'old-deja.exp=9805* virtual2.c' <var>other-options</var>&quot;
  </pre></div>
  
*************** To get a list of the possible <samp>*.ex
*** 176,183 ****
  output of &lsquo;<samp>make check</samp>&rsquo; into a file and look at the
  &lsquo;<samp>Running &hellip;  .exp</samp>&rsquo; lines.
  </p>
! </div>
! <div class="section" id="Passing-options-and-running-multiple-testsuites">
  <h3 class="section">Passing options and running multiple testsuites</h3>
  
  <p>You can pass multiple options to the testsuite using the
--- 182,188 ----
  output of &lsquo;<samp>make check</samp>&rsquo; into a file and look at the
  &lsquo;<samp>Running &hellip;  .exp</samp>&rsquo; lines.
  </p>
! <a name="Passing-options-and-running-multiple-testsuites"></a>
  <h3 class="section">Passing options and running multiple testsuites</h3>
  
  <p>You can pass multiple options to the testsuite using the
*************** output of &lsquo;<samp>make check</samp>
*** 185,192 ****
  &lsquo;<samp>RUNTESTFLAGS</samp>&rsquo;, or directly to <code>runtest</code> if you prefer to
  work outside the makefiles.  For example,
  </p>
! <div class="example">
! <pre class="example">make check-g++ RUNTESTFLAGS=&quot;--target_board=unix/-O3/-fmerge-constants&quot;
  </pre></div>
  
  <p>will run the standard <code>g++</code> testsuites (&ldquo;unix&rdquo; is the target name
--- 190,197 ----
  &lsquo;<samp>RUNTESTFLAGS</samp>&rsquo;, or directly to <code>runtest</code> if you prefer to
  work outside the makefiles.  For example,
  </p>
! <div class="smallexample">
! <pre class="smallexample">make check-g++ RUNTESTFLAGS=&quot;--target_board=unix/-O3/-fmerge-constants&quot;
  </pre></div>
  
  <p>will run the standard <code>g++</code> testsuites (&ldquo;unix&rdquo; is the target name
*************** slashes separate options.
*** 197,212 ****
  <p>You can run the testsuites multiple times using combinations of options
  with a syntax similar to the brace expansion of popular shells:
  </p>
! <div class="example">
! <pre class="example">&hellip;&quot;--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O1,-O2,-O3,\}&quot;
  </pre></div>
  
  <p>(Note the empty option caused by the trailing comma in the final group.)
  The following will run each testsuite eight times using the &lsquo;<samp>arm-sim</samp>&rsquo;
  target, as if you had specified all possible combinations yourself:
  </p>
! <div class="example">
! <pre class="example">--target_board='arm-sim/-mhard-float/-O1 \
                  arm-sim/-mhard-float/-O2 \
                  arm-sim/-mhard-float/-O3 \
                  arm-sim/-mhard-float \
--- 202,217 ----
  <p>You can run the testsuites multiple times using combinations of options
  with a syntax similar to the brace expansion of popular shells:
  </p>
! <div class="smallexample">
! <pre class="smallexample">&hellip;&quot;--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O1,-O2,-O3,\}&quot;
  </pre></div>
  
  <p>(Note the empty option caused by the trailing comma in the final group.)
  The following will run each testsuite eight times using the &lsquo;<samp>arm-sim</samp>&rsquo;
  target, as if you had specified all possible combinations yourself:
  </p>
! <div class="smallexample">
! <pre class="smallexample">--target_board='arm-sim/-mhard-float/-O1 \
                  arm-sim/-mhard-float/-O2 \
                  arm-sim/-mhard-float/-O3 \
                  arm-sim/-mhard-float \
*************** target, as if you had specified all poss
*** 219,226 ****
  <p>They can be combined as many times as you wish, in arbitrary ways.  This
  list:
  </p>
! <div class="example">
! <pre class="example">&hellip;&quot;--target_board=unix/-Wextra\{-O3,-fno-strength\}\{-fomit-frame,\}&quot;
  </pre></div>
  
  <p>will generate four combinations, all involving &lsquo;<samp>-Wextra</samp>&rsquo;.
--- 224,231 ----
  <p>They can be combined as many times as you wish, in arbitrary ways.  This
  list:
  </p>
! <div class="smallexample">
! <pre class="smallexample">&hellip;&quot;--target_board=unix/-Wextra\{-O3,-fno-strength\}\{-fomit-frame,\}&quot;
  </pre></div>
  
  <p>will generate four combinations, all involving &lsquo;<samp>-Wextra</samp>&rsquo;.
*************** parallel by having the shell perform the
*** 232,245 ****
  do the parallel runs.  Instead of using &lsquo;<samp>--target_board</samp>&rsquo;, use a
  special makefile target:
  </p>
! <div class="example">
! <pre class="example">make -j<var>N</var> check-<var>testsuite</var>//<var>test-target</var>/<var>option1</var>/<var>option2</var>/&hellip;
  </pre></div>
  
  <p>For example,
  </p>
! <div class="example">
! <pre class="example">make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
  </pre></div>
  
  <p>will run three concurrent &ldquo;make-gcc&rdquo; testsuites, eventually testing all
--- 237,250 ----
  do the parallel runs.  Instead of using &lsquo;<samp>--target_board</samp>&rsquo;, use a
  special makefile target:
  </p>
! <div class="smallexample">
! <pre class="smallexample">make -j<var>N</var> check-<var>testsuite</var>//<var>test-target</var>/<var>option1</var>/<var>option2</var>/&hellip;
  </pre></div>
  
  <p>For example,
  </p>
! <div class="smallexample">
! <pre class="smallexample">make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
  </pre></div>
  
  <p>will run three concurrent &ldquo;make-gcc&rdquo; testsuites, eventually testing all
*************** supported in the <samp>gcc</samp> subdir
*** 248,255 ****
  typing <code>echo</code> before the example given here.)
  </p>
  
! </div>
! <div class="section" id="How-to-interpret-test-results">
  <h3 class="section">How to interpret test results</h3>
  
  <p>The result of running the testsuite are various <samp>*.sum</samp> and <samp>*.log</samp>
--- 253,259 ----
  typing <code>echo</code> before the example given here.)
  </p>
  
! <a name="How-to-interpret-test-results"></a>
  <h3 class="section">How to interpret test results</h3>
  
  <p>The result of running the testsuite are various <samp>*.sum</samp> and <samp>*.log</samp>
*************** over whether or not a test is expected t
*** 274,288 ****
  be fixed in future releases.
  </p>
  
! </div>
! <div class="section" id="Submitting-test-results">
  <h3 class="section">Submitting test results</h3>
  
  <p>If you want to report the results to the GCC project, use the
  <samp>contrib/test_summary</samp> shell script.  Start it in the <var>objdir</var> with
  </p>
! <div class="example">
! <pre class="example"><var>srcdir</var>/contrib/test_summary -p your_commentary.txt \
      -m gcc-testresults@gcc.gnu.org |sh
  </pre></div>
  
--- 278,291 ----
  be fixed in future releases.
  </p>
  
! <a name="Submitting-test-results"></a>
  <h3 class="section">Submitting test results</h3>
  
  <p>If you want to report the results to the GCC project, use the
  <samp>contrib/test_summary</samp> shell script.  Start it in the <var>objdir</var> with
  </p>
! <div class="smallexample">
! <pre class="smallexample"><var>srcdir</var>/contrib/test_summary -p your_commentary.txt \
      -m gcc-testresults@gcc.gnu.org |sh
  </pre></div>
  
*************** messages may be automatically processed.
*** 303,309 ****
  
  
  
! <hr></div>
  
  
  
--- 306,312 ----
  
  
  
! <hr>
  
  
  
diff -Nrcpad gcc-11.4.0/LAST_UPDATED gcc-11.5.0/LAST_UPDATED
*** gcc-11.4.0/LAST_UPDATED	Mon May 29 08:49:48 2023
--- gcc-11.5.0/LAST_UPDATED	Fri Jul 19 05:53:52 2024
***************
*** 1 ****
! Obtained from git: releases/gcc-11.4.0 revision ff4bf326d03e750a8d4905ea49425fe7d15a04b8
--- 1 ----
! Obtained from git: releases/gcc-11.5.0 revision 5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6
diff -Nrcpad gcc-11.4.0/MD5SUMS gcc-11.5.0/MD5SUMS
*** gcc-11.4.0/MD5SUMS	Mon May 29 09:09:03 2023
--- gcc-11.5.0/MD5SUMS	Fri Jul 19 06:12:41 2024
***************
*** 1,5 ****
! # This file contains the MD5 checksums of the files in the 
! # gcc-11.4.0.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
! # This file contains the MD5 checksums of the files in the
! # gcc-11.5.0.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** c0eb7bac11479e0032693e4e55297c40  .dir-l
*** 17,46 ****
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! 91527d13bb817eaeb5917fca04ac7145  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! ccedb1976a7698c56c2f3733215e7cbc  INSTALL/binaries.html
! ccc61f276d8b592f97d9cf860e9c7110  INSTALL/build.html
! e743a32d149c2f90518f1e496be89989  INSTALL/configure.html
! 92963bc11ee047c71e75a858f18cae2c  INSTALL/download.html
! 01e27054249668196814a39d0dc9942f  INSTALL/finalinstall.html
! 811e3531ce4e684b8f6d1071a3b6e815  INSTALL/gfdl.html
! 1b8396843f3662cb57832e447eb0fcb3  INSTALL/index.html
! 481330a2b003513f04cbe0c5970e0fce  INSTALL/old.html
! bd23b67765f31d5d8699bd13487a1a62  INSTALL/prerequisites.html
! 65f698d023562e20bd5076ae83fa7845  INSTALL/specific.html
! ad5aba0a030831fbe9ac857e94760dd2  INSTALL/test.html
! fd7fdcd0850a3e1fb07c536c6098bc47  LAST_UPDATED
  863d0fffeb06d7a45df38d7836e342bd  MAINTAINERS
  8a667df3c1ab240343b2f6a644f92970  Makefile.def
  468d396660b8969b6f51738c94ad90ef  Makefile.in
  87a68bd7215bdcd229ae57f7f8c3622f  Makefile.tpl
! 811371f0f1a9c5e5de7f8ac066616195  NEWS
  80d26bc3b1ad4f6969a96a24c9181bf5  README
  a657821f65bab77f4fbf3a75cdee6da9  ar-lib
! 286434648fa4afd02d1bf5fdd68badba  c++tools/ChangeLog
  436118acd883073ecd4bbbc8e56f8e5c  c++tools/Makefile.in
  edf805e559bf9ecb62db313d2e6edb47  c++tools/config.h.in
  ccd3498e6b247dfe4e65793a88a27296  c++tools/configure
--- 17,46 ----
  fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
  d32239bcb673463ab874e80d47fae504  COPYING3
  6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
! 02c0131a61bf543fc3dabbffea41ab2a  ChangeLog
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! bc7bdcccf93f4034179af78f65536f21  INSTALL/binaries.html
! 47057783bb8704ed0f9a9b77196febec  INSTALL/build.html
! 4e1d74971c4f88186a2f719f8119f026  INSTALL/configure.html
! 4ad42e872d55de846185619a86a9acab  INSTALL/download.html
! 2ebc451429ebe4a0f55bc64b839512fc  INSTALL/finalinstall.html
! 035bd0aca4c9df3c4b92a8978e95a67b  INSTALL/gfdl.html
! b6a001358f0bb55ee8a22d7fedf3a639  INSTALL/index.html
! b1c9de1da8a8a66ea54722abde3498b1  INSTALL/old.html
! fd8b5bd76f7e5da280ae91a2891a8291  INSTALL/prerequisites.html
! 343ae5d41e1449e92582e99bbbd039d1  INSTALL/specific.html
! 7d9e6352d151d352657bd02f0e09c3ef  INSTALL/test.html
! e18081496c7419e1765538c1314dd705  LAST_UPDATED
  863d0fffeb06d7a45df38d7836e342bd  MAINTAINERS
  8a667df3c1ab240343b2f6a644f92970  Makefile.def
  468d396660b8969b6f51738c94ad90ef  Makefile.in
  87a68bd7215bdcd229ae57f7f8c3622f  Makefile.tpl
! 4c652405fd3fd89241b62b4311ff9aad  NEWS
  80d26bc3b1ad4f6969a96a24c9181bf5  README
  a657821f65bab77f4fbf3a75cdee6da9  ar-lib
! d7ced75b4608cf7db7f7587025d2a6ef  c++tools/ChangeLog
  436118acd883073ecd4bbbc8e56f8e5c  c++tools/Makefile.in
  edf805e559bf9ecb62db313d2e6edb47  c++tools/config.h.in
  ccd3498e6b247dfe4e65793a88a27296  c++tools/configure
*************** f11b68d46f7c108116f0f010090c5a62  c++too
*** 53,59 ****
  c64564b7c7563dae5ebe016f340c9cd9  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  d320a9a1a5eb63901563ae5adf268433  config.sub
! 0e7985fe9286abad010861e1a6473db6  config/ChangeLog
  0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
  2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
--- 53,59 ----
  c64564b7c7563dae5ebe016f340c9cd9  config.guess
  040359150cf11493f973a46d8a25b06b  config.rpath
  d320a9a1a5eb63901563ae5adf268433  config.sub
! 92e1849dd372fe26f6362c29b070839b  config/ChangeLog
  0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
  2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
  6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
*************** e2dc6b4fd62b77bff96b7951ef74f78f  config
*** 156,162 ****
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  fc86d469e83d79fd74b5f41bd1834a0c  configure
  dee2062eecdaa1396a97737e94a6a755  configure.ac
! fa51a76a6819869b56080030b1cdfb4a  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  8498c0cdfe3f444ad6f540ec9e11cbec  contrib/analyze_brprob.py
--- 156,162 ----
  0163b672c888aaf1c8ad3e867a0ec9f1  config/zlib.m4
  fc86d469e83d79fd74b5f41bd1834a0c  configure
  dee2062eecdaa1396a97737e94a6a755  configure.ac
! e7b389d7ee9b6e35119027e4cea4ac8c  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  8498c0cdfe3f444ad6f540ec9e11cbec  contrib/analyze_brprob.py
*************** e9bac7c82bdb5f92b354d9da854d463b  contri
*** 209,215 ****
  e462c83bdf45bf6e9b434d18fa9f66e4  contrib/git-fix-changelog.py
  6996a054c7e7aaf9f27737c3d6f2518c  contrib/git-undescr.sh
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
! f27dbe1d4fb0a171d84218ac09648bb7  contrib/header-tools/ChangeLog
  4f7d3bf5dd67c6b144a7a1ea0bb4127b  contrib/header-tools/README
  05ef7fb87e90ba93ee04659be072a357  contrib/header-tools/count-headers
  ba0485a3c721bce9e32407ef996d2a9d  contrib/header-tools/gcc-order-headers
--- 209,215 ----
  e462c83bdf45bf6e9b434d18fa9f66e4  contrib/git-fix-changelog.py
  6996a054c7e7aaf9f27737c3d6f2518c  contrib/git-undescr.sh
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
! d8b5b566ea084e1c25e7e8ae36142d62  contrib/header-tools/ChangeLog
  4f7d3bf5dd67c6b144a7a1ea0bb4127b  contrib/header-tools/README
  05ef7fb87e90ba93ee04659be072a357  contrib/header-tools/count-headers
  ba0485a3c721bce9e32407ef996d2a9d  contrib/header-tools/gcc-order-headers
*************** a34668cfad9dec733354503fbc67fb24  contri
*** 235,241 ****
  87a19b40fbd220938cf6c23c42c255e2  contrib/prepare_patch.sh
  6bc8415291f74dbbb7994622ca9a7b28  contrib/prerequisites.md5
  2a7fbcbf9b708ecbd31408646f9dd122  contrib/prerequisites.sha512
! a4af345aec55374f8cc816f58293c009  contrib/reghunt/ChangeLog
  cf247a580e49d212518de409793db0a8  contrib/reghunt/bin/gcc-build-full
  724e70ea3e80f87f2a201bbe2f1eef37  contrib/reghunt/bin/gcc-build-simple
  3f2318bae7562a4ad1639e686916a545  contrib/reghunt/bin/gcc-cleanup
--- 235,241 ----
  87a19b40fbd220938cf6c23c42c255e2  contrib/prepare_patch.sh
  6bc8415291f74dbbb7994622ca9a7b28  contrib/prerequisites.md5
  2a7fbcbf9b708ecbd31408646f9dd122  contrib/prerequisites.sha512
! 870a1f169d8f6bba0155e659b41a6b43  contrib/reghunt/ChangeLog
  cf247a580e49d212518de409793db0a8  contrib/reghunt/bin/gcc-build-full
  724e70ea3e80f87f2a201bbe2f1eef37  contrib/reghunt/bin/gcc-build-simple
  3f2318bae7562a4ad1639e686916a545  contrib/reghunt/bin/gcc-cleanup
*************** f251d49dd87647250fcd74dd50b7835f  contri
*** 294,300 ****
  e2829fc4af4f433a6a328a62d5ce8066  contrib/reghunt/examples/reg-watch
  afd863c2ec84c906e20f9b9787b1f0fe  contrib/reghunt/examples/reg-watch.awk
  8955535523d4b5f48006bcb851ba9b4b  contrib/reghunt/examples/testall
! 67ddba458b99683c1bf2fd06e544aa44  contrib/regression/ChangeLog
  30553bfced1b2b46bf7ca01ef6ba69d1  contrib/regression/GCC_Regression_Tester.wdgt/Default.png
  ad38ddd771df222eb9d413e3c7f6a751  contrib/regression/GCC_Regression_Tester.wdgt/Icon.png
  777bd286c147cc02861811f66b9a4440  contrib/regression/GCC_Regression_Tester.wdgt/Info.plist
--- 294,300 ----
  e2829fc4af4f433a6a328a62d5ce8066  contrib/reghunt/examples/reg-watch
  afd863c2ec84c906e20f9b9787b1f0fe  contrib/reghunt/examples/reg-watch.awk
  8955535523d4b5f48006bcb851ba9b4b  contrib/reghunt/examples/testall
! 7befc288fbad48da23eeee716f9a87e1  contrib/regression/ChangeLog
  30553bfced1b2b46bf7ca01ef6ba69d1  contrib/regression/GCC_Regression_Tester.wdgt/Default.png
  ad38ddd771df222eb9d413e3c7f6a751  contrib/regression/GCC_Regression_Tester.wdgt/Icon.png
  777bd286c147cc02861811f66b9a4440  contrib/regression/GCC_Regression_Tester.wdgt/Info.plist
*************** a0d12be401961a2557883b7c09dc71eb  contri
*** 334,340 ****
  57440d4c6da7b6438ebfa203135f381a  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! b7e9606922f7df093ed38585d009ed8e  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
--- 334,340 ----
  57440d4c6da7b6438ebfa203135f381a  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! 7a643d61a790a81f9d53fcc30582dfbf  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
*************** a319a505bde6920ddb4832cf41af3488  fixinc
*** 347,359 ****
  a316c9d3351e61998fa688dceaf610a3  fixincludes/fixinc.in
  1582ffd94ecc91318eebfb3b81e0bcb1  fixincludes/fixincl.c
  adf245e3714f799eafba40af16be8eb5  fixincludes/fixincl.tpl
! 15a1cac09830dafe2699dcf89c5b970a  fixincludes/fixincl.x
  545875b4fe1c26bc3e1befc75b34e9f5  fixincludes/fixlib.c
  620c770139fc32c75b975b614d3156e8  fixincludes/fixlib.h
  5b2c1fd3ef9d44fb6beb1a0d45ddd533  fixincludes/fixopts.c
  ed1415e9dbc8f421fd9288bde0d90ad1  fixincludes/fixtests.c
  51e915676df084b64297d3c4fb0d9c18  fixincludes/genfixes
! 9a5534f1d5cae77ddbfe0bd81381d531  fixincludes/inclhack.def
  dd5ae70d9f725bcaf2a15212782db49a  fixincludes/mkfixinc.sh
  516608ac1550577d47f48809bb512629  fixincludes/mkheaders.in
  3aa0563cd682ee61ecd9eb6eea0b0bce  fixincludes/procopen.c
--- 347,359 ----
  a316c9d3351e61998fa688dceaf610a3  fixincludes/fixinc.in
  1582ffd94ecc91318eebfb3b81e0bcb1  fixincludes/fixincl.c
  adf245e3714f799eafba40af16be8eb5  fixincludes/fixincl.tpl
! 6610f7053b2607e499c15ccb9de3b2b9  fixincludes/fixincl.x
  545875b4fe1c26bc3e1befc75b34e9f5  fixincludes/fixlib.c
  620c770139fc32c75b975b614d3156e8  fixincludes/fixlib.h
  5b2c1fd3ef9d44fb6beb1a0d45ddd533  fixincludes/fixopts.c
  ed1415e9dbc8f421fd9288bde0d90ad1  fixincludes/fixtests.c
  51e915676df084b64297d3c4fb0d9c18  fixincludes/genfixes
! 0a984d5c49529d1680270871a6a47071  fixincludes/inclhack.def
  dd5ae70d9f725bcaf2a15212782db49a  fixincludes/mkfixinc.sh
  516608ac1550577d47f48809bb512629  fixincludes/mkheaders.in
  3aa0563cd682ee61ecd9eb6eea0b0bce  fixincludes/procopen.c
*************** e1bd28539aceeab13a3028da02f8c4ae  fixinc
*** 403,409 ****
  8ac97a3367b9a99503c5b21430993cd4  fixincludes/tests/base/mach-o/dyld.h
  dbbbc9ead412bbd125f56bc509994066  fixincludes/tests/base/mach-o/swap.h
  c48dea510c587eea0b229def965ef77a  fixincludes/tests/base/malloc.h
! 72c7a983f178e7690e3642c6e8408d67  fixincludes/tests/base/math.h
  d2cbc665e9046f8acb42c1271592be47  fixincludes/tests/base/net/if.h
  98099ff70c675f84c19b58da050f3712  fixincludes/tests/base/net/if_arp.h
  a911f5fbb127353024e77149fcf90596  fixincludes/tests/base/netdnet/dnetdb.h
--- 403,409 ----
  8ac97a3367b9a99503c5b21430993cd4  fixincludes/tests/base/mach-o/dyld.h
  dbbbc9ead412bbd125f56bc509994066  fixincludes/tests/base/mach-o/swap.h
  c48dea510c587eea0b229def965ef77a  fixincludes/tests/base/malloc.h
! 6ca3225914b66247556b8fc60f711079  fixincludes/tests/base/math.h
  d2cbc665e9046f8acb42c1271592be47  fixincludes/tests/base/net/if.h
  98099ff70c675f84c19b58da050f3712  fixincludes/tests/base/net/if_arp.h
  a911f5fbb127353024e77149fcf90596  fixincludes/tests/base/netdnet/dnetdb.h
*************** a5e817d35ded04a0fb03999b50c0e89e  fixinc
*** 476,487 ****
  955462b555900ecd3934223c64e21fa7  fixincludes/tests/base/types/vxTypesBase.h
  8baab8698bb83c6b90ef4091c00ddc1e  fixincludes/tests/base/unistd.h
  cdc9afb0404ea932194e623e80f3443f  gcc/ABOUT-GCC-NLS
! adea0b61b6fc8b487b2c9452a2f6494e  gcc/BASE-VER
  59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! eb61a01b363ae0c8d7d0b1b066850b3e  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 476,487 ----
  955462b555900ecd3934223c64e21fa7  fixincludes/tests/base/types/vxTypesBase.h
  8baab8698bb83c6b90ef4091c00ddc1e  fixincludes/tests/base/unistd.h
  cdc9afb0404ea932194e623e80f3443f  gcc/ABOUT-GCC-NLS
! f0f835c5ea232229409faf1130bfffe8  gcc/BASE-VER
  59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! d4e3febb976e4a97aa7cd1c5a71f632a  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 514,520 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 92d6ee84ed7ecc87818891b317447589  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 514,520 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! e48e84ddfa482e606d816471b9769ac6  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 525,531 ****
  a3349a2ff19906d526e15f8845deb002  gcc/README.Portability
  7a09ff48173d234174dd04f94f3d495c  gcc/acinclude.m4
  6526979dd900a0b58b7691b478a91fec  gcc/aclocal.m4
! dc913258c77e0a48dcc268f85315a33e  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
--- 525,531 ----
  a3349a2ff19906d526e15f8845deb002  gcc/README.Portability
  7a09ff48173d234174dd04f94f3d495c  gcc/acinclude.m4
  6526979dd900a0b58b7691b478a91fec  gcc/aclocal.m4
! 9427bbc3018fd907ef9cb789b4d3ae8c  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
*************** a2d962cd2c4d8e5a92692154284b38ff  gcc/ad
*** 704,716 ****
  9fc10f38bd720c619ada102df74ef01c  gcc/ada/exp_ch2.ads
  b4911c9eaadfa8edbca97226db2cacd8  gcc/ada/exp_ch3.adb
  ed23c980ddc4646e547e4d9d797e30f2  gcc/ada/exp_ch3.ads
! b7c6851b08712a100cead380559a90ee  gcc/ada/exp_ch4.adb
  050a84d226682ff6b0cf73e569d48769  gcc/ada/exp_ch4.ads
  e23176144fd3113efb017afecfc68a90  gcc/ada/exp_ch5.adb
  7bba8e3eda393994835a35015e9fa337  gcc/ada/exp_ch5.ads
  66b526434a346e60579c80c31719f229  gcc/ada/exp_ch6.adb
  b4c23d1aab55fa6be28d20be281e76b9  gcc/ada/exp_ch6.ads
! e01f503be5ea1cccca1e3af41e97504f  gcc/ada/exp_ch7.adb
  7ed04831559835dfc491855d3d7c50eb  gcc/ada/exp_ch7.ads
  8839dd025995762da916fad943789acd  gcc/ada/exp_ch8.adb
  557a822b97445be54a1438a8c6a2329e  gcc/ada/exp_ch8.ads
--- 704,716 ----
  9fc10f38bd720c619ada102df74ef01c  gcc/ada/exp_ch2.ads
  b4911c9eaadfa8edbca97226db2cacd8  gcc/ada/exp_ch3.adb
  ed23c980ddc4646e547e4d9d797e30f2  gcc/ada/exp_ch3.ads
! 365827c441579874ef1371c46fae942f  gcc/ada/exp_ch4.adb
  050a84d226682ff6b0cf73e569d48769  gcc/ada/exp_ch4.ads
  e23176144fd3113efb017afecfc68a90  gcc/ada/exp_ch5.adb
  7bba8e3eda393994835a35015e9fa337  gcc/ada/exp_ch5.ads
  66b526434a346e60579c80c31719f229  gcc/ada/exp_ch6.adb
  b4c23d1aab55fa6be28d20be281e76b9  gcc/ada/exp_ch6.ads
! ff3f564913cd4648485dde04f2ae3db0  gcc/ada/exp_ch7.adb
  7ed04831559835dfc491855d3d7c50eb  gcc/ada/exp_ch7.ads
  8839dd025995762da916fad943789acd  gcc/ada/exp_ch8.adb
  557a822b97445be54a1438a8c6a2329e  gcc/ada/exp_ch8.ads
*************** b47ea94e33ebedf8760c44871114c4d3  gcc/ad
*** 748,754 ****
  00feab14eaeeb45131167149147241e0  gcc/ada/exp_tss.ads
  ab824b996b7a0c8a2c2a22dcdaa00855  gcc/ada/exp_unst.adb
  e9a3a6517b98cd6d8fea1c6e59534e20  gcc/ada/exp_unst.ads
! ab177bbde8a1a18046f2ae71ae50d4e1  gcc/ada/exp_util.adb
  b5e1985e34dcd9ae3d3d555fb3934e25  gcc/ada/exp_util.ads
  e34f0290bca8640889baf3eaf05e04d6  gcc/ada/expander.adb
  8ce470670744309c62f91df924faf082  gcc/ada/expander.ads
--- 748,754 ----
  00feab14eaeeb45131167149147241e0  gcc/ada/exp_tss.ads
  ab824b996b7a0c8a2c2a22dcdaa00855  gcc/ada/exp_unst.adb
  e9a3a6517b98cd6d8fea1c6e59534e20  gcc/ada/exp_unst.ads
! 437f8ea1ae2e6364ba1dcc90d8399b1f  gcc/ada/exp_util.adb
  b5e1985e34dcd9ae3d3d555fb3934e25  gcc/ada/exp_util.ads
  e34f0290bca8640889baf3eaf05e04d6  gcc/ada/expander.adb
  8ce470670744309c62f91df924faf082  gcc/ada/expander.ads
*************** f51124ba7bc12991c2598279eb2da82e  gcc/ad
*** 768,774 ****
  009cce51246a860a5f901d2e2e7ac369  gcc/ada/frontend.adb
  b48a3449a29d92c0b5434a73385b1e97  gcc/ada/frontend.ads
  72ca66c12963f38334507f56ace14098  gcc/ada/gcc-interface/Make-lang.in
! 9acbd2c7d9ca8b0c725b411f336d268d  gcc/ada/gcc-interface/Makefile.in
  35dd49b4643582a2e1e847bc6aea01e1  gcc/ada/gcc-interface/ada-builtin-types.def
  f7677c298cb2f4c70ecf284c7e18cb80  gcc/ada/gcc-interface/ada-builtins.def
  055be3d11fa6ccb53ffe7f8970a005ce  gcc/ada/gcc-interface/ada-tree.def
--- 768,774 ----
  009cce51246a860a5f901d2e2e7ac369  gcc/ada/frontend.adb
  b48a3449a29d92c0b5434a73385b1e97  gcc/ada/frontend.ads
  72ca66c12963f38334507f56ace14098  gcc/ada/gcc-interface/Make-lang.in
! d3e57a23c09ac00642dc1f3f555bccc0  gcc/ada/gcc-interface/Makefile.in
  35dd49b4643582a2e1e847bc6aea01e1  gcc/ada/gcc-interface/ada-builtin-types.def
  f7677c298cb2f4c70ecf284c7e18cb80  gcc/ada/gcc-interface/ada-builtins.def
  055be3d11fa6ccb53ffe7f8970a005ce  gcc/ada/gcc-interface/ada-tree.def
*************** ca720fcc36cb5825933df726c2446794  gcc/ad
*** 2854,2860 ****
  4b4150c9557fa50ca8bdd5d1b30dec58  gcc/ada/sem_mech.ads
  1c067003a0054b7ff526f461da4259cc  gcc/ada/sem_prag.adb
  0a3a4d3df68490e4cafce685685a5a0a  gcc/ada/sem_prag.ads
! 32e9334a0b8113aa45d9a739afda458b  gcc/ada/sem_res.adb
  c18ac43b20949fd32407782bf0f69d90  gcc/ada/sem_res.ads
  ceeb3e67fc14eac0b759a2b189aba489  gcc/ada/sem_scil.adb
  40313d60f28039ce7a03cc1027ede905  gcc/ada/sem_scil.ads
--- 2854,2860 ----
  4b4150c9557fa50ca8bdd5d1b30dec58  gcc/ada/sem_mech.ads
  1c067003a0054b7ff526f461da4259cc  gcc/ada/sem_prag.adb
  0a3a4d3df68490e4cafce685685a5a0a  gcc/ada/sem_prag.ads
! 40d7080bca12c477127e131d87c14921  gcc/ada/sem_res.adb
  c18ac43b20949fd32407782bf0f69d90  gcc/ada/sem_res.ads
  ceeb3e67fc14eac0b759a2b189aba489  gcc/ada/sem_scil.adb
  40313d60f28039ce7a03cc1027ede905  gcc/ada/sem_scil.ads
*************** d3e945808548972240fb2f1b7494a8bd  gcc/ad
*** 2981,2987 ****
  e561a7bae0b2b221a73a390c77be757b  gcc/align.h
  23442a2d3df1b83bd32978d68e46bcd1  gcc/alloc-pool.c
  3ec9e55d9093d096913575231b7b7943  gcc/alloc-pool.h
! f604ed765ca623f0266f02db8e9ccef3  gcc/analyzer/ChangeLog
  7ea5759779b2ed252edaea813907bd5a  gcc/analyzer/analysis-plan.cc
  4717c47360bc5772a2a5d0afdeae18e0  gcc/analyzer/analysis-plan.h
  73de39c552e216c1cc1fe1e7d3513cc6  gcc/analyzer/analyzer-logging.cc
--- 2981,2987 ----
  e561a7bae0b2b221a73a390c77be757b  gcc/align.h
  23442a2d3df1b83bd32978d68e46bcd1  gcc/alloc-pool.c
  3ec9e55d9093d096913575231b7b7943  gcc/alloc-pool.h
! 19937ebef9bf8526e7a857e07b00cba4  gcc/analyzer/ChangeLog
  7ea5759779b2ed252edaea813907bd5a  gcc/analyzer/analysis-plan.cc
  4717c47360bc5772a2a5d0afdeae18e0  gcc/analyzer/analysis-plan.h
  73de39c552e216c1cc1fe1e7d3513cc6  gcc/analyzer/analyzer-logging.cc
*************** dccee0e7e8d057183607389efcdb458c  gcc/an
*** 3046,3067 ****
  185fe9c53545064ee1e53b91358f7de7  gcc/analyzer/trimmed-graph.cc
  74a5cb5dcaf4cfb2dce05019ec345914  gcc/analyzer/trimmed-graph.h
  4dc5fb48242295b1a20860e9026ef907  gcc/array-traits.h
! 1d47925554745d9ce7e061328377ac6e  gcc/asan.c
  487ef86d71c549a16efa36238b86952f  gcc/asan.h
  542d06ea0e3478abe23c1efa8f3be1c9  gcc/attr-fnspec.h
! 56f7fa0363ae129223b5eb125d069fea  gcc/attribs.c
  b62a19a18359e023c63a5a045f9d97dd  gcc/attribs.h
  0abcbaaeab3b080c913716fca5d4a9fd  gcc/auto-inc-dec.c
  2eef15ab83617fc37f40877b720394d9  gcc/auto-profile.c
  1963f1d6c80c316f8cdcc8a028d3c9ca  gcc/auto-profile.h
  3ff58d5a06d5eaee37d7cb2ed6c43edf  gcc/backend.h
  c85b11c624a3273aac7365b0f34125b6  gcc/basic-block.h
! 17375ded6219e467729ba2490d77bd3d  gcc/bb-reorder.c
  d0ab00f1b3fc80f5bfda75adc6c362d6  gcc/bb-reorder.h
  49ad33d59190a283fb4c85a41861b83a  gcc/bitmap.c
  08cf7dff98e7181511efc1517f735186  gcc/bitmap.h
  6b9e1cb83032742218edd1600590d286  gcc/brig-builtins.def
! 48fc561df0f75d2c8922a29ca4a703d1  gcc/brig/ChangeLog
  32f54aacbd7e3a02140d36f7e8f58da6  gcc/brig/Make-lang.in
  966892b9e3cc742708ffb50160e7ea6f  gcc/brig/brig-builtins.h
  0676a7ca45684ceb5fbde93beb5b3950  gcc/brig/brig-c.h
--- 3046,3067 ----
  185fe9c53545064ee1e53b91358f7de7  gcc/analyzer/trimmed-graph.cc
  74a5cb5dcaf4cfb2dce05019ec345914  gcc/analyzer/trimmed-graph.h
  4dc5fb48242295b1a20860e9026ef907  gcc/array-traits.h
! f3d0f42009fe4ced6afa87bcd1af19c4  gcc/asan.c
  487ef86d71c549a16efa36238b86952f  gcc/asan.h
  542d06ea0e3478abe23c1efa8f3be1c9  gcc/attr-fnspec.h
! ef819f6d635e6365a531e90ee5a1b432  gcc/attribs.c
  b62a19a18359e023c63a5a045f9d97dd  gcc/attribs.h
  0abcbaaeab3b080c913716fca5d4a9fd  gcc/auto-inc-dec.c
  2eef15ab83617fc37f40877b720394d9  gcc/auto-profile.c
  1963f1d6c80c316f8cdcc8a028d3c9ca  gcc/auto-profile.h
  3ff58d5a06d5eaee37d7cb2ed6c43edf  gcc/backend.h
  c85b11c624a3273aac7365b0f34125b6  gcc/basic-block.h
! aec032e844bc2782a47457e857091fff  gcc/bb-reorder.c
  d0ab00f1b3fc80f5bfda75adc6c362d6  gcc/bb-reorder.h
  49ad33d59190a283fb4c85a41861b83a  gcc/bitmap.c
  08cf7dff98e7181511efc1517f735186  gcc/bitmap.h
  6b9e1cb83032742218edd1600590d286  gcc/brig-builtins.def
! 451224ea1b4c1f5687025b5122948fda  gcc/brig/ChangeLog
  32f54aacbd7e3a02140d36f7e8f58da6  gcc/brig/Make-lang.in
  966892b9e3cc742708ffb50160e7ea6f  gcc/brig/brig-builtins.h
  0676a7ca45684ceb5fbde93beb5b3950  gcc/brig/brig-c.h
*************** a1cc43f2d0aedbd5540d15c4ec568a8d  gcc/br
*** 3105,3119 ****
  746844ca02d1cafc9fb4b3f354b3dc78  gcc/brig/lang.opt
  1b7da82494d0c161ca60a8de1b55195a  gcc/builtin-attrs.def
  0fb3ced35d472c83b8689686b224ad01  gcc/builtin-types.def
! 81e6697b6556d13b7a06f08e719ea4d1  gcc/builtins.c
  ae94d8196a803d4a2c69cded88dbbb76  gcc/builtins.def
  f501faddb738e7422e75672d29bfc823  gcc/builtins.h
! bfc83212c548a4179f546009c603b2a9  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  ff19b079a30065b282983bff90d28fe1  gcc/c-family/c-ada-spec.c
  aaefdc238734ee62a127bef557ad07e3  gcc/c-family/c-ada-spec.h
! 815dd7c5b46ef4b50d5e40c0da6700c7  gcc/c-family/c-attribs.c
! e7f8462ca813b129987362c83683b46b  gcc/c-family/c-common.c
  e46ad48dbbcefe97d0490955db40eddf  gcc/c-family/c-common.def
  dfe16edb3b81b111e6c4034e30b62631  gcc/c-family/c-common.h
  b6e403e7f46d368695a66de3ed639255  gcc/c-family/c-cppbuiltin.c
--- 3105,3119 ----
  746844ca02d1cafc9fb4b3f354b3dc78  gcc/brig/lang.opt
  1b7da82494d0c161ca60a8de1b55195a  gcc/builtin-attrs.def
  0fb3ced35d472c83b8689686b224ad01  gcc/builtin-types.def
! 7850cf694a4a649c81931b98e93bd390  gcc/builtins.c
  ae94d8196a803d4a2c69cded88dbbb76  gcc/builtins.def
  f501faddb738e7422e75672d29bfc823  gcc/builtins.h
! abcad631f8fd3e523248d807c3bcfbf7  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  ff19b079a30065b282983bff90d28fe1  gcc/c-family/c-ada-spec.c
  aaefdc238734ee62a127bef557ad07e3  gcc/c-family/c-ada-spec.h
! 4228fb45e19dd27b647a798d2d812ac1  gcc/c-family/c-attribs.c
! 8da4cdd2545030619d4b4dc0b08e7fd3  gcc/c-family/c-common.c
  e46ad48dbbcefe97d0490955db40eddf  gcc/c-family/c-common.def
  dfe16edb3b81b111e6c4034e30b62631  gcc/c-family/c-common.h
  b6e403e7f46d368695a66de3ed639255  gcc/c-family/c-cppbuiltin.c
*************** e8d118aa27a40cfef46375271877c458  gcc/c-
*** 3123,3133 ****
  02e25f4fbdb6dafd42c7cc58e402be96  gcc/c-family/c-gimplify.c
  47cae120dbbc6dc65b3d06445c7ffd2c  gcc/c-family/c-indentation.c
  d0a5008a37b6b90aad01170ec4597384  gcc/c-family/c-indentation.h
! 987a47512367efd11640028189ddd6da  gcc/c-family/c-lex.c
  5be62f7688c8de29dc7aa9faf1367d40  gcc/c-family/c-objc.h
  bf96a414cbeb69cd94bfeb88daa0056f  gcc/c-family/c-omp.c
! fe74cabeb11f779eecd7428ce0eaf1b0  gcc/c-family/c-opts.c
! 0c3e87810e8edfc7c91b38b0958fe994  gcc/c-family/c-pch.c
  094ea467499de4520c5a2f6ee1abc7e0  gcc/c-family/c-ppoutput.c
  ff199d71952d05520517d7906169f3ff  gcc/c-family/c-pragma.c
  ae0c3df9ebba6d5955c4d243271bc4ef  gcc/c-family/c-pragma.h
--- 3123,3133 ----
  02e25f4fbdb6dafd42c7cc58e402be96  gcc/c-family/c-gimplify.c
  47cae120dbbc6dc65b3d06445c7ffd2c  gcc/c-family/c-indentation.c
  d0a5008a37b6b90aad01170ec4597384  gcc/c-family/c-indentation.h
! d1c8eaea90e64b5d4a23366e50275c06  gcc/c-family/c-lex.c
  5be62f7688c8de29dc7aa9faf1367d40  gcc/c-family/c-objc.h
  bf96a414cbeb69cd94bfeb88daa0056f  gcc/c-family/c-omp.c
! 221c143aa68a33f3da16881d3701d276  gcc/c-family/c-opts.c
! 943b5121a168c1d2916b3307db799174  gcc/c-family/c-pch.c
  094ea467499de4520c5a2f6ee1abc7e0  gcc/c-family/c-ppoutput.c
  ff199d71952d05520517d7906169f3ff  gcc/c-family/c-pragma.c
  ae0c3df9ebba6d5955c4d243271bc4ef  gcc/c-family/c-pragma.h
*************** dda3a883f8b1367723b357a3494a9ad2  gcc/c-
*** 3148,3158 ****
  24a64eac5a3ca85c2141b26c328e720c  gcc/c-family/known-headers.h
  d945fcf11b0cf9b680801477d4d6dc5d  gcc/c-family/name-hint.h
  10c210b270bd57796c125ceacb8aacf3  gcc/c-family/stub-objc.c
! d89ae831a49c3ce92c9ab504b50d38d3  gcc/c/ChangeLog
  c2c16ebc27917ec274266a7f0a5de762  gcc/c/Make-lang.in
  4b3d7694a2cabd663e29accad2dc49fd  gcc/c/c-aux-info.c
  477103be514e3fee8add675ebdf6c643  gcc/c/c-convert.c
! 921f0c40165ee46a2a9839c794b075b8  gcc/c/c-decl.c
  252e1c166ac85eeca88c8832c302422b  gcc/c/c-errors.c
  c55b3e5a9640ada3dcbf15fce3d36e8d  gcc/c/c-fold.c
  ac32535d53226e7747b1f0c599af0aa6  gcc/c/c-lang.c
--- 3148,3158 ----
  24a64eac5a3ca85c2141b26c328e720c  gcc/c-family/known-headers.h
  d945fcf11b0cf9b680801477d4d6dc5d  gcc/c-family/name-hint.h
  10c210b270bd57796c125ceacb8aacf3  gcc/c-family/stub-objc.c
! ac025779b4a8ddd703774e87060c8b59  gcc/c/ChangeLog
  c2c16ebc27917ec274266a7f0a5de762  gcc/c/Make-lang.in
  4b3d7694a2cabd663e29accad2dc49fd  gcc/c/c-aux-info.c
  477103be514e3fee8add675ebdf6c643  gcc/c/c-convert.c
! 42bbc920a5f538755300f164bbb25282  gcc/c/c-decl.c
  252e1c166ac85eeca88c8832c302422b  gcc/c/c-errors.c
  c55b3e5a9640ada3dcbf15fce3d36e8d  gcc/c/c-fold.c
  ac32535d53226e7747b1f0c599af0aa6  gcc/c/c-lang.c
*************** a3f6082ee8044d951dd495cf2599bd46  gcc/cf
*** 3181,3187 ****
  8d2d2838a75a74f980c02a0c1dccc6f7  gcc/cfgbuild.h
  a94deb84dd5fc6b64595cab63c20ef33  gcc/cfgcleanup.c
  76493c30b63093a62270af2c53f028b4  gcc/cfgcleanup.h
! 5efc24463a57cd47518baec856520a34  gcc/cfgexpand.c
  c4c6266c4888e09280fdca3bcdd6c927  gcc/cfgexpand.h
  241b624068329a0557ba643040ea7a52  gcc/cfghooks.c
  2844f8c444cf87319afcc888a92372d4  gcc/cfghooks.h
--- 3181,3187 ----
  8d2d2838a75a74f980c02a0c1dccc6f7  gcc/cfgbuild.h
  a94deb84dd5fc6b64595cab63c20ef33  gcc/cfgcleanup.c
  76493c30b63093a62270af2c53f028b4  gcc/cfgcleanup.h
! eb0ff6b215b90260d882139d4848f0d1  gcc/cfgexpand.c
  c4c6266c4888e09280fdca3bcdd6c927  gcc/cfgexpand.h
  241b624068329a0557ba643040ea7a52  gcc/cfghooks.c
  2844f8c444cf87319afcc888a92372d4  gcc/cfghooks.h
*************** aa71757a8881b31ac75eda23b83e392d  gcc/cf
*** 3190,3202 ****
  532afc445fb123afc9610af6032bf074  gcc/cfgloopanal.c
  11cf49613ab20334c1fc9121524d6381  gcc/cfgloopmanip.c
  48131d2e7e0d663e5f4d7a8c8c2863f6  gcc/cfgloopmanip.h
! 7bf9f75c65dd6f9e9b1da7c72c428e08  gcc/cfgrtl.c
! 627d4ecbd5c5b924d8cd3e490761285c  gcc/cfgrtl.h
  530c51ce28366a11c1baa106191e926f  gcc/cgraph.c
! dccdc21f74f0e2a035bc78105bec8a3e  gcc/cgraph.h
  ab4feb9f136b4b239302421056d5aa8a  gcc/cgraphbuild.c
  2e0e2270544ae7a62b3b8239ced0ca1c  gcc/cgraphclones.c
! ec153e08f4ada3e7c7c719f45eb8a049  gcc/cgraphunit.c
  521bd63dc8fb9c35c26f7a2b7c04f7c6  gcc/cif-code.def
  b49865466bbb7aec08e5fc1f12b8fee1  gcc/collect-utils.c
  35567207ddff3c6a55598c11201c07e9  gcc/collect-utils.h
--- 3190,3202 ----
  532afc445fb123afc9610af6032bf074  gcc/cfgloopanal.c
  11cf49613ab20334c1fc9121524d6381  gcc/cfgloopmanip.c
  48131d2e7e0d663e5f4d7a8c8c2863f6  gcc/cfgloopmanip.h
! f1076e21de46ce5757bab7790cce1e81  gcc/cfgrtl.c
! ac96430a55435de0d8e8129ae4f96e0f  gcc/cfgrtl.h
  530c51ce28366a11c1baa106191e926f  gcc/cgraph.c
! a24daf8d3d0bf0259c577a4050e00862  gcc/cgraph.h
  ab4feb9f136b4b239302421056d5aa8a  gcc/cgraphbuild.c
  2e0e2270544ae7a62b3b8239ced0ca1c  gcc/cgraphclones.c
! e7badebf7bb17e120fde0c6f505f1a81  gcc/cgraphunit.c
  521bd63dc8fb9c35c26f7a2b7c04f7c6  gcc/cif-code.def
  b49865466bbb7aec08e5fc1f12b8fee1  gcc/collect-utils.c
  35567207ddff3c6a55598c11201c07e9  gcc/collect-utils.h
*************** b49865466bbb7aec08e5fc1f12b8fee1  gcc/co
*** 3206,3212 ****
  e7cf7224890831969cdba55079c3f8c5  gcc/collect2.h
  f7e4d84c9831e6b006e3abaf0cda296d  gcc/color-macros.h
  ed6f48014eba9e2fdba773c6bbc66f41  gcc/combine-stack-adj.c
! a75f6f58e211cbfa8cfc60d8948c376d  gcc/combine.c
  654752e8e1da5146591a7aa1c1503728  gcc/common.md
  818fcd32d89e72a6db1615fc91582a7c  gcc/common.opt
  d39719c8a8249d7c11783eb1a99e6629  gcc/common/common-target-def.h
--- 3206,3212 ----
  e7cf7224890831969cdba55079c3f8c5  gcc/collect2.h
  f7e4d84c9831e6b006e3abaf0cda296d  gcc/color-macros.h
  ed6f48014eba9e2fdba773c6bbc66f41  gcc/combine-stack-adj.c
! d9891026168decb9f4a72327840db14d  gcc/combine.c
  654752e8e1da5146591a7aa1c1503728  gcc/common.md
  818fcd32d89e72a6db1615fc91582a7c  gcc/common.opt
  d39719c8a8249d7c11783eb1a99e6629  gcc/common/common-target-def.h
*************** b9e205cf83be687340f57069d2828c97  gcc/co
*** 3231,3239 ****
  b302028eafbaf815953381baed1c74b4  gcc/common/config/frv/frv-common.c
  9b09cc59d4b2abf439f40174f9576a69  gcc/common/config/gcn/gcn-common.c
  4c82be520bd57ce5fdb0b57810fa90c9  gcc/common/config/h8300/h8300-common.c
! a0bdd91975466928ae652590600a9392  gcc/common/config/i386/cpuinfo.h
! 6dc32a89301fd0b5dcf0460900c0f84a  gcc/common/config/i386/i386-common.c
! ec43e15f9e540baed2aa8ddcf0da00ad  gcc/common/config/i386/i386-cpuinfo.h
  2b7433f285684f4da203c7d39cd60be7  gcc/common/config/i386/i386-isas.h
  41afdf8ce4284f33a46b2605ce6eafc7  gcc/common/config/ia64/ia64-common.c
  48dcb9e9504ab558c9bfeb4d255c570a  gcc/common/config/iq2000/iq2000-common.c
--- 3231,3239 ----
  b302028eafbaf815953381baed1c74b4  gcc/common/config/frv/frv-common.c
  9b09cc59d4b2abf439f40174f9576a69  gcc/common/config/gcn/gcn-common.c
  4c82be520bd57ce5fdb0b57810fa90c9  gcc/common/config/h8300/h8300-common.c
! 089e9507ac3c93494b20c64d6c506c63  gcc/common/config/i386/cpuinfo.h
! 6989792a70ec1a9607b07ab2c2732127  gcc/common/config/i386/i386-common.c
! ef004a65c19bdc0d968bfbca76821f46  gcc/common/config/i386/i386-cpuinfo.h
  2b7433f285684f4da203c7d39cd60be7  gcc/common/config/i386/i386-isas.h
  41afdf8ce4284f33a46b2605ce6eafc7  gcc/common/config/ia64/ia64-common.c
  48dcb9e9504ab558c9bfeb4d255c570a  gcc/common/config/iq2000/iq2000-common.c
*************** adb9f88eafb276d0ce398300d4103015  gcc/co
*** 3269,3284 ****
  b2ffc0034da9ccbf178a5e5748c52c0a  gcc/compare-elim.c
  e4b6829ec591a11a2cb0db458fe65ff2  gcc/conditions.h
  cc62394ef13d37ac049f14027a48482a  gcc/config.build
! f17e0998d15b8c5033cfb753487d8ddf  gcc/config.gcc
  31bf67644c4d7d8b27828e16398dc1d9  gcc/config.host
! de5f053f58e1109f62bcdbdef6b90b44  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
  1e9e77d433aa4a980b2aa08ff1ac55db  gcc/config/aarch64/aarch64-arches.def
  1ab879dfa2a1dd57f0cacc5494704f42  gcc/config/aarch64/aarch64-bti-insert.c
  c95e78d7955efa8d506c30984a8048ac  gcc/config/aarch64/aarch64-builtins.c
! 6dfd583d75225a11b336bcdb7689f691  gcc/config/aarch64/aarch64-c.c
  e59a3f748c562e36ae56da5a4a570356  gcc/config/aarch64/aarch64-cc-fusion.cc
! 056adad61de1c550e16140c80102018b  gcc/config/aarch64/aarch64-cores.def
  a8cd1db666eef3a23102e56a5c4b70cb  gcc/config/aarch64/aarch64-cost-tables.h
  7a209f0ae0add87b9144ece813928a90  gcc/config/aarch64/aarch64-d.c
  89bdbb01cb73e3f0919c1d6d2ba307bb  gcc/config/aarch64/aarch64-elf-raw.h
--- 3269,3284 ----
  b2ffc0034da9ccbf178a5e5748c52c0a  gcc/compare-elim.c
  e4b6829ec591a11a2cb0db458fe65ff2  gcc/conditions.h
  cc62394ef13d37ac049f14027a48482a  gcc/config.build
! b7d1bc06a72befb57c0c9b3417f2eaad  gcc/config.gcc
  31bf67644c4d7d8b27828e16398dc1d9  gcc/config.host
! 2aaf4ef6d07a748af0933cebc9cf9248  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
  1e9e77d433aa4a980b2aa08ff1ac55db  gcc/config/aarch64/aarch64-arches.def
  1ab879dfa2a1dd57f0cacc5494704f42  gcc/config/aarch64/aarch64-bti-insert.c
  c95e78d7955efa8d506c30984a8048ac  gcc/config/aarch64/aarch64-builtins.c
! 8137028e8a143ced522a288b3a4842cb  gcc/config/aarch64/aarch64-c.c
  e59a3f748c562e36ae56da5a4a570356  gcc/config/aarch64/aarch64-cc-fusion.cc
! 856cecabf196a0d5016cc6b9ad5fa9e6  gcc/config/aarch64/aarch64-cores.def
  a8cd1db666eef3a23102e56a5c4b70cb  gcc/config/aarch64/aarch64-cost-tables.h
  7a209f0ae0add87b9144ece813928a90  gcc/config/aarch64/aarch64-d.c
  89bdbb01cb73e3f0919c1d6d2ba307bb  gcc/config/aarch64/aarch64-elf-raw.h
*************** f381214b5d5ff96ed05d9296a8dad996  gcc/co
*** 3312,3328 ****
  2bb49c05f0be70f85d5eb7341a3fed80  gcc/config/aarch64/aarch64-sve-builtins.h
  94052bc1aaba0562b41cdec72a6bf3d2  gcc/config/aarch64/aarch64-sve.md
  024f1f15f2747beb21971036aa2e89d9  gcc/config/aarch64/aarch64-sve2.md
! 7a4bb120600e31ed57d0f67899d78b73  gcc/config/aarch64/aarch64-tune.md
  7f19a3ee43fa4e79042af495fd7df059  gcc/config/aarch64/aarch64-tuning-flags.def
  9f502cdcedcd85f77d279b53ea68cfc3  gcc/config/aarch64/aarch64-vxworks.h
! 8ae759b088267544c6edf2106d6793cd  gcc/config/aarch64/aarch64.c
! 0b52542f189074aa879e806a7668b8a4  gcc/config/aarch64/aarch64.h
! b5668d7c6a7fe3ba62e03202d4bf621d  gcc/config/aarch64/aarch64.md
  4923901cd53cde9dcd83c7f0dab8ef58  gcc/config/aarch64/aarch64.opt
  f10dcbf353793be47c4ad2b77e1ad69d  gcc/config/aarch64/arm_acle.h
  ba8c2535e9626ae4e550de5047888287  gcc/config/aarch64/arm_bf16.h
  05d7dd122d4058557d659713d2c9b8c7  gcc/config/aarch64/arm_fp16.h
! ae69dc7e22047d2b46f6970580beb3c1  gcc/config/aarch64/arm_neon.h
  ef1dd222bbbaca1e6dac76b9321bab92  gcc/config/aarch64/arm_sve.h
  d92a3d5acf1ebe31d01e378d08932d3b  gcc/config/aarch64/atomics.md
  c5e4dc1aa8aa96b1e98708782e715b10  gcc/config/aarch64/biarchilp32.h
--- 3312,3328 ----
  2bb49c05f0be70f85d5eb7341a3fed80  gcc/config/aarch64/aarch64-sve-builtins.h
  94052bc1aaba0562b41cdec72a6bf3d2  gcc/config/aarch64/aarch64-sve.md
  024f1f15f2747beb21971036aa2e89d9  gcc/config/aarch64/aarch64-sve2.md
! c3c8e545e0e51bbc7fe1bbeb764a049b  gcc/config/aarch64/aarch64-tune.md
  7f19a3ee43fa4e79042af495fd7df059  gcc/config/aarch64/aarch64-tuning-flags.def
  9f502cdcedcd85f77d279b53ea68cfc3  gcc/config/aarch64/aarch64-vxworks.h
! b3625845c85f16415f8653463a5679ab  gcc/config/aarch64/aarch64.c
! f947869d52da8d8846a91c201a4b2d4c  gcc/config/aarch64/aarch64.h
! c2f41769ee7a5286f06b3ed4676a9a0b  gcc/config/aarch64/aarch64.md
  4923901cd53cde9dcd83c7f0dab8ef58  gcc/config/aarch64/aarch64.opt
  f10dcbf353793be47c4ad2b77e1ad69d  gcc/config/aarch64/arm_acle.h
  ba8c2535e9626ae4e550de5047888287  gcc/config/aarch64/arm_bf16.h
  05d7dd122d4058557d659713d2c9b8c7  gcc/config/aarch64/arm_fp16.h
! b79bd04bdc2b5bd1dee970a0c96e335c  gcc/config/aarch64/arm_neon.h
  ef1dd222bbbaca1e6dac76b9321bab92  gcc/config/aarch64/arm_sve.h
  d92a3d5acf1ebe31d01e378d08932d3b  gcc/config/aarch64/atomics.md
  c5e4dc1aa8aa96b1e98708782e715b10  gcc/config/aarch64/biarchilp32.h
*************** d1bbf361745ec677a615eb0a11e5b715  gcc/co
*** 3336,3342 ****
  63d0eebbd3376ae240e4547760915f66  gcc/config/aarch64/fractional-cost.h
  67157c8970cb22f05a2e298f9a6b84c7  gcc/config/aarch64/geniterators.sh
  9a3499491d4a8101f057a66925192785  gcc/config/aarch64/gentune.sh
! 486ecb4436f44ec8def58519a064e673  gcc/config/aarch64/iterators.md
  22bf9e47c529401c9f9ae72aeefdfeb7  gcc/config/aarch64/predicates.md
  1a2b7c99ac3e699f010a2a5e143dfb8c  gcc/config/aarch64/rtems.h
  38550170272505346a8ad5dd6a1b63db  gcc/config/aarch64/saphira.md
--- 3336,3342 ----
  63d0eebbd3376ae240e4547760915f66  gcc/config/aarch64/fractional-cost.h
  67157c8970cb22f05a2e298f9a6b84c7  gcc/config/aarch64/geniterators.sh
  9a3499491d4a8101f057a66925192785  gcc/config/aarch64/gentune.sh
! 53d16093c61bcad3fd1932ded1e43a9e  gcc/config/aarch64/iterators.md
  22bf9e47c529401c9f9ae72aeefdfeb7  gcc/config/aarch64/predicates.md
  1a2b7c99ac3e699f010a2a5e143dfb8c  gcc/config/aarch64/rtems.h
  38550170272505346a8ad5dd6a1b63db  gcc/config/aarch64/saphira.md
*************** cffb77e28aaee1ef71df44208c8cf08e  gcc/co
*** 3355,3363 ****
  42eb8ee353bebcf838d4dac63080b578  gcc/config/alpha/alpha-protos.h
  1179957aae0dacf5d55cb9af5eea6b54  gcc/config/alpha/alpha.c
  b583c637be36f7ba4943158c259f9071  gcc/config/alpha/alpha.h
! 96f465578b3bc22c52447c9dfa49487b  gcc/config/alpha/alpha.md
  c8a659f2d0ece9ed25fb00c2b65109dc  gcc/config/alpha/alpha.opt
! a69c90e08fbd52ed0a529d829106ee0b  gcc/config/alpha/constraints.md
  922bc1be27f184824dfc6ee89eb40afb  gcc/config/alpha/driver-alpha.c
  71b456abb6ba28ef390d8665eb986ca7  gcc/config/alpha/elf.h
  b2e7fd5895398a60097812bda344908e  gcc/config/alpha/elf.opt
--- 3355,3363 ----
  42eb8ee353bebcf838d4dac63080b578  gcc/config/alpha/alpha-protos.h
  1179957aae0dacf5d55cb9af5eea6b54  gcc/config/alpha/alpha.c
  b583c637be36f7ba4943158c259f9071  gcc/config/alpha/alpha.h
! 7773ae1751be3532e3a49a9d25361811  gcc/config/alpha/alpha.md
  c8a659f2d0ece9ed25fb00c2b65109dc  gcc/config/alpha/alpha.opt
! 0e2f0d61b9436a1eb5fd71510357f9ec  gcc/config/alpha/constraints.md
  922bc1be27f184824dfc6ee89eb40afb  gcc/config/alpha/driver-alpha.c
  71b456abb6ba28ef390d8665eb986ca7  gcc/config/alpha/elf.h
  b2e7fd5895398a60097812bda344908e  gcc/config/alpha/elf.opt
*************** cadb5b1cf604bbd9e06000676a096db5  gcc/co
*** 3432,3440 ****
  095ccfc0877933dc53eb40c2369fcf9a  gcc/config/arm/arm-simd-builtin-types.def
  e15ee919dad399c4e00ca11efe4bcd94  gcc/config/arm/arm-tables.opt
  d70a50caf4aae1fb3ab57300fd85cd84  gcc/config/arm/arm-tune.md
! e36e918c57c52b17c910038b841d3f73  gcc/config/arm/arm.c
  fa7937aa82161053523e64455115ac0d  gcc/config/arm/arm.h
! 9b8b431e40e39b11d70fe124e6b05b1e  gcc/config/arm/arm.md
  eabc54f06df24e849baa2f7e1d988bb0  gcc/config/arm/arm.opt
  4e8f8d7a828a2fafaf77c37723c261d2  gcc/config/arm/arm1020e.md
  d70cb415fe667cb4c7ac20d8fe3dd244  gcc/config/arm/arm1026ejs.md
--- 3432,3440 ----
  095ccfc0877933dc53eb40c2369fcf9a  gcc/config/arm/arm-simd-builtin-types.def
  e15ee919dad399c4e00ca11efe4bcd94  gcc/config/arm/arm-tables.opt
  d70a50caf4aae1fb3ab57300fd85cd84  gcc/config/arm/arm-tune.md
! 8fd147ed80bf90666e4500fcb0dc6412  gcc/config/arm/arm.c
  fa7937aa82161053523e64455115ac0d  gcc/config/arm/arm.h
! f40e0ed127022d68fe4f155c257e22ef  gcc/config/arm/arm.md
  eabc54f06df24e849baa2f7e1d988bb0  gcc/config/arm/arm.opt
  4e8f8d7a828a2fafaf77c37723c261d2  gcc/config/arm/arm1020e.md
  d70cb415fe667cb4c7ac20d8fe3dd244  gcc/config/arm/arm1026ejs.md
*************** bd2045b2f5d8245c16a45237dce679a6  gcc/co
*** 3496,3503 ****
  41ed5979d5b4c0328c84b1411af4d063  gcc/config/arm/marvell-f-iwmmxt.md
  64a1f7d58f31d526a6b511b59068a296  gcc/config/arm/marvell-pj4.md
  43fdc3285e4cf2925affd75f5e519dda  gcc/config/arm/mmintrin.h
! 08e38ef92c274dd24676b4aaf7678b20  gcc/config/arm/mve.md
! 9f532768a1dd1fd1a7115fc72bbf7a88  gcc/config/arm/neon.md
  e602d4f71105bebaba1f0160067b903c  gcc/config/arm/netbsd-eabi.h
  4868137991adc2b3ed94f92b94681a5c  gcc/config/arm/netbsd-elf.h
  cae8e4d7062cc8528b86ba742f87b233  gcc/config/arm/parsecpu.awk
--- 3496,3503 ----
  41ed5979d5b4c0328c84b1411af4d063  gcc/config/arm/marvell-f-iwmmxt.md
  64a1f7d58f31d526a6b511b59068a296  gcc/config/arm/marvell-pj4.md
  43fdc3285e4cf2925affd75f5e519dda  gcc/config/arm/mmintrin.h
! 0e925e16019a232c7c2703deee9f3623  gcc/config/arm/mve.md
! 121e64ed224c8f659e47c0e82bb1d3a2  gcc/config/arm/neon.md
  e602d4f71105bebaba1f0160067b903c  gcc/config/arm/netbsd-eabi.h
  4868137991adc2b3ed94f92b94681a5c  gcc/config/arm/netbsd-elf.h
  cae8e4d7062cc8528b86ba742f87b233  gcc/config/arm/parsecpu.awk
*************** c1ce8990c1043f299ab96a7d2c9feac2  gcc/co
*** 3528,3534 ****
  3285e4d14032fb0ae4faa2809a98b43b  gcc/config/arm/unknown-elf.h
  4d486054574a4f147041002f62b9faa5  gcc/config/arm/unspecs.md
  efe5977515d447ef320d17e4fe861fb0  gcc/config/arm/vec-common.md
! e03dd376edfeaf6532effda3526527c1  gcc/config/arm/vfp.md
  5b03ce06f03ed9738ed6cee13b1475ab  gcc/config/arm/vfp11.md
  77f809b2e1735d57d8681bbd8e506d7c  gcc/config/arm/vxworks.h
  3f347f182b169716d6be40e6781e10b4  gcc/config/arm/vxworks.opt
--- 3528,3534 ----
  3285e4d14032fb0ae4faa2809a98b43b  gcc/config/arm/unknown-elf.h
  4d486054574a4f147041002f62b9faa5  gcc/config/arm/unspecs.md
  efe5977515d447ef320d17e4fe861fb0  gcc/config/arm/vec-common.md
! d7eb641b39c54460df9f7a38e18c6317  gcc/config/arm/vfp.md
  5b03ce06f03ed9738ed6cee13b1475ab  gcc/config/arm/vfp11.md
  77f809b2e1735d57d8681bbd8e506d7c  gcc/config/arm/vxworks.h
  3f347f182b169716d6be40e6781e10b4  gcc/config/arm/vxworks.opt
*************** bf77a54b5c52ed103705a4e960d9f814  gcc/co
*** 3668,3678 ****
  6c3d6a0a08530389c3655e5d20ab8743  gcc/config/darwin-driver.c
  dbb6f1d5dc4ceaaf0fd2e5bc4bbb2a29  gcc/config/darwin-f.c
  1e7f34ef6b48c907fbf5b2d5a629e957  gcc/config/darwin-ppc-ldouble-patch.def
! d888c4de74a969d5751349e288d4728d  gcc/config/darwin-protos.h
! fe391a430f76c969aa3909a7239a4812  gcc/config/darwin-sections.def
! ebaf866f07c93c3c0b4d518a42c37d1e  gcc/config/darwin.c
! b1ac0459ed54d15d64c9aedddee8aeba  gcc/config/darwin.h
! 3d206af3a9f3e409c3fa42bc4e807a7b  gcc/config/darwin.opt
  23bab33707e2ef99310565f620c62080  gcc/config/dbx.h
  04c3ad90675d44af0d58b60b7ce96c32  gcc/config/dbxcoff.h
  201708cb71e4d33abc802e38b34cb75c  gcc/config/dbxelf.h
--- 3668,3678 ----
  6c3d6a0a08530389c3655e5d20ab8743  gcc/config/darwin-driver.c
  dbb6f1d5dc4ceaaf0fd2e5bc4bbb2a29  gcc/config/darwin-f.c
  1e7f34ef6b48c907fbf5b2d5a629e957  gcc/config/darwin-ppc-ldouble-patch.def
! cfb0f017fcc6b156adcaf0783cc42c48  gcc/config/darwin-protos.h
! 1d16964a4862c950ecc1df452a98b8c5  gcc/config/darwin-sections.def
! d2155280b07c573aaa0ff4f38cf02698  gcc/config/darwin.c
! 72fd3822b13d1b017f717fd41571eac4  gcc/config/darwin.h
! 1a740bef7449d60596672d12d676265a  gcc/config/darwin.opt
  23bab33707e2ef99310565f620c62080  gcc/config/dbx.h
  04c3ad90675d44af0d58b60b7ce96c32  gcc/config/dbxcoff.h
  201708cb71e4d33abc802e38b34cb75c  gcc/config/dbxelf.h
*************** bce872407ffa808d0db599bc7629d590  gcc/co
*** 3801,3807 ****
  5b432e4704ce6c673a612e9ee95f8330  gcc/config/i386/ammintrin.h
  28dcfe5268c82cdc42292f182469963b  gcc/config/i386/amxbf16intrin.h
  2d9d8e73beb1902033e40d93fe7ae3bf  gcc/config/i386/amxint8intrin.h
! f4ac9cdd6fe1c388fb12a3695be9e14b  gcc/config/i386/amxtileintrin.h
  191a6ecdf5316e7035dcc896f1aaaaf0  gcc/config/i386/athlon.md
  1203fdf8b1487c9f925131b28b02b44b  gcc/config/i386/atom.md
  24b0ba3db73234857e9f4e731b3667a0  gcc/config/i386/att.h
--- 3801,3807 ----
  5b432e4704ce6c673a612e9ee95f8330  gcc/config/i386/ammintrin.h
  28dcfe5268c82cdc42292f182469963b  gcc/config/i386/amxbf16intrin.h
  2d9d8e73beb1902033e40d93fe7ae3bf  gcc/config/i386/amxint8intrin.h
! 65e56ecf45e58e90027650f27deeae55  gcc/config/i386/amxtileintrin.h
  191a6ecdf5316e7035dcc896f1aaaaf0  gcc/config/i386/athlon.md
  1203fdf8b1487c9f925131b28b02b44b  gcc/config/i386/atom.md
  24b0ba3db73234857e9f4e731b3667a0  gcc/config/i386/att.h
*************** d04ed61f749e229f239897b3baca4938  gcc/co
*** 3869,3875 ****
  7eef87bf6d5ed6ed58a3f49b605fa304  gcc/config/i386/djgpp.h
  eb87f240e280f50a4f7213e4c1693b58  gcc/config/i386/djgpp.opt
  7107a1b32e7712e57535cf017a9e3b31  gcc/config/i386/dragonfly.h
! 66a900eaa0c5b9b9da750d357f64cc44  gcc/config/i386/driver-i386.c
  3957794a408aca3d78d50443cdaa5160  gcc/config/i386/driver-mingw32.c
  a58296a3ce52541fa1ec1d97d428a2d7  gcc/config/i386/emmintrin.h
  4f000e9cad83855e36be99512cff28a1  gcc/config/i386/enqcmdintrin.h
--- 3869,3875 ----
  7eef87bf6d5ed6ed58a3f49b605fa304  gcc/config/i386/djgpp.h
  eb87f240e280f50a4f7213e4c1693b58  gcc/config/i386/djgpp.opt
  7107a1b32e7712e57535cf017a9e3b31  gcc/config/i386/dragonfly.h
! bbeaa24ffbd0ac3668cd34ed471b3680  gcc/config/i386/driver-i386.c
  3957794a408aca3d78d50443cdaa5160  gcc/config/i386/driver-mingw32.c
  a58296a3ce52541fa1ec1d97d428a2d7  gcc/config/i386/emmintrin.h
  4f000e9cad83855e36be99512cff28a1  gcc/config/i386/enqcmdintrin.h
*************** f63afc859775aca634f9c3038a88a2e8  gcc/co
*** 3897,3921 ****
  dfd31f5b9f3ae6b0f0cfbc91f34b22d3  gcc/config/i386/hresetintrin.h
  f416d4c1b5f76b0c32dcfa57cbef9de0  gcc/config/i386/i386-builtin-types.awk
  4e99fd2d8e886c8fedca887be1ceccad  gcc/config/i386/i386-builtin-types.def
! 34f102d507622bc6b3890d83f44921da  gcc/config/i386/i386-builtin.def
  1dc75a552c0d6998bea2786836c26452  gcc/config/i386/i386-builtins.c
  2eb66258231da97923f18a6fb2fb2526  gcc/config/i386/i386-builtins.h
! e93ce5f91f999045596fda2304d9776d  gcc/config/i386/i386-c.c
  e87e1d322f0b5d6d0862f8b523832d11  gcc/config/i386/i386-d.c
! 37234dbeb55c711b9fed925b3e6d1994  gcc/config/i386/i386-expand.c
  68f53a8d27a4bdcd5018b83939e20f6c  gcc/config/i386/i386-expand.h
! dd464cbc7d083f9311116080f270e855  gcc/config/i386/i386-features.c
  86c0fda429064123819ee0155f367a5f  gcc/config/i386/i386-features.h
  04cdac9cb26ba183b03b6f9c7a01b792  gcc/config/i386/i386-modes.def
! 922cbea5f57c4c7e89d7b294c9a372f8  gcc/config/i386/i386-options.c
  fe60119ebc2cc86648e81161137ee957  gcc/config/i386/i386-options.h
  6162f2f6d59de8eec399101815b311fb  gcc/config/i386/i386-opts.h
  b52d1366937ad82efd6efd1590e73779  gcc/config/i386/i386-passes.def
  1905e9dbeb917e8b2caf32cc98f4b5d3  gcc/config/i386/i386-protos.h
! f9777b60c901ce3e254c92309398b3e3  gcc/config/i386/i386.c
! efd333c54c81f2840c9dbb82e80e68e2  gcc/config/i386/i386.h
! 1f2ce4d81972398ffabd0e5b5795b5e4  gcc/config/i386/i386.md
! 9d4643969a5ef2f50d082193dbdf9b47  gcc/config/i386/i386.opt
  c10c5e5da62216f81b78dd46673df070  gcc/config/i386/i386elf.h
  e54b0acb11af35cf1d05cfef525dd659  gcc/config/i386/ia32intrin.h
  fa1c19397f6d7ac84e3a77d2fd9d70bc  gcc/config/i386/iamcu.h
--- 3897,3921 ----
  dfd31f5b9f3ae6b0f0cfbc91f34b22d3  gcc/config/i386/hresetintrin.h
  f416d4c1b5f76b0c32dcfa57cbef9de0  gcc/config/i386/i386-builtin-types.awk
  4e99fd2d8e886c8fedca887be1ceccad  gcc/config/i386/i386-builtin-types.def
! e3e75a3fac2f917184fc5986bb9a7e8e  gcc/config/i386/i386-builtin.def
  1dc75a552c0d6998bea2786836c26452  gcc/config/i386/i386-builtins.c
  2eb66258231da97923f18a6fb2fb2526  gcc/config/i386/i386-builtins.h
! 66b916208f2672075a6777ee5eeae884  gcc/config/i386/i386-c.c
  e87e1d322f0b5d6d0862f8b523832d11  gcc/config/i386/i386-d.c
! 152d6cc9c3844392c7d2788eedac85f0  gcc/config/i386/i386-expand.c
  68f53a8d27a4bdcd5018b83939e20f6c  gcc/config/i386/i386-expand.h
! 3b97c0e5b2c38c9dc1d2a53058c7af0a  gcc/config/i386/i386-features.c
  86c0fda429064123819ee0155f367a5f  gcc/config/i386/i386-features.h
  04cdac9cb26ba183b03b6f9c7a01b792  gcc/config/i386/i386-modes.def
! 46b80124af36963006fb36102a1c75b3  gcc/config/i386/i386-options.c
  fe60119ebc2cc86648e81161137ee957  gcc/config/i386/i386-options.h
  6162f2f6d59de8eec399101815b311fb  gcc/config/i386/i386-opts.h
  b52d1366937ad82efd6efd1590e73779  gcc/config/i386/i386-passes.def
  1905e9dbeb917e8b2caf32cc98f4b5d3  gcc/config/i386/i386-protos.h
! e6bd8961f90810a202f5b5dd5e7675e6  gcc/config/i386/i386.c
! ac44daadc2d375f7a7dd54e41354d81e  gcc/config/i386/i386.h
! a9a70685c39d3c6ca63736be116698dd  gcc/config/i386/i386.md
! 8e648834461e2776232d88b7375a1653  gcc/config/i386/i386.opt
  c10c5e5da62216f81b78dd46673df070  gcc/config/i386/i386elf.h
  e54b0acb11af35cf1d05cfef525dd659  gcc/config/i386/ia32intrin.h
  fa1c19397f6d7ac84e3a77d2fd9d70bc  gcc/config/i386/iamcu.h
*************** b38248cde141fc9fed08e9ac46211173  gcc/co
*** 3941,3947 ****
  5bd2e0b86c4dab0b605208942c9a50d6  gcc/config/i386/mingw32.h
  8c2a40be98f698117815409db5755e07  gcc/config/i386/mm3dnow.h
  ebadd8939e5045c483e0067e83f84ea5  gcc/config/i386/mmintrin.h
! a4907954895f6236cf5afcdba2be40d0  gcc/config/i386/mmx.md
  3ead5a3ca4f10d35ec0b1d203eaff264  gcc/config/i386/movdirintrin.h
  de4344ede8a257d98598f21855100331  gcc/config/i386/msformat-c.c
  1978ffb70e7e93e7a11ef43e7a27396c  gcc/config/i386/mwaitintrin.h
--- 3941,3947 ----
  5bd2e0b86c4dab0b605208942c9a50d6  gcc/config/i386/mingw32.h
  8c2a40be98f698117815409db5755e07  gcc/config/i386/mm3dnow.h
  ebadd8939e5045c483e0067e83f84ea5  gcc/config/i386/mmintrin.h
! 5325e3447b9828c3048c2b2db1050864  gcc/config/i386/mmx.md
  3ead5a3ca4f10d35ec0b1d203eaff264  gcc/config/i386/movdirintrin.h
  de4344ede8a257d98598f21855100331  gcc/config/i386/msformat-c.c
  1978ffb70e7e93e7a11ef43e7a27396c  gcc/config/i386/mwaitintrin.h
*************** e1e11d9cd0e8002dee79ab23d590ed1a  gcc/co
*** 3972,3978 ****
  f808dc4b45bc244b7588e4dbe292d158  gcc/config/i386/slm.md
  03dd452cfd3e49b9807da1ce5a98046d  gcc/config/i386/smmintrin.h
  86d70f5d5123563facc0d2e2dcfbd9e6  gcc/config/i386/sol2.h
! 429668121fa3ff79143be1f9720eb312  gcc/config/i386/sse.md
  df2791f0495a636b555c9a5f3f9ff153  gcc/config/i386/ssemath.h
  fdb6c5262186a722ee43fabb890960ae  gcc/config/i386/stringop.def
  fdbc1c329d68559ae10ad05554ed8b15  gcc/config/i386/subst.md
--- 3972,3978 ----
  f808dc4b45bc244b7588e4dbe292d158  gcc/config/i386/slm.md
  03dd452cfd3e49b9807da1ce5a98046d  gcc/config/i386/smmintrin.h
  86d70f5d5123563facc0d2e2dcfbd9e6  gcc/config/i386/sol2.h
! 4dbd90c89799f961fc932ef665d38450  gcc/config/i386/sse.md
  df2791f0495a636b555c9a5f3f9ff153  gcc/config/i386/ssemath.h
  fdb6c5262186a722ee43fabb890960ae  gcc/config/i386/stringop.def
  fdbc1c329d68559ae10ad05554ed8b15  gcc/config/i386/subst.md
*************** bae69273c5e47d61e99558ca73c4fabd  gcc/co
*** 4021,4032 ****
  12e09c6fa27c603c6db59fbfc2a6b089  gcc/config/i386/x-i386
  97c8723c0a17cc27496bf3f2e00575fd  gcc/config/i386/x-mingw32
  79a43ba764ecdf9a8182ebdd85310d50  gcc/config/i386/x86-64.h
! e8de4d87d46a089a190cdcfd5ab996cb  gcc/config/i386/x86-tune-costs.h
  7fbc73604928f2f3eae088fea7082e0b  gcc/config/i386/x86-tune-sched-atom.c
  8e3814442de68a4801c8a7449d277e25  gcc/config/i386/x86-tune-sched-bd.c
  83e27c2de80a1b674196a9f6c758a5a6  gcc/config/i386/x86-tune-sched-core.c
! 9a5ed19a8a9efd3aa8f780c637126988  gcc/config/i386/x86-tune-sched.c
! e4c639befde2ed972037502a8c268a95  gcc/config/i386/x86-tune.def
  a37907df7b82725358293d96278edc51  gcc/config/i386/x86gprintrin.h
  01c872023bcadf9bc3f32938f1290d99  gcc/config/i386/x86intrin.h
  bedb15dc5d9dc0741fa2f65684e6afc8  gcc/config/i386/xm-cygwin.h
--- 4021,4032 ----
  12e09c6fa27c603c6db59fbfc2a6b089  gcc/config/i386/x-i386
  97c8723c0a17cc27496bf3f2e00575fd  gcc/config/i386/x-mingw32
  79a43ba764ecdf9a8182ebdd85310d50  gcc/config/i386/x86-64.h
! 1f3fa0db3c8b9e6c7c6a1f0832ab92ac  gcc/config/i386/x86-tune-costs.h
  7fbc73604928f2f3eae088fea7082e0b  gcc/config/i386/x86-tune-sched-atom.c
  8e3814442de68a4801c8a7449d277e25  gcc/config/i386/x86-tune-sched-bd.c
  83e27c2de80a1b674196a9f6c758a5a6  gcc/config/i386/x86-tune-sched-core.c
! 871895c3256e4f931e034c6f9ff4988a  gcc/config/i386/x86-tune-sched.c
! 0c4649ce330175bb5454301037725926  gcc/config/i386/x86-tune.def
  a37907df7b82725358293d96278edc51  gcc/config/i386/x86gprintrin.h
  01c872023bcadf9bc3f32938f1290d99  gcc/config/i386/x86intrin.h
  bedb15dc5d9dc0741fa2f65684e6afc8  gcc/config/i386/xm-cygwin.h
*************** bedb15dc5d9dc0741fa2f65684e6afc8  gcc/co
*** 4039,4045 ****
  ced95bb984b96ed6d6768b2b5d4d9d23  gcc/config/i386/xsaveoptintrin.h
  8b1811e1567e01938b667ebe3954f991  gcc/config/i386/xsavesintrin.h
  28f7cd3a41b61a99c1560e6e0aef01c2  gcc/config/i386/xtestintrin.h
! 1a12d00791dc5750b71e438d322ddf2b  gcc/config/i386/znver1.md
  b4f1f741cb220bde1a5477221381c160  gcc/config/ia64/constraints.md
  fb20b99e59a0837f7730623933540364  gcc/config/ia64/div.md
  ebab5f6ec27511ec34a317311dc1fb3d  gcc/config/ia64/elf.h
--- 4039,4046 ----
  ced95bb984b96ed6d6768b2b5d4d9d23  gcc/config/i386/xsaveoptintrin.h
  8b1811e1567e01938b667ebe3954f991  gcc/config/i386/xsavesintrin.h
  28f7cd3a41b61a99c1560e6e0aef01c2  gcc/config/i386/xtestintrin.h
! 1a12d00791dc5750b71e438d322ddf2b  gcc/config/i386/znver.md
! a08f5902eecead19f6f0b3f635c1f717  gcc/config/i386/znver4.md
  b4f1f741cb220bde1a5477221381c160  gcc/config/ia64/constraints.md
  fb20b99e59a0837f7730623933540364  gcc/config/ia64/div.md
  ebab5f6ec27511ec34a317311dc1fb3d  gcc/config/ia64/elf.h
*************** c367c0630f7f023a908b12f4b0bcd43e  gcc/co
*** 4239,4250 ****
  af514a1f925002faa534e8e9af7e4c2a  gcc/config/mips/mips-fixed.md
  6fe9c019b23470a4713ed97e64767ff0  gcc/config/mips/mips-ftypes.def
  b125f873d072e558225faced30c16710  gcc/config/mips/mips-modes.def
! 5dde86fd55084be46ad7c49c01a2a1aa  gcc/config/mips/mips-msa.md
  82ce3594b1b612d1465ebdab253281a5  gcc/config/mips/mips-opts.h
  1419718ff2e070b1c21d04048b50a805  gcc/config/mips/mips-protos.h
  e972e6ee968c5ceea9564ce75b572eb5  gcc/config/mips/mips-ps-3d.md
  b47b9237ca1cdd376492147fef2ebceb  gcc/config/mips/mips-tables.opt
! 11732488744371fbb103be5b89157d28  gcc/config/mips/mips.c
  7dde563fb33bd1ab036762c99d9e484b  gcc/config/mips/mips.h
  cc41f5dfa824b8ebc1999709b81b6ecb  gcc/config/mips/mips.md
  3bafa6a814101c62b01241da0805afca  gcc/config/mips/mips.opt
--- 4240,4251 ----
  af514a1f925002faa534e8e9af7e4c2a  gcc/config/mips/mips-fixed.md
  6fe9c019b23470a4713ed97e64767ff0  gcc/config/mips/mips-ftypes.def
  b125f873d072e558225faced30c16710  gcc/config/mips/mips-modes.def
! ed0ddbdb661ae412440354cdd16e1b98  gcc/config/mips/mips-msa.md
  82ce3594b1b612d1465ebdab253281a5  gcc/config/mips/mips-opts.h
  1419718ff2e070b1c21d04048b50a805  gcc/config/mips/mips-protos.h
  e972e6ee968c5ceea9564ce75b572eb5  gcc/config/mips/mips-ps-3d.md
  b47b9237ca1cdd376492147fef2ebceb  gcc/config/mips/mips-tables.opt
! a2f170d69a55322313f4a6e48fcbd85b  gcc/config/mips/mips.c
  7dde563fb33bd1ab036762c99d9e484b  gcc/config/mips/mips.h
  cc41f5dfa824b8ebc1999709b81b6ecb  gcc/config/mips/mips.md
  3bafa6a814101c62b01241da0805afca  gcc/config/mips/mips.opt
*************** e20b327d30706926261c1317764ee479  gcc/co
*** 4458,4466 ****
  caff43adac59469f64f1c7e4385c27d2  gcc/config/pa/pa-openbsd.h
  904b7f071b6b5c7fbcd244403e468d7f  gcc/config/pa/pa-opts.h
  85dc61345aa9b8f74041dfe95eebf2e7  gcc/config/pa/pa-protos.h
! 0d77b7513676faac2b9365e1786e465c  gcc/config/pa/pa.c
  c3f6aadadbf72faef69e3a2422b6e223  gcc/config/pa/pa.h
! af01de2d6c7c056ee644a22c89654bf2  gcc/config/pa/pa.md
  570c43b9b6987181b5756267f6cf7973  gcc/config/pa/pa.opt
  d414dff3f6a4b50b49f81539036bff88  gcc/config/pa/pa32-linux.h
  8e685ad04b0b38e5885bfcc8012cdd92  gcc/config/pa/pa32-netbsd.h
--- 4459,4467 ----
  caff43adac59469f64f1c7e4385c27d2  gcc/config/pa/pa-openbsd.h
  904b7f071b6b5c7fbcd244403e468d7f  gcc/config/pa/pa-opts.h
  85dc61345aa9b8f74041dfe95eebf2e7  gcc/config/pa/pa-protos.h
! 5147c18fafccbda95ad39a9bcb2da9a0  gcc/config/pa/pa.c
  c3f6aadadbf72faef69e3a2422b6e223  gcc/config/pa/pa.h
! a66d8d25156962d99e0b18beed6ac372  gcc/config/pa/pa.md
  570c43b9b6987181b5756267f6cf7973  gcc/config/pa/pa.opt
  d414dff3f6a4b50b49f81539036bff88  gcc/config/pa/pa32-linux.h
  8e685ad04b0b38e5885bfcc8012cdd92  gcc/config/pa/pa32-netbsd.h
*************** fe56b04e91c00c9e49f48d845571ab3b  gcc/co
*** 4527,4533 ****
  eaec766078425731f12d482d8e7a7f03  gcc/config/riscv/riscv.opt
  0a71dd013f158a4aa8183a3df7bfead1  gcc/config/riscv/rtems.h
  462630614e6e7a6209f8f18b6dff0eef  gcc/config/riscv/sifive-7.md
! 29fc0216ff4cf6b387754748c6a26f3d  gcc/config/riscv/sync.md
  1c27821991689abdaa7a908a0cc8dfa4  gcc/config/riscv/t-elf-multilib
  d8ae7bee35ef1ecd77143535da9aae78  gcc/config/riscv/t-linux
  1ed181a166b1d0e206c4a4e0024cce2a  gcc/config/riscv/t-linux-multilib
--- 4528,4534 ----
  eaec766078425731f12d482d8e7a7f03  gcc/config/riscv/riscv.opt
  0a71dd013f158a4aa8183a3df7bfead1  gcc/config/riscv/rtems.h
  462630614e6e7a6209f8f18b6dff0eef  gcc/config/riscv/sifive-7.md
! 424d68c05a1a976acda1b218d18590e1  gcc/config/riscv/sync.md
  1c27821991689abdaa7a908a0cc8dfa4  gcc/config/riscv/t-elf-multilib
  d8ae7bee35ef1ecd77143535da9aae78  gcc/config/riscv/t-linux
  1ed181a166b1d0e206c4a4e0024cce2a  gcc/config/riscv/t-linux-multilib
*************** ff3f6b224d4ef9f550a96131d45e0003  gcc/co
*** 4568,4574 ****
  d0cdfe5862d3c4d23b88f181a823e824  gcc/config/rs6000/aix71.h
  cc7b2251556991a7fa60f7bf6b8f4fb8  gcc/config/rs6000/aix72.h
  6cf9077f7280ae45fdb83156bcbed199  gcc/config/rs6000/altivec.h
! cd111eaaa23c0b87e1a1e3ce85dd2d4a  gcc/config/rs6000/altivec.md
  0c189a8215a637236016075d7153c0dd  gcc/config/rs6000/amo.h
  8c3585d22f96b860147fbb93ebbbf06f  gcc/config/rs6000/biarch64.h
  a0a45dd2206fad107854ab34a6a8c9ea  gcc/config/rs6000/bmi2intrin.h
--- 4569,4575 ----
  d0cdfe5862d3c4d23b88f181a823e824  gcc/config/rs6000/aix71.h
  cc7b2251556991a7fa60f7bf6b8f4fb8  gcc/config/rs6000/aix72.h
  6cf9077f7280ae45fdb83156bcbed199  gcc/config/rs6000/altivec.h
! 99290ade6d35ca6d600ce836a68cf31a  gcc/config/rs6000/altivec.md
  0c189a8215a637236016075d7153c0dd  gcc/config/rs6000/amo.h
  8c3585d22f96b860147fbb93ebbbf06f  gcc/config/rs6000/biarch64.h
  a0a45dd2206fad107854ab34a6a8c9ea  gcc/config/rs6000/bmi2intrin.h
*************** f60f0b041683bd09fde61d526b77a06b  gcc/co
*** 4576,4582 ****
  fea022102d4856327a0e7478d476825d  gcc/config/rs6000/cell.md
  39f59e5bae022fcbbef313410d10672c  gcc/config/rs6000/constraints.md
  87701804dfcbf3943f2ef24c36f6b98a  gcc/config/rs6000/crypto.md
! 453ee06270ccdf4c0b6c5246ca394266  gcc/config/rs6000/darwin.h
  dd4bb9179101766c68130ca8a0c0394e  gcc/config/rs6000/darwin.md
  d7cfb8e861e9ce70e75110e0717d4d48  gcc/config/rs6000/darwin.opt
  ca74b9e31768f3d073078ccbbf6db3b4  gcc/config/rs6000/darwin32-biarch.h
--- 4577,4583 ----
  fea022102d4856327a0e7478d476825d  gcc/config/rs6000/cell.md
  39f59e5bae022fcbbef313410d10672c  gcc/config/rs6000/constraints.md
  87701804dfcbf3943f2ef24c36f6b98a  gcc/config/rs6000/crypto.md
! cca1a1bebe136533f91642b3a7641b53  gcc/config/rs6000/darwin.h
  dd4bb9179101766c68130ca8a0c0394e  gcc/config/rs6000/darwin.md
  d7cfb8e861e9ce70e75110e0717d4d48  gcc/config/rs6000/darwin.opt
  ca74b9e31768f3d073078ccbbf6db3b4  gcc/config/rs6000/darwin32-biarch.h
*************** b106f3dd78c027be0e6fa9e040d3d7d1  gcc/co
*** 4596,4603 ****
  5fedb3789acc17fe71b855ed4ed39d36  gcc/config/rs6000/emmintrin.h
  fbeee1c894dc51358ee6abecca818f38  gcc/config/rs6000/freebsd.h
  c815c61d1f8556dee28776379d38f97f  gcc/config/rs6000/freebsd64.h
! b4f8e33b4342aea64cc25b24e2b5ce17  gcc/config/rs6000/fusion.md
! f57795fd3975e6a45558b5b8dd430631  gcc/config/rs6000/genfusion.pl
  c466bda58b985814fa22f4d4bc0a464a  gcc/config/rs6000/genopt.sh
  96ef7ba4b98df3c89168a75c71690601  gcc/config/rs6000/host-darwin.c
  775ea72fb46676e26f93f160be6cc291  gcc/config/rs6000/host-ppc64-darwin.c
--- 4597,4604 ----
  5fedb3789acc17fe71b855ed4ed39d36  gcc/config/rs6000/emmintrin.h
  fbeee1c894dc51358ee6abecca818f38  gcc/config/rs6000/freebsd.h
  c815c61d1f8556dee28776379d38f97f  gcc/config/rs6000/freebsd64.h
! 8f3061003f5220420d740cdd38f03503  gcc/config/rs6000/fusion.md
! 4ec0cedb541b5e52b0bc4333f079a7f9  gcc/config/rs6000/genfusion.pl
  c466bda58b985814fa22f4d4bc0a464a  gcc/config/rs6000/genopt.sh
  96ef7ba4b98df3c89168a75c71690601  gcc/config/rs6000/host-darwin.c
  775ea72fb46676e26f93f160be6cc291  gcc/config/rs6000/host-ppc64-darwin.c
*************** eb5963a9afac325222a3cf411425b69b  gcc/co
*** 4611,4617 ****
  b3d3483f2acc61db4751725d0556e646  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
  565b63349f6e114554447b232a5490ec  gcc/config/rs6000/mm_malloc.h
! c06a97a99e488b7da4fdb5b8a3255712  gcc/config/rs6000/mma.md
  77c63d8e54b9dc6ce0aaea2a01888513  gcc/config/rs6000/mmintrin.h
  7da8551ea5a0e205407dfa782c773ce4  gcc/config/rs6000/mpc.md
  5bca07190d45ef2ade8d1a237c5ac20b  gcc/config/rs6000/netbsd.h
--- 4612,4618 ----
  b3d3483f2acc61db4751725d0556e646  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
  565b63349f6e114554447b232a5490ec  gcc/config/rs6000/mm_malloc.h
! ea2c7a70face0e7638532141b4aface9  gcc/config/rs6000/mma.md
  77c63d8e54b9dc6ce0aaea2a01888513  gcc/config/rs6000/mmintrin.h
  7da8551ea5a0e205407dfa782c773ce4  gcc/config/rs6000/mpc.md
  5bca07190d45ef2ade8d1a237c5ac20b  gcc/config/rs6000/netbsd.h
*************** de0878750a3c4d20a063d22571380621  gcc/co
*** 4628,4642 ****
  bb48fecf965ae77e0dd88aae5488f291  gcc/config/rs6000/ppc-asm.h
  751ccf6be4b01d18f226acef853ef444  gcc/config/rs6000/ppc-auxv.h
  bfe475364cf3901b029f758b9ccfd8b8  gcc/config/rs6000/ppu_intrinsics.h
! e03ab0dade27c849af56b6b99de13cd4  gcc/config/rs6000/predicates.md
! 04b29f32ebcc3af6af38115e27bc6459  gcc/config/rs6000/rs6000-builtin.def
! 600d0487670d447fdf8b9c3e58e76c9a  gcc/config/rs6000/rs6000-c.c
! 20301da7df43e3e4515f20703c568655  gcc/config/rs6000/rs6000-call.c
! 928f5d55248167067486388e4cc0a56e  gcc/config/rs6000/rs6000-cpus.def
  7c18f5387ecc6581faacf61631fecb37  gcc/config/rs6000/rs6000-d.c
  2d982a648287d8b1211d52b4f1335bb6  gcc/config/rs6000/rs6000-internal.h
  bdb01381a7509193220dbd43b881802b  gcc/config/rs6000/rs6000-linux.c
! 2354aa77e29edefb43b39fdda66e34f2  gcc/config/rs6000/rs6000-logue.c
  8d3fa7c26d80c9ee359e3991e289666e  gcc/config/rs6000/rs6000-modes.def
  e65509760cf40241ff24df3a715c4f43  gcc/config/rs6000/rs6000-modes.h
  b7cac3afa5fb8f71d3b8ea1a0cd5c7ce  gcc/config/rs6000/rs6000-opts.h
--- 4629,4643 ----
  bb48fecf965ae77e0dd88aae5488f291  gcc/config/rs6000/ppc-asm.h
  751ccf6be4b01d18f226acef853ef444  gcc/config/rs6000/ppc-auxv.h
  bfe475364cf3901b029f758b9ccfd8b8  gcc/config/rs6000/ppu_intrinsics.h
! de551124ccf7083e8613e86e127ab8be  gcc/config/rs6000/predicates.md
! 51ab8fcf73ca900e42f59e79cc077dea  gcc/config/rs6000/rs6000-builtin.def
! a6b9edf3e8296b86b66ef50c9d3d8ab1  gcc/config/rs6000/rs6000-c.c
! 35baaaceb142c9649b4b1f32932f0ad6  gcc/config/rs6000/rs6000-call.c
! 3db56e9e0b1cc9f5e7648bf8d75c6f6d  gcc/config/rs6000/rs6000-cpus.def
  7c18f5387ecc6581faacf61631fecb37  gcc/config/rs6000/rs6000-d.c
  2d982a648287d8b1211d52b4f1335bb6  gcc/config/rs6000/rs6000-internal.h
  bdb01381a7509193220dbd43b881802b  gcc/config/rs6000/rs6000-linux.c
! d308321ac5517b9f74ea1d308970646a  gcc/config/rs6000/rs6000-logue.c
  8d3fa7c26d80c9ee359e3991e289666e  gcc/config/rs6000/rs6000-modes.def
  e65509760cf40241ff24df3a715c4f43  gcc/config/rs6000/rs6000-modes.h
  b7cac3afa5fb8f71d3b8ea1a0cd5c7ce  gcc/config/rs6000/rs6000-opts.h
*************** dd75bd9fb5a316178a5a865e27dbf5fa  gcc/co
*** 4644,4655 ****
  26ea894428823455da38add11e434423  gcc/config/rs6000/rs6000-passes.def
  00c6fc44dcc86d36065fbda93661b17b  gcc/config/rs6000/rs6000-pcrel-opt.c
  7cbb179b585c27591492c12df504bcfb  gcc/config/rs6000/rs6000-protos.h
! 8cfc3e1c712d5e4cef1250c605cdca98  gcc/config/rs6000/rs6000-string.c
  7a14e24f9ddae251943bacda6071c833  gcc/config/rs6000/rs6000-tables.opt
! 464524dd01279d36e7088ac36df7f914  gcc/config/rs6000/rs6000.c
! eda531e1209a480df29e9165f839d271  gcc/config/rs6000/rs6000.h
! d7bc1ae2f8d76f6fca7425e1d40039bc  gcc/config/rs6000/rs6000.md
! f5bccc13629fee1e5e80d2c56373e1ab  gcc/config/rs6000/rs6000.opt
  c7f02424d98bd46c451c6c03893132ba  gcc/config/rs6000/rs64.md
  0e39e209d829a36a89d8676fb92a1993  gcc/config/rs6000/rtems.h
  b13403d0a3113444b4d47950f5cba69e  gcc/config/rs6000/secureplt.h
--- 4645,4656 ----
  26ea894428823455da38add11e434423  gcc/config/rs6000/rs6000-passes.def
  00c6fc44dcc86d36065fbda93661b17b  gcc/config/rs6000/rs6000-pcrel-opt.c
  7cbb179b585c27591492c12df504bcfb  gcc/config/rs6000/rs6000-protos.h
! 80096dba10aea95f173ce925f548eba7  gcc/config/rs6000/rs6000-string.c
  7a14e24f9ddae251943bacda6071c833  gcc/config/rs6000/rs6000-tables.opt
! fd30718a02716995f399a004d822ad20  gcc/config/rs6000/rs6000.c
! cc4b0a1bc72a17806288484317862548  gcc/config/rs6000/rs6000.h
! 534f95e6ba57e5eca59f8f7db2c939c2  gcc/config/rs6000/rs6000.md
! 808c21ca99d2c2c19934e71d99ae2414  gcc/config/rs6000/rs6000.opt
  c7f02424d98bd46c451c6c03893132ba  gcc/config/rs6000/rs64.md
  0e39e209d829a36a89d8676fb92a1993  gcc/config/rs6000/rtems.h
  b13403d0a3113444b4d47950f5cba69e  gcc/config/rs6000/secureplt.h
*************** b710cd20c617c7ee7fb9ac759787f22d  gcc/co
*** 4771,4786 ****
  fc1bf3d98ba4868ac185ac03af952e88  gcc/config/sh/sh-mem.cc
  2143917d9da6004c5d38619849b35534  gcc/config/sh/sh-modes.def
  5ce91cd44cd6f721b7498e50643fe273  gcc/config/sh/sh-protos.h
! fcc4dc434a25f92288b3b4934aa633f5  gcc/config/sh/sh.c
  5616a24f889393d41e9fa0010c8e249e  gcc/config/sh/sh.h
! 29769c718219ae18be67242072aa8b8b  gcc/config/sh/sh.md
  e02a937f714f704741abcb139eebd433  gcc/config/sh/sh.opt
  2fdd70cc6d89a7205ef035084235f4ec  gcc/config/sh/sh1.md
  2bd4053c0d5e4aa6b93d0c36772af770  gcc/config/sh/sh4-300.md
  fc22de21c1718b5acb0bb324bfa30ec6  gcc/config/sh/sh4.md
  b65c1cfbcd87f4e63912bfc4430ac6fb  gcc/config/sh/sh4a.md
  7bb3e0dc4bda8adac4830bee31043ba6  gcc/config/sh/sh_optimize_sett_clrt.cc
! ac57d8d3cb1f14439cf73e3f341dd2a9  gcc/config/sh/sh_treg_combine.cc
  f30882a6215b8e2a550b2d404d65ac45  gcc/config/sh/superh.h
  06158b0f1e33501120db330d7734228d  gcc/config/sh/superh.opt
  b7769ae5038bf2050b9b823af7e86938  gcc/config/sh/sync.md
--- 4772,4787 ----
  fc1bf3d98ba4868ac185ac03af952e88  gcc/config/sh/sh-mem.cc
  2143917d9da6004c5d38619849b35534  gcc/config/sh/sh-modes.def
  5ce91cd44cd6f721b7498e50643fe273  gcc/config/sh/sh-protos.h
! e3cdd8016c0321591fa6766b57c80e06  gcc/config/sh/sh.c
  5616a24f889393d41e9fa0010c8e249e  gcc/config/sh/sh.h
! 74ed8e331d4f8ebb3733e420d622058d  gcc/config/sh/sh.md
  e02a937f714f704741abcb139eebd433  gcc/config/sh/sh.opt
  2fdd70cc6d89a7205ef035084235f4ec  gcc/config/sh/sh1.md
  2bd4053c0d5e4aa6b93d0c36772af770  gcc/config/sh/sh4-300.md
  fc22de21c1718b5acb0bb324bfa30ec6  gcc/config/sh/sh4.md
  b65c1cfbcd87f4e63912bfc4430ac6fb  gcc/config/sh/sh4a.md
  7bb3e0dc4bda8adac4830bee31043ba6  gcc/config/sh/sh_optimize_sett_clrt.cc
! 14f1f47ca1d0668b66689b6d9ef346a3  gcc/config/sh/sh_treg_combine.cc
  f30882a6215b8e2a550b2d404d65ac45  gcc/config/sh/superh.h
  06158b0f1e33501120db330d7734228d  gcc/config/sh/superh.opt
  b7769ae5038bf2050b9b823af7e86938  gcc/config/sh/sync.md
*************** e73530b82940344e65c464f787f0ea53  gcc/co
*** 4943,4949 ****
  a1e190d3b341bc6ddeb76fbf961e7b78  gcc/config/vax/predicates.md
  4c689845b2e868dbae5ebbbb8b8005d8  gcc/config/vax/vax-modes.def
  7e0c2696f78ab7b89c7db443c436779c  gcc/config/vax/vax-protos.h
! acb0a2d19a78a0ff20e2c972ee8b2fd3  gcc/config/vax/vax.c
  a68f8b03e844439f59b4160c2f55efa9  gcc/config/vax/vax.h
  48661c71f0f5d9bfbc22a2ff6cc7d0e9  gcc/config/vax/vax.md
  e520abd9398f1388046ec8dc7914589d  gcc/config/vax/vax.opt
--- 4944,4950 ----
  a1e190d3b341bc6ddeb76fbf961e7b78  gcc/config/vax/predicates.md
  4c689845b2e868dbae5ebbbb8b8005d8  gcc/config/vax/vax-modes.def
  7e0c2696f78ab7b89c7db443c436779c  gcc/config/vax/vax-protos.h
! f296e40a15335345ed3b4252ff578337  gcc/config/vax/vax.c
  a68f8b03e844439f59b4160c2f55efa9  gcc/config/vax/vax.h
  48661c71f0f5d9bfbc22a2ff6cc7d0e9  gcc/config/vax/vax.md
  e520abd9398f1388046ec8dc7914589d  gcc/config/vax/vax.opt
*************** bf27ee51add23d218ca627b3d40fda5d  gcc/co
*** 5015,5022 ****
  06bc01a7ccf9f8e76a200854e3483443  gcc/config/xtensa/xtensa.h
  82a6ca8457a439cf22f400bc82844cad  gcc/config/xtensa/xtensa.md
  f5b73b7b0901f94c273f343137c0a387  gcc/config/xtensa/xtensa.opt
! f596f15e03a8815f8dafa0cc201d86c3  gcc/configure
! d939ceb1c0239c3729e69d6f21f15c96  gcc/configure.ac
  27d42bf7c74759dfd549975615fc5068  gcc/context.c
  16c3aa3c912f686f2a31e9390d85475c  gcc/context.h
  f4ce7d4c40b8bd5fdb65296621e3c102  gcc/convert.c
--- 5016,5023 ----
  06bc01a7ccf9f8e76a200854e3483443  gcc/config/xtensa/xtensa.h
  82a6ca8457a439cf22f400bc82844cad  gcc/config/xtensa/xtensa.md
  f5b73b7b0901f94c273f343137c0a387  gcc/config/xtensa/xtensa.opt
! aa1d29aa4f6515201dd972ccb3db27a7  gcc/configure
! 1b4128431ce369f0011162e42b2d52cc  gcc/configure.ac
  27d42bf7c74759dfd549975615fc5068  gcc/context.c
  16c3aa3c912f686f2a31e9390d85475c  gcc/context.h
  f4ce7d4c40b8bd5fdb65296621e3c102  gcc/convert.c
*************** f4ce7d4c40b8bd5fdb65296621e3c102  gcc/co
*** 5026,5032 ****
  b92bf93ad5a628ce259b9055426c0cd4  gcc/coroutine-passes.cc
  bde87550feaf889731652f27f77bc587  gcc/coverage.c
  040e51182a2000cd08580cee4c8591c6  gcc/coverage.h
! 97dcbf8e37e5cf82cbb13299a03a5957  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5027,5033 ----
  b92bf93ad5a628ce259b9055426c0cd4  gcc/coroutine-passes.cc
  bde87550feaf889731652f27f77bc587  gcc/coverage.c
  040e51182a2000cd08580cee4c8591c6  gcc/coverage.h
! 811a68ad38b5ffb069f9f845d5469e52  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** f6ebb1c64d8e002666e58a4da0d97ecb  gcc/cp
*** 5058,5083 ****
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  d2bd0fd46a7f9c4ee3b56d9f428d65e0  gcc/cp/Make-lang.in
! afb087863e6715ff165d052708bf4414  gcc/cp/call.c
  013fc77930854f5ca6df4b4955b9cd5d  gcc/cp/cfns.gperf
  94073c4e9f5c434dbd02f5fab8ef2fec  gcc/cp/cfns.h
! aa4071bfecf6b015c47cdbab9841661a  gcc/cp/class.c
  52c149e840d6ef546324992e040dffc9  gcc/cp/config-lang.in
! 59ef4b840ac9f1db792009b9bdaa9581  gcc/cp/constexpr.c
  9ae4cb52106e89d9c5a2e781033620a8  gcc/cp/constraint.cc
! a6a2f78d1d373857ec832b0b31bf44bf  gcc/cp/coroutines.cc
! 2a1fbafd31afd2c7f72112e577b564c8  gcc/cp/cp-gimplify.c
  9f675ade86f6f438186c3359d251522d  gcc/cp/cp-lang.c
  3a17e28f03f7b86b06a0f7f2f1b38ee1  gcc/cp/cp-name-hint.h
  6546ac35987ddbbd4baddabf4a418fdc  gcc/cp/cp-objcp-common.c
  fc5f614233d1e1aab44be266429426d9  gcc/cp/cp-objcp-common.h
  e5a3c0227c5d7f6f15753ecf70d86dce  gcc/cp/cp-tree.def
! f9a574462af6997cf29648202b551907  gcc/cp/cp-tree.h
  ad2891a30f319f1059b3cd8cb85c2a66  gcc/cp/cp-ubsan.c
  9f7577d6131c40516642a76a3cd4b349  gcc/cp/cvt.c
  80fc2cbdfb0b939d06eb0c83cec629b0  gcc/cp/cxx-pretty-print.c
  f217ad40ae4095f745573953940bc517  gcc/cp/cxx-pretty-print.h
! daa9fe27806f72fe532df355e0b0d748  gcc/cp/decl.c
  2ee48334d4ea854bc0b6138b17db0eca  gcc/cp/decl.h
  3280ae91b5be9675d30d1cb050bc959b  gcc/cp/decl2.c
  babde369bad84c4348cbb81fef27de19  gcc/cp/dump.c
--- 5059,5084 ----
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  d2bd0fd46a7f9c4ee3b56d9f428d65e0  gcc/cp/Make-lang.in
! 5cfce7d511493f94da10d1f2a4fd83df  gcc/cp/call.c
  013fc77930854f5ca6df4b4955b9cd5d  gcc/cp/cfns.gperf
  94073c4e9f5c434dbd02f5fab8ef2fec  gcc/cp/cfns.h
! 4103dbd96158a70da0a6d5c4762a2e8b  gcc/cp/class.c
  52c149e840d6ef546324992e040dffc9  gcc/cp/config-lang.in
! 6eb10706d6b233de58eb54f83ea0c12e  gcc/cp/constexpr.c
  9ae4cb52106e89d9c5a2e781033620a8  gcc/cp/constraint.cc
! e7e9540c57b4c2318fac6df77f31910d  gcc/cp/coroutines.cc
! cbb31513982d3afc4d8062fbe4fda8a9  gcc/cp/cp-gimplify.c
  9f675ade86f6f438186c3359d251522d  gcc/cp/cp-lang.c
  3a17e28f03f7b86b06a0f7f2f1b38ee1  gcc/cp/cp-name-hint.h
  6546ac35987ddbbd4baddabf4a418fdc  gcc/cp/cp-objcp-common.c
  fc5f614233d1e1aab44be266429426d9  gcc/cp/cp-objcp-common.h
  e5a3c0227c5d7f6f15753ecf70d86dce  gcc/cp/cp-tree.def
! 7cbb4a2a03c025bd650ec10b4b00fac6  gcc/cp/cp-tree.h
  ad2891a30f319f1059b3cd8cb85c2a66  gcc/cp/cp-ubsan.c
  9f7577d6131c40516642a76a3cd4b349  gcc/cp/cvt.c
  80fc2cbdfb0b939d06eb0c83cec629b0  gcc/cp/cxx-pretty-print.c
  f217ad40ae4095f745573953940bc517  gcc/cp/cxx-pretty-print.h
! 4edfd73e3ecda51acb595e357732745d  gcc/cp/decl.c
  2ee48334d4ea854bc0b6138b17db0eca  gcc/cp/decl.h
  3280ae91b5be9675d30d1cb050bc959b  gcc/cp/decl2.c
  babde369bad84c4348cbb81fef27de19  gcc/cp/dump.c
*************** babde369bad84c4348cbb81fef27de19  gcc/cp
*** 5085,5092 ****
  ae9a51d72d46922925309791e4610beb  gcc/cp/except.c
  241a55f9bb802f8d3cc6054dd4cd9178  gcc/cp/expr.c
  b791a0dba8e31384d08e932019f00711  gcc/cp/friend.c
! af1b9753c30b60683233adf6dc1ebed9  gcc/cp/g++spec.c
! 035a940de6c2d86dc453e9621c5c5ce8  gcc/cp/init.c
  037fc13026820d090e2071641efbedf8  gcc/cp/lambda.c
  1b5fe425de21c6959e8fcf809a4d9bf0  gcc/cp/lang-specs.h
  8b55a87f580d7fabcd05e1be8bf8678a  gcc/cp/lex.c
--- 5086,5093 ----
  ae9a51d72d46922925309791e4610beb  gcc/cp/except.c
  241a55f9bb802f8d3cc6054dd4cd9178  gcc/cp/expr.c
  b791a0dba8e31384d08e932019f00711  gcc/cp/friend.c
! 1d522b085fa99efce9c195fcc218b3bd  gcc/cp/g++spec.c
! 999acda1c9e70c7529eb2dd1cea55a01  gcc/cp/init.c
  037fc13026820d090e2071641efbedf8  gcc/cp/lambda.c
  1b5fe425de21c6959e8fcf809a4d9bf0  gcc/cp/lang-specs.h
  8b55a87f580d7fabcd05e1be8bf8678a  gcc/cp/lex.c
*************** e9bd33d0476c27e8dc7ae163523b0c43  gcc/cp
*** 5097,5116 ****
  e9215833b37c3eb15eca691a16a697c2  gcc/cp/mapper-resolver.cc
  e9a208e30d27c64ecd8cf48641166778  gcc/cp/method.c
  c9c31fd4be4157e651437f69bab47e87  gcc/cp/module.cc
! 4f44ae45107fb19664c4ea6fc1f9617d  gcc/cp/name-lookup.c
! 7942e2da44ee806a67fc5508fa55227c  gcc/cp/name-lookup.h
  74ef5d5c783b19f58d24af2f5d586229  gcc/cp/operators.def
  135e2526b78ff7fba60e97120acd13ce  gcc/cp/optimize.c
! acd2c7b97ff043208e88bf5e6ca82647  gcc/cp/parser.c
  33e6205b133939ff76752369e76e776e  gcc/cp/parser.h
! d3d3948dd198b0e1166f6543c6a0bd15  gcc/cp/pt.c
  185afe382f5cbb5102c5c681fca68144  gcc/cp/ptree.c
  d406c7234ce4950b24a30a51bdfdd50a  gcc/cp/rtti.c
  8cb37681d9be422bc5accc1da48d5a75  gcc/cp/search.c
! d5a0695e3c50ba82571f717972d38f63  gcc/cp/semantics.c
  0396d0f5ebabe1de78784a27789c5579  gcc/cp/tree.c
  7edfa58f1051f1f2f0f0b14381ef44a3  gcc/cp/type-utils.h
! 5df4b424167aea4acc1e57d2a76c5b80  gcc/cp/typeck.c
  e4cc977761b34df297265283c01fd95a  gcc/cp/typeck2.c
  2106dba4a8c689a23ae0c6ed874a57e3  gcc/cp/vtable-class-hierarchy.c
  a1dcb34fdd7a1dfb94f27bc0ac1a9306  gcc/cppbuiltin.c
--- 5098,5117 ----
  e9215833b37c3eb15eca691a16a697c2  gcc/cp/mapper-resolver.cc
  e9a208e30d27c64ecd8cf48641166778  gcc/cp/method.c
  c9c31fd4be4157e651437f69bab47e87  gcc/cp/module.cc
! 542f0e6abaed6bb8c62043fdfde1a5b9  gcc/cp/name-lookup.c
! 41b7d184bb273d5d6baa63a0cd0d6036  gcc/cp/name-lookup.h
  74ef5d5c783b19f58d24af2f5d586229  gcc/cp/operators.def
  135e2526b78ff7fba60e97120acd13ce  gcc/cp/optimize.c
! b2fa4da7185e236c45121e05da8bf5ae  gcc/cp/parser.c
  33e6205b133939ff76752369e76e776e  gcc/cp/parser.h
! fb47bccde422bf676c4c6084ff5390d7  gcc/cp/pt.c
  185afe382f5cbb5102c5c681fca68144  gcc/cp/ptree.c
  d406c7234ce4950b24a30a51bdfdd50a  gcc/cp/rtti.c
  8cb37681d9be422bc5accc1da48d5a75  gcc/cp/search.c
! 5b444866d6da2bb6af7b143123b1cd81  gcc/cp/semantics.c
  0396d0f5ebabe1de78784a27789c5579  gcc/cp/tree.c
  7edfa58f1051f1f2f0f0b14381ef44a3  gcc/cp/type-utils.h
! 9559b979ad8e6ed902269a93534543c0  gcc/cp/typeck.c
  e4cc977761b34df297265283c01fd95a  gcc/cp/typeck2.c
  2106dba4a8c689a23ae0c6ed874a57e3  gcc/cp/vtable-class-hierarchy.c
  a1dcb34fdd7a1dfb94f27bc0ac1a9306  gcc/cppbuiltin.c
*************** a1dcb34fdd7a1dfb94f27bc0ac1a9306  gcc/cp
*** 5122,5128 ****
  c46d05fc82c5d23635826d70bb1bbe79  gcc/cselib.c
  afc06cbc81e04301f2d2ce40e905e36b  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! b125eb4b51ebc50ff5fad465fdda4e22  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
--- 5123,5129 ----
  c46d05fc82c5d23635826d70bb1bbe79  gcc/cselib.c
  afc06cbc81e04301f2d2ce40e905e36b  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! 20b3394b0d140c1e25a470a8c3529e37  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
*************** e432bfc5c605ae0b1beedf0492ad40d1  gcc/d/
*** 5143,5151 ****
  c828f621dae15ecdebcb6483cc2a359a  gcc/d/config-lang.in
  ac5afa7752655d02611f15cb06067ee5  gcc/d/d-attribs.cc
  2859511236eb18116b8f704c0893fc82  gcc/d/d-builtins.cc
! 79699adb49367908f31e0aba2aaaa568  gcc/d/d-codegen.cc
  75ceab1f211190aa8a607de211d92550  gcc/d/d-compiler.cc
! 4a98131d73049057f6f45e3f49fde876  gcc/d/d-convert.cc
  c68cc8b289e0bed7991d8ba214514b52  gcc/d/d-ctfloat.cc
  96e81ac3898e23a215821a9ca3faac03  gcc/d/d-diagnostic.cc
  9ad7d94122a0e53b642e569ef01bd97c  gcc/d/d-frontend.cc
--- 5144,5152 ----
  c828f621dae15ecdebcb6483cc2a359a  gcc/d/config-lang.in
  ac5afa7752655d02611f15cb06067ee5  gcc/d/d-attribs.cc
  2859511236eb18116b8f704c0893fc82  gcc/d/d-builtins.cc
! 81564d91a2fb42e97969c289d569a217  gcc/d/d-codegen.cc
  75ceab1f211190aa8a607de211d92550  gcc/d/d-compiler.cc
! 38d9f94c9879f2db5c741b4d1899a039  gcc/d/d-convert.cc
  c68cc8b289e0bed7991d8ba214514b52  gcc/d/d-ctfloat.cc
  96e81ac3898e23a215821a9ca3faac03  gcc/d/d-diagnostic.cc
  9ad7d94122a0e53b642e569ef01bd97c  gcc/d/d-frontend.cc
*************** e510e0920097f33c1584945cb08e080f  gcc/d/
*** 5162,5168 ****
  bd403a5022b9229546c86481f8f9b61e  gcc/d/d-target.h
  03f0da7679723f02dabef26c57f6b354  gcc/d/d-tree.def
  ea5292cd7004a68b8465731456abc987  gcc/d/d-tree.h
! 1d03631158cceeca027deedd1a0fa0da  gcc/d/decl.cc
  3b33e14d54fdeb23eedefb85531d96d9  gcc/d/dmd/MERGE
  56e5dec62f6a10592384f715f378eef0  gcc/d/dmd/access.c
  3791d70488bc98342964c686b935b89c  gcc/d/dmd/aggregate.h
--- 5163,5169 ----
  bd403a5022b9229546c86481f8f9b61e  gcc/d/d-target.h
  03f0da7679723f02dabef26c57f6b354  gcc/d/d-tree.def
  ea5292cd7004a68b8465731456abc987  gcc/d/d-tree.h
! 8383df8f50406b50665f89d13fe3eee4  gcc/d/decl.cc
  3b33e14d54fdeb23eedefb85531d96d9  gcc/d/dmd/MERGE
  56e5dec62f6a10592384f715f378eef0  gcc/d/dmd/access.c
  3791d70488bc98342964c686b935b89c  gcc/d/dmd/aggregate.h
*************** d23cee2b9d07116997cebcb46669827a  gcc/d/
*** 5194,5200 ****
  20e6433cd9095919b4a2bee01595a9b6  gcc/d/dmd/delegatize.c
  8fe999fa3cb1a5480c72d74362fe5584  gcc/d/dmd/denum.c
  bda548f1854f17362b4dc956996b72c1  gcc/d/dmd/dimport.c
! 7009e0a3a509412f9c69c0c4bcd04043  gcc/d/dmd/dinterpret.c
  26be8934a4c84e87ab8c06032f54f67d  gcc/d/dmd/dmacro.c
  ae3f5303a6957010e3af61bcd0b976b7  gcc/d/dmd/dmangle.c
  f48ad9578476ae3893dd5a8ae3267e33  gcc/d/dmd/dmodule.c
--- 5195,5201 ----
  20e6433cd9095919b4a2bee01595a9b6  gcc/d/dmd/delegatize.c
  8fe999fa3cb1a5480c72d74362fe5584  gcc/d/dmd/denum.c
  bda548f1854f17362b4dc956996b72c1  gcc/d/dmd/dimport.c
! a13b4bad46296f7fd13de70f5a6f1958  gcc/d/dmd/dinterpret.c
  26be8934a4c84e87ab8c06032f54f67d  gcc/d/dmd/dmacro.c
  ae3f5303a6957010e3af61bcd0b976b7  gcc/d/dmd/dmangle.c
  f48ad9578476ae3893dd5a8ae3267e33  gcc/d/dmd/dmodule.c
*************** df2a78f5b00debf6e042e43602e9d42c  gcc/d/
*** 5304,5311 ****
  0ab1d21cbddf7956fc552e2637e36eb7  gcc/d/dmd/visitor.h
  6938ab9ac55e68adb6649cc1b3bf25bc  gcc/d/expr.cc
  62330f923806ea0075a632280081c9d1  gcc/d/gdc.texi
! ae93b84454e6dc245479c9951106c132  gcc/d/imports.cc
! fd28164e92119c746c3971d13fd80699  gcc/d/intrinsics.cc
  4fe7ce256ef44a3d0fae8336b3d3ed5d  gcc/d/intrinsics.def
  d86483b35c844004766bacbcd21e16ed  gcc/d/lang-specs.h
  dcd9f842c89c2eb8cda2d4e66cfd3a75  gcc/d/lang.opt
--- 5305,5312 ----
  0ab1d21cbddf7956fc552e2637e36eb7  gcc/d/dmd/visitor.h
  6938ab9ac55e68adb6649cc1b3bf25bc  gcc/d/expr.cc
  62330f923806ea0075a632280081c9d1  gcc/d/gdc.texi
! 8ced8ad783ed46cadc3ea1ff49b228b0  gcc/d/imports.cc
! ca8c610aefd06f7629d326cfe413a613  gcc/d/intrinsics.cc
  4fe7ce256ef44a3d0fae8336b3d3ed5d  gcc/d/intrinsics.def
  d86483b35c844004766bacbcd21e16ed  gcc/d/lang-specs.h
  dcd9f842c89c2eb8cda2d4e66cfd3a75  gcc/d/lang.opt
*************** ea64a4d9552ea8f63780ef71e40ad1cc  gcc/d/
*** 5315,5321 ****
  fb778fcb2c41447123e9fc33e23ee981  gcc/d/runtime.def
  1f4f99a715c4970883a5818197628839  gcc/d/toir.cc
  268eff5b661319b07d40a36ffb74f97b  gcc/d/typeinfo.cc
! 5044f1a2a7c0d860d5f118453582b445  gcc/d/types.cc
  ffe6cb4083340e61aa80419c3ac2f84a  gcc/d/verstr.h
  888f179fbed34dff2cb09f3941f28b3f  gcc/data-streamer-in.c
  bdbe70f8cb140083bbbf06e081f01c55  gcc/data-streamer-out.c
--- 5316,5322 ----
  fb778fcb2c41447123e9fc33e23ee981  gcc/d/runtime.def
  1f4f99a715c4970883a5818197628839  gcc/d/toir.cc
  268eff5b661319b07d40a36ffb74f97b  gcc/d/typeinfo.cc
! c6383e62c38d97eec14f73177e507103  gcc/d/types.cc
  ffe6cb4083340e61aa80419c3ac2f84a  gcc/d/verstr.h
  888f179fbed34dff2cb09f3941f28b3f  gcc/data-streamer-in.c
  bdbe70f8cb140083bbbf06e081f01c55  gcc/data-streamer-out.c
*************** d3f48eb6291337b70a8663fea43c5e35  gcc/do
*** 5363,5400 ****
  218582d80c3a5be7ef0215bc9e37347d  gcc/doc/configterms.texi
  3f7bc37ecd638efa9217dbc8049586bd  gcc/doc/contrib.texi
  21f4ebe254eeaf839f14e76f6d98e0f3  gcc/doc/contribute.texi
! 14fbd04eb36b213018c5993ac60d51ba  gcc/doc/cpp.1
! 59651a7abb5ede83c681f52df132035b  gcc/doc/cpp.info
  f65281217c508bccc04841ecdb70678e  gcc/doc/cpp.texi
  9fdf410cbb02057509020001009b7a76  gcc/doc/cppdiropts.texi
  dab6d92d04827098dfeb7e47e827f2b5  gcc/doc/cppenv.texi
! 734f69fb27fb3fa9851c4e699a50266d  gcc/doc/cppinternals.info
  5d6d94ebaaee9c663ccd7de2d90928cb  gcc/doc/cppinternals.texi
  e359b49f51098d2b4c6976efb731dfc9  gcc/doc/cppopts.texi
  5e580ffce6393e71cea1d0f253c2235e  gcc/doc/cppwarnopts.texi
! 13926e62bf1cd272aee181de12224599  gcc/doc/extend.texi
  25e9d455e6d1bd64d661a3b9b7c760d1  gcc/doc/fragments.texi
  b286e11fcfd62c37fae56d6d6c31d1fe  gcc/doc/frontends.texi
! 8fbe8de616e2be5d772b751e0a5177a1  gcc/doc/fsf-funding.7
! 9778b022bec8b1c0a921db6ea7a6a4f8  gcc/doc/g++.1
! 9778b022bec8b1c0a921db6ea7a6a4f8  gcc/doc/gcc.1
! 88d46a31abb32e525a7aa5899814ef11  gcc/doc/gcc.info
  1b8b50b15f7f7dfd2bfc10cf04e79196  gcc/doc/gcc.texi
! af85ce93c4358a2881582693750f9dbf  gcc/doc/gccinstall.info
! bf0ebb94b15f2dfb23ebb897617a2aee  gcc/doc/gccint.info
  e0b2b9651dfdfcc12ee2da87c17e11e1  gcc/doc/gccint.texi
! 9717e1366b655a9f25a402c2c5a0f893  gcc/doc/gcov-dump.1
  d9797edde2661ae0e512c8176c290ae9  gcc/doc/gcov-dump.texi
! 7e212eca64c70f8d8770d8f0a143018e  gcc/doc/gcov-tool.1
  ca308b028dbb9daa82d92ccca156e07b  gcc/doc/gcov-tool.texi
! 28c3da211cff17add5beaef80dbd9fde  gcc/doc/gcov.1
  fd33c1e0e0091bc38ffbee7177921ff3  gcc/doc/gcov.texi
! 3bc5fab4bd53960b1121c87434e0b742  gcc/doc/generic.texi
! 81fcccd0eab32c91ebbe39f0a173c657  gcc/doc/gfdl.7
! dd1009edce22831faba3f3e89113976a  gcc/doc/gfortran.1
  587484a2f8ff3cf6b292b5c044724d4b  gcc/doc/gimple.texi
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! 6a965ad7eb3b46ebc57c54a5bc6e4c1b  gcc/doc/gpl.7
  c89eb85139a4c6829a59358310920b18  gcc/doc/gty.texi
  7bf48d369f1899cf21f53b06605706c6  gcc/doc/headerdirs.texi
  880f6eba982285c503ae42d08a7abad8  gcc/doc/hostconfig.texi
--- 5364,5401 ----
  218582d80c3a5be7ef0215bc9e37347d  gcc/doc/configterms.texi
  3f7bc37ecd638efa9217dbc8049586bd  gcc/doc/contrib.texi
  21f4ebe254eeaf839f14e76f6d98e0f3  gcc/doc/contribute.texi
! 1e77e8d0b8087b44508bfed7fc4f1e86  gcc/doc/cpp.1
! 15c38e90fced4ddbf465248f56dcd6b9  gcc/doc/cpp.info
  f65281217c508bccc04841ecdb70678e  gcc/doc/cpp.texi
  9fdf410cbb02057509020001009b7a76  gcc/doc/cppdiropts.texi
  dab6d92d04827098dfeb7e47e827f2b5  gcc/doc/cppenv.texi
! 83f756111b8b2a66eb68208c84092964  gcc/doc/cppinternals.info
  5d6d94ebaaee9c663ccd7de2d90928cb  gcc/doc/cppinternals.texi
  e359b49f51098d2b4c6976efb731dfc9  gcc/doc/cppopts.texi
  5e580ffce6393e71cea1d0f253c2235e  gcc/doc/cppwarnopts.texi
! 2183af54c8d97b3a4a97774c9c8a969b  gcc/doc/extend.texi
  25e9d455e6d1bd64d661a3b9b7c760d1  gcc/doc/fragments.texi
  b286e11fcfd62c37fae56d6d6c31d1fe  gcc/doc/frontends.texi
! cfb2648c3655be4dd2d1955b38ba7f3b  gcc/doc/fsf-funding.7
! 4e847b54d812defa25b22b659568c3f0  gcc/doc/g++.1
! 4e847b54d812defa25b22b659568c3f0  gcc/doc/gcc.1
! c95bbd15508d9f71318820175e90793e  gcc/doc/gcc.info
  1b8b50b15f7f7dfd2bfc10cf04e79196  gcc/doc/gcc.texi
! 079f15302a0d1dc40e94943dae73745b  gcc/doc/gccinstall.info
! e0bf8ca0f5fe4b84b31aa46714541fdc  gcc/doc/gccint.info
  e0b2b9651dfdfcc12ee2da87c17e11e1  gcc/doc/gccint.texi
! bb5fb76e589ddaec11707ba048bcd771  gcc/doc/gcov-dump.1
  d9797edde2661ae0e512c8176c290ae9  gcc/doc/gcov-dump.texi
! dd65ccbf38424e34ff7fdc6d4fcf4dec  gcc/doc/gcov-tool.1
  ca308b028dbb9daa82d92ccca156e07b  gcc/doc/gcov-tool.texi
! ace7e3e17b19ed1eea60c2056448174f  gcc/doc/gcov.1
  fd33c1e0e0091bc38ffbee7177921ff3  gcc/doc/gcov.texi
! 85bb00bb513568b67d9115361f41b1f3  gcc/doc/generic.texi
! 99de47d9e71e1558f17c49592900b3d8  gcc/doc/gfdl.7
! d09628fdc051114e5097c50b3fc4043d  gcc/doc/gfortran.1
  587484a2f8ff3cf6b292b5c044724d4b  gcc/doc/gimple.texi
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! 4f7dc15b2cae659b92dcda194f9a5381  gcc/doc/gpl.7
  c89eb85139a4c6829a59358310920b18  gcc/doc/gty.texi
  7bf48d369f1899cf21f53b06605706c6  gcc/doc/headerdirs.texi
  880f6eba982285c503ae42d08a7abad8  gcc/doc/hostconfig.texi
*************** b82b1143f78f373e3c76f6958d830869  gcc/do
*** 5406,5423 ****
  b6389c8331319f90193f11ac084e86e4  gcc/doc/include/gpl_v3.texi
  73819b3930a3d4be5d6234070d02386a  gcc/doc/include/texinfo.tex
  9003c1b6a06c7661deb5ffc0dd0e145f  gcc/doc/install-old.texi
! 7af71caf0d189c0c71b7268793e1400f  gcc/doc/install.texi
  532fb3c092b7b296ddcec4a99a0c475d  gcc/doc/install.texi2html
  2bdd76b105eea8ff35649ac4ffb8eb5d  gcc/doc/interface.texi
! 60ad39179fc2f76b0983c70e98d87d09  gcc/doc/invoke.texi
  c0f8bb0ef887855830a3b2948920db28  gcc/doc/languages.texi
  0250c30f49d52e180cf510442a084475  gcc/doc/libgcc.texi
  3c5a8fa331cb442336e2ff249f1f0aee  gcc/doc/loop.texi
! ec4bdb47ad5c8f40b636bd1edca8a682  gcc/doc/lto-dump.1
  45b0e2c9fe4e809535fd2665b7efe706  gcc/doc/lto-dump.texi
  1e20b8193e6a33b7a5258cacf05c5634  gcc/doc/lto.texi
  959966ff2c0bf27c64314d6bdc06d05a  gcc/doc/makefile.texi
! 3c7466056002814f6c005ea620b49ed5  gcc/doc/match-and-simplify.texi
  644d59411fcc5a411f795ed8a14af490  gcc/doc/md.texi
  f769222ae6869bc37b118c5be0d92d0b  gcc/doc/objc.texi
  76a993580876d01ee5f77b3512773a81  gcc/doc/optinfo.texi
--- 5407,5424 ----
  b6389c8331319f90193f11ac084e86e4  gcc/doc/include/gpl_v3.texi
  73819b3930a3d4be5d6234070d02386a  gcc/doc/include/texinfo.tex
  9003c1b6a06c7661deb5ffc0dd0e145f  gcc/doc/install-old.texi
! 41b3883ca19cdfdbbc81a589cc01e3ac  gcc/doc/install.texi
  532fb3c092b7b296ddcec4a99a0c475d  gcc/doc/install.texi2html
  2bdd76b105eea8ff35649ac4ffb8eb5d  gcc/doc/interface.texi
! 0d6e064d97b8a144650a23613995c803  gcc/doc/invoke.texi
  c0f8bb0ef887855830a3b2948920db28  gcc/doc/languages.texi
  0250c30f49d52e180cf510442a084475  gcc/doc/libgcc.texi
  3c5a8fa331cb442336e2ff249f1f0aee  gcc/doc/loop.texi
! 4954668af952fc1ec3256557e9a7a48d  gcc/doc/lto-dump.1
  45b0e2c9fe4e809535fd2665b7efe706  gcc/doc/lto-dump.texi
  1e20b8193e6a33b7a5258cacf05c5634  gcc/doc/lto.texi
  959966ff2c0bf27c64314d6bdc06d05a  gcc/doc/makefile.texi
! 0b43ee165a2b2b10390ee663ca19a2ec  gcc/doc/match-and-simplify.texi
  644d59411fcc5a411f795ed8a14af490  gcc/doc/md.texi
  f769222ae6869bc37b118c5be0d92d0b  gcc/doc/objc.texi
  76a993580876d01ee5f77b3512773a81  gcc/doc/optinfo.texi
*************** f769222ae6869bc37b118c5be0d92d0b  gcc/do
*** 5426,5432 ****
  6d12d3b04d19748966c49a7c13307be8  gcc/doc/plugins.texi
  0603ab3940871fa2a55ddbd7c2719eb7  gcc/doc/poly-int.texi
  3c91752a7efcf15b052979c89d7d5bbc  gcc/doc/portability.texi
! a307378c56ec70371c9a935472cbfd42  gcc/doc/rtl.texi
  47714e0c449e2849262ea093f2a51055  gcc/doc/service.texi
  2a2424de5e45e8f0091cac3e29487994  gcc/doc/sourcebuild.texi
  9881c6973427acd0eb815283b1cb2c8f  gcc/doc/standards.texi
--- 5427,5433 ----
  6d12d3b04d19748966c49a7c13307be8  gcc/doc/plugins.texi
  0603ab3940871fa2a55ddbd7c2719eb7  gcc/doc/poly-int.texi
  3c91752a7efcf15b052979c89d7d5bbc  gcc/doc/portability.texi
! 101517ddc6f17d7fe6ce03147ea50132  gcc/doc/rtl.texi
  47714e0c449e2849262ea093f2a51055  gcc/doc/service.texi
  2a2424de5e45e8f0091cac3e29487994  gcc/doc/sourcebuild.texi
  9881c6973427acd0eb815283b1cb2c8f  gcc/doc/standards.texi
*************** a0e7d76c9e6820c8c60fd7162484c1aa  gcc/du
*** 5450,5456 ****
  8731562505e8ee4827d4bffe59b4e5e6  gcc/dwarf2asm.c
  b301aca61d8288586da32dd2c3e6c7ea  gcc/dwarf2asm.h
  301a89cf04dc4a12bb77b09ad0daa51f  gcc/dwarf2cfi.c
! 74e83ee581f46a765352afe51eff916d  gcc/dwarf2out.c
  f9339d6f2072113fa5a26bc27c7764c9  gcc/dwarf2out.h
  c41773ac5892c49b8063e85e4cf7d803  gcc/early-remat.c
  5d0344605084d3d22969ca333fe08a2e  gcc/edit-context.c
--- 5451,5457 ----
  8731562505e8ee4827d4bffe59b4e5e6  gcc/dwarf2asm.c
  b301aca61d8288586da32dd2c3e6c7ea  gcc/dwarf2asm.h
  301a89cf04dc4a12bb77b09ad0daa51f  gcc/dwarf2cfi.c
! 8cd576d3369fbe0c89dc7bb86b8f341c  gcc/dwarf2out.c
  f9339d6f2072113fa5a26bc27c7764c9  gcc/dwarf2out.h
  c41773ac5892c49b8063e85e4cf7d803  gcc/early-remat.c
  5d0344605084d3d22969ca333fe08a2e  gcc/edit-context.c
*************** acf60971867c3bda77169fa63b5d9155  gcc/ex
*** 5467,5473 ****
  829e4322150b9f6d41f14010e7a57a0e  gcc/exec-tool.in
  26871eb3fbf33e5b942cb7c8c2995bd2  gcc/explow.c
  4abb7d44019c01df643228a63102e0a4  gcc/explow.h
! 12ac80aeab1b9a80e5593f38c6250825  gcc/expmed.c
  461a5c7a292b43e45d34d15a6123aa1b  gcc/expmed.h
  930c87db8b77271f2531ed656637aea8  gcc/expr.c
  8dcbd4db5ca82e1fb16c9af198cace7e  gcc/expr.h
--- 5468,5474 ----
  829e4322150b9f6d41f14010e7a57a0e  gcc/exec-tool.in
  26871eb3fbf33e5b942cb7c8c2995bd2  gcc/explow.c
  4abb7d44019c01df643228a63102e0a4  gcc/explow.h
! 49afc33371ebb6513a8660f3b14bc0a7  gcc/expmed.c
  461a5c7a292b43e45d34d15a6123aa1b  gcc/expmed.h
  930c87db8b77271f2531ed656637aea8  gcc/expr.c
  8dcbd4db5ca82e1fb16c9af198cace7e  gcc/expr.h
*************** bc014c20048c035718ad5836f6097d78  gcc/fi
*** 5484,5492 ****
  764f38b5e7ac1b3b4079577b45cb0331  gcc/flags.h
  891064e4722e3a6a11417a8a1ecd065a  gcc/fold-const-call.c
  d74e6be78940750833ff959c0f5571bd  gcc/fold-const-call.h
! 3c18a183f44bbcb4b76d0e313d8fb763  gcc/fold-const.c
  3812bf5faa6f093ebc438439b278eb2e  gcc/fold-const.h
! 0d4fe6c4b59135c1966497dc7ea6ab15  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5485,5493 ----
  764f38b5e7ac1b3b4079577b45cb0331  gcc/flags.h
  891064e4722e3a6a11417a8a1ecd065a  gcc/fold-const-call.c
  d74e6be78940750833ff959c0f5571bd  gcc/fold-const-call.h
! 79a410b8cd2153161bb4d8b7112f7c0f  gcc/fold-const.c
  3812bf5faa6f093ebc438439b278eb2e  gcc/fold-const.h
! edf646c3a53d0f71de9bae0de2723154  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** a71efd3e199a80ee07c7f350cc8fcf91  gcc/fo
*** 5508,5514 ****
  d1595b2ed8fb2a33f6ce0dc595f4f33c  gcc/fortran/ChangeLog-2020
  9e0636f92243fb9b3480e27cefc96749  gcc/fortran/ChangeLog.ptr
  ff3a70a964289eb29172b7a5e086ee3f  gcc/fortran/Make-lang.in
! e4b7aeea57f8a7edeb226df1058af6ed  gcc/fortran/arith.c
  5478da78bbb9c6f5ec6f4c291556f64b  gcc/fortran/arith.h
  fd0c7f1afa3844997e121bacf1505be2  gcc/fortran/array.c
  41d9862a96a73a3888dd71dbfd6a6f48  gcc/fortran/bbt.c
--- 5509,5515 ----
  d1595b2ed8fb2a33f6ce0dc595f4f33c  gcc/fortran/ChangeLog-2020
  9e0636f92243fb9b3480e27cefc96749  gcc/fortran/ChangeLog.ptr
  ff3a70a964289eb29172b7a5e086ee3f  gcc/fortran/Make-lang.in
! 4a3333936f0872cfc67ccb978b70cb9d  gcc/fortran/arith.c
  5478da78bbb9c6f5ec6f4c291556f64b  gcc/fortran/arith.h
  fd0c7f1afa3844997e121bacf1505be2  gcc/fortran/array.c
  41d9862a96a73a3888dd71dbfd6a6f48  gcc/fortran/bbt.c
*************** b1628a6231ddb7f7e4b2cf44b836b928  gcc/fo
*** 5522,5539 ****
  315cf57aecb390202190f4259ba3a36b  gcc/fortran/cpp.h
  ee7a54e5c7f7a1043642f3148aa0e591  gcc/fortran/data.c
  82bc765451efda646706547a38c09487  gcc/fortran/data.h
! cc5353e18dc5f65dcec721ca43a878fe  gcc/fortran/decl.c
  1ec2271c4fd797ea9054b5e39934ce87  gcc/fortran/dependency.c
  d43b0d544fe709c25b81ee187b848372  gcc/fortran/dependency.h
  8709ef0424888ed76726af5456426b77  gcc/fortran/dump-parse-tree.c
  d1cd71bb3644df2833513aea82c56ad6  gcc/fortran/error.c
  97c7cc1fca9de34f21131f6372fe2997  gcc/fortran/expr.c
  dc573e806d86f97c6c674dc64c0e113b  gcc/fortran/f95-lang.c
! 8353b630bdf330e4d2b8ef9df747b1df  gcc/fortran/frontend-passes.c
  61d212b06741cc79879806a53df1eaa2  gcc/fortran/gfc-diagnostic.def
  862a8dcb967ce0c214bce57208763cfc  gcc/fortran/gfc-internals.texi
! 1e9576f9f76b696a9f3ef0d67154e18d  gcc/fortran/gfortran.h
! 701ccca211312073330e2c02b7e9b45f  gcc/fortran/gfortran.info
  58ec938eb719edf2ffe5dbfcce4dd1d8  gcc/fortran/gfortran.texi
  13ef845dc55ae5b20f8afe50368263ea  gcc/fortran/gfortranspec.c
  f39217510485d58e67eb40edf78ebb8d  gcc/fortran/interface.c
--- 5523,5540 ----
  315cf57aecb390202190f4259ba3a36b  gcc/fortran/cpp.h
  ee7a54e5c7f7a1043642f3148aa0e591  gcc/fortran/data.c
  82bc765451efda646706547a38c09487  gcc/fortran/data.h
! 62e4862dac152a3fc779e06b102918e3  gcc/fortran/decl.c
  1ec2271c4fd797ea9054b5e39934ce87  gcc/fortran/dependency.c
  d43b0d544fe709c25b81ee187b848372  gcc/fortran/dependency.h
  8709ef0424888ed76726af5456426b77  gcc/fortran/dump-parse-tree.c
  d1cd71bb3644df2833513aea82c56ad6  gcc/fortran/error.c
  97c7cc1fca9de34f21131f6372fe2997  gcc/fortran/expr.c
  dc573e806d86f97c6c674dc64c0e113b  gcc/fortran/f95-lang.c
! daa2b496b7d60f8d5b1af8ddc2151d4a  gcc/fortran/frontend-passes.c
  61d212b06741cc79879806a53df1eaa2  gcc/fortran/gfc-diagnostic.def
  862a8dcb967ce0c214bce57208763cfc  gcc/fortran/gfc-internals.texi
! 7e5267dfddd18b4874505d17674b6362  gcc/fortran/gfortran.h
! 83b13c91736e3468e0fe9e79cdc27a1a  gcc/fortran/gfortran.info
  58ec938eb719edf2ffe5dbfcce4dd1d8  gcc/fortran/gfortran.texi
  13ef845dc55ae5b20f8afe50368263ea  gcc/fortran/gfortranspec.c
  f39217510485d58e67eb40edf78ebb8d  gcc/fortran/interface.c
*************** e89c88d0e221777b9aa7246f8d43a0e3  gcc/fo
*** 5554,5584 ****
  af7a3aa1a1204dd37e34eefa510399cd  gcc/fortran/matchexp.c
  b3b81cd6b5386b281800a93f8e4ade0b  gcc/fortran/mathbuiltins.def
  6f7fc5d0b4f3b65e166f5d6c5e5f9f8f  gcc/fortran/misc.c
! 34d7f6342ff4b004dd80669ed3646570  gcc/fortran/module.c
  52a543b51ac574c91c996a85d775d71d  gcc/fortran/openmp.c
  94fda6c5e12794dcdd5f378023229c01  gcc/fortran/options.c
! af51019f137e78485665bbbbfe7e2b76  gcc/fortran/parse.c
  35501e834b34f6440232d3c4c2bbd56c  gcc/fortran/parse.h
! 9c9d88bede3c641a5faed0a5f008897c  gcc/fortran/primary.c
! d3b712746c10d721cb936208bbb5d1a1  gcc/fortran/resolve.c
  15654692fbf8143321f77d50d70bf5db  gcc/fortran/scanner.c
  e878063bf09025352b6adf6b5d0ab78d  gcc/fortran/scanner.h
  89b9a275ca73a232db538c0822e5fb81  gcc/fortran/simplify.c
  52826d539d76cfcf3218c02df40aecf6  gcc/fortran/st.c
! aa211a53c1211bf0ce18027a6f003c95  gcc/fortran/symbol.c
  758aeef05fd4d7d6a4474397ada7c8f3  gcc/fortran/target-memory.c
  0ce203c000f89bcab4e2f2b5885ec8f5  gcc/fortran/target-memory.h
! cbc1520a516fdbfd4490077f7018fdbb  gcc/fortran/trans-array.c
  69c63b36acf6f0724f477e9923bcd2bb  gcc/fortran/trans-array.h
  ec0059b31f88bbb8c77c8501ca451961  gcc/fortran/trans-common.c
  42b243fa66682aca47b104fdf75790a3  gcc/fortran/trans-const.c
  08d74bbf02852561cf584f029734d164  gcc/fortran/trans-const.h
  a110fc331c5f1eb2f46ce1f2643d82d2  gcc/fortran/trans-decl.c
! ad288cef1293249e6167ba92ee514895  gcc/fortran/trans-expr.c
  4926b7e6ac1f51c022972854fc1af33b  gcc/fortran/trans-intrinsic.c
  d442a2920715f33cb7ca72f6cf551377  gcc/fortran/trans-io.c
  b700350e62cdce1e61c30e786605a3ec  gcc/fortran/trans-openmp.c
! eaeb250c0757adb537819cf0f257fa05  gcc/fortran/trans-stmt.c
  adac91a5c3e9a289d1e225ac37f895f2  gcc/fortran/trans-stmt.h
  c327c38ab53f43521dc4d3a07fc93272  gcc/fortran/trans-types.c
  a1fc23f04301b08a0068afcd35eff141  gcc/fortran/trans-types.h
--- 5555,5585 ----
  af7a3aa1a1204dd37e34eefa510399cd  gcc/fortran/matchexp.c
  b3b81cd6b5386b281800a93f8e4ade0b  gcc/fortran/mathbuiltins.def
  6f7fc5d0b4f3b65e166f5d6c5e5f9f8f  gcc/fortran/misc.c
! 9b30c0883a5ef58edb5cada5dadcab0e  gcc/fortran/module.c
  52a543b51ac574c91c996a85d775d71d  gcc/fortran/openmp.c
  94fda6c5e12794dcdd5f378023229c01  gcc/fortran/options.c
! 87ab692c8e76f389677c64d258c03fe3  gcc/fortran/parse.c
  35501e834b34f6440232d3c4c2bbd56c  gcc/fortran/parse.h
! b1edc03c4591734e824e2bfe0fe55ed7  gcc/fortran/primary.c
! 42a5928bf989b8f194789800d4b1d126  gcc/fortran/resolve.c
  15654692fbf8143321f77d50d70bf5db  gcc/fortran/scanner.c
  e878063bf09025352b6adf6b5d0ab78d  gcc/fortran/scanner.h
  89b9a275ca73a232db538c0822e5fb81  gcc/fortran/simplify.c
  52826d539d76cfcf3218c02df40aecf6  gcc/fortran/st.c
! 256a3d5490d8c44a1548cbd3786a30ea  gcc/fortran/symbol.c
  758aeef05fd4d7d6a4474397ada7c8f3  gcc/fortran/target-memory.c
  0ce203c000f89bcab4e2f2b5885ec8f5  gcc/fortran/target-memory.h
! 88f66ee78d3c0e9ddfbe2e7a90eed857  gcc/fortran/trans-array.c
  69c63b36acf6f0724f477e9923bcd2bb  gcc/fortran/trans-array.h
  ec0059b31f88bbb8c77c8501ca451961  gcc/fortran/trans-common.c
  42b243fa66682aca47b104fdf75790a3  gcc/fortran/trans-const.c
  08d74bbf02852561cf584f029734d164  gcc/fortran/trans-const.h
  a110fc331c5f1eb2f46ce1f2643d82d2  gcc/fortran/trans-decl.c
! d8678fb4047bb3e770cf79aaa6ebfd3d  gcc/fortran/trans-expr.c
  4926b7e6ac1f51c022972854fc1af33b  gcc/fortran/trans-intrinsic.c
  d442a2920715f33cb7ca72f6cf551377  gcc/fortran/trans-io.c
  b700350e62cdce1e61c30e786605a3ec  gcc/fortran/trans-openmp.c
! 4211d02ae48cc47939cf645a3c9ee01b  gcc/fortran/trans-stmt.c
  adac91a5c3e9a289d1e225ac37f895f2  gcc/fortran/trans-stmt.h
  c327c38ab53f43521dc4d3a07fc93272  gcc/fortran/trans-types.c
  a1fc23f04301b08a0068afcd35eff141  gcc/fortran/trans-types.h
*************** a7378b0ee32d1a8103f2106f776ddeef  gcc/fu
*** 5592,5598 ****
  3be627fea3a3a6c9f0031cdd2808bada  gcc/function-tests.c
  c5a9339ec92fd0ce9da14a18d658a9e9  gcc/function.c
  051f5de7c89e11b8cdbbcbca9b42e9f2  gcc/function.h
! bc49cccf40de468c5af3f7b3077601e9  gcc/fwprop.c
  628dd8bc4c3033a144ca9d7411e136d8  gcc/gcc-ar.c
  9b3cde5e018ae1629dad78df7495c686  gcc/gcc-main.c
  36270fbfd00ae013d66af03d3b996492  gcc/gcc-plugin.h
--- 5593,5599 ----
  3be627fea3a3a6c9f0031cdd2808bada  gcc/function-tests.c
  c5a9339ec92fd0ce9da14a18d658a9e9  gcc/function.c
  051f5de7c89e11b8cdbbcbca9b42e9f2  gcc/function.h
! 1f65310995ca4b519974176f897e8774  gcc/fwprop.c
  628dd8bc4c3033a144ca9d7411e136d8  gcc/gcc-ar.c
  9b3cde5e018ae1629dad78df7495c686  gcc/gcc-main.c
  36270fbfd00ae013d66af03d3b996492  gcc/gcc-plugin.h
*************** b8331fe711c794d31411d145186f839e  gcc/ge
*** 5634,5647 ****
  0851ab0217a3550c4694dc56da1d14a0  gcc/genextract.c
  d8284cac8286a7a7d64ac13ec870daa7  gcc/genflags.c
  950b7513fef07bfbefb505897b6d7448  gcc/gengenrtl.c
! 04781352a756be492bf560d710ae7ef9  gcc/gengtype-lex.c
  8ea8a37c0cf6f91ded53bb6db384da0d  gcc/gengtype-lex.l
  548a8efcdbfd7022ebabcc0492a34cf9  gcc/gengtype-parse.c
  87b2b2c69bc05df6161d23040833a374  gcc/gengtype-state.c
  a37cbb582a0ae6a61b86eda06ffb9ac6  gcc/gengtype.c
  94881ec27434a3f6e7b70357815509c7  gcc/gengtype.h
  89b650e6804cbe365244e8a1a6c62d2f  gcc/genhooks.c
! 68f92690a215e0838b8a46a4938bc83f  gcc/genmatch.c
  54cca04c9cb300d0ab0ad99273a73e7c  gcc/genmddeps.c
  0b1ec8e93aaa85abaf253992e194254d  gcc/genmddump.c
  f1d29bde9cddf2b5a4a9c55cad19d1fa  gcc/genmodes.c
--- 5635,5648 ----
  0851ab0217a3550c4694dc56da1d14a0  gcc/genextract.c
  d8284cac8286a7a7d64ac13ec870daa7  gcc/genflags.c
  950b7513fef07bfbefb505897b6d7448  gcc/gengenrtl.c
! 51f5bc0a4e6a5bc9829edcb80d1f22ea  gcc/gengtype-lex.c
  8ea8a37c0cf6f91ded53bb6db384da0d  gcc/gengtype-lex.l
  548a8efcdbfd7022ebabcc0492a34cf9  gcc/gengtype-parse.c
  87b2b2c69bc05df6161d23040833a374  gcc/gengtype-state.c
  a37cbb582a0ae6a61b86eda06ffb9ac6  gcc/gengtype.c
  94881ec27434a3f6e7b70357815509c7  gcc/gengtype.h
  89b650e6804cbe365244e8a1a6c62d2f  gcc/genhooks.c
! ca78688f661561ba61202aab3933fb90  gcc/genmatch.c
  54cca04c9cb300d0ab0ad99273a73e7c  gcc/genmddeps.c
  0b1ec8e93aaa85abaf253992e194254d  gcc/genmddump.c
  f1d29bde9cddf2b5a4a9c55cad19d1fa  gcc/genmodes.c
*************** ca2520162ec5b4b80e57e4f46690e4c6  gcc/gi
*** 5666,5672 ****
  6a22e0a2c2e663ac23a368e20fa1fe9c  gcc/gimple-builder.h
  036cecd86563f6394e964dc1bb605895  gcc/gimple-expr.c
  6b5f6aa1713f09243d1159a75ecd7976  gcc/gimple-expr.h
! 9864da12a5fa4e9052e9a2444e49bdc1  gcc/gimple-fold.c
  19b1447666533a8e534b359325a40685  gcc/gimple-fold.h
  ae9c923ed2c8a79aaa3ca54a22881ef0  gcc/gimple-if-to-switch.cc
  20b2c5de7eec5f50e66d6709ccaeeee8  gcc/gimple-isel.cc
--- 5667,5673 ----
  6a22e0a2c2e663ac23a368e20fa1fe9c  gcc/gimple-builder.h
  036cecd86563f6394e964dc1bb605895  gcc/gimple-expr.c
  6b5f6aa1713f09243d1159a75ecd7976  gcc/gimple-expr.h
! 28f545beccc7e2a7d0826680dc62363e  gcc/gimple-fold.c
  19b1447666533a8e534b359325a40685  gcc/gimple-fold.h
  ae9c923ed2c8a79aaa3ca54a22881ef0  gcc/gimple-if-to-switch.cc
  20b2c5de7eec5f50e66d6709ccaeeee8  gcc/gimple-isel.cc
*************** a5f6cff42cef43846738248ba84846e3  gcc/gi
*** 5691,5705 ****
  f61a8ff332c742ad4bc134e6154e28c7  gcc/gimple-range-gori.h
  7a4d5971631f3acee678a1d6bbce867f  gcc/gimple-range.cc
  2c5c9f17c97ce09156b83e764c567987  gcc/gimple-range.h
! e3b577427781a76267364ec3efa54f51  gcc/gimple-ssa-backprop.c
  07f08a30d5a28800e5c2ea26c217d226  gcc/gimple-ssa-evrp-analyze.c
  e5bfc6ff4a07f1f5591f18021b017283  gcc/gimple-ssa-evrp-analyze.h
  84bc1f1b8180d0896c63d8a631d2008c  gcc/gimple-ssa-evrp.c
  f96959d86d6678e1a7fdf38b6e127bcd  gcc/gimple-ssa-isolate-paths.c
  b6d23698f494095d6a2998fccaa3f8b9  gcc/gimple-ssa-nonnull-compare.c
  aced049779ec566808a605d67e3515fc  gcc/gimple-ssa-split-paths.c
! 1d753067436e68b37dba76eb3eb35ff8  gcc/gimple-ssa-sprintf.c
! 276a8c5b44e85e5dddb52d91f21966fb  gcc/gimple-ssa-store-merging.c
  3e8d8a511e1e447865e4c63ef9d1f0dc  gcc/gimple-ssa-strength-reduction.c
  fa6b25f445fc05a803f11195f34d71cb  gcc/gimple-ssa-warn-alloca.c
  3681b0f7899f686f94905201c010bf3e  gcc/gimple-ssa-warn-restrict.c
--- 5692,5706 ----
  f61a8ff332c742ad4bc134e6154e28c7  gcc/gimple-range-gori.h
  7a4d5971631f3acee678a1d6bbce867f  gcc/gimple-range.cc
  2c5c9f17c97ce09156b83e764c567987  gcc/gimple-range.h
! f1e125d77a6ea4c0a4f80a24001f4970  gcc/gimple-ssa-backprop.c
  07f08a30d5a28800e5c2ea26c217d226  gcc/gimple-ssa-evrp-analyze.c
  e5bfc6ff4a07f1f5591f18021b017283  gcc/gimple-ssa-evrp-analyze.h
  84bc1f1b8180d0896c63d8a631d2008c  gcc/gimple-ssa-evrp.c
  f96959d86d6678e1a7fdf38b6e127bcd  gcc/gimple-ssa-isolate-paths.c
  b6d23698f494095d6a2998fccaa3f8b9  gcc/gimple-ssa-nonnull-compare.c
  aced049779ec566808a605d67e3515fc  gcc/gimple-ssa-split-paths.c
! d8dfb4af92845989257f24da4a43992c  gcc/gimple-ssa-sprintf.c
! 5deebb60a8a905b5304f382bbedfde21  gcc/gimple-ssa-store-merging.c
  3e8d8a511e1e447865e4c63ef9d1f0dc  gcc/gimple-ssa-strength-reduction.c
  fa6b25f445fc05a803f11195f34d71cb  gcc/gimple-ssa-warn-alloca.c
  3681b0f7899f686f94905201c010bf3e  gcc/gimple-ssa-warn-restrict.c
*************** f600ba03fe6a2c3cd6c70bcc66153eed  gcc/gi
*** 5732,5748 ****
  fd1e7b72f05881b3313665c73e2f4da9  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  5081e1e198938204286d03d45535b34b  gcc/glimits.h
! 48d7485ec4ee1c0e8a60904063c147d4  gcc/go/ChangeLog
  e905ea0930382dd7f885f6df4e826e16  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
  441e07f72df962bba81b0fca4787a622  gcc/go/config-lang.in
  88479225176a663f9ecb3aed6b241ad6  gcc/go/gccgo.texi
! 1bfe12d4d420dea782bfc43f73f50629  gcc/go/go-backend.c
  36093348dc9f5bfa786624db0014386e  gcc/go/go-c.h
  19e44eeadca75d05b7d0722682e1268d  gcc/go/go-gcc-diagnostics.cc
  7cc5c5737f3346d824976c10bdc0d692  gcc/go/go-gcc.cc
  a64e89816f7f16f13cbd044f4c56515e  gcc/go/go-gcc.h
! c48761e2b947c22f3ca2f5eed4f8cdf9  gcc/go/go-lang.c
  c5d6aaa7e913ef205113a2bba2e5206f  gcc/go/go-linemap.cc
  91c7a6773e207cc086ae0888826cc3c4  gcc/go/go-location.h
  3a0ebd75d30f31d898f41763a9326903  gcc/go/go-sha1.cc
--- 5733,5749 ----
  fd1e7b72f05881b3313665c73e2f4da9  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  5081e1e198938204286d03d45535b34b  gcc/glimits.h
! 7e9a0254968269152457a4a6d53cad17  gcc/go/ChangeLog
  e905ea0930382dd7f885f6df4e826e16  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
  441e07f72df962bba81b0fca4787a622  gcc/go/config-lang.in
  88479225176a663f9ecb3aed6b241ad6  gcc/go/gccgo.texi
! a5e04dc25f7a93c12bd7dfffa0e1ec8d  gcc/go/go-backend.c
  36093348dc9f5bfa786624db0014386e  gcc/go/go-c.h
  19e44eeadca75d05b7d0722682e1268d  gcc/go/go-gcc-diagnostics.cc
  7cc5c5737f3346d824976c10bdc0d692  gcc/go/go-gcc.cc
  a64e89816f7f16f13cbd044f4c56515e  gcc/go/go-gcc.h
! dae3fd37e46ad9c67629ae2010a02c36  gcc/go/go-lang.c
  c5d6aaa7e913ef205113a2bba2e5206f  gcc/go/go-linemap.cc
  91c7a6773e207cc086ae0888826cc3c4  gcc/go/go-location.h
  3a0ebd75d30f31d898f41763a9326903  gcc/go/go-sha1.cc
*************** c890af2497a7295e5ad9f2603cf17cb8  gcc/in
*** 5848,5854 ****
  8448a04e26d84db7cae7935f7d8c3b9a  gcc/insn-addr.h
  723316db4cf40aed5f78795fd24221c1  gcc/insn-notes.def
  7f143576fc4600b1f908b599cc1d58b5  gcc/int-vector-builder.h
! ee877c2060889fa2d68b9332a105f967  gcc/internal-fn.c
  f3f89b671d0605b3e93ee9b6ef8a3852  gcc/internal-fn.def
  de5c239aa4766cc69fc2017ae8e7d8d1  gcc/internal-fn.h
  6aa6c9959854056e3c3e0d2587f2ef78  gcc/intl.c
--- 5849,5855 ----
  8448a04e26d84db7cae7935f7d8c3b9a  gcc/insn-addr.h
  723316db4cf40aed5f78795fd24221c1  gcc/insn-notes.def
  7f143576fc4600b1f908b599cc1d58b5  gcc/int-vector-builder.h
! 4d6ea6f25494780c8016c158b9525567  gcc/internal-fn.c
  f3f89b671d0605b3e93ee9b6ef8a3852  gcc/internal-fn.def
  de5c239aa4766cc69fc2017ae8e7d8d1  gcc/internal-fn.h
  6aa6c9959854056e3c3e0d2587f2ef78  gcc/intl.c
*************** de5c239aa4766cc69fc2017ae8e7d8d1  gcc/in
*** 5860,5866 ****
  f95a69b1f3983dc781ef570590f5b01d  gcc/ipa-fnsummary.h
  7c46ef6a7d9230f2798ed1ce630eeb4a  gcc/ipa-icf-gimple.c
  bde983e86d6dce7cfa528ed5003fbf84  gcc/ipa-icf-gimple.h
! 705c052b195d5e893795c330fa55fc30  gcc/ipa-icf.c
  d1c62ca27392156d9ab55eb9a8c5941f  gcc/ipa-icf.h
  6ff03f4502965e2dae22d99c4abbc97c  gcc/ipa-inline-analysis.c
  8eb383763689a3d5ad9bd67cbd1fcb32  gcc/ipa-inline-transform.c
--- 5861,5867 ----
  f95a69b1f3983dc781ef570590f5b01d  gcc/ipa-fnsummary.h
  7c46ef6a7d9230f2798ed1ce630eeb4a  gcc/ipa-icf-gimple.c
  bde983e86d6dce7cfa528ed5003fbf84  gcc/ipa-icf-gimple.h
! ab6384ffded71059ce30d61cf205fec4  gcc/ipa-icf.c
  d1c62ca27392156d9ab55eb9a8c5941f  gcc/ipa-icf.h
  6ff03f4502965e2dae22d99c4abbc97c  gcc/ipa-inline-analysis.c
  8eb383763689a3d5ad9bd67cbd1fcb32  gcc/ipa-inline-transform.c
*************** fcdecd375e9f7dcef39dfb29545d6859  gcc/ir
*** 5900,5908 ****
  f2cefc86c9a11fe045772f372434ad3c  gcc/ira.h
  a034d62871bbde98ccf4abce95e4bbd3  gcc/is-a.h
  dd335e7d147186c7f4aa9327f600007b  gcc/iterator-utils.h
! 9c02ba430678bba2a9f3c87f06b0925a  gcc/jit/ChangeLog
  6071bdf04fb356c5ac99a99ec00c9a12  gcc/jit/ChangeLog.jit
! 7da588bb30eff47e724348cf30c9b423  gcc/jit/Make-lang.in
  fd0d76b6467c987f813d430a35d4760a  gcc/jit/TODO.rst
  7a93c8cedef319d0da7ea43c5ac5fa02  gcc/jit/config-lang.in
  df53fb6b84c435b56ac2cb2727b62b27  gcc/jit/docs/Makefile
--- 5901,5909 ----
  f2cefc86c9a11fe045772f372434ad3c  gcc/ira.h
  a034d62871bbde98ccf4abce95e4bbd3  gcc/is-a.h
  dd335e7d147186c7f4aa9327f600007b  gcc/iterator-utils.h
! 329629aa303d68b8d1a2b39a3cfc8054  gcc/jit/ChangeLog
  6071bdf04fb356c5ac99a99ec00c9a12  gcc/jit/ChangeLog.jit
! 323da37700e16ab6e90d092c3f943ac3  gcc/jit/Make-lang.in
  fd0d76b6467c987f813d430a35d4760a  gcc/jit/TODO.rst
  7a93c8cedef319d0da7ea43c5ac5fa02  gcc/jit/config-lang.in
  df53fb6b84c435b56ac2cb2727b62b27  gcc/jit/docs/Makefile
*************** e3db52c2bdf2089f3518cad629deba24  gcc/ji
*** 5984,5989 ****
--- 5985,5991 ----
  9fa963f67a08d2dc921cd6d505db85fc  gcc/jit/jit-w32.h
  d85e22e3a831e54a55caed1c440a5a0c  gcc/jit/libgccjit++.h
  833a65f04d21fabe3a57534d3a54f644  gcc/jit/libgccjit.c
+ d5f7a2f5760915c4e4e8e6e11b9b2acd  gcc/jit/libgccjit.exports
  af3735f9a574fcc19ed30bac19464af0  gcc/jit/libgccjit.h
  92eab2771f504aaf31f5de8e70466b9e  gcc/jit/libgccjit.map
  aaaa50e3d4a7c60cc413faccb2d831c6  gcc/jit/notes.txt
*************** e891b7eb2f83b1624be70538a0e0d189  gcc/lt
*** 6030,6036 ****
  5ad327021166fdb0ecad2661fbca70be  gcc/lto-streamer.c
  c75e2adeba7a17a10efdd07b0b9113b2  gcc/lto-streamer.h
  8ffaca3710dc2b758bb4992782a9458a  gcc/lto-wrapper.c
! 227e2035e0991551fcd637d67d3c0323  gcc/lto/ChangeLog
  d5bb42eff522196004d91ca34cfaa49b  gcc/lto/Make-lang.in
  c1fff5b6c2a7f236e55f0d3b5cb28062  gcc/lto/common.c
  71bd5c32de47c74a39491375ef7f71c5  gcc/lto/common.h
--- 6032,6038 ----
  5ad327021166fdb0ecad2661fbca70be  gcc/lto-streamer.c
  c75e2adeba7a17a10efdd07b0b9113b2  gcc/lto-streamer.h
  8ffaca3710dc2b758bb4992782a9458a  gcc/lto-wrapper.c
! eee31443b0133fee63c9698c3a00e736  gcc/lto/ChangeLog
  d5bb42eff522196004d91ca34cfaa49b  gcc/lto/Make-lang.in
  c1fff5b6c2a7f236e55f0d3b5cb28062  gcc/lto/common.c
  71bd5c32de47c74a39491375ef7f71c5  gcc/lto/common.h
*************** a3d7fa7b491b3c623e8ad32109a8af10  gcc/lt
*** 6052,6058 ****
  c0598ad047996b6b546ae37ac7961415  gcc/machmode.def
  9ed2f72363a926d2750418ef5c5cf728  gcc/machmode.h
  1e3feea915d17412b3e57a55c5a785e8  gcc/main.c
! 3447d1fe2899c211acf7630e20a297db  gcc/match.pd
  4b41ba6f5c2972934928d702e6ab5c99  gcc/mcf.c
  12ed5d7cdbe37098551333c0d54e68ad  gcc/mem-stats-traits.h
  d36e5c61d9079e93d8844808c4280f3b  gcc/mem-stats.h
--- 6054,6060 ----
  c0598ad047996b6b546ae37ac7961415  gcc/machmode.def
  9ed2f72363a926d2750418ef5c5cf728  gcc/machmode.h
  1e3feea915d17412b3e57a55c5a785e8  gcc/main.c
! fde66b64e8c46fd9cbf8be264e4ad9ab  gcc/match.pd
  4b41ba6f5c2972934928d702e6ab5c99  gcc/mcf.c
  12ed5d7cdbe37098551333c0d54e68ad  gcc/mem-stats-traits.h
  d36e5c61d9079e93d8844808c4280f3b  gcc/mem-stats.h
*************** ffb6709ef6e104f353edb09bc1651596  gcc/mo
*** 6065,6075 ****
  a98e50c063ce3f17ab72abe936f7f210  gcc/modulo-sched.c
  9b2e40398cd8e086e71e5f469b2799b7  gcc/multiple_target.c
  f82c4a6b9621c8883a3eab86f0dd3768  gcc/mux-utils.h
! 66f8ccc19f3091c51c76f5831f078d4c  gcc/objc/ChangeLog
  8a483da76277f1107ee3864484da7cfd  gcc/objc/Make-lang.in
  81acf2f4cbd8edc8581291e0c02e76f9  gcc/objc/config-lang.in
  8ca11b02b2a9e21229f11063fb154aee  gcc/objc/lang-specs.h
! d64749fa6e7edf794e43ca2d299513e8  gcc/objc/objc-act.c
  d82921cbb439a19f64f1d25a6a14f4c4  gcc/objc/objc-act.h
  3d5a7b3f2b8ede25454e6cc796103e45  gcc/objc/objc-encoding.c
  da34ed0a750a923083050676a1d84d7f  gcc/objc/objc-encoding.h
--- 6067,6077 ----
  a98e50c063ce3f17ab72abe936f7f210  gcc/modulo-sched.c
  9b2e40398cd8e086e71e5f469b2799b7  gcc/multiple_target.c
  f82c4a6b9621c8883a3eab86f0dd3768  gcc/mux-utils.h
! c69bc40ccb3a5e43aa298cf28c204275  gcc/objc/ChangeLog
  8a483da76277f1107ee3864484da7cfd  gcc/objc/Make-lang.in
  81acf2f4cbd8edc8581291e0c02e76f9  gcc/objc/config-lang.in
  8ca11b02b2a9e21229f11063fb154aee  gcc/objc/lang-specs.h
! 25d51c7ad60fbbfda279c87ad97ac699  gcc/objc/objc-act.c
  d82921cbb439a19f64f1d25a6a14f4c4  gcc/objc/objc-act.h
  3d5a7b3f2b8ede25454e6cc796103e45  gcc/objc/objc-encoding.c
  da34ed0a750a923083050676a1d84d7f  gcc/objc/objc-encoding.h
*************** da44c8a74d037da7c6f82e94b45d4f31  gcc/ob
*** 6079,6090 ****
  3fcca193bef44adbb41940862673aebb  gcc/objc/objc-map.h
  70a2bbb9f1a1c992e16b427f0f1b1e53  gcc/objc/objc-next-metadata-tags.h
  efc719a9d69c08a88c9ca68c3d91dea6  gcc/objc/objc-next-runtime-abi-01.c
! 10f604e0990badb228f6efd7253f925b  gcc/objc/objc-next-runtime-abi-02.c
  1efae5adac9e2d08776809405ec27a56  gcc/objc/objc-runtime-hooks.h
! 3c7320cdc77c5d2c8ad240f498e04b42  gcc/objc/objc-runtime-shared-support.c
  544d016401099d9ba39ea7ddbce01333  gcc/objc/objc-runtime-shared-support.h
  88490072a5d5ef2282898959e8e55de1  gcc/objc/objc-tree.def
! dcf08cb02acf7a5b121d9b3f2d4b9f15  gcc/objcp/ChangeLog
  8268a2fcb604c22c75202509b0338862  gcc/objcp/Make-lang.in
  add0ba454d5eb83cd065d29d3f6b676a  gcc/objcp/config-lang.in
  fbbceaf466354af7b3851fc32a591c77  gcc/objcp/lang-specs.h
--- 6081,6092 ----
  3fcca193bef44adbb41940862673aebb  gcc/objc/objc-map.h
  70a2bbb9f1a1c992e16b427f0f1b1e53  gcc/objc/objc-next-metadata-tags.h
  efc719a9d69c08a88c9ca68c3d91dea6  gcc/objc/objc-next-runtime-abi-01.c
! 97afb4f400d863fe4c4a7fab9e264d15  gcc/objc/objc-next-runtime-abi-02.c
  1efae5adac9e2d08776809405ec27a56  gcc/objc/objc-runtime-hooks.h
! 6783593735c0a61029a139ea6a430159  gcc/objc/objc-runtime-shared-support.c
  544d016401099d9ba39ea7ddbce01333  gcc/objc/objc-runtime-shared-support.h
  88490072a5d5ef2282898959e8e55de1  gcc/objc/objc-tree.def
! 1689ff7a167e4928007cabb11324d8d6  gcc/objcp/ChangeLog
  8268a2fcb604c22c75202509b0338862  gcc/objcp/Make-lang.in
  add0ba454d5eb83cd065d29d3f6b676a  gcc/objcp/config-lang.in
  fbbceaf466354af7b3851fc32a591c77  gcc/objcp/lang-specs.h
*************** bb7dd65101e190027bd7f5d00537d338  gcc/op
*** 6128,6134 ****
  9f4a9925296f20d19d64305038880c83  gcc/optinfo-emit-json.h
  856ea796d22dcbc9579527e46613d813  gcc/optinfo.cc
  bc4ea40198df1dade8ab163363fce555  gcc/optinfo.h
! 80caa80c42146fabda6624c84c0cd0aa  gcc/opts-common.c
  d5cb4f8e14c4ba3e56b5393c98bf2a04  gcc/opts-diagnostic.h
  c9cb78ef27abfd3a19982545f0f1808d  gcc/opts-global.c
  abb990f120fd8b648831963db6ecec8c  gcc/opts-jobserver.h
--- 6130,6136 ----
  9f4a9925296f20d19d64305038880c83  gcc/optinfo-emit-json.h
  856ea796d22dcbc9579527e46613d813  gcc/optinfo.cc
  bc4ea40198df1dade8ab163363fce555  gcc/optinfo.h
! 9d6e9264b81dadedbdbdda0d82cee0ad  gcc/opts-common.c
  d5cb4f8e14c4ba3e56b5393c98bf2a04  gcc/opts-diagnostic.h
  c9cb78ef27abfd3a19982545f0f1808d  gcc/opts-global.c
  abb990f120fd8b648831963db6ecec8c  gcc/opts-jobserver.h
*************** e733e0309389f9d07184e98b6ad9b536  gcc/pa
*** 6144,6150 ****
  f09db14eb185fcdd795ff7e690b607a3  gcc/plugin.c
  3cc53b8d5f30aebe3f70c00e1bc4929e  gcc/plugin.def
  7a5190d86531b8d3fa67e8cea7db5d60  gcc/plugin.h
! 5ea9f58a4b7fa2bad33da1cfc60f22d2  gcc/po/ChangeLog
  edbad8e043a44996d844fa6a7965ea6f  gcc/po/EXCLUDES
  f2e76d86dce1f72d4adc901bce318410  gcc/po/be.gmo
  ac4e50148300959070bbe8161dc44c3d  gcc/po/be.po
--- 6146,6152 ----
  f09db14eb185fcdd795ff7e690b607a3  gcc/plugin.c
  3cc53b8d5f30aebe3f70c00e1bc4929e  gcc/plugin.def
  7a5190d86531b8d3fa67e8cea7db5d60  gcc/plugin.h
! 2d1d9613d2b26fb08b201d395f3d15ec  gcc/po/ChangeLog
  edbad8e043a44996d844fa6a7965ea6f  gcc/po/EXCLUDES
  f2e76d86dce1f72d4adc901bce318410  gcc/po/be.gmo
  ac4e50148300959070bbe8161dc44c3d  gcc/po/be.po
*************** e28191cb00a98e949cbc143f320a07f6  gcc/re
*** 6243,6249 ****
  4e409a0d5cc6dc9e0629b228d3b558ba  gcc/rtl-iter.h
  b476f310624f2f8985ae9e6f5cf84795  gcc/rtl-ssa.h
  2bd899bd5847e63d4b3c22b4c3f8d681  gcc/rtl-ssa/access-utils.h
! 7738e493afe6ad85c015559bf1ff0433  gcc/rtl-ssa/accesses.cc
  3dadf63307fc85f0decf8fe6c919f049  gcc/rtl-ssa/accesses.h
  d732812e79a20c21accf4bbde2d16fe6  gcc/rtl-ssa/blocks.cc
  26f90cf52a833397e160517c50f76928  gcc/rtl-ssa/blocks.h
--- 6245,6251 ----
  4e409a0d5cc6dc9e0629b228d3b558ba  gcc/rtl-iter.h
  b476f310624f2f8985ae9e6f5cf84795  gcc/rtl-ssa.h
  2bd899bd5847e63d4b3c22b4c3f8d681  gcc/rtl-ssa/access-utils.h
! aeeafcbba477ff4cf6af5d1fd324e1cf  gcc/rtl-ssa/accesses.cc
  3dadf63307fc85f0decf8fe6c919f049  gcc/rtl-ssa/accesses.h
  d732812e79a20c21accf4bbde2d16fe6  gcc/rtl-ssa/blocks.cc
  26f90cf52a833397e160517c50f76928  gcc/rtl-ssa/blocks.h
*************** b749412578d62bfb2a22711a55df1124  gcc/rt
*** 6251,6260 ****
  91a7a054b154b2b8dc02633939d813fe  gcc/rtl-ssa/changes.cc
  c56eb80685157a57af3f4b646a16c3f5  gcc/rtl-ssa/changes.h
  30aa74b1044e85d68bd3845aa629468d  gcc/rtl-ssa/functions.cc
! d3d3033d7a0921fde6380ce023929f4c  gcc/rtl-ssa/functions.h
  c13065dc1b1a9319f869cccc13d93de1  gcc/rtl-ssa/insn-utils.h
  de2b4ba71be041cd082a66fef50ee399  gcc/rtl-ssa/insns.cc
! e1595b6b1a7c703394640bffc7357aa5  gcc/rtl-ssa/insns.h
  3e2be38fa239ba65ce01840b6b1e6717  gcc/rtl-ssa/internals.h
  3bcc3658e3e130fbbe4a9fbd9b0c3cd3  gcc/rtl-ssa/internals.inl
  35c148bf46eb74781693030d7425a974  gcc/rtl-ssa/is-a.inl
--- 6253,6262 ----
  91a7a054b154b2b8dc02633939d813fe  gcc/rtl-ssa/changes.cc
  c56eb80685157a57af3f4b646a16c3f5  gcc/rtl-ssa/changes.h
  30aa74b1044e85d68bd3845aa629468d  gcc/rtl-ssa/functions.cc
! 0f722445daffa4fb6bb1cd4f562ea931  gcc/rtl-ssa/functions.h
  c13065dc1b1a9319f869cccc13d93de1  gcc/rtl-ssa/insn-utils.h
  de2b4ba71be041cd082a66fef50ee399  gcc/rtl-ssa/insns.cc
! a7c119d5c6296f606f19a9ddad06af5f  gcc/rtl-ssa/insns.h
  3e2be38fa239ba65ce01840b6b1e6717  gcc/rtl-ssa/internals.h
  3bcc3658e3e130fbbe4a9fbd9b0c3cd3  gcc/rtl-ssa/internals.inl
  35c148bf46eb74781693030d7425a974  gcc/rtl-ssa/is-a.inl
*************** ecf66423e53e53927403a7019b1256f3  gcc/rt
*** 6264,6270 ****
  dea69c3608ee51d947ef5ac67c2ca95b  gcc/rtl.c
  6e2727b9e2075fddcf252ad25dc6d604  gcc/rtl.def
  7e6d263d2294090c692ce74d323d8da7  gcc/rtl.h
! 0a93a9090ad9760e643aeffc81480fc0  gcc/rtlanal.c
  394592e1cbc71b6283d230cf895f1248  gcc/rtlanal.h
  600140db9bd5eefa41bca935dcc1a901  gcc/rtlhash.c
  97a32042580f6bc444125e76325e9f8e  gcc/rtlhash.h
--- 6266,6272 ----
  dea69c3608ee51d947ef5ac67c2ca95b  gcc/rtl.c
  6e2727b9e2075fddcf252ad25dc6d604  gcc/rtl.def
  7e6d263d2294090c692ce74d323d8da7  gcc/rtl.h
! 5a4b6a83196d314cee3570f6b667433a  gcc/rtlanal.c
  394592e1cbc71b6283d230cf895f1248  gcc/rtlanal.h
  600140db9bd5eefa41bca935dcc1a901  gcc/rtlhash.c
  97a32042580f6bc444125e76325e9f8e  gcc/rtlhash.h
*************** ba17f60121ba1b5f039f9dc1078b46f8  gcc/st
*** 6337,6345 ****
  bedb42e729e5bd698d0861dc145266fb  gcc/symtab-clones.h
  8a9324974824a4c433f0d463bbfb69ec  gcc/symtab-thunks.cc
  b5513d86b09f522ec7305a04036d4f3b  gcc/symtab-thunks.h
! 1552f6db8056e30c357dfeec0ecdf6d0  gcc/symtab.c
  f013ee71feefa0d9ab11d092dab3f62c  gcc/sync-builtins.def
! 487aa89152c81610d6b03aeae45f0edb  gcc/system.h
  aba120075a77f6e309a720d322ee9eed  gcc/target-def.h
  292e1d752e2b328261c6a201aeb21faa  gcc/target-globals.c
  3e5db4530f6645ebcf4b051d11524230  gcc/target-globals.h
--- 6339,6347 ----
  bedb42e729e5bd698d0861dc145266fb  gcc/symtab-clones.h
  8a9324974824a4c433f0d463bbfb69ec  gcc/symtab-thunks.cc
  b5513d86b09f522ec7305a04036d4f3b  gcc/symtab-thunks.h
! 6675c6ac3b1da11aa3ddb3d4ad4b4936  gcc/symtab.c
  f013ee71feefa0d9ab11d092dab3f62c  gcc/sync-builtins.def
! dc1e566474b8d14666e758531da1d191  gcc/system.h
  aba120075a77f6e309a720d322ee9eed  gcc/target-def.h
  292e1d752e2b328261c6a201aeb21faa  gcc/target-globals.c
  3e5db4530f6645ebcf4b051d11524230  gcc/target-globals.h
*************** b3739b072aa976c2f9f9825ac6d07c80  gcc/ta
*** 6350,6356 ****
  b71dcf011f9b95f3a705da052a95caf9  gcc/targhooks.c
  104445ec4cf950b087d249c268d36edc  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 830b7d53116002286e8034db00356962  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 6352,6358 ----
  b71dcf011f9b95f3a705da052a95caf9  gcc/targhooks.c
  104445ec4cf950b087d249c268d36edc  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! ab0ae9aa5b541cc0e7fa8eab89826d73  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** c51902099b5071373c02eb23d9a61aab  gcc/te
*** 9005,9010 ****
--- 9007,9013 ----
  8c8f0a3b217c247195f32bdfc2d93c74  gcc/testsuite/c-c++-common/Warray-bounds-8.c
  ad210b6699449d7c2f1c95f9c363d606  gcc/testsuite/c-c++-common/Warray-bounds.c
  fe25f03fdb469ad245f6cae14480ddad  gcc/testsuite/c-c++-common/Wattributes-2.c
+ 17bdcdb759c07d09c2d4d9895b89253d  gcc/testsuite/c-c++-common/Wattributes-3.c
  0bcda44055ed5df42b261295603d2147  gcc/testsuite/c-c++-common/Wattributes.c
  714425fa09f1458ac9dd7cad4ad33ed2  gcc/testsuite/c-c++-common/Wbool-compare-1.c
  2137f66b6bcfc9d19df56b2f3ea80f8e  gcc/testsuite/c-c++-common/Wbool-compare-2.c
*************** f64e9a0e7b5ee2dca69c8d247f6246ab  gcc/te
*** 10501,10511 ****
  6099fd0b163b9c570575cfa376ad44ae  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-8.c
  1521bd071912021d30375778ada20c27  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-9.c
  c0ced56aa092fbe05fcfb0400e4a7973  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow.h
! 80c6991dac30744cf52461dd3f956e72  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c
! dcfe45ba6f5d3cfc6a596ae589694b44  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c
! 895fbc9bc655600ce8926f0324c028bf  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c
! 4ff8867bffb2428f7170faffc42f73a7  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c
! 02ccc099dac6a69400f154fddb7c755d  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c
  e6519a905d51bc4a47ceea85c886d98b  gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
  255588ac3834ead37b7f36c6b58cd61b  gcc/testsuite/c-c++-common/torture/complex-alias-1.c
  252f95ec0162dd10262e227d09b36737  gcc/testsuite/c-c++-common/torture/complex-sign-add.c
--- 10504,10515 ----
  6099fd0b163b9c570575cfa376ad44ae  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-8.c
  1521bd071912021d30375778ada20c27  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-9.c
  c0ced56aa092fbe05fcfb0400e4a7973  gcc/testsuite/c-c++-common/torture/builtin-arith-overflow.h
! 3cee92adaa1a38086edfab9c3d84f00a  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c
! 1865956f3fc939653de54faba3618b72  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c
! 31f715afb9a58cc96ce3fe60e4c8101d  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c
! 1428b405a26a5320e9400f0d631ac3b9  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c
! f1ab5d6173eb9710341597174f8f1538  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c
! 550bf6a95b93ecdb962dab3cc0becb47  gcc/testsuite/c-c++-common/torture/builtin-clear-padding-6.c
  e6519a905d51bc4a47ceea85c886d98b  gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
  255588ac3834ead37b7f36c6b58cd61b  gcc/testsuite/c-c++-common/torture/complex-alias-1.c
  252f95ec0162dd10262e227d09b36737  gcc/testsuite/c-c++-common/torture/complex-sign-add.c
*************** e38a861012a1449b45bab897d23db346  gcc/te
*** 10708,10713 ****
--- 10712,10718 ----
  3fdfb7b541ab32d9386d01e5297559fe  gcc/testsuite/c-c++-common/ubsan/overflow-sub-4.c
  a419ef4838cde6817792405820466636  gcc/testsuite/c-c++-common/ubsan/overflow-vec-1.c
  2ca43a119b7a576e216390fb43e1dd13  gcc/testsuite/c-c++-common/ubsan/overflow-vec-2.c
+ 24b18a5fd301d7a3be70c2c44bb2a354  gcc/testsuite/c-c++-common/ubsan/pr112727.c
  52e44aba0bf4e0682451881391dfc23a  gcc/testsuite/c-c++-common/ubsan/pr56917.c
  277b1083be8186921fac899c35d1f83a  gcc/testsuite/c-c++-common/ubsan/pr56956.c
  e229f42e8220b3ff0c068855f57a5b9b  gcc/testsuite/c-c++-common/ubsan/pr58443-1.c
*************** ca578f19b2d380be0549cc9c2f904f2e  gcc/te
*** 11682,11687 ****
--- 11687,11694 ----
  d8a86369c88b1e698b51da5f95da9c9b  gcc/testsuite/g++.dg/conversion/qual3.C
  eb243a0f27cded7003b7b6eecd96f5d2  gcc/testsuite/g++.dg/conversion/real-to-int1.C
  53724dc0cd699d864fc77299b7051204  gcc/testsuite/g++.dg/conversion/ref1.C
+ 73fa4811a4b520eb8c9a90e81946664f  gcc/testsuite/g++.dg/conversion/ref10.C
+ 8814956216a4da6e964e3d3f16ed2170  gcc/testsuite/g++.dg/conversion/ref11.C
  af773a52f134a886314eae7065bee26e  gcc/testsuite/g++.dg/conversion/ref2.C
  b80ab713758c51e69280fe2ae2dee7c9  gcc/testsuite/g++.dg/conversion/ref3.C
  407bbe8b3c959a948fc7df986c991e76  gcc/testsuite/g++.dg/conversion/ref4.C
*************** cb41fef7448625fa4e0c8fd96e24fc4d  gcc/te
*** 11762,11769 ****
--- 11769,11780 ----
  6f5627b19b794cfdd383607165c8ad4e  gcc/testsuite/g++.dg/coroutines/coro1-refs-and-ctors.h
  6487c0454968e62ff493f215450a35cc  gcc/testsuite/g++.dg/coroutines/coro1-ret-int-yield-int.h
  0338cdb719c46fedef7227899cb0ad47  gcc/testsuite/g++.dg/coroutines/coroutines.exp
+ c3400c7cd98281b570bf893a90a079d9  gcc/testsuite/g++.dg/coroutines/pr100772-a.C
+ 20ff89f3e9d7d2dac356dd8e9d1b88cd  gcc/testsuite/g++.dg/coroutines/pr100772-b.C
+ 3b7900c34ea0474d337aa825a01675c2  gcc/testsuite/g++.dg/coroutines/pr101765.C
  5a6ab803d16d71889bbcfbe081300785  gcc/testsuite/g++.dg/coroutines/pr102454.C
  85cc1b4c4f0e73f17a81693bed3275fa  gcc/testsuite/g++.dg/coroutines/pr103328.C
+ 4be4670ffeb4857d864cfa5cfa5dc16f  gcc/testsuite/g++.dg/coroutines/pr104051.C
  c5029b3ababd909d21fec108130560c2  gcc/testsuite/g++.dg/coroutines/pr106188.C
  cbb42d13b1660a8eb1d40a3d88308140  gcc/testsuite/g++.dg/coroutines/pr93458-1-missing-traits.C
  d9151fc224e4913ed7ffacd748769917  gcc/testsuite/g++.dg/coroutines/pr93458-2-bad-traits.C
*************** c9053b02ff32311dfd9d7b646bb29551  gcc/te
*** 11815,11820 ****
--- 11826,11832 ----
  f095b3e5361e6b39aaa76b256225bae8  gcc/testsuite/g++.dg/coroutines/pr98118.C
  13e8e708074a4e784b2756a16cffac95  gcc/testsuite/g++.dg/coroutines/pr98480.C
  24170bfffebf70344e3511fba162c10d  gcc/testsuite/g++.dg/coroutines/pr99047.C
+ a52a8d452461422c8ad1bacec0e8c15f  gcc/testsuite/g++.dg/coroutines/pr99710.C
  e5855150057a1e681eabe6c4c4c37e4d  gcc/testsuite/g++.dg/coroutines/ramp-return-a.C
  695b11618163db1e2b396417d78f1fa9  gcc/testsuite/g++.dg/coroutines/ramp-return-b.C
  91d4b87670d3ca11ec1c3b3225271fc4  gcc/testsuite/g++.dg/coroutines/ramp-return-c.C
*************** ca26ad5278a2ac2347db2c2a451bdddf  gcc/te
*** 12871,12876 ****
--- 12883,12889 ----
  3c3ad36552189c7402279e37b7b6b485  gcc/testsuite/g++.dg/cpp0x/dependent3.C
  76420e94bb106abb520db142b01ffdcb  gcc/testsuite/g++.dg/cpp0x/depr-copy1.C
  4a822a67b0bd440c48f63f58b5bfe94c  gcc/testsuite/g++.dg/cpp0x/depr-copy2.C
+ 83ee21cd7668d7d0efc97ac677fbe487  gcc/testsuite/g++.dg/cpp0x/depr-copy3.C
  861890614eff3a18d972ae21c8cedb3f  gcc/testsuite/g++.dg/cpp0x/desig1.C
  5b8e06a1ebe55e784146bad7f9381d14  gcc/testsuite/g++.dg/cpp0x/desig2.C
  9325507793124d714ba42d0b77847a70  gcc/testsuite/g++.dg/cpp0x/desig3.C
*************** eb8899f6095da627d668fbc099e59316  gcc/te
*** 13186,13191 ****
--- 13199,13205 ----
  bcbe398391cda8139c8462f46935b7e2  gcc/testsuite/g++.dg/cpp0x/initlist-opt.C
  e572423dbc63856346f68c0f83dab54a  gcc/testsuite/g++.dg/cpp0x/initlist-overload1.C
  a054a7d4e96233b7a3a6591843a8d33f  gcc/testsuite/g++.dg/cpp0x/initlist-pmf1.C
+ e70a37b0380879fb9f684c853b35a78a  gcc/testsuite/g++.dg/cpp0x/initlist-pmf2.C
  e3ec7ab89d20e6ccf50aa92954896f07  gcc/testsuite/g++.dg/cpp0x/initlist-postfix-open-square.C
  1b5c7e432be89c3edcbfaad424a2e353  gcc/testsuite/g++.dg/cpp0x/initlist-protected.C
  fd02e573e3be3d0a146192cd840840a1  gcc/testsuite/g++.dg/cpp0x/initlist-pure.C
*************** cd0880983dc32cb469f470728ae8b22b  gcc/te
*** 13374,13379 ****
--- 13388,13394 ----
  1d85414b94d2d104004fc7341b90a896  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
  26a3a7d7fa8662de4df1454d0f3eea85  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const10.C
  692c149205d32e7263c8778ba131c9dc  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C
+ 99ebbe9d836593c488474457d9b14620  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C
  64bc761abc3783521fdfb26f930f3410  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C
  e513b4dcc45e6063745c03c7c99151fa  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const3.C
  1ced7b3231f38cc9948cc247893ffec1  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const4.C
*************** d0df5cd0a2632cf9b66f18aec0cc6e21  gcc/te
*** 13693,13698 ****
--- 13708,13714 ----
  dd169c18a4c3d9571a259e67ef8648ef  gcc/testsuite/g++.dg/cpp0x/noexcept73.C
  12fa60794a927f2fea0965155d13a228  gcc/testsuite/g++.dg/cpp0x/noexcept74.C
  1f3e552c43d920f75b1dde7450f0be06  gcc/testsuite/g++.dg/cpp0x/noexcept74a.C
+ 640bcc6d84918140414a88703d7920cb  gcc/testsuite/g++.dg/cpp0x/noexcept78.C
  3bf83ccb654cedbb57a45851fb14aa9d  gcc/testsuite/g++.dg/cpp0x/nolinkage1.C
  6b7c91b931bbdacbbffbf9b90a79bc6a  gcc/testsuite/g++.dg/cpp0x/nolinkage1.h
  c92e0eda44dd6b3d74960b249fa5204f  gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc
*************** cdc2dd8446367df53617b11c9a86394a  gcc/te
*** 13711,13716 ****
--- 13727,13733 ----
  cb5b10af278fbafac78a6d53829b3d37  gcc/testsuite/g++.dg/cpp0x/not_special.C
  e950526c0d7127f5718072cb9366641e  gcc/testsuite/g++.dg/cpp0x/nsdmi-aggr1.C
  94c644ef2cfc0af0de150c6699b774ed  gcc/testsuite/g++.dg/cpp0x/nsdmi-anon-struct1.C
+ f570e39b0271d39d9cdde0565b1fe390  gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C
  333540e9a24be2138a5f0577b985d91d  gcc/testsuite/g++.dg/cpp0x/nsdmi-const1.C
  8d47330d250732b4512c767f7e3de3c4  gcc/testsuite/g++.dg/cpp0x/nsdmi-defer1.C
  4e737e4950688a6f722d97a47d7cf157  gcc/testsuite/g++.dg/cpp0x/nsdmi-defer2.C
*************** f900a961724b234dbae2b1dd5e2b9ae6  gcc/te
*** 13746,13751 ****
--- 13763,13769 ----
  93773e99f41e047cdb20c1fb229d81d2  gcc/testsuite/g++.dg/cpp0x/nsdmi-template21a.C
  dc4bd68cb1e4dc039dc569a75085b940  gcc/testsuite/g++.dg/cpp0x/nsdmi-template22.C
  0701f9d0d2b24244ead57a63737e416c  gcc/testsuite/g++.dg/cpp0x/nsdmi-template23.C
+ 65478d57f79f449d69bf39745b25b93f  gcc/testsuite/g++.dg/cpp0x/nsdmi-template25.C
  a4838f227c782d1dc8cc894a19deb0d1  gcc/testsuite/g++.dg/cpp0x/nsdmi-template3.C
  ecc55c2acf604366d5eab66ebf6a29dd  gcc/testsuite/g++.dg/cpp0x/nsdmi-template4.C
  2df81a05f5de27f3cb083ad4a290512a  gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C
*************** ca10f046e47ea09ba5b87084372f1ce2  gcc/te
*** 15351,15356 ****
--- 15369,15375 ----
  c5e8ac858eac19a1f1f10709e9b49389  gcc/testsuite/g++.dg/cpp1z/aligned-new7.C
  1c005f415746635350d5fd1bf3068b93  gcc/testsuite/g++.dg/cpp1z/aligned-new8.C
  91a3b7a59ec3f2f070c0cc2e24a851b2  gcc/testsuite/g++.dg/cpp1z/aligned-new9.C
+ dea62fa85e86450c80389ea639cb2473  gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C
  15f78f24e2133987caada47dbd4501b6  gcc/testsuite/g++.dg/cpp1z/attr-lambda1.C
  34121807f233280bd4b9ceb565c64cf6  gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C
  a6e3099890bf75adfc276a625b3b0e3f  gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C
*************** c19f90a6b67cea2957e319db88a63ee3  gcc/te
*** 15593,15599 ****
  63be3b6d75aa3c2c8088552683d5245e  gcc/testsuite/g++.dg/cpp1z/eval-order10.C
  3abc6084e572264410718d38beb290bb  gcc/testsuite/g++.dg/cpp1z/eval-order11.C
  bb194d9ce590c9e5e69935ebac0f25e4  gcc/testsuite/g++.dg/cpp1z/eval-order2.C
! 89fdd37f4580457e23eeb34adcf4d4e0  gcc/testsuite/g++.dg/cpp1z/eval-order3.C
  6d8d378fedaf65b4cb89952060799280  gcc/testsuite/g++.dg/cpp1z/eval-order4.C
  56af6596678e014cdf3ef38d1427358f  gcc/testsuite/g++.dg/cpp1z/eval-order5.C
  f6da488c72cf7236fa560fcdd857f03e  gcc/testsuite/g++.dg/cpp1z/eval-order6.C
--- 15612,15618 ----
  63be3b6d75aa3c2c8088552683d5245e  gcc/testsuite/g++.dg/cpp1z/eval-order10.C
  3abc6084e572264410718d38beb290bb  gcc/testsuite/g++.dg/cpp1z/eval-order11.C
  bb194d9ce590c9e5e69935ebac0f25e4  gcc/testsuite/g++.dg/cpp1z/eval-order2.C
! 8b89dee7164b6f4d992706e5b85433f4  gcc/testsuite/g++.dg/cpp1z/eval-order3.C
  6d8d378fedaf65b4cb89952060799280  gcc/testsuite/g++.dg/cpp1z/eval-order4.C
  56af6596678e014cdf3ef38d1427358f  gcc/testsuite/g++.dg/cpp1z/eval-order5.C
  f6da488c72cf7236fa560fcdd857f03e  gcc/testsuite/g++.dg/cpp1z/eval-order6.C
*************** a97faaabc3ad077a0c916a25784bae51  gcc/te
*** 15752,15757 ****
--- 15771,15777 ----
  c621c0bd6807d2ddfd41755033d7b5d3  gcc/testsuite/g++.dg/cpp1z/nontype2.C
  ae3e1959f85f05c9ec509a6dbdbe24ca  gcc/testsuite/g++.dg/cpp1z/nontype3.C
  97b68e1efbd20ee3ef9eee20ccf717b4  gcc/testsuite/g++.dg/cpp1z/nontype3a.C
+ 86d3c074d77c88bd7ef317faea9d2968  gcc/testsuite/g++.dg/cpp1z/pr115440.C
  e668ace19a2b0d8946e0e19fd8317af1  gcc/testsuite/g++.dg/cpp1z/pr78771.C
  bc5edc17d9b70d77a054dd4736a66223  gcc/testsuite/g++.dg/cpp1z/pr79143.C
  07da6d9fdd2eb774e9b4b1d81aaca836  gcc/testsuite/g++.dg/cpp1z/pr81016.C
*************** fdfceca1c064eeb01d47f6a29cee1f95  gcc/te
*** 15831,15836 ****
--- 15851,15857 ----
  3ad5e93951baf0d22ea016ff9e7e5647  gcc/testsuite/g++.dg/cpp2a/bit-cast1.C
  a3d09682b891e46d2909fa15e90968be  gcc/testsuite/g++.dg/cpp2a/bit-cast10.C
  fc2669bf6c2d9f293b18029e7572dc94  gcc/testsuite/g++.dg/cpp2a/bit-cast15.C
+ b21ee39782e659d8a55e03a67e8f3d2a  gcc/testsuite/g++.dg/cpp2a/bit-cast16.C
  1a2fa5e09ce4afea93f8549367941793  gcc/testsuite/g++.dg/cpp2a/bit-cast2.C
  4cd9a6c75b7b9c06d500d33a4b70e045  gcc/testsuite/g++.dg/cpp2a/bit-cast3.C
  43041147b254e878b1962b35b230ff79  gcc/testsuite/g++.dg/cpp2a/bit-cast4.C
*************** ac4c42a0f2fd071297e154c82dd3e5cc  gcc/te
*** 16163,16168 ****
--- 16184,16191 ----
  427561cea6003909c32f28fbe3d276c7  gcc/testsuite/g++.dg/cpp2a/concepts-ttp1.C
  e9afe83f998c36b2fb7c1f09347d0bde  gcc/testsuite/g++.dg/cpp2a/concepts-ttp2.C
  9fd760dc32683991c1046ee2a7769a0f  gcc/testsuite/g++.dg/cpp2a/concepts-ttp4.C
+ 88c3dc6cebb92ccd4e70aff54871edad  gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C
+ 14dc8338f97cc1b6792145fdfa5edade  gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C
  12bfd0f0b99ab93e9f3c3ea3610ad8db  gcc/testsuite/g++.dg/cpp2a/concepts-uneval1.C
  728cf90d57c99021cb85c6b8dd9ffa5e  gcc/testsuite/g++.dg/cpp2a/concepts-uneval2.C
  b06aea4ef34a1015ed525413558ddac0  gcc/testsuite/g++.dg/cpp2a/concepts-uneval4.C
*************** c97b36f101808a4d1b88e966d08df228  gcc/te
*** 16866,16872 ****
  2c571572a5d9948808d5c737071aa994  gcc/testsuite/g++.dg/debug/dwarf2/pr80234-1.C
  faf5c36abd2cfa3ad2cff3321cf391cf  gcc/testsuite/g++.dg/debug/dwarf2/pr80234-2.C
  4ee1bfe8771af7455053744f7fbfacc8  gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C
! 5de08163e6802415b19e2d6aeb632428  gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C
  2ccdefbe0960011d93e7b256421df22a  gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C
  d7ed5be36e8ab58d3d73c325b6ec84ab  gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C
  6bacb72669961d72ae42d4e8ef6f3235  gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C
--- 16889,16895 ----
  2c571572a5d9948808d5c737071aa994  gcc/testsuite/g++.dg/debug/dwarf2/pr80234-1.C
  faf5c36abd2cfa3ad2cff3321cf391cf  gcc/testsuite/g++.dg/debug/dwarf2/pr80234-2.C
  4ee1bfe8771af7455053744f7fbfacc8  gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C
! 55c05ba87fa91d96f3105fd4979a0d4d  gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C
  2ccdefbe0960011d93e7b256421df22a  gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C
  d7ed5be36e8ab58d3d73c325b6ec84ab  gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C
  6bacb72669961d72ae42d4e8ef6f3235  gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C
*************** a0ac13a0885ee162c972f58ffbd934e7  gcc/te
*** 16936,16941 ****
--- 16959,16965 ----
  c805656a195d9a98cc7141e7db52d9ef  gcc/testsuite/g++.dg/debug/nullptr01.C
  57e21034689a45ffd010ec86b2596de5  gcc/testsuite/g++.dg/debug/pr106261.C
  19de4ef7373a891f957af0121c166d89  gcc/testsuite/g++.dg/debug/pr108967.C
+ 439ff10a4604a58789ca26c49c50f8ab  gcc/testsuite/g++.dg/debug/pr110295.C
  fcdc9d29f34ff56d1b7de0d55a1eaed7  gcc/testsuite/g++.dg/debug/pr15736.cc
  d25b84553c2083b28615202497b8f94a  gcc/testsuite/g++.dg/debug/pr16792.C
  91880dfb66fda0db4ddabf486346b755  gcc/testsuite/g++.dg/debug/pr22514.C
*************** b6c134d4646b46725f8f4f231df5349f  gcc/te
*** 17604,17609 ****
--- 17628,17634 ----
  df4711200e4e7cd7c5366aa4bdd29d74  gcc/testsuite/g++.dg/ext/attrib61.C
  7fcf8dcb8e15b7e121eaede34f3aedfa  gcc/testsuite/g++.dg/ext/attrib62.C
  c992ba90cd524ff973d2e06226c41bfa  gcc/testsuite/g++.dg/ext/attrib64.C
+ 1d6aa4b155d2e2ee76db642f389b5463  gcc/testsuite/g++.dg/ext/attrib68.C
  7af1e9265de26187b4a3a3880f99ac11  gcc/testsuite/g++.dg/ext/attrib7.C
  23c4a640241391acec5a1fd2c3fa5f25  gcc/testsuite/g++.dg/ext/attrib8.C
  db629587302d47a98b453a1702e900c9  gcc/testsuite/g++.dg/ext/attrib9.C
*************** b579998c84a7b6c9374dbdc81f28e45a  gcc/te
*** 17911,17916 ****
--- 17936,17942 ----
  76eb31665e6c2034d39a3a88d38ad3b1  gcc/testsuite/g++.dg/ext/is_constructible3.C
  ed04365b57dec8b58125996aefe86234  gcc/testsuite/g++.dg/ext/is_constructible4.C
  dc3385dfd74c1bf2c03d4da78571f637  gcc/testsuite/g++.dg/ext/is_constructible5.C
+ 0fdc603161df17318d861d136ade90c2  gcc/testsuite/g++.dg/ext/is_constructible8.C
  deb5d60ce9955a69d116b30edd2cf933  gcc/testsuite/g++.dg/ext/is_empty.C
  51590a59aaf8715b9fe4a7ae06414cb8  gcc/testsuite/g++.dg/ext/is_empty2.C
  03f82ac5f5b864878fa0ffa4383fa338  gcc/testsuite/g++.dg/ext/is_enum.C
*************** bcf9b6873e48870b8f6014b5da708cd3  gcc/te
*** 17981,17986 ****
--- 18007,18013 ----
  2e29b33d9b093b6a30a0e49d1b42c6c8  gcc/testsuite/g++.dg/ext/packed7.C
  065cff376c58bb925a16845eb3c01ced  gcc/testsuite/g++.dg/ext/packed8.C
  0932ad5ce3e0455a61e5bd35e5ed587a  gcc/testsuite/g++.dg/ext/packed9.C
+ 219625d5165b1dc19f7c5e8fccd607a5  gcc/testsuite/g++.dg/ext/pr114691.C
  210171cdbd9571de1bfd894e6c809efa  gcc/testsuite/g++.dg/ext/pr17577.C
  d017f3273bbed79c882146d070c763a4  gcc/testsuite/g++.dg/ext/pr17577.h
  eb1830f7b92ca604956f6b57b3a6d3f4  gcc/testsuite/g++.dg/ext/pr27019.C
*************** e3920251c1881f799695cd65335b3cac  gcc/te
*** 18103,18108 ****
--- 18130,18137 ----
  265da9fd5c8f508dc7188b306541554d  gcc/testsuite/g++.dg/ext/unroll-1.C
  a7fce0dd60f863364affd6e56b7f245e  gcc/testsuite/g++.dg/ext/unroll-2.C
  285baa853f6386189859dff27a9a3327  gcc/testsuite/g++.dg/ext/unroll-3.C
+ fda65191a1d2d70dc324a6b82fb9f689  gcc/testsuite/g++.dg/ext/unroll-4.C
+ d9dee27db71952e589ab6eb7dd4553b7  gcc/testsuite/g++.dg/ext/unroll-5.C
  28679c5e259c2a169fa3381ab32688b9  gcc/testsuite/g++.dg/ext/uow-1.C
  56fb8e2b89ccd1554be150dc21820262  gcc/testsuite/g++.dg/ext/uow-2.C
  4a9bbd8b307258097b08718cb2af1df3  gcc/testsuite/g++.dg/ext/uow-3.C
*************** a7c093e32d8e0cc08e02c3253748979c  gcc/te
*** 18313,18320 ****
  0db2a2956de58970834889c74f43082d  gcc/testsuite/g++.dg/gcov/gcov-6.C
  6f3a3736784c0de448d6416b0d8f64d8  gcc/testsuite/g++.dg/gcov/gcov-7.C
  35c5d8591ad30e9b50844567554d9973  gcc/testsuite/g++.dg/gcov/gcov-8.C
! 1daf1c411209223b51591e3ac9090bfb  gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
! 7def4ed5b129018a31fbca4ad8fd6300  gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
  7c98164def1e3b4af2573a0cde4a581e  gcc/testsuite/g++.dg/gcov/gcov-threads-1.C
  03ad48bbeb7dd85884131d311266dac2  gcc/testsuite/g++.dg/gcov/gcov.exp
  f1179ddefb9d0f823abc3eb9c07a73a1  gcc/testsuite/g++.dg/gcov/gcov.py
--- 18342,18349 ----
  0db2a2956de58970834889c74f43082d  gcc/testsuite/g++.dg/gcov/gcov-6.C
  6f3a3736784c0de448d6416b0d8f64d8  gcc/testsuite/g++.dg/gcov/gcov-7.C
  35c5d8591ad30e9b50844567554d9973  gcc/testsuite/g++.dg/gcov/gcov-8.C
! e60d3e80695d06d312beddeaaaa4af1d  gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
! 8d7f3725599edc040c38551cce2d1dfb  gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
  7c98164def1e3b4af2573a0cde4a581e  gcc/testsuite/g++.dg/gcov/gcov-threads-1.C
  03ad48bbeb7dd85884131d311266dac2  gcc/testsuite/g++.dg/gcov/gcov.exp
  f1179ddefb9d0f823abc3eb9c07a73a1  gcc/testsuite/g++.dg/gcov/gcov.py
*************** e94377182a1dedb230f53db874897364  gcc/te
*** 21156,21161 ****
--- 21185,21191 ----
  b5ea3678b95f88606bb0d37ee1f58a68  gcc/testsuite/g++.dg/opt/nrv19.C
  360692bdb55de35cb68717ceb6c51fd7  gcc/testsuite/g++.dg/opt/nrv2.C
  b95995f2a1b93421818fb349cdf03d17  gcc/testsuite/g++.dg/opt/nrv20.C
+ 936df169dd4333b7cef52b2f3f90736e  gcc/testsuite/g++.dg/opt/nrv22.C
  42adcc800d5d2029a2b831e1453e8f32  gcc/testsuite/g++.dg/opt/nrv3.C
  b2773b15109a2fc43572a97edf29b236  gcc/testsuite/g++.dg/opt/nrv4.C
  13481653ab41a707cb4c4eed2199c57f  gcc/testsuite/g++.dg/opt/nrv5.C
*************** d9064b328bf2156a9e67df26156ec572  gcc/te
*** 22518,22523 ****
--- 22548,22558 ----
  d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/g++.dg/pch/empty.Hs
  0fe6f1480902d6dccb349304faa9020c  gcc/testsuite/g++.dg/pch/externc-1.C
  51038396a6c08ae383fd050b30653dab  gcc/testsuite/g++.dg/pch/externc-1.Hs
+ 5be7746567e234436e429f155b44a81c  gcc/testsuite/g++.dg/pch/line-map-1.C
+ 29dd06c9a93f1d28d7d1b11b164a7efe  gcc/testsuite/g++.dg/pch/line-map-1.Hs
+ 2c0817d088bccb3d2e72fe1a30899a59  gcc/testsuite/g++.dg/pch/line-map-2.C
+ 29dd06c9a93f1d28d7d1b11b164a7efe  gcc/testsuite/g++.dg/pch/line-map-2.Hs
+ 29dd06c9a93f1d28d7d1b11b164a7efe  gcc/testsuite/g++.dg/pch/line-map-3.Hs
  3456d98b10198c0bf9091088ba05d0f0  gcc/testsuite/g++.dg/pch/local-1.C
  1b5d28bf11bae4996001396e1ffe083b  gcc/testsuite/g++.dg/pch/local-1.Hs
  f9271dce9d7980fa8b426246ec2b9126  gcc/testsuite/g++.dg/pch/operator-1.C
*************** e93f073f61a42e3c7ad372625dbf5491  gcc/te
*** 24122,24127 ****
--- 24157,24163 ----
  8fa3e6c96fba6376bb082c7c80573236  gcc/testsuite/g++.dg/template/template-keyword1.C
  ce80dbc40069cd081d8488c206d6b2a6  gcc/testsuite/g++.dg/template/template-keyword2.C
  7a5cfa5591c26dfb9185c5152c9bc9b0  gcc/testsuite/g++.dg/template/template-keyword3.C
+ 36a70397cd191de4eab2d5c0cd223bb2  gcc/testsuite/g++.dg/template/template-keyword4.C
  2633475e196e36c058cf618a862c925f  gcc/testsuite/g++.dg/template/this-targ1.C
  f9dface1543c62e1ed5a293679ac47da  gcc/testsuite/g++.dg/template/ttp-derived1.C
  d295175d2a75128bac0554e17b63735a  gcc/testsuite/g++.dg/template/ttp-derived2.C
*************** ce4f8106ed96ef070bead8ca0df02eea  gcc/te
*** 24484,24489 ****
--- 24520,24526 ----
  fab1470d87fc879a4a285622c057b736  gcc/testsuite/g++.dg/torture/init-list1.C
  4054dd6c177ca7971902e3ac60e34695  gcc/testsuite/g++.dg/torture/ipa-cp-1.C
  dd60ebe4e09cf5edd91dd360bcbcba8e  gcc/testsuite/g++.dg/torture/ppc-ldst-array.C
+ 3a32f1508211597859da662863730a83  gcc/testsuite/g++.dg/torture/pr100303.C
  ae9c2124c5383beeccdcf4ac2d3bcbd0  gcc/testsuite/g++.dg/torture/pr10148.C
  3fd9794b761154c19e5b03ca7b0727a1  gcc/testsuite/g++.dg/torture/pr102505.C
  674377855743be77a442d6fe11fc86e1  gcc/testsuite/g++.dg/torture/pr103361.C
*************** d53f4a36bfd00298b6b687881aad6861  gcc/te
*** 24943,24948 ****
--- 24980,24987 ----
  5afe578074ff640a77903318faea8e72  gcc/testsuite/g++.dg/torture/str_empty.C
  42e128b3145495bd2df35c3cdcc684ac  gcc/testsuite/g++.dg/torture/tail-padding1.C
  0b01f7feb325a8c1dfd3c796eab53860  gcc/testsuite/g++.dg/torture/type-generic-1.C
+ ed87f64357e7fd49760145e5c345491d  gcc/testsuite/g++.dg/torture/vector-struct-1.C
+ 451c0082f351cdec594741735d086495  gcc/testsuite/g++.dg/torture/vector-subaccess-1.C
  164b3eb60b0c717428d0673a23922dfc  gcc/testsuite/g++.dg/torture/vshuf-16.inc
  8fd97d6fa085ab3269af65b200d61e8e  gcc/testsuite/g++.dg/torture/vshuf-2.inc
  b2babbab3621a6f7af5eb2dde02e14e8  gcc/testsuite/g++.dg/torture/vshuf-4.inc
*************** ec1873d6dd21d2c7cc0b6215931efed0  gcc/te
*** 25359,25364 ****
--- 25398,25404 ----
  5cc7bcb3384dda5ac9ed1595171888bf  gcc/testsuite/g++.dg/vect/pr105053.cc
  13bc7912af5a3fc0b482bebcd1a313b8  gcc/testsuite/g++.dg/vect/pr105437.cc
  c378ba928bee729112b705d875e7738f  gcc/testsuite/g++.dg/vect/pr109573.cc
+ a774f9ba94df372c6d30a93f182668b8  gcc/testsuite/g++.dg/vect/pr112793.cc
  02ab0e7dea4c30ddeaecb971c0b8241e  gcc/testsuite/g++.dg/vect/pr19951.cc
  e7c5a636a280962b70166d1494223f9c  gcc/testsuite/g++.dg/vect/pr21218.cc
  9a0a6f56bdb2cc697abc78c901418a19  gcc/testsuite/g++.dg/vect/pr21734_1.cc
*************** bc255ba4628b94d5377f0ba915ad26da  gcc/te
*** 29679,29687 ****
  c3abd0fb44ca490064aaa6988814d40c  gcc/testsuite/g++.target/i386/mv26.C
  203c2fb05767e713a362682a2dcedfc7  gcc/testsuite/g++.target/i386/mv27.C
  015182fced49b5ec2160104b1e1fcfd5  gcc/testsuite/g++.target/i386/mv28.C
! dac0893381524d0f9aaec2e84e62637f  gcc/testsuite/g++.target/i386/mv29.C
  bad9a677892adffe2c45653797aad55c  gcc/testsuite/g++.target/i386/mv3.C
! fa451153638d7156cf73160e572eb5b1  gcc/testsuite/g++.target/i386/mv31.C
  253207ecb3f4d04076efa9253026fa4c  gcc/testsuite/g++.target/i386/mv4.C
  dc39143004995c38b524d1b929c9c96c  gcc/testsuite/g++.target/i386/mv5.C
  01094409b78d48ec67bbf367448ecc93  gcc/testsuite/g++.target/i386/mv6.C
--- 29719,29727 ----
  c3abd0fb44ca490064aaa6988814d40c  gcc/testsuite/g++.target/i386/mv26.C
  203c2fb05767e713a362682a2dcedfc7  gcc/testsuite/g++.target/i386/mv27.C
  015182fced49b5ec2160104b1e1fcfd5  gcc/testsuite/g++.target/i386/mv28.C
! 3dc8383e8aa0e822e68ee82dc2cbbc5f  gcc/testsuite/g++.target/i386/mv29.C
  bad9a677892adffe2c45653797aad55c  gcc/testsuite/g++.target/i386/mv3.C
! 6c2437562ef96defbdcf21aa49f5676f  gcc/testsuite/g++.target/i386/mv31.C
  253207ecb3f4d04076efa9253026fa4c  gcc/testsuite/g++.target/i386/mv4.C
  dc39143004995c38b524d1b929c9c96c  gcc/testsuite/g++.target/i386/mv5.C
  01094409b78d48ec67bbf367448ecc93  gcc/testsuite/g++.target/i386/mv6.C
*************** a621b799eff193996043d9d5462e5c27  gcc/te
*** 29744,29749 ****
--- 29784,29792 ----
  b3b6e31577bc973ad6e12e7336213059  gcc/testsuite/g++.target/nios2/nios2.exp
  fa8aa783bcf6fa703e7e93442b148996  gcc/testsuite/g++.target/powerpc/powerpc.exp
  a873678a5188427c7ceb88e3a408ce84  gcc/testsuite/g++.target/powerpc/pr101322.C
+ 52ec25547d922533a11b2b87bda1ef47  gcc/testsuite/g++.target/powerpc/pr105325.C
+ ea50428d09d0e781698b21023398bfee  gcc/testsuite/g++.target/powerpc/pr110741.C
+ 92cbd869a66e265db57a505d568038a0  gcc/testsuite/g++.target/powerpc/pr111367.C
  63b698681e4a076eb88feccb3e6373df  gcc/testsuite/g++.target/powerpc/pr94707-1.C
  75c93ba90b3ca18a6d5c5264e2816651  gcc/testsuite/g++.target/powerpc/pr94707-2.C
  a63f2ade84bc38838f3986dfc4bc9d85  gcc/testsuite/g++.target/powerpc/pr94707-3.C
*************** e12df015117953bcc79bb2bd0912de65  gcc/te
*** 30788,30793 ****
--- 30831,30840 ----
  e1a987965f844354ef93e18f546749c9  gcc/testsuite/gcc.c-torture/compile/pr108237.c
  9c6d8cdc69d8f80df1390e153dd3fffc  gcc/testsuite/gcc.c-torture/compile/pr108596.c
  531e04fb4e7100e6b28bab7727b5ce6b  gcc/testsuite/gcc.c-torture/compile/pr108688-1.c
+ bbe3ff8274dae6d3f21cbdb4fa780c91  gcc/testsuite/gcc.c-torture/compile/pr110386-1.c
+ aac64916588db7f60e87baab1268b8e2  gcc/testsuite/gcc.c-torture/compile/pr110386-2.c
+ ca66c7f74573d2e86d4d649aa258e0e5  gcc/testsuite/gcc.c-torture/compile/pr111699-1.c
+ 597d2b1dda1b08561fbe83f15c76f510  gcc/testsuite/gcc.c-torture/compile/pr113603.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
  86f3d5cf87d24e97aa663b79f2d0ac5d  gcc/testsuite/gcc.c-torture/compile/pr12899.c
*************** a5b5957138d71ec5e7dbb1056f5b6cf4  gcc/te
*** 32821,32827 ****
--- 32868,32882 ----
  6b9abb094fcd9b7fa8d30c4251026072  gcc/testsuite/gcc.c-torture/execute/pr106032.c
  154a19663c66fcea6a49b6718c685882  gcc/testsuite/gcc.c-torture/execute/pr108498-1.c
  ee35df6bcc12c95f226b88f0d72b377d  gcc/testsuite/gcc.c-torture/execute/pr108498-2.c
+ 51a0035891ee3cb8a4d201e8c3d3f1ed  gcc/testsuite/gcc.c-torture/execute/pr108789.c
  23cbbe0d93f89048f8d1ce1883e61ac2  gcc/testsuite/gcc.c-torture/execute/pr109778.c
+ 656d590b25f1c491ea39b7de2cc2a90c  gcc/testsuite/gcc.c-torture/execute/pr110115.c
+ 914ecbceb55b6e48b491757423749cee  gcc/testsuite/gcc.c-torture/execute/pr110914.c
+ 99085a983bbf5c20a4f1986daa3cad4e  gcc/testsuite/gcc.c-torture/execute/pr111331-1.c
+ db337c00bedfc272ed5edbb6acffed7c  gcc/testsuite/gcc.c-torture/execute/pr111331-2.c
+ e7bc1f52654c430d9ceb1acb868fbc20  gcc/testsuite/gcc.c-torture/execute/pr111331-3.c
+ eefdaed8e6e57c688553667e395d78d3  gcc/testsuite/gcc.c-torture/execute/pr111408.c
+ 9db3e649786fc47229bef9b14997489f  gcc/testsuite/gcc.c-torture/execute/pr111422.c
  7758cb727d75f4fc1c0e483d503de146  gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
  58dc249612dbc918d7fc4010e94deb8d  gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
  d9c36fc850771445c5e4b6ce6dae1a12  gcc/testsuite/gcc.c-torture/execute/pr15262.c
*************** fe9cbf88b57bdd9a5bf9c526284225f4  gcc/te
*** 33321,33326 ****
--- 33376,33382 ----
  4165667509c1985c02a5caebd101614d  gcc/testsuite/gcc.c-torture/execute/pr89826.c
  53efe1f200d3bec24ed00c280584deca  gcc/testsuite/gcc.c-torture/execute/pr90025.c
  d26cfc42f19ac5e3ce4db452fd94f09a  gcc/testsuite/gcc.c-torture/execute/pr90311.c
+ c711c1278b03225361adbb5c537e298a  gcc/testsuite/gcc.c-torture/execute/pr90348.c
  5235b3e2d6dd776b53d6a44ba5933a8a  gcc/testsuite/gcc.c-torture/execute/pr90949.c
  7f239d011b9e98943acdc8e3437ed19c  gcc/testsuite/gcc.c-torture/execute/pr91137.c
  3d5a788c848a67ade7bd18ab62494a1a  gcc/testsuite/gcc.c-torture/execute/pr91450-1.c
*************** dd4df85fe659db1378fda61d87434683  gcc/te
*** 34322,34328 ****
  49f34d122be90ac08b79866dc15f776d  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2a.c
  91071d4bdc9f508d03823383cfe8302a  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3.c
  936c1358c732a05bab2a8932de0b6544  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3a.c
! 0b1c654ffdac2437b7967e0cd8585abe  gcc/testsuite/gcc.dg/analyzer/analyzer.exp
  3d758ecb74d0d9588a9ab65677c2ad84  gcc/testsuite/gcc.dg/analyzer/attr-malloc-1.c
  b4515e65ed785bcd07a7162f6ccb804a  gcc/testsuite/gcc.dg/analyzer/attr-malloc-2.c
  046d0c0ef6b5715f28a641d19c38b314  gcc/testsuite/gcc.dg/analyzer/attr-malloc-4.c
--- 34378,34384 ----
  49f34d122be90ac08b79866dc15f776d  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2a.c
  91071d4bdc9f508d03823383cfe8302a  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3.c
  936c1358c732a05bab2a8932de0b6544  gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3a.c
! 4300436c89625ab9d10be777e68b7114  gcc/testsuite/gcc.dg/analyzer/analyzer.exp
  3d758ecb74d0d9588a9ab65677c2ad84  gcc/testsuite/gcc.dg/analyzer/attr-malloc-1.c
  b4515e65ed785bcd07a7162f6ccb804a  gcc/testsuite/gcc.dg/analyzer/attr-malloc-2.c
  046d0c0ef6b5715f28a641d19c38b314  gcc/testsuite/gcc.dg/analyzer/attr-malloc-4.c
*************** b8a049317908d7e0078316ad82437346  gcc/te
*** 34725,34730 ****
--- 34781,34789 ----
  695fe49bfb0b0c5cd4e60ba1a0f27cf6  gcc/testsuite/gcc.dg/asan/pr105396.c
  1a25dd9cb28d8417a3ce246587233c84  gcc/testsuite/gcc.dg/asan/pr106190.c
  c3b533151735c602f99cd3d2cb415cf8  gcc/testsuite/gcc.dg/asan/pr107317.c
+ ea1638a3bd1b7f87abc2eda6d730213e  gcc/testsuite/gcc.dg/asan/pr110027.c
+ 335e527788f5fd39d280e244ac17b3ef  gcc/testsuite/gcc.dg/asan/pr114956.c
+ 7945c329a8682648ec766560d0d91934  gcc/testsuite/gcc.dg/asan/pr115172.c
  a5e988481cd66b8acf6c610b847cb713  gcc/testsuite/gcc.dg/asan/pr56417.c
  0c13e4008bb665f05b030eb42e43183f  gcc/testsuite/gcc.dg/asan/pr63845.c
  9a45b4bebab3901180dbe2a44efcd070  gcc/testsuite/gcc.dg/asan/pr64170.c
*************** d8fec2fce7b0346ffeb1fbb2bd55d7e5  gcc/te
*** 35330,35335 ****
--- 35389,35395 ----
  3dbfc6cb7eab32d45526a6c027b7c7a2  gcc/testsuite/gcc.dg/c17-version-2.c
  aeb16ae2682d8d01a1d6120c9de5edfd  gcc/testsuite/gcc.dg/c18-version-1.c
  cd00c6feebac836c0ec488202c21d6a7  gcc/testsuite/gcc.dg/c18-version-2.c
+ 1f0cc4ddd44ec4024c75890aef2076e2  gcc/testsuite/gcc.dg/c23-attr-syntax-8.c
  1a6078af67236639a20541935b9c1759  gcc/testsuite/gcc.dg/c2x-attr-deprecated-1.c
  a94bb301958b9a62e50e21c069442512  gcc/testsuite/gcc.dg/c2x-attr-deprecated-2.c
  ec4ce1d7cd47b2d554a69b72933ba06b  gcc/testsuite/gcc.dg/c2x-attr-deprecated-3.c
*************** e3c60516eb9991f352d93d33fde752d3  gcc/te
*** 36531,36540 ****
  3010db4d547a5bce8e8559d5cc724330  gcc/testsuite/gcc.dg/darwin-cfstring-1.c
  e43f7a2f13e87638cc08c97ba7326543  gcc/testsuite/gcc.dg/darwin-cfstring-2.c
  c4152191bf290926b6b747aa4397e015  gcc/testsuite/gcc.dg/darwin-cfstring-format-1.c
! 4b9fbc9c27c43751e8b7c93a99afaabc  gcc/testsuite/gcc.dg/darwin-comm-1.c
  7e6cf48347ff53c1f9c509b921aceb22  gcc/testsuite/gcc.dg/darwin-comm.c
  b477cca030ba86435b074a334ee9bfd0  gcc/testsuite/gcc.dg/darwin-ld-1.c
! 4ac76811f1a6c80f6dc5191396c37748  gcc/testsuite/gcc.dg/darwin-ld-2.c
  9fa876cce008f5a8d26340933a0e3295  gcc/testsuite/gcc.dg/darwin-ld-20040809-1.c
  e62d76045ed903e34f34747bee80da98  gcc/testsuite/gcc.dg/darwin-ld-20040809-2.c
  37137f00ef98856229916ab1efa4960c  gcc/testsuite/gcc.dg/darwin-ld-20040828-1.c
--- 36591,36600 ----
  3010db4d547a5bce8e8559d5cc724330  gcc/testsuite/gcc.dg/darwin-cfstring-1.c
  e43f7a2f13e87638cc08c97ba7326543  gcc/testsuite/gcc.dg/darwin-cfstring-2.c
  c4152191bf290926b6b747aa4397e015  gcc/testsuite/gcc.dg/darwin-cfstring-format-1.c
! f6fc7e2ea2fa3bb9082daec81d56aeff  gcc/testsuite/gcc.dg/darwin-comm-1.c
  7e6cf48347ff53c1f9c509b921aceb22  gcc/testsuite/gcc.dg/darwin-comm.c
  b477cca030ba86435b074a334ee9bfd0  gcc/testsuite/gcc.dg/darwin-ld-1.c
! 2bf757e63fd40f62dbd7f7ae31ebbf00  gcc/testsuite/gcc.dg/darwin-ld-2.c
  9fa876cce008f5a8d26340933a0e3295  gcc/testsuite/gcc.dg/darwin-ld-20040809-1.c
  e62d76045ed903e34f34747bee80da98  gcc/testsuite/gcc.dg/darwin-ld-20040809-2.c
  37137f00ef98856229916ab1efa4960c  gcc/testsuite/gcc.dg/darwin-ld-20040828-1.c
*************** ee94511375797117140ca777fd1695b1  gcc/te
*** 36555,36563 ****
  704c9a2dca0a451cca6e5855f7f2347f  gcc/testsuite/gcc.dg/darwin-minversion-7.c
  5a8b775f8ce1e0cafb8782fbc39b58e4  gcc/testsuite/gcc.dg/darwin-minversion-8.c
  aa9dfa39c42ef65a88c0a708412fb842  gcc/testsuite/gcc.dg/darwin-minversion-9.c
! 9dbaa15e2b1a56ec7afc29c9929eedab  gcc/testsuite/gcc.dg/darwin-minversion-link.c
  b66bb093837bda7692b73c8aa9711e00  gcc/testsuite/gcc.dg/darwin-sections.c
! 3cfa6daebed9a12884613012f50433e4  gcc/testsuite/gcc.dg/darwin-segaddr.c
  e3d2d2840d7d23dee7e2cd94e097a114  gcc/testsuite/gcc.dg/darwin-version-1.c
  9145b589b54240035dacb7540309d62e  gcc/testsuite/gcc.dg/darwin-weakimport-1.c
  bda7de2e2fd6472aa3ffe7873407e58d  gcc/testsuite/gcc.dg/darwin-weakimport-2.c
--- 36615,36623 ----
  704c9a2dca0a451cca6e5855f7f2347f  gcc/testsuite/gcc.dg/darwin-minversion-7.c
  5a8b775f8ce1e0cafb8782fbc39b58e4  gcc/testsuite/gcc.dg/darwin-minversion-8.c
  aa9dfa39c42ef65a88c0a708412fb842  gcc/testsuite/gcc.dg/darwin-minversion-9.c
! 956d9c5ca31de05aa49da3cb99f3d4ef  gcc/testsuite/gcc.dg/darwin-minversion-link.c
  b66bb093837bda7692b73c8aa9711e00  gcc/testsuite/gcc.dg/darwin-sections.c
! f7857b3d082c7452ee5a60411d5f02bc  gcc/testsuite/gcc.dg/darwin-segaddr.c
  e3d2d2840d7d23dee7e2cd94e097a114  gcc/testsuite/gcc.dg/darwin-version-1.c
  9145b589b54240035dacb7540309d62e  gcc/testsuite/gcc.dg/darwin-weakimport-1.c
  bda7de2e2fd6472aa3ffe7873407e58d  gcc/testsuite/gcc.dg/darwin-weakimport-2.c
*************** f30a377973368d1a41bc4f8e2a0e33e9  gcc/te
*** 36642,36648 ****
  f9ab56344241c22521f8d9245e677c22  gcc/testsuite/gcc.dg/debug/dwarf2/inline1.c
  47291ca2a7f639676f2662f2d578253f  gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c
  8580bd27cd825c8d49e674c9f31c683c  gcc/testsuite/gcc.dg/debug/dwarf2/inline3.c
! 586e0e8fb83eb0dc0f5b5a3a5b6236bf  gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c
  b024aabf64c74205609d3f981c1e165b  gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c
  40c9e189b7b61e8f4d69ce3f98f98206  gcc/testsuite/gcc.dg/debug/dwarf2/inline6.c
  e7c46c2fc25b3773b6adcbd27af4b924  gcc/testsuite/gcc.dg/debug/dwarf2/ipa-cp1.c
--- 36702,36708 ----
  f9ab56344241c22521f8d9245e677c22  gcc/testsuite/gcc.dg/debug/dwarf2/inline1.c
  47291ca2a7f639676f2662f2d578253f  gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c
  8580bd27cd825c8d49e674c9f31c683c  gcc/testsuite/gcc.dg/debug/dwarf2/inline3.c
! 975fb826cc6035cfef2a1cad545f8110  gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c
  b024aabf64c74205609d3f981c1e165b  gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c
  40c9e189b7b61e8f4d69ce3f98f98206  gcc/testsuite/gcc.dg/debug/dwarf2/inline6.c
  e7c46c2fc25b3773b6adcbd27af4b924  gcc/testsuite/gcc.dg/debug/dwarf2/ipa-cp1.c
*************** edee97b42c75ecf594a2c63a31f4c416  gcc/te
*** 36655,36660 ****
--- 36715,36721 ----
  cbcc356a35e8a8665137c7ae64ec5914  gcc/testsuite/gcc.dg/debug/dwarf2/noreturn-function-keyword.c
  937e8a07b611d24efb44f969833a3cb8  gcc/testsuite/gcc.dg/debug/dwarf2/omp-fesdr.c
  54b366032eed667161eee7783123c310  gcc/testsuite/gcc.dg/debug/dwarf2/pr103874.c
+ 5ed4e6ef67f556cf4874685cde9a33d6  gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c
  250736f38c859fc89fb993ad3155eb20  gcc/testsuite/gcc.dg/debug/dwarf2/pr29609-1.c
  8f522ee214d1db3d04f240eb20eb4474  gcc/testsuite/gcc.dg/debug/dwarf2/pr29609-2.c
  43696edd12f5c0c32058d1ad1012e1e8  gcc/testsuite/gcc.dg/debug/dwarf2/pr31230.c
*************** b3f045b532c693bbfb8cfed8c0609564  gcc/te
*** 36708,36713 ****
--- 36769,36775 ----
  69e64f492a931622722ac6c811569e62  gcc/testsuite/gcc.dg/debug/dwarf2/var2.c
  d11dcc4e37738beb9e8be03ce7630c35  gcc/testsuite/gcc.dg/debug/enum-1.c
  3c2a32917edee1c37607a11e5414fbdf  gcc/testsuite/gcc.dg/debug/pr104337.c
+ 30ce98ab2ad9e598ef0db6491350f738  gcc/testsuite/gcc.dg/debug/pr112718.c
  bdf39999a5a7a4c7b1459600dff4ff14  gcc/testsuite/gcc.dg/debug/pr16676.c
  6f8e864ca7f9c38a79c3578b2c75101b  gcc/testsuite/gcc.dg/debug/pr26881.c
  feb6dc1d570a59982f88a912985ff2fa  gcc/testsuite/gcc.dg/debug/pr29558.c
*************** a4596c7975a946fa49341b476cdddf3a  gcc/te
*** 37082,37087 ****
--- 37144,37150 ----
  079305f70244f8ded32a0debe8d58694  gcc/testsuite/gcc.dg/float64-typeof.c
  8bb9c44d00a4462a62e271afe65395d9  gcc/testsuite/gcc.dg/float64x-align.c
  43395d2f36b719cad53a2b34ee0c2822  gcc/testsuite/gcc.dg/float64x-typeof.c
+ e50dce809881cd3fe916639e85f3e895  gcc/testsuite/gcc.dg/float_opposite_arm-1.c
  dce4fd47d3f8088f0fcde8e4c014985f  gcc/testsuite/gcc.dg/floatn-align.h
  a7a463105294b90172c7dacacf6dfaab  gcc/testsuite/gcc.dg/floatn-arithconv.c
  bfaa6b3a6e5de108258c8a51ca88aff8  gcc/testsuite/gcc.dg/floatn-errs.c
*************** cfde414df06a7d559244461a11116f3a  gcc/te
*** 37397,37403 ****
  8f37924ff2caad55a30fc496f91e6433  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_2.c
  346d72de410a41c1e4c11801d862b639  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_3.c
  dfe38eb512efba921d1fc5abef411b1a  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_4.c
! efdf83d01ddd79162b4664860b902b22  gcc/testsuite/gcc.dg/framework-1.c
  ab168371521010cab0fb40567190798a  gcc/testsuite/gcc.dg/framework-2.c
  72cddfd9b852c1976438d75d9facbec7  gcc/testsuite/gcc.dg/free-1.c
  b545fd5015b04774ac8c95c87722bfc2  gcc/testsuite/gcc.dg/free-2.c
--- 37460,37466 ----
  8f37924ff2caad55a30fc496f91e6433  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_2.c
  346d72de410a41c1e4c11801d862b639  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_3.c
  dfe38eb512efba921d1fc5abef411b1a  gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_4.c
! f986ed8a378006f958f6b3f89b0dd9f5  gcc/testsuite/gcc.dg/framework-1.c
  ab168371521010cab0fb40567190798a  gcc/testsuite/gcc.dg/framework-2.c
  72cddfd9b852c1976438d75d9facbec7  gcc/testsuite/gcc.dg/free-1.c
  b545fd5015b04774ac8c95c87722bfc2  gcc/testsuite/gcc.dg/free-2.c
*************** d06f7c5820eb923c44d73fa73e63ee5d  gcc/te
*** 38430,38436 ****
  3f06e49cd636df9de21331230b0e59e0  gcc/testsuite/gcc.dg/ipa/ipa-icf-35.c
  4630bb4962c62c86ea5589ff20308a9a  gcc/testsuite/gcc.dg/ipa/ipa-icf-36.c
  ef947bf14a3a516703fe551dea457061  gcc/testsuite/gcc.dg/ipa/ipa-icf-37.c
! 682c8d620b16f64d33f18d73e453a4ae  gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c
  8d25872a618a0cf64f0d344afe44543a  gcc/testsuite/gcc.dg/ipa/ipa-icf-38a.c
  554bb9677c9084721bcca9a42daa5b9a  gcc/testsuite/gcc.dg/ipa/ipa-icf-39.c
  639814886ab7278c2142d218eef816de  gcc/testsuite/gcc.dg/ipa/ipa-icf-4.c
--- 38493,38499 ----
  3f06e49cd636df9de21331230b0e59e0  gcc/testsuite/gcc.dg/ipa/ipa-icf-35.c
  4630bb4962c62c86ea5589ff20308a9a  gcc/testsuite/gcc.dg/ipa/ipa-icf-36.c
  ef947bf14a3a516703fe551dea457061  gcc/testsuite/gcc.dg/ipa/ipa-icf-37.c
! 0848ba2e6621707fb7f0e1ef4099f9cb  gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c
  8d25872a618a0cf64f0d344afe44543a  gcc/testsuite/gcc.dg/ipa/ipa-icf-38a.c
  554bb9677c9084721bcca9a42daa5b9a  gcc/testsuite/gcc.dg/ipa/ipa-icf-39.c
  639814886ab7278c2142d218eef816de  gcc/testsuite/gcc.dg/ipa/ipa-icf-4.c
*************** d9a197240d51bf4b3e98a49de304172c  gcc/te
*** 39374,39385 ****
  762b005a07126544845976067b15ca4d  gcc/testsuite/gcc.dg/pic-4.c
  1310eec5a596f6f3f1034c18543936a3  gcc/testsuite/gcc.dg/pic-macro-define.c
  de302da8d7737a4e96d474e241080339  gcc/testsuite/gcc.dg/pie-1.c
! e85ed22735e235dc5a9457487286d6f0  gcc/testsuite/gcc.dg/pie-2.c
  a1104a3ff24cf683d1a597e325c9f573  gcc/testsuite/gcc.dg/pie-3.c
  d9f2439f176b4f73afa0c30baa468855  gcc/testsuite/gcc.dg/pie-4.c
  17f4008aaadc7db4f869e804d77d753a  gcc/testsuite/gcc.dg/pie-5.c
  0debd1544970fb56a2a4a7828bb92d07  gcc/testsuite/gcc.dg/pie-6.c
! df1fb04645820cce9159c1b05e520fc7  gcc/testsuite/gcc.dg/pie-7.c
  72712f41dcc921ba1827000fc0809a9c  gcc/testsuite/gcc.dg/pie-link.c
  000d3a6c8dca7e54f5be771190d10f29  gcc/testsuite/gcc.dg/pie-static-1.c
  be052bceddbf752586b645bc9e048e9c  gcc/testsuite/gcc.dg/pie-static-2.c
--- 39437,39448 ----
  762b005a07126544845976067b15ca4d  gcc/testsuite/gcc.dg/pic-4.c
  1310eec5a596f6f3f1034c18543936a3  gcc/testsuite/gcc.dg/pic-macro-define.c
  de302da8d7737a4e96d474e241080339  gcc/testsuite/gcc.dg/pie-1.c
! d3b785ef540cb4e67cd67fada4080a39  gcc/testsuite/gcc.dg/pie-2.c
  a1104a3ff24cf683d1a597e325c9f573  gcc/testsuite/gcc.dg/pie-3.c
  d9f2439f176b4f73afa0c30baa468855  gcc/testsuite/gcc.dg/pie-4.c
  17f4008aaadc7db4f869e804d77d753a  gcc/testsuite/gcc.dg/pie-5.c
  0debd1544970fb56a2a4a7828bb92d07  gcc/testsuite/gcc.dg/pie-6.c
! 2db756126636737e343b6e63f0f96fcb  gcc/testsuite/gcc.dg/pie-7.c
  72712f41dcc921ba1827000fc0809a9c  gcc/testsuite/gcc.dg/pie-link.c
  000d3a6c8dca7e54f5be771190d10f29  gcc/testsuite/gcc.dg/pie-static-1.c
  be052bceddbf752586b645bc9e048e9c  gcc/testsuite/gcc.dg/pie-static-2.c
*************** cc6ac8d68c79338a580a123141221e8b  gcc/te
*** 39545,39556 ****
--- 39608,39621 ----
  01d945e452f69cb1fee8b12a879e51c6  gcc/testsuite/gcc.dg/pr105263.c
  c3d8ae3e46240608f001dd6a702ebf0b  gcc/testsuite/gcc.dg/pr105331.c
  df5c854ae6b61ad7980dc609c12732b5  gcc/testsuite/gcc.dg/pr105333.c
+ bfec3f2610558e315de99d8027586521  gcc/testsuite/gcc.dg/pr105522.c
  bd694253207b0e4d0a25d5c16b288b5c  gcc/testsuite/gcc.dg/pr105528.c
  de5d81445ad859074ca4d853ab220c74  gcc/testsuite/gcc.dg/pr106027.c
  289edb9f71d96816c053cd6cf90ff744  gcc/testsuite/gcc.dg/pr106189.c
  c475e08b8000c7ada2ebc07c02d67b0d  gcc/testsuite/gcc.dg/pr106719.c
  d39b4203470156b99b330266683a9790  gcc/testsuite/gcc.dg/pr107107.c
  8dd35121cb6e8e3f018e6f4551ce80b1  gcc/testsuite/gcc.dg/pr107127.c
+ 82f2765c862f6e67c3558ee7cde994d8  gcc/testsuite/gcc.dg/pr107385.c
  d64d53420ac059d0a4813bb6b0e625bd  gcc/testsuite/gcc.dg/pr107554.c
  4b0c665c9ac4f4701760e4205e109f61  gcc/testsuite/gcc.dg/pr108095.c
  c056feceecb1e4c44f6bf01a21cb6e9d  gcc/testsuite/gcc.dg/pr108264.c
*************** e0baf0198b26b94a0e92182918c52449  gcc/te
*** 39558,39565 ****
--- 39623,39650 ----
  58629ccc236a40b8dec9ecfe5aa35f2a  gcc/testsuite/gcc.dg/pr108625.c
  21a62b0e858621e46700af10fbe121e4  gcc/testsuite/gcc.dg/pr108692.c
  8c5ddd68de1ed874eb52f91b7136909e  gcc/testsuite/gcc.dg/pr109410.c
+ f71ef2b2bdb0cce06fa1243f4928e871  gcc/testsuite/gcc.dg/pr110079.c
+ c63f42682a97d6307d214dda47bb00f9  gcc/testsuite/gcc.dg/pr110731.c
+ 5328040ceef0db656025d09af496f06a  gcc/testsuite/gcc.dg/pr111015.c
+ 475fe022000816b6e696beebf8f5bc37  gcc/testsuite/gcc.dg/pr111039.c
+ f09a78bba4729691ffb28aad69085816  gcc/testsuite/gcc.dg/pr111070.c
+ 8a45dfbe070c48845446dc22aab1602b  gcc/testsuite/gcc.dg/pr111407.c
+ f97f1cf6ac420452092fc3fba4203574  gcc/testsuite/gcc.dg/pr112733.c
+ e5517dc2a2e07c9b2472bb545cd5a722  gcc/testsuite/gcc.dg/pr112837.c
+ 6b73a8d375ddff23d86f9f1c9377f381  gcc/testsuite/gcc.dg/pr112845.c
+ da36c4c045a6839485d1209b636f2fa6  gcc/testsuite/gcc.dg/pr113262.c
+ e68a7c7f2d1db31e0e0e0a23960975a7  gcc/testsuite/gcc.dg/pr113907-1.c
+ 12ecf3bc0aab66a39903f50c4a6dfc66  gcc/testsuite/gcc.dg/pr114115.c
+ 7cd5609790e8cb3ba4ad54ccf122a48a  gcc/testsuite/gcc.dg/pr114310.c
+ e99866ca9e56b885a0004e2f573a6158  gcc/testsuite/gcc.dg/pr114493-1.c
+ 94931dbb7cf13d8363b141dd2b96ebdf  gcc/testsuite/gcc.dg/pr114493-2.c
  860f163dcd0b252ea3f85323bc959a7d  gcc/testsuite/gcc.dg/pr11459-1.c
+ 18db873e30d811e6904623797ead2825  gcc/testsuite/gcc.dg/pr114753.c
+ 278b6ea6998e142ef9ecea8b30a97701  gcc/testsuite/gcc.dg/pr114768.c
+ 86c7b688b3835d3cdb63a61f64b1ae73  gcc/testsuite/gcc.dg/pr114876.c
+ 4f24f3d12a3963918c32e40afe158f0a  gcc/testsuite/gcc.dg/pr114902.c
  e164a736918661d669864e3645da290c  gcc/testsuite/gcc.dg/pr11492.c
+ e76a4663621c8d450d2c9d229d63e033  gcc/testsuite/gcc.dg/pr115092.c
  3b83403729a3686d25552352bf0c4577  gcc/testsuite/gcc.dg/pr11864-1.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
*************** b09000e6104e19c4d2e2e0550272c280  gcc/te
*** 41057,41063 ****
  8785ee78f0ecce2b7ef647d29d90cf54  gcc/testsuite/gcc.dg/pr83373.c
  64ee6bfa410f7c1d30c3d7f63402433b  gcc/testsuite/gcc.dg/pr83393.c
  a6e9e544df8c1540a5957852a45004e8  gcc/testsuite/gcc.dg/pr83396.c
! 4f297789c555b06acff0f263a2de4380  gcc/testsuite/gcc.dg/pr83415.c
  ff149ef447478fe287d21948bf94820b  gcc/testsuite/gcc.dg/pr83419.c
  d1d24788f9c8caf0192fc3807eb41608  gcc/testsuite/gcc.dg/pr83422.c
  4cfcf9fb49e0c6531f60ce19ff899760  gcc/testsuite/gcc.dg/pr83424.c
--- 41142,41148 ----
  8785ee78f0ecce2b7ef647d29d90cf54  gcc/testsuite/gcc.dg/pr83373.c
  64ee6bfa410f7c1d30c3d7f63402433b  gcc/testsuite/gcc.dg/pr83393.c
  a6e9e544df8c1540a5957852a45004e8  gcc/testsuite/gcc.dg/pr83396.c
! bed17f1377941c87cc77ed606717aeaa  gcc/testsuite/gcc.dg/pr83415.c
  ff149ef447478fe287d21948bf94820b  gcc/testsuite/gcc.dg/pr83419.c
  d1d24788f9c8caf0192fc3807eb41608  gcc/testsuite/gcc.dg/pr83422.c
  4cfcf9fb49e0c6531f60ce19ff899760  gcc/testsuite/gcc.dg/pr83424.c
*************** fc94c5cf1382c5cc791f1e082f1bc93b  gcc/te
*** 41913,41919 ****
  4bb868e2d5ae5ad0f471895fe036ce9d  gcc/testsuite/gcc.dg/sso/u5.c
  6a94b217dd2dc52bd804b559734d7d6d  gcc/testsuite/gcc.dg/sso/u6.c
  aadb80509f82b46b30f6e6764a2e2dd1  gcc/testsuite/gcc.dg/ssp-1.c
! 298fe2c4a920a1453489cedaeaa98ff3  gcc/testsuite/gcc.dg/ssp-2.c
  b764f892e6c6f673878a4e8da208c16b  gcc/testsuite/gcc.dg/ssp-3.c
  5843aab6624989ad947aa1f77c816bce  gcc/testsuite/gcc.dg/ssp-4.c
  70e6f2a4c4d5735002d0b1f7dd18ddd2  gcc/testsuite/gcc.dg/stack-check-10.c
--- 41998,42004 ----
  4bb868e2d5ae5ad0f471895fe036ce9d  gcc/testsuite/gcc.dg/sso/u5.c
  6a94b217dd2dc52bd804b559734d7d6d  gcc/testsuite/gcc.dg/sso/u6.c
  aadb80509f82b46b30f6e6764a2e2dd1  gcc/testsuite/gcc.dg/ssp-1.c
! 07c428d62b7171c3d051c3770f57156c  gcc/testsuite/gcc.dg/ssp-2.c
  b764f892e6c6f673878a4e8da208c16b  gcc/testsuite/gcc.dg/ssp-3.c
  5843aab6624989ad947aa1f77c816bce  gcc/testsuite/gcc.dg/ssp-4.c
  70e6f2a4c4d5735002d0b1f7dd18ddd2  gcc/testsuite/gcc.dg/stack-check-10.c
*************** d0754d716d5a46b59b9bef2c75e48953  gcc/te
*** 42530,42536 ****
  6335c9430427e1e94a7a58bb8b0b5255  gcc/testsuite/gcc.dg/torture/pr100566.c
  5f5809ecbd695f122244007bc7702241  gcc/testsuite/gcc.dg/torture/pr100672.c
  42ebfa98a65c58d2b4d8a096dc9a472a  gcc/testsuite/gcc.dg/torture/pr100778.c
! 4b5d071569dd623054d8ee1f648c1cfe  gcc/testsuite/gcc.dg/torture/pr100786.c
  8b17a9d424e890ccb3124ad5ef70f837  gcc/testsuite/gcc.dg/torture/pr100923.c
  de1ad14692100748f699bc7db768a51d  gcc/testsuite/gcc.dg/torture/pr100934.c
  cbce37eea923f47befb962cd2af5ac3a  gcc/testsuite/gcc.dg/torture/pr101009.c
--- 42615,42621 ----
  6335c9430427e1e94a7a58bb8b0b5255  gcc/testsuite/gcc.dg/torture/pr100566.c
  5f5809ecbd695f122244007bc7702241  gcc/testsuite/gcc.dg/torture/pr100672.c
  42ebfa98a65c58d2b4d8a096dc9a472a  gcc/testsuite/gcc.dg/torture/pr100778.c
! ddd13a0e9f6c82227fa9db9ba858a6ea  gcc/testsuite/gcc.dg/torture/pr100786.c
  8b17a9d424e890ccb3124ad5ef70f837  gcc/testsuite/gcc.dg/torture/pr100923.c
  de1ad14692100748f699bc7db768a51d  gcc/testsuite/gcc.dg/torture/pr100934.c
  cbce37eea923f47befb962cd2af5ac3a  gcc/testsuite/gcc.dg/torture/pr101009.c
*************** e1b483b65be081b4b298ed61ad7e3eed  gcc/te
*** 42564,42569 ****
--- 42649,42662 ----
  52e50fb88c76596d45c9fa47a5313317  gcc/testsuite/gcc.dg/torture/pr107451.c
  5badd9cb552b126e1568f773f867f8b3  gcc/testsuite/gcc.dg/torture/pr108076.c
  72f322a0e5d8096eb7fa42e2d8fabe7d  gcc/testsuite/gcc.dg/torture/pr109585.c
+ c68e0fca588779377278aa9e84380d07  gcc/testsuite/gcc.dg/torture/pr110176.c
+ 2c65ac9bb8c6b6218eb71392ab387879  gcc/testsuite/gcc.dg/torture/pr110298.c
+ eeafa444e951227833c10234733ef66d  gcc/testsuite/gcc.dg/torture/pr110422.c
+ 880ef8f569f8ceaf9a94d105c12a8f97  gcc/testsuite/gcc.dg/torture/pr111445.c
+ 9ac3aab221fd38c4d0dda7ec4429c95d  gcc/testsuite/gcc.dg/torture/pr111614.c
+ 404440fd3b4aac03198b518a7e9c5268  gcc/testsuite/gcc.dg/torture/pr111815.c
+ e289e3514153e0ffe8b5b086904f40c4  gcc/testsuite/gcc.dg/torture/pr111818.c
+ 5a3dd17b41272920e3804d1b42cba87e  gcc/testsuite/gcc.dg/torture/pr111917.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** fc343ac4dddc2387803c4581508bd355  gcc/te
*** 44020,44026 ****
  25a22ef7e096aa5c4a5ec323a10eb1ee  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-7.c
  3f1747c36bfe6b3fd2235e695edcaa02  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-8.c
  1d89c967b03259c101cc6401b07d1648  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-9.c
! d2a6a7bf2644a7942988c7239b51410f  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
  d0e4c342e2ad48131871ec279be2f9c3  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-10.c
  75bb54d18f7c1eeb0e52d94f6f0e0a2d  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-11.c
  c7f97a6e2a77945ebe161e237b31e840  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-12.c
--- 44113,44119 ----
  25a22ef7e096aa5c4a5ec323a10eb1ee  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-7.c
  3f1747c36bfe6b3fd2235e695edcaa02  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-8.c
  1d89c967b03259c101cc6401b07d1648  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-9.c
! 5489a7071de3715549debe15cc684b48  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
  d0e4c342e2ad48131871ec279be2f9c3  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-10.c
  75bb54d18f7c1eeb0e52d94f6f0e0a2d  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-11.c
  c7f97a6e2a77945ebe161e237b31e840  gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-12.c
*************** bb62f82a973334db1c0ebf75b17bcdf8  gcc/te
*** 45703,45708 ****
--- 45796,45802 ----
  016029e7b08dbc8fe1d266551df2fdd3  gcc/testsuite/gcc.dg/tree-ssa/writeonly.c
  22eb0b8eeae794a6956326b2c9383fb2  gcc/testsuite/gcc.dg/trunc-1.c
  0986037c6e0724a89f8308100f3f920f  gcc/testsuite/gcc.dg/tsan/atomic-fence.c
+ 93c01dbb8a77851bfbe99fc7c806d056  gcc/testsuite/gcc.dg/tsan/pr111736.c
  66723ae098123069493e416708ef5146  gcc/testsuite/gcc.dg/tsan/pr88017.c
  dcc8ff133faffd3fe561dfe431569a07  gcc/testsuite/gcc.dg/tsan/pr88030.c
  de40a1e950c75128048b75517e728603  gcc/testsuite/gcc.dg/tsan/pr90208-1.c
*************** b6636fcf606d4b2a9b3c129b082bc808  gcc/te
*** 45747,45752 ****
--- 45841,45847 ----
  3325507ff87bcf4f63df3972ec6895c4  gcc/testsuite/gcc.dg/ubsan/ipa-icf-1.c
  20138e45bcf86067b02f18ee36d2a451  gcc/testsuite/gcc.dg/ubsan/object-size-9.c
  cefdc2a9eb13f2095c81dff3665fcbe2  gcc/testsuite/gcc.dg/ubsan/pr107183.c
+ 3d891ede9caa6aed55954898e1974cef  gcc/testsuite/gcc.dg/ubsan/pr111736.c
  8b53119c2975ba4eb7e0a8a3f21049bc  gcc/testsuite/gcc.dg/ubsan/pr63690.c
  7a3b89a11b570c0d6817707c745a9fba  gcc/testsuite/gcc.dg/ubsan/pr67279.c
  c9a455b03d901e306e1836d50e9e37d6  gcc/testsuite/gcc.dg/ubsan/pr67662.c
*************** f1c2ca8659ed33069fed7de6e429bc7e  gcc/te
*** 46375,46380 ****
--- 46470,46484 ----
  bdc9d900f60b3777cfec5cd1a41102d7  gcc/testsuite/gcc.dg/vect/pr108950.c
  bce13fdf2ea61a0bc1886470eed1bf60  gcc/testsuite/gcc.dg/vect/pr109473.c
  aa0a603e6aee5b8a3fd3463354c9bf10  gcc/testsuite/gcc.dg/vect/pr109502.c
+ 6fe7a9f8a10f6b62e25fc4c1fa96deff  gcc/testsuite/gcc.dg/vect/pr111764.c
+ 769cf4bfcb97c43ac962799ae8d222c5  gcc/testsuite/gcc.dg/vect/pr112505.c
+ c26acbf1612dc4698a8344d64f963df0  gcc/testsuite/gcc.dg/vect/pr113281-1.c
+ 21722bf37953d9796f5d5fd71e243c2b  gcc/testsuite/gcc.dg/vect/pr113281-2.c
+ 31ad99fbdbecf9925f5f4504adc83b13  gcc/testsuite/gcc.dg/vect/pr113281-3.c
+ e7f3d45d3b7be1d3f34c03fe14a64322  gcc/testsuite/gcc.dg/vect/pr113281-4.c
+ 8f0bbff86de57f60a2a350c847f4db18  gcc/testsuite/gcc.dg/vect/pr113281-5.c
+ f2ad143cd940fa42deda153f442d29b2  gcc/testsuite/gcc.dg/vect/pr114027.c
+ a652091690348408aec894da3d82b15d  gcc/testsuite/gcc.dg/vect/pr115192.c
  42d48d2ecd5682545b12ac42f879a831  gcc/testsuite/gcc.dg/vect/pr16105.c
  231c99dba9475fe09525bbf6f4374124  gcc/testsuite/gcc.dg/vect/pr18308.c
  3aed50f38aa86c4915d6e4b3cef91287  gcc/testsuite/gcc.dg/vect/pr18400.c
*************** b551cf977314c7406b99b8d04c143b19  gcc/te
*** 46730,46736 ****
  6895e7a56bdc4993b94c03e6d5dc587d  gcc/testsuite/gcc.dg/vect/pr97173.c
  28db70b2a4bdf2faf03ba619381af631  gcc/testsuite/gcc.dg/vect/pr97236.c
  20e8d4d146127438ffe685c492c8ad86  gcc/testsuite/gcc.dg/vect/pr97241.c
! ee5e6bcfcc4a28b128f0ae60e312ef1e  gcc/testsuite/gcc.dg/vect/pr97428.c
  8d732449a24564fd2cd4ff8dca6c2f37  gcc/testsuite/gcc.dg/vect/pr97457.c
  4e7901b46d8ff6dfbd12f354b54c6743  gcc/testsuite/gcc.dg/vect/pr97558-2.c
  a0e548875f044f3b51270f1185a1fee3  gcc/testsuite/gcc.dg/vect/pr97558.c
--- 46834,46840 ----
  6895e7a56bdc4993b94c03e6d5dc587d  gcc/testsuite/gcc.dg/vect/pr97173.c
  28db70b2a4bdf2faf03ba619381af631  gcc/testsuite/gcc.dg/vect/pr97236.c
  20e8d4d146127438ffe685c492c8ad86  gcc/testsuite/gcc.dg/vect/pr97241.c
! 383951c1cc307ec21b173cbb393b3a33  gcc/testsuite/gcc.dg/vect/pr97428.c
  8d732449a24564fd2cd4ff8dca6c2f37  gcc/testsuite/gcc.dg/vect/pr97457.c
  4e7901b46d8ff6dfbd12f354b54c6743  gcc/testsuite/gcc.dg/vect/pr97558-2.c
  a0e548875f044f3b51270f1185a1fee3  gcc/testsuite/gcc.dg/vect/pr97558.c
*************** fcefe80d362d778b71a9c6431b796a1e  gcc/te
*** 47498,47504 ****
  f83d2db3e2fd97e87230a5d9dd1274b9  gcc/testsuite/gcc.dg/visibility-2.c
  eb58aa4a681a08d91397e2a11fbe81e3  gcc/testsuite/gcc.dg/visibility-20.c
  3f8f1445188e50bcf22ad7a8fc85ee2b  gcc/testsuite/gcc.dg/visibility-21.c
! 53e859a3603a5f96fbf285e13fe6c1ac  gcc/testsuite/gcc.dg/visibility-22.c
  9efe2209183ec6701835782f5226ac33  gcc/testsuite/gcc.dg/visibility-23.c
  d0a344fbd6e7158b3bf4cdbb4440ef36  gcc/testsuite/gcc.dg/visibility-3.c
  8d7d13e33f78b22dd6e7c886111a31ad  gcc/testsuite/gcc.dg/visibility-4.c
--- 47602,47608 ----
  f83d2db3e2fd97e87230a5d9dd1274b9  gcc/testsuite/gcc.dg/visibility-2.c
  eb58aa4a681a08d91397e2a11fbe81e3  gcc/testsuite/gcc.dg/visibility-20.c
  3f8f1445188e50bcf22ad7a8fc85ee2b  gcc/testsuite/gcc.dg/visibility-21.c
! b243f2b25c734ac1fbe117df8c16e237  gcc/testsuite/gcc.dg/visibility-22.c
  9efe2209183ec6701835782f5226ac33  gcc/testsuite/gcc.dg/visibility-23.c
  d0a344fbd6e7158b3bf4cdbb4440ef36  gcc/testsuite/gcc.dg/visibility-3.c
  8d7d13e33f78b22dd6e7c886111a31ad  gcc/testsuite/gcc.dg/visibility-4.c
*************** c400cc0e03e4317110d582fdba04ace0  gcc/te
*** 47788,47794 ****
  0c8ac613f2d2a35706fd7c8b7b16a1a9  gcc/testsuite/gcc.misc-tests/gcov-11.c
  eee8f00567cf54ebbed65a4f71c7d314  gcc/testsuite/gcc.misc-tests/gcov-12.c
  1aac355a176cb811b951b73ea58ef6c7  gcc/testsuite/gcc.misc-tests/gcov-13.c
! 91c5005b1b38df67c1f35c1fa5ed34b7  gcc/testsuite/gcc.misc-tests/gcov-14.c
  a7fcf55fbb07ad31be551305d543313e  gcc/testsuite/gcc.misc-tests/gcov-15.c
  a19cb340410a6420dbacef02fec4bcd8  gcc/testsuite/gcc.misc-tests/gcov-16.c
  90ae2485842728f278e979faa45ad805  gcc/testsuite/gcc.misc-tests/gcov-17.c
--- 47892,47898 ----
  0c8ac613f2d2a35706fd7c8b7b16a1a9  gcc/testsuite/gcc.misc-tests/gcov-11.c
  eee8f00567cf54ebbed65a4f71c7d314  gcc/testsuite/gcc.misc-tests/gcov-12.c
  1aac355a176cb811b951b73ea58ef6c7  gcc/testsuite/gcc.misc-tests/gcov-13.c
! a95cd74daf7751d37ad0e80b754f3ef8  gcc/testsuite/gcc.misc-tests/gcov-14.c
  a7fcf55fbb07ad31be551305d543313e  gcc/testsuite/gcc.misc-tests/gcov-15.c
  a19cb340410a6420dbacef02fec4bcd8  gcc/testsuite/gcc.misc-tests/gcov-16.c
  90ae2485842728f278e979faa45ad805  gcc/testsuite/gcc.misc-tests/gcov-17.c
*************** ae513bfb2896c38de994944b104fb7c8  gcc/te
*** 47938,47943 ****
--- 48042,48049 ----
  8a6aed21d2622bf72389f22f09d8bd4b  gcc/testsuite/gcc.target/aarch64/abs_2.c
  5f82175ed939dca012b0982ed87e3fc0  gcc/testsuite/gcc.target/aarch64/acle/acle.exp
  a545b8f7fc60af12576f85397e1733cb  gcc/testsuite/gcc.target/aarch64/acle/armv8-r.c
+ d75448581ffe687b59d90766e852e7df  gcc/testsuite/gcc.target/aarch64/acle/bf16_feature.c
+ 80f5f996bc3addf12ec6ed7a7a97d085  gcc/testsuite/gcc.target/aarch64/acle/bf16_sve_feature.c
  339f7215861041bbe928186d86e2c7b7  gcc/testsuite/gcc.target/aarch64/acle/crc32b.c
  b3b451a8f938e2c0a24c2751eab2c62d  gcc/testsuite/gcc.target/aarch64/acle/crc32cb.c
  ff79cdd1c6205d62ceab022024616fbc  gcc/testsuite/gcc.target/aarch64/acle/crc32cd.c
*************** d31b19093bf5b52a4ab71663355a6864  gcc/te
*** 48942,48947 ****
--- 49048,49054 ----
  de49e9125d6237709299bcc3a1dfd315  gcc/testsuite/gcc.target/aarch64/pr104921-2.c
  80bfa364bfe20370e6bd035b978c10f8  gcc/testsuite/gcc.target/aarch64/pr104921.x
  a7d8042acc2272e21686f52da76e42f1  gcc/testsuite/gcc.target/aarch64/pr108589.c
+ 5c93b32021bd32ca40c9fb5ec6a30f04  gcc/testsuite/gcc.target/aarch64/pr113552.c
  9adb42733d9f5e2b1f2dbb364b62100d  gcc/testsuite/gcc.target/aarch64/pr37780_1.c
  e668fb9e0d32efadd671247467dc90db  gcc/testsuite/gcc.target/aarch64/pr58460.c
  9023f817c07ddec673c5b546525fc184  gcc/testsuite/gcc.target/aarch64/pr60034.c
*************** d8cba6fbd72082d21194a1854f6c2dfc  gcc/te
*** 49521,49527 ****
  eb612e50dff956594dedc023c01c005d  gcc/testsuite/gcc.target/aarch64/simd/vzipu8.x
  91d02599c3437c09a7b9841ceadb46bf  gcc/testsuite/gcc.target/aarch64/simd/vzipu8_1.c
  9ed21057ed9603af458520370acef207  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-2.c
! a1bb40eab16d5f5dfc6b73cc362bd351  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c
  e24e752cdfaae08d96c7ec56c0ef75fd  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute.c
  96b414deb2ef664ef0e319c9d099a140  gcc/testsuite/gcc.target/aarch64/singleton_intrinsics_1.c
  1720e6906e4df69467a464d77453cbb9  gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c
--- 49628,49634 ----
  eb612e50dff956594dedc023c01c005d  gcc/testsuite/gcc.target/aarch64/simd/vzipu8.x
  91d02599c3437c09a7b9841ceadb46bf  gcc/testsuite/gcc.target/aarch64/simd/vzipu8_1.c
  9ed21057ed9603af458520370acef207  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-2.c
! d1a781848976d72dd29ad2008392d1ea  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c
  e24e752cdfaae08d96c7ec56c0ef75fd  gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute.c
  96b414deb2ef664ef0e319c9d099a140  gcc/testsuite/gcc.target/aarch64/singleton_intrinsics_1.c
  1720e6906e4df69467a464d77453cbb9  gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c
*************** b6d24cc44c0ae841eedac19bb3b71ae7  gcc/te
*** 49570,49575 ****
--- 49677,49684 ----
  8ae74d3437f7d43d17cfac17632d942f  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
  ed8a92c22bb4c356e72a00b75da4bccd  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
  f60705b79c18983e5449cb2640888da9  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-16.c
+ 61734bec5d3ca6a21a55fdda5a176be9  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
+ 1eb4d5e67c09fd735a5d4f3a3c1f22a5  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
  7df002241fabdd43166a078456b9af79  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
  4d593b97a712f1c1b227372e57c2b116  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-3.c
  dbd54994dcdef6b44b1f3378ddd01e83  gcc/testsuite/gcc.target/aarch64/stack-check-prologue-4.c
*************** e13154393d19a49196906480b6d2d4bc  gcc/te
*** 49587,49592 ****
--- 49696,49703 ----
  3367dd14de391b1bd4bcf779e76b539d  gcc/testsuite/gcc.target/aarch64/stack-protector-5.c
  e01a1f1b04b18c2fe9d9ae7868f0e844  gcc/testsuite/gcc.target/aarch64/stack-protector-6.c
  a27709d027d6c6481721a51a678b65ed  gcc/testsuite/gcc.target/aarch64/stack-protector-7.c
+ ecbce9b7301b6ddc08bd87f89762b3cd  gcc/testsuite/gcc.target/aarch64/stack-protector-8.c
+ bd965202297cac63c28f20a2183eb2e2  gcc/testsuite/gcc.target/aarch64/stack-protector-9.c
  e60080b5e2fe845d07811566ce955b35  gcc/testsuite/gcc.target/aarch64/store-pair-1.c
  fc9240608ee0f16e1f1c3b227052460b  gcc/testsuite/gcc.target/aarch64/store_lane0_str_1.c
  187e9a28ba40c7239e3291680f4edd90  gcc/testsuite/gcc.target/aarch64/store_lane_spill_1.c
*************** e79a454266487377a5fe47ecfa638d07  gcc/te
*** 52096,52102 ****
  f3fc0d43f234493b5b9ce5a5503f8808  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c
  e9b154bc8367ff38eb536d7d7192db9a  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_256.c
  e24fbdf33e77d28819c9e81e53b35801  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_512.c
! 51ecf8b206f222d4d7bcad650be74d53  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c
  f2456a359f3821da1bc28f9a5f7e556e  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct.h
  3bdedaf042ffb29eabe08512390ff3b9  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_1024.c
  80cff442b432ccbde3e763ee004ba5cb  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_128.c
--- 52207,52213 ----
  f3fc0d43f234493b5b9ce5a5503f8808  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c
  e9b154bc8367ff38eb536d7d7192db9a  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_256.c
  e24fbdf33e77d28819c9e81e53b35801  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_512.c
! 467df00c49d5cdd5a0904a0d794a6d10  gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c
  f2456a359f3821da1bc28f9a5f7e556e  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct.h
  3bdedaf042ffb29eabe08512390ff3b9  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_1024.c
  80cff442b432ccbde3e763ee004ba5cb  gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_128.c
*************** ab7e96ffad0e120db206c2fe1d3866a9  gcc/te
*** 52143,52148 ****
--- 52254,52260 ----
  7730534c4e1ec8c38e74c96c2505af9f  gcc/testsuite/gcc.target/aarch64/sve/pr104474-2.c
  e30fd5dcda5a72ba3b2d66a5485b282a  gcc/testsuite/gcc.target/aarch64/sve/pr104474-3.c
  fca208aba0269c8218d4736a10ac6a83  gcc/testsuite/gcc.target/aarch64/sve/pr109176.c
+ bc4cb512648e75cde04a28680b1c4a89  gcc/testsuite/gcc.target/aarch64/sve/pr109505.c
  00b752a6e175de8b1a300df08f275461  gcc/testsuite/gcc.target/aarch64/sve/pr87563.c
  c56eeba71ad463673a1bdb30e7a94863  gcc/testsuite/gcc.target/aarch64/sve/pr87815.c
  f0e2b5504e3b6dcd97ff8a6d8549d00e  gcc/testsuite/gcc.target/aarch64/sve/pr88834.c
*************** b1c8f3af47e9cea755b055cce544806c  gcc/te
*** 52164,52169 ****
--- 52276,52282 ----
  a21cb5077461cbf23ca054f7c89a9bd8  gcc/testsuite/gcc.target/aarch64/sve/pr97092.c
  0bd0c11c70979d74de80fd698161a3be  gcc/testsuite/gcc.target/aarch64/sve/pr97141.c
  551b93da908927fd5461395f52ee36cf  gcc/testsuite/gcc.target/aarch64/sve/pr97144.c
+ 52c6ecc9bb5839481a0b9229b539e8f3  gcc/testsuite/gcc.target/aarch64/sve/pr97696.c
  feaaf48c5bd3e12bf1024ebc5d6dfdfa  gcc/testsuite/gcc.target/aarch64/sve/pr98119.c
  6c0e94c363caf9e62df35ea98b4918ed  gcc/testsuite/gcc.target/aarch64/sve/pr98177-1.c
  e64000c150bb204c31dca884ee33dd4f  gcc/testsuite/gcc.target/aarch64/sve/pr98177-2.c
*************** a2ccf9bfd1d0bb840b23c25e1bdec31c  gcc/te
*** 53427,53432 ****
--- 53540,53546 ----
  d7ac99c012df73ffbde36998316bf1ef  gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c
  fc2eb8ac52faed5fba0a017b858d4ae4  gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c
  cb0bc42e0cec0ac886c33323d1a33381  gcc/testsuite/gcc.target/aarch64/torture/aarch64-torture.exp
+ 4036d83a59b4adcf9e8a4cf5a291d22e  gcc/testsuite/gcc.target/aarch64/torture/pr111677.c
  5266ac107a73e3ee1d1f44e1cda7d9f2  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-1.c
  9c3416db2fc04c3f91b03ecae15e943e  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-10.c
  df55bfe2c1ce46074b19b4566cedeef4  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-11.c
*************** a9f54382c872d8300abd0751aaf2baa7  gcc/te
*** 53627,53632 ****
--- 53741,53747 ----
  c4eec60b3306ebc857f91dd9f92ff8fe  gcc/testsuite/gcc.target/alpha/max-1.c
  868d557785ef579297eaa8d96b97b3fc  gcc/testsuite/gcc.target/alpha/max-2.c
  cda436a64900819743f9c85f6ef0caae  gcc/testsuite/gcc.target/alpha/pr105209.c
+ d2f13118de8962e07bca23bc88ac4d1b  gcc/testsuite/gcc.target/alpha/pr115297.c
  dc5943b1dd495250e6dc8076b32c902c  gcc/testsuite/gcc.target/alpha/pr19518.c
  f8467590e67b2b5f4718d571a9ba60c0  gcc/testsuite/gcc.target/alpha/pr22093.c
  b36471f8edbf2a11ce23359823ecc10b  gcc/testsuite/gcc.target/alpha/pr24178.c
*************** ce1fe2059d8e263b0f3d889cb1392892  gcc/te
*** 54094,54099 ****
--- 54209,54216 ----
  a29c7dfe0255ba24ca52aa9293640971  gcc/testsuite/gcc.target/arm/cmse/cmse-8.x
  ce946170746cf737bca71ec699014fef  gcc/testsuite/gcc.target/arm/cmse/cmse-9.c
  be8035e562d337b07c0ddf2c6f1723d6  gcc/testsuite/gcc.target/arm/cmse/cmse.exp
+ 2ca1bc1b7709560cb23249102afd2dd8  gcc/testsuite/gcc.target/arm/cmse/extend-param.c
+ e37af808fb07f04f12fd1323772cfb18  gcc/testsuite/gcc.target/arm/cmse/extend-return.c
  6e9c9a777c4a333e2bdba95bdaf23364  gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c
  c540adef0c0a8fc3e8e03fee5f712683  gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c
  727ae9b55594654191b60afa67ad5094  gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c
*************** b10cfdb237776099c4180833e3c5ba65  gcc/te
*** 56588,56593 ****
--- 56705,56711 ----
  905227377ead65a55eed190a9d85e9a9  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_s32.c
  453b61d72ac14797e09e2b64733bb3b5  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_s64.c
  659833bfb3162e1c1facc6b8a92b4f93  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_s8.c
+ bfc6037993ab8de2e59e1fc18bd8c747  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c
  8f7269908b469dfc3407b1a8d980f69b  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_u16.c
  dc5c97486293aabf2938431e5a6a104c  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_u32.c
  04feab40a05196b25738dd6dc329d4aa  gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_u64.c
*************** bce9be46a9e956c5fcc66bfb68691f0f  gcc/te
*** 56943,56948 ****
--- 57061,57067 ----
  92d7537f3966988f20d05b94977b3beb  gcc/testsuite/gcc.target/arm/neon-modes-3.c
  4e0cca6bc39f2d3cecf9ea72ec4b0d52  gcc/testsuite/gcc.target/arm/neon-nested-apcs.c
  7783093cce901b3a47068de662227a6b  gcc/testsuite/gcc.target/arm/neon-offset-1.c
+ 2f0d808ded25a27c867026ac6296d1b9  gcc/testsuite/gcc.target/arm/neon-recip-div-1.c
  1f48b8fad239c5f29804610f9f08ce99  gcc/testsuite/gcc.target/arm/neon-reload-class.c
  79e2b86f1be68bc1014fb6b480d5322f  gcc/testsuite/gcc.target/arm/neon-thumb2-move.c
  add75049520bb3c0c677317469ccb57e  gcc/testsuite/gcc.target/arm/neon-vadds64.c
*************** a13d496741ee33ca9436673eb16995cf  gcc/te
*** 57228,57233 ****
--- 57347,57353 ----
  9d45085f81b933f75aff02b4b174d596  gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool-m0.c
  be0f627c9760e72ac531303722e2aa4a  gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool-m23.c
  7b8330d6a4b33ec1ebe3d2b0ac6a7d6a  gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c
+ 3190f6ba1fbc57975b5a58d4d43de120  gcc/testsuite/gcc.target/arm/pure-code/pr109800.c
  9ae88bbf3f56f1b4e53964c0b9d80766  gcc/testsuite/gcc.target/arm/pure-code/pr94538-1.c
  73846ca40ff67281debec0e317b1f8d5  gcc/testsuite/gcc.target/arm/pure-code/pr94538-2.c
  4f35b9cdbd7f36b52519b9a78b06c4d6  gcc/testsuite/gcc.target/arm/pure-code/pr96767.c
*************** d60dbd15c646ed84efd9129d21d39b6d  gcc/te
*** 58355,58360 ****
--- 58475,58481 ----
  3eebd7a67adf970dc6eea82ff3eda30d  gcc/testsuite/gcc.target/i386/amxint8-dpbuud-2.c
  4e7e8638f4652613beb251daa4730463  gcc/testsuite/gcc.target/i386/amxtile-2.c
  a455baf8f9990eb7494164842dce7c91  gcc/testsuite/gcc.target/i386/amxtile-3.c
+ 84fc02cc52ddc8bdd53d77902c0176fb  gcc/testsuite/gcc.target/i386/amxtile-4.c
  8e7fab1b3f5c89155f09aabb59da8382  gcc/testsuite/gcc.target/i386/amxtile-asmatt-1.c
  2629a435840ab211444b4a2af4563d8d  gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c
  c5cfc6b01e748536e4ac5d65b3528952  gcc/testsuite/gcc.target/i386/andor-1.c
*************** b47b757f8315eacb46b04546750c92a3  gcc/te
*** 58946,58951 ****
--- 59067,59073 ----
  99d95f5ed8219dbd6f25d0d43af3e99e  gcc/testsuite/gcc.target/i386/avx-vzeroupper-25.c
  c9c1cc09c516bf54bf50fb514a8f862c  gcc/testsuite/gcc.target/i386/avx-vzeroupper-26.c
  373ca5703182fb7bac2076f26891bd55  gcc/testsuite/gcc.target/i386/avx-vzeroupper-27.c
+ c0bed0be10ece6c15e9aa800b77e5436  gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c
  2676f686c636ba65ddf77da8485ee324  gcc/testsuite/gcc.target/i386/avx-vzeroupper-3.c
  762b6911a6dc394fae9ee24213fb6114  gcc/testsuite/gcc.target/i386/avx-vzeroupper-4.c
  27e3a091b9bfccddb7c44014ae46ed71  gcc/testsuite/gcc.target/i386/avx-vzeroupper-5.c
*************** a5901d33285892facee8dbfe287ce0d1  gcc/te
*** 58958,58968 ****
  7dc98d98981fa7b82c0ae95d09c8128c  gcc/testsuite/gcc.target/i386/avx2-cvt-1.c
  ea08c4d81609e53332974756983fe0c2  gcc/testsuite/gcc.target/i386/avx2-cvt-2.c
  aaabb27f441033ad22d615277a666b93  gcc/testsuite/gcc.target/i386/avx2-gather-1.c
! 9369fee730921275e0fcab78d0a99ce8  gcc/testsuite/gcc.target/i386/avx2-gather-2.c
  e6fb48367ac48aab006ff09ee7205b7f  gcc/testsuite/gcc.target/i386/avx2-gather-3.c
  74c386970583ffac555d2320df839c1b  gcc/testsuite/gcc.target/i386/avx2-gather-4.c
  b10dfe874c7de4330090cb5b58ccddda  gcc/testsuite/gcc.target/i386/avx2-gather-5.c
! bab8d3346cd39524a79bf0922698f8dc  gcc/testsuite/gcc.target/i386/avx2-gather-6.c
  5bab3385f59413b4ac1d08b312a04c67  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-1.c
  61279c227c143e8c3c052c2ba1d0e226  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-2.c
  025259b149283dd7aa44783815197ac4  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-3.c
--- 59080,59090 ----
  7dc98d98981fa7b82c0ae95d09c8128c  gcc/testsuite/gcc.target/i386/avx2-cvt-1.c
  ea08c4d81609e53332974756983fe0c2  gcc/testsuite/gcc.target/i386/avx2-cvt-2.c
  aaabb27f441033ad22d615277a666b93  gcc/testsuite/gcc.target/i386/avx2-gather-1.c
! 128e6366f4fa121b8eca2a010b5f3182  gcc/testsuite/gcc.target/i386/avx2-gather-2.c
  e6fb48367ac48aab006ff09ee7205b7f  gcc/testsuite/gcc.target/i386/avx2-gather-3.c
  74c386970583ffac555d2320df839c1b  gcc/testsuite/gcc.target/i386/avx2-gather-4.c
  b10dfe874c7de4330090cb5b58ccddda  gcc/testsuite/gcc.target/i386/avx2-gather-5.c
! ccba4fe76fbee89c17997a3eca46d604  gcc/testsuite/gcc.target/i386/avx2-gather-6.c
  5bab3385f59413b4ac1d08b312a04c67  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-1.c
  61279c227c143e8c3c052c2ba1d0e226  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-2.c
  025259b149283dd7aa44783815197ac4  gcc/testsuite/gcc.target/i386/avx2-i32gatherd-3.c
*************** d35963959d5b010c3b26b967f48d3608  gcc/te
*** 60131,60136 ****
--- 60253,60259 ----
  17acbefd47a510ed96d83a23e3e4b8c3  gcc/testsuite/gcc.target/i386/avx512f-os-support.h
  7371abf8df649ac78965cd397d5f5a42  gcc/testsuite/gcc.target/i386/avx512f-pr101471.c
  9bceffe4e050aeec5dfd5c8013709ffe  gcc/testsuite/gcc.target/i386/avx512f-pr101472.c
+ 9a6936f1815277f15801196159007f44  gcc/testsuite/gcc.target/i386/avx512f-pr114566.c
  88877c518076ecdec1dba128743ad627  gcc/testsuite/gcc.target/i386/avx512f-pr57233.c
  0272e0fc54cb34ee03db4b0027dbec3d  gcc/testsuite/gcc.target/i386/avx512f-pr63594-1.c
  381f53de01f1e9893e6903d9fac40b87  gcc/testsuite/gcc.target/i386/avx512f-pr63594-2.c
*************** f5e2d9cb20058374157f0683dddeff73  gcc/te
*** 60150,60160 ****
  33ef0191b116f2207f8cae72da53f074  gcc/testsuite/gcc.target/i386/avx512f-pr85177.c
  44b94a02b283cd9b531e1679a63bb550  gcc/testsuite/gcc.target/i386/avx512f-pr85255.c
  91d1cf3389554e9095c24e2d0922e5ce  gcc/testsuite/gcc.target/i386/avx512f-pr85832.c
! 8755bbd1991d543ed8238049d8c8dd38  gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c
  bfe1b42fed4f27d06a2686cddbd8c3c0  gcc/testsuite/gcc.target/i386/avx512f-pr88464-2.c
  7438f166ed28ad4498da4b5077b71181  gcc/testsuite/gcc.target/i386/avx512f-pr88464-3.c
  da0186580868c5f1ebd96d179687ae26  gcc/testsuite/gcc.target/i386/avx512f-pr88464-4.c
! 6bc4181653baf587b37d974277810ee5  gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c
  15e278dd63e5ac145f6c67f833a47cf2  gcc/testsuite/gcc.target/i386/avx512f-pr88464-6.c
  fbb4eb7430260d94966d2091a7204617  gcc/testsuite/gcc.target/i386/avx512f-pr88464-7.c
  a2908de260a59647ee69aa2e1e318a8b  gcc/testsuite/gcc.target/i386/avx512f-pr88464-8.c
--- 60273,60283 ----
  33ef0191b116f2207f8cae72da53f074  gcc/testsuite/gcc.target/i386/avx512f-pr85177.c
  44b94a02b283cd9b531e1679a63bb550  gcc/testsuite/gcc.target/i386/avx512f-pr85255.c
  91d1cf3389554e9095c24e2d0922e5ce  gcc/testsuite/gcc.target/i386/avx512f-pr85832.c
! c1c9be5c000ba09322d1bcaed3d61241  gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c
  bfe1b42fed4f27d06a2686cddbd8c3c0  gcc/testsuite/gcc.target/i386/avx512f-pr88464-2.c
  7438f166ed28ad4498da4b5077b71181  gcc/testsuite/gcc.target/i386/avx512f-pr88464-3.c
  da0186580868c5f1ebd96d179687ae26  gcc/testsuite/gcc.target/i386/avx512f-pr88464-4.c
! d3d0db87e65534dc95ebeafc29f6eb13  gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c
  15e278dd63e5ac145f6c67f833a47cf2  gcc/testsuite/gcc.target/i386/avx512f-pr88464-6.c
  fbb4eb7430260d94966d2091a7204617  gcc/testsuite/gcc.target/i386/avx512f-pr88464-7.c
  a2908de260a59647ee69aa2e1e318a8b  gcc/testsuite/gcc.target/i386/avx512f-pr88464-8.c
*************** e3cc31b3308cdb56423451f2cd8c2a00  gcc/te
*** 61051,61072 ****
  0fe6ef0c597e472d3e4d732c54448a91  gcc/testsuite/gcc.target/i386/avx512vl-pr85832.c
  22c31bf03678131c3d0a583fba1ee269  gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c
  dd0303ef457dc2b0fdc13d8c6e3f9345  gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c
! 2f9574eab62f05e192ea2ec667f3169a  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c
  39601a1f18d6f833823d29236463df8c  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-10.c
! eca8146b34153f093d3ae43d4ffec4ee  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c
  90010aa28415b8ef8b837a85aeaf6256  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-12.c
  47d67b7a934bfd1a79e1141deacdd525  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-13.c
  6811e4896e4da5ef69f652fb2a3e7715  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-14.c
  b21314a51f62c382ba0199f1b8adf2bb  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-15.c
  358b025054514a4ae1275fcceaa36667  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-16.c
  fc0518ef4725b34153f0e37bdcb0a2d3  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-2.c
! da252c14fc71905221513689897c1026  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c
  cc3ed6589d4b7dc894bcddb5723a20be  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-4.c
  73410dddfff0383c686500f838991335  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-5.c
  03455808cfb1c0b507621b77fee871ba  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-6.c
  48216c7fa5105b8c80d52a41661ff0c8  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-7.c
  433b8f377654ed9d9083111df5ded23a  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-8.c
! d83d1465cecd57a6282539266e56f304  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c
  a211ab10a3faac2cd055fdacc95d4e1d  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-1.c
  06cabf563581814176556ba2a1b73501  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-2.c
  3695b4f8bd527469e884b72d9a1b8f41  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-3.c
--- 61174,61195 ----
  0fe6ef0c597e472d3e4d732c54448a91  gcc/testsuite/gcc.target/i386/avx512vl-pr85832.c
  22c31bf03678131c3d0a583fba1ee269  gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c
  dd0303ef457dc2b0fdc13d8c6e3f9345  gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c
! 30e7e4c7f248a8349d72262db59905b6  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c
  39601a1f18d6f833823d29236463df8c  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-10.c
! d295a2038bd58f73a24b4afff4544e6f  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c
  90010aa28415b8ef8b837a85aeaf6256  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-12.c
  47d67b7a934bfd1a79e1141deacdd525  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-13.c
  6811e4896e4da5ef69f652fb2a3e7715  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-14.c
  b21314a51f62c382ba0199f1b8adf2bb  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-15.c
  358b025054514a4ae1275fcceaa36667  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-16.c
  fc0518ef4725b34153f0e37bdcb0a2d3  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-2.c
! 98caed71eec15644727965520faa59fd  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c
  cc3ed6589d4b7dc894bcddb5723a20be  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-4.c
  73410dddfff0383c686500f838991335  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-5.c
  03455808cfb1c0b507621b77fee871ba  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-6.c
  48216c7fa5105b8c80d52a41661ff0c8  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-7.c
  433b8f377654ed9d9083111df5ded23a  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-8.c
! b7a84ab3dd62d3cbb53acf2c4c116a82  gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c
  a211ab10a3faac2cd055fdacc95d4e1d  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-1.c
  06cabf563581814176556ba2a1b73501  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-2.c
  3695b4f8bd527469e884b72d9a1b8f41  gcc/testsuite/gcc.target/i386/avx512vl-pr88513-3.c
*************** c1320fd604803bc04257c984f1e3ba77  gcc/te
*** 62129,62135 ****
  3dd864a351a6115db6a5b2ea1ee16ece  gcc/testsuite/gcc.target/i386/funcspec-3.c
  5af0527c599bf95f77628d48b1beb0ec  gcc/testsuite/gcc.target/i386/funcspec-4.c
  7568c1249431aafb7f8e2610a1e4a35e  gcc/testsuite/gcc.target/i386/funcspec-5.c
! 664d8097f586c76b0f4c2f3767aa85dd  gcc/testsuite/gcc.target/i386/funcspec-56.inc
  6886186deb869f2b04be36492c05b8aa  gcc/testsuite/gcc.target/i386/funcspec-6.c
  35655de5c9348f2a36254312a8d17908  gcc/testsuite/gcc.target/i386/funcspec-7.c
  c5cbddeb1b01f35a7fa7f281fb2acdb4  gcc/testsuite/gcc.target/i386/funcspec-8.c
--- 62252,62258 ----
  3dd864a351a6115db6a5b2ea1ee16ece  gcc/testsuite/gcc.target/i386/funcspec-3.c
  5af0527c599bf95f77628d48b1beb0ec  gcc/testsuite/gcc.target/i386/funcspec-4.c
  7568c1249431aafb7f8e2610a1e4a35e  gcc/testsuite/gcc.target/i386/funcspec-5.c
! baf4cf8715508bf27ca4480a3211a96b  gcc/testsuite/gcc.target/i386/funcspec-56.inc
  6886186deb869f2b04be36492c05b8aa  gcc/testsuite/gcc.target/i386/funcspec-6.c
  35655de5c9348f2a36254312a8d17908  gcc/testsuite/gcc.target/i386/funcspec-7.c
  c5cbddeb1b01f35a7fa7f281fb2acdb4  gcc/testsuite/gcc.target/i386/funcspec-8.c
*************** cda0d89452347311cc45a79be2d8f0fc  gcc/te
*** 62452,62463 ****
  536862ceddae932e3d7da830f0866d31  gcc/testsuite/gcc.target/i386/memcpy-3.c
  27b4fc4c0b0ecbd4614a4e9af86a6a18  gcc/testsuite/gcc.target/i386/memcpy-pr95886.c
  b5176a7f12717b0fd4c9162a139871e9  gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c
! 003de97b3734d5ede529657973ce1244  gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c
  619cbc26dc85de4ded3f5a985d0a23a2  gcc/testsuite/gcc.target/i386/memcpy-strategy-11.c
  b001554c0c381f992911b1e7a465a6b8  gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c
  18088286a0546a409434dcbafef0a896  gcc/testsuite/gcc.target/i386/memcpy-strategy-3.c
  6e857b4eb94b8707c380e73efcbc5a51  gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c
! 43417cd5f782058c791740ffeb9e17bf  gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c
  06d71d8673062b30f1a1db1bdfb0f639  gcc/testsuite/gcc.target/i386/memcpy-strategy-6.c
  ee6163f62ab711d692467ababe19d6e8  gcc/testsuite/gcc.target/i386/memcpy-strategy-7.c
  340d39f8d8ef39d53004ab646169990b  gcc/testsuite/gcc.target/i386/memcpy-strategy-8.c
--- 62575,62586 ----
  536862ceddae932e3d7da830f0866d31  gcc/testsuite/gcc.target/i386/memcpy-3.c
  27b4fc4c0b0ecbd4614a4e9af86a6a18  gcc/testsuite/gcc.target/i386/memcpy-pr95886.c
  b5176a7f12717b0fd4c9162a139871e9  gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c
! b82d9188c52a269893b5ac6b25f9e515  gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c
  619cbc26dc85de4ded3f5a985d0a23a2  gcc/testsuite/gcc.target/i386/memcpy-strategy-11.c
  b001554c0c381f992911b1e7a465a6b8  gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c
  18088286a0546a409434dcbafef0a896  gcc/testsuite/gcc.target/i386/memcpy-strategy-3.c
  6e857b4eb94b8707c380e73efcbc5a51  gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c
! 1d25fe95e37e523bbb1237cd2cfdcc7a  gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c
  06d71d8673062b30f1a1db1bdfb0f639  gcc/testsuite/gcc.target/i386/memcpy-strategy-6.c
  ee6163f62ab711d692467ababe19d6e8  gcc/testsuite/gcc.target/i386/memcpy-strategy-7.c
  340d39f8d8ef39d53004ab646169990b  gcc/testsuite/gcc.target/i386/memcpy-strategy-8.c
*************** c84ec8a2cd4608e33d447c561108ce97  gcc/te
*** 62469,62477 ****
  e34fc4954adf255e63dd959604f68e95  gcc/testsuite/gcc.target/i386/memset-strategy-2.c
  ab2b88f0bcce4626b92af0e20a2b1f62  gcc/testsuite/gcc.target/i386/memset-strategy-3.c
  20e5e2cabbded0b26bce978e68dfb2f0  gcc/testsuite/gcc.target/i386/memset-strategy-4.c
! 208260a991f7d1fc158f74981156e4ae  gcc/testsuite/gcc.target/i386/memset-strategy-5.c
  260e12efd7f892d89efa62914317673f  gcc/testsuite/gcc.target/i386/memset-strategy-6.c
! 71b4b158f262383324df8c888d6c9e70  gcc/testsuite/gcc.target/i386/memset-strategy-7.c
  1af29c0ee5e0fa8803b6dd0354a23dee  gcc/testsuite/gcc.target/i386/memset-strategy-8.c
  ff0a702aa0efe0f21e105da81c274eb6  gcc/testsuite/gcc.target/i386/memset-strategy-9.c
  abacd2e1491b7c40915d4be18c0229b4  gcc/testsuite/gcc.target/i386/memset-vector_loop-1.c
--- 62592,62600 ----
  e34fc4954adf255e63dd959604f68e95  gcc/testsuite/gcc.target/i386/memset-strategy-2.c
  ab2b88f0bcce4626b92af0e20a2b1f62  gcc/testsuite/gcc.target/i386/memset-strategy-3.c
  20e5e2cabbded0b26bce978e68dfb2f0  gcc/testsuite/gcc.target/i386/memset-strategy-4.c
! fad1f723fea113cd6e9ed9c154a8ac50  gcc/testsuite/gcc.target/i386/memset-strategy-5.c
  260e12efd7f892d89efa62914317673f  gcc/testsuite/gcc.target/i386/memset-strategy-6.c
! 1dd9248dd03293c1a1b721052bea480b  gcc/testsuite/gcc.target/i386/memset-strategy-7.c
  1af29c0ee5e0fa8803b6dd0354a23dee  gcc/testsuite/gcc.target/i386/memset-strategy-8.c
  ff0a702aa0efe0f21e105da81c274eb6  gcc/testsuite/gcc.target/i386/memset-strategy-9.c
  abacd2e1491b7c40915d4be18c0229b4  gcc/testsuite/gcc.target/i386/memset-vector_loop-1.c
*************** a892cf5449c572594d9ac500ec2178bc  gcc/te
*** 62641,62647 ****
  6c6335b2ca1f773cd45cd27ad0d7a133  gcc/testsuite/gcc.target/i386/pr105000-3.c
  6835f42a37c0159616cc082bd3c33721  gcc/testsuite/gcc.target/i386/pr105032.c
  3de9ba59994fd09bad053a28eecbc68d  gcc/testsuite/gcc.target/i386/pr105123.c
! db0abcfd3877faa33b33aa19a57352a5  gcc/testsuite/gcc.target/i386/pr105554.c
  afe42f2264a7583bee62a6e718faeef5  gcc/testsuite/gcc.target/i386/pr105970.c
  f39114cabb6d2efeaa8e1f1a944e05e0  gcc/testsuite/gcc.target/i386/pr107304.c
  972837aa3a25d88acfe4af629c37d530  gcc/testsuite/gcc.target/i386/pr107863.c
--- 62764,62770 ----
  6c6335b2ca1f773cd45cd27ad0d7a133  gcc/testsuite/gcc.target/i386/pr105000-3.c
  6835f42a37c0159616cc082bd3c33721  gcc/testsuite/gcc.target/i386/pr105032.c
  3de9ba59994fd09bad053a28eecbc68d  gcc/testsuite/gcc.target/i386/pr105123.c
! 8515bef5344a20c9dafa2d780bab4b57  gcc/testsuite/gcc.target/i386/pr105554.c
  afe42f2264a7583bee62a6e718faeef5  gcc/testsuite/gcc.target/i386/pr105970.c
  f39114cabb6d2efeaa8e1f1a944e05e0  gcc/testsuite/gcc.target/i386/pr107304.c
  972837aa3a25d88acfe4af629c37d530  gcc/testsuite/gcc.target/i386/pr107863.c
*************** cbe58ae1efc3b97c1019a430e1fedfcb  gcc/te
*** 62655,62660 ****
--- 62778,62796 ----
  e00380cd123a9ea3429ab36047aa6624  gcc/testsuite/gcc.target/i386/pr11001-strlen-1.c
  f2961b113a187971d8c265513b16a3a5  gcc/testsuite/gcc.target/i386/pr11001-strlen-2.c
  27f57729aea057bdb268886140eaba10  gcc/testsuite/gcc.target/i386/pr11001-strlen-3.c
+ ae133b6a6857ca5bc2e95a272e01f447  gcc/testsuite/gcc.target/i386/pr110170-3.c
+ 1459550770245224c9edce111674e4e5  gcc/testsuite/gcc.target/i386/pr111340.c
+ 83c1fd77f5c5b1d08ae6f047d224f609  gcc/testsuite/gcc.target/i386/pr111736.c
+ d639374a10f845f4130a83222b9ee43c  gcc/testsuite/gcc.target/i386/pr112495.c
+ 1601f8939826f2a25f2d128d43833970  gcc/testsuite/gcc.target/i386/pr112672.c
+ cee904627dd8919025dea0c6817c07d5  gcc/testsuite/gcc.target/i386/pr112891-2.c
+ 008137751ea4cc5c732bf09733a5c5d3  gcc/testsuite/gcc.target/i386/pr112891.c
+ 985d15f4237e366d808d224318b78cb2  gcc/testsuite/gcc.target/i386/pr113122-1.c
+ d150e8020454e98754c7dabfd41ad2ea  gcc/testsuite/gcc.target/i386/pr113122-2.c
+ 122f757ff15551df2a5ee4ba2135d85f  gcc/testsuite/gcc.target/i386/pr113122-3.c
+ 2f2dbd2c371a9961cb21196f2ee6f88d  gcc/testsuite/gcc.target/i386/pr113122-4.c
+ 04b5ce89d67e35431c960a773e44688c  gcc/testsuite/gcc.target/i386/pr113921.c
+ f561e51e21b70027e9a545f161c78a39  gcc/testsuite/gcc.target/i386/pr114184.c
  b03b1d817538a863277c823b5e4cdf75  gcc/testsuite/gcc.target/i386/pr12092-1.c
  f99f88a6e994ad6e55e065e41bc58f8f  gcc/testsuite/gcc.target/i386/pr12329.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
*************** b4038cdeb4eee7cf1074de1cead1d1b5  gcc/te
*** 64742,64747 ****
--- 64878,64885 ----
  d1e0ff73b10eb61ca8fa06128a453ef9  gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c
  308fe64b1fe9bf78b6b4ed03b89a6c2f  gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c
  5a4b1b55ad120b0697aa2b141f831dcc  gcc/testsuite/gcc.target/i386/sse2-por-1.c
+ 42b0a030864c4e7c12b6c80d6c8ae276  gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c
+ f25ef90e2173390dbb01786ae8576e29  gcc/testsuite/gcc.target/i386/sse2-pr112816.c
  bdbcd892d3f88fe1d7a07a2122cb928d  gcc/testsuite/gcc.target/i386/sse2-pr57233.c
  ab93046758268c8e3106f1bed7d4e8a5  gcc/testsuite/gcc.target/i386/sse2-pr63594-1.c
  ae0d76797c5135e83ce818bce0003cfa  gcc/testsuite/gcc.target/i386/sse2-pr63594-2.c
*************** bceca9004faa6729357ac4757f81b563  gcc/te
*** 66666,66674 ****
  2b0169ca798a1ab2ef548ccc6466fa75  gcc/testsuite/gcc.target/powerpc/cfuged-0.c
  3f04d51f3229d580c7e3475221fac283  gcc/testsuite/gcc.target/powerpc/cfuged-1.c
  4c1e1ec241d7a8a123436d0d1e5ad8e9  gcc/testsuite/gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c
! 88a65f2c70356d30873b9e3fbf14bd02  gcc/testsuite/gcc.target/powerpc/clone1.c
  b8e6c9f8968f2606ab8c45e4bae3d807  gcc/testsuite/gcc.target/powerpc/clone2.c
! 3f03cede40acb0331345348ac7486253  gcc/testsuite/gcc.target/powerpc/clone3.c
  df3bb7789b2e14f68bc9eb0b7af53cea  gcc/testsuite/gcc.target/powerpc/cmpb-1.c
  ba0b1956af1db794975f1aee3d6e6273  gcc/testsuite/gcc.target/powerpc/cmpb-2.c
  82227502f9d3718b87af61166d6cbcd4  gcc/testsuite/gcc.target/powerpc/cmpb-3.c
--- 66804,66812 ----
  2b0169ca798a1ab2ef548ccc6466fa75  gcc/testsuite/gcc.target/powerpc/cfuged-0.c
  3f04d51f3229d580c7e3475221fac283  gcc/testsuite/gcc.target/powerpc/cfuged-1.c
  4c1e1ec241d7a8a123436d0d1e5ad8e9  gcc/testsuite/gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c
! 689f90f1711f6d467fe0891512aa4482  gcc/testsuite/gcc.target/powerpc/clone1.c
  b8e6c9f8968f2606ab8c45e4bae3d807  gcc/testsuite/gcc.target/powerpc/clone2.c
! 53805374917dfb0695aa66ad55f2cc0a  gcc/testsuite/gcc.target/powerpc/clone3.c
  df3bb7789b2e14f68bc9eb0b7af53cea  gcc/testsuite/gcc.target/powerpc/cmpb-1.c
  ba0b1956af1db794975f1aee3d6e6273  gcc/testsuite/gcc.target/powerpc/cmpb-2.c
  82227502f9d3718b87af61166d6cbcd4  gcc/testsuite/gcc.target/powerpc/cmpb-3.c
*************** a3b487e53959665b5ecb0d7ba6138585  gcc/te
*** 66706,66711 ****
--- 66844,66852 ----
  9a0e4836781f28669ddca26eb214c2b2  gcc/testsuite/gcc.target/powerpc/darwin-abi-10.c
  66e5cfd1b7491e37c0ef258d09b6634d  gcc/testsuite/gcc.target/powerpc/darwin-abi-11.c
  53928dd7b0f61581157c4a15b8648deb  gcc/testsuite/gcc.target/powerpc/darwin-abi-12.c
+ 3c62c13d1d2b0222e5414464a8febd98  gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c
+ cf00e3be4bf57389b7f606e91c156bd0  gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c
+ 60f14ad7099165e20857ae4f288d20be  gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c
  f1de6a326b4846750e0ac1ab775db181  gcc/testsuite/gcc.target/powerpc/darwin-abi-2.c
  3fccf2fe47e82ab342fd63f22d397b6d  gcc/testsuite/gcc.target/powerpc/darwin-abi-3.c
  bea305679cc2b27499e1228c23aae9eb  gcc/testsuite/gcc.target/powerpc/darwin-abi-4.c
*************** ebf08f4056fe4c31c90dc291d1dfcaae  gcc/te
*** 66722,66727 ****
--- 66863,66869 ----
  4dbff077cb3e8124197729c3a94647bb  gcc/testsuite/gcc.target/powerpc/darwin-misaligned.c
  7ba33272da50fd8bee6d1536c3e99d26  gcc/testsuite/gcc.target/powerpc/darwin-save-world-1.c
  a034d7a8bf265623a75800f01113e836  gcc/testsuite/gcc.target/powerpc/darwin-split-ld-stret.c
+ c45226a99273c8755ce33ff73f22d3b3  gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h
  548fc585bcbf766f23bef7319f0b0a18  gcc/testsuite/gcc.target/powerpc/darwin64-abi.c
  5df8870892f8ad5f8ea3060c6c5b82b1  gcc/testsuite/gcc.target/powerpc/dfmode_off.c
  39a60b8b75cc0dfba0799a7a9c2be1b7  gcc/testsuite/gcc.target/powerpc/dform-1.c
*************** b681248afe4bdb1d889c6999e517fe7f  gcc/te
*** 67122,67128 ****
  677059b338aae8245e5715c1bf783dd9  gcc/testsuite/gcc.target/powerpc/fp128_conversions.c
  87367128477fa0028f5db348e8727505  gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c
  15196f9ab6aa2418751a7940e2c689cd  gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c
! f158c23481154ab06c25cbdd745dec8d  gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
  dcbebe071d63c21a542a5715031d4d82  gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c
  4bdf54c34acc51427043fafe760993e1  gcc/testsuite/gcc.target/powerpc/fusion-p10-stst.c
  2016e7aba1138d1b75643f27f6d362c9  gcc/testsuite/gcc.target/powerpc/fusion-p10-stst2.c
--- 67264,67270 ----
  677059b338aae8245e5715c1bf783dd9  gcc/testsuite/gcc.target/powerpc/fp128_conversions.c
  87367128477fa0028f5db348e8727505  gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c
  15196f9ab6aa2418751a7940e2c689cd  gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c
! 7ad30edab6bf65e71b087740ec0a7663  gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
  dcbebe071d63c21a542a5715031d4d82  gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c
  4bdf54c34acc51427043fafe760993e1  gcc/testsuite/gcc.target/powerpc/fusion-p10-stst.c
  2016e7aba1138d1b75643f27f6d362c9  gcc/testsuite/gcc.target/powerpc/fusion-p10-stst2.c
*************** a415b80ac7d3605461a355a307f12336  gcc/te
*** 67211,67218 ****
  758a89dcb12764d68855b09f85e3a355  gcc/testsuite/gcc.target/powerpc/mmx-punpcklbw-1.c
  bc09ccd31ca386dda15202c6adf9371a  gcc/testsuite/gcc.target/powerpc/mmx-punpckldq-1.c
  44ea7227a4af1aed1643b840469d076d  gcc/testsuite/gcc.target/powerpc/mmx-punpcklwd-1.c
! 180bf46e92dd9c837dbbc9cb04dd70c9  gcc/testsuite/gcc.target/powerpc/mod-1.c
! f86f87dd7c82f05785a8e530a4718235  gcc/testsuite/gcc.target/powerpc/mod-2.c
  0eeef6e17953a9f9d3921bffff4a3fad  gcc/testsuite/gcc.target/powerpc/mulic3-1.c
  40832ab7e8baf16efb6af3d58eb2479b  gcc/testsuite/gcc.target/powerpc/mulic3-2.c
  4eaddf22e0f22b514f7215226f16b76c  gcc/testsuite/gcc.target/powerpc/mulkc3-1.c
--- 67353,67360 ----
  758a89dcb12764d68855b09f85e3a355  gcc/testsuite/gcc.target/powerpc/mmx-punpcklbw-1.c
  bc09ccd31ca386dda15202c6adf9371a  gcc/testsuite/gcc.target/powerpc/mmx-punpckldq-1.c
  44ea7227a4af1aed1643b840469d076d  gcc/testsuite/gcc.target/powerpc/mmx-punpcklwd-1.c
! 727ad93993ba39773cf01458fedef7c1  gcc/testsuite/gcc.target/powerpc/mod-1.c
! 2832a9d4f2590d3b9c3fdf8c23e24efc  gcc/testsuite/gcc.target/powerpc/mod-2.c
  0eeef6e17953a9f9d3921bffff4a3fad  gcc/testsuite/gcc.target/powerpc/mulic3-1.c
  40832ab7e8baf16efb6af3d58eb2479b  gcc/testsuite/gcc.target/powerpc/mulic3-2.c
  4eaddf22e0f22b514f7215226f16b76c  gcc/testsuite/gcc.target/powerpc/mulkc3-1.c
*************** b96c1a1a69bfb6f4e16a5153a31d50f7  gcc/te
*** 67231,67237 ****
  582d7bb7e4106b5cb9134d552025a68e  gcc/testsuite/gcc.target/powerpc/outofline_rnreg.c
  6a702c02bd87ec8a44c18c117a4a5a09  gcc/testsuite/gcc.target/powerpc/p10-arch31.c
  9c56caddea7ae0680f831cbc5cf18478  gcc/testsuite/gcc.target/powerpc/p10-identify.c
! 01797cdaaa29a1c3b7afa60542008236  gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c
  6b3fcb3de6af2c0b3ca86ded91487247  gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst-v2.c
  b75815fd7a895d145154b5cf0c68e549  gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c
  8bea7369d1f259b76c9b70c7f551336b  gcc/testsuite/gcc.target/powerpc/p8vector-builtin-1.c
--- 67373,67379 ----
  582d7bb7e4106b5cb9134d552025a68e  gcc/testsuite/gcc.target/powerpc/outofline_rnreg.c
  6a702c02bd87ec8a44c18c117a4a5a09  gcc/testsuite/gcc.target/powerpc/p10-arch31.c
  9c56caddea7ae0680f831cbc5cf18478  gcc/testsuite/gcc.target/powerpc/p10-identify.c
! 05222dfc42774b4f3acc94610419905e  gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c
  6b3fcb3de6af2c0b3ca86ded91487247  gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst-v2.c
  b75815fd7a895d145154b5cf0c68e549  gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c
  8bea7369d1f259b76c9b70c7f551336b  gcc/testsuite/gcc.target/powerpc/p8vector-builtin-1.c
*************** f50d5d85d2fd6cdb2c24ba2f99c5ed50  gcc/te
*** 67470,67475 ****
--- 67612,67623 ----
  40726e9ba9f0dbe699d13f0248929db7  gcc/testsuite/gcc.target/powerpc/pr108348-1.c
  590060f31f74e624d8948e67f5efe8a9  gcc/testsuite/gcc.target/powerpc/pr108348-2.c
  d1ebac89ce86ba01adcab56447399dd9  gcc/testsuite/gcc.target/powerpc/pr108699.c
+ d746d0fb9156720298fa3c2071023bbf  gcc/testsuite/gcc.target/powerpc/pr109932-1.c
+ d746d0fb9156720298fa3c2071023bbf  gcc/testsuite/gcc.target/powerpc/pr109932-2.c
+ 30266f999ed968f6bfdc98dae3651704  gcc/testsuite/gcc.target/powerpc/pr110011.c
+ 0fc82ebefb1ad802aeb7fce96c922091  gcc/testsuite/gcc.target/powerpc/pr110411-1.c
+ 39880b05b13efbac2f1002f1730f701b  gcc/testsuite/gcc.target/powerpc/pr110411-2.c
+ edbd673b54dc453f6adb46e7d7b5d688  gcc/testsuite/gcc.target/powerpc/pr114846.c
  c2f6d6cf82ef4931619d09e10a0a72aa  gcc/testsuite/gcc.target/powerpc/pr16155.c
  396ae287e72ecdda51bb3157818030a9  gcc/testsuite/gcc.target/powerpc/pr16286.c
  198d8a69d2887e8fadcb050d90e21aa6  gcc/testsuite/gcc.target/powerpc/pr16458-1.c
*************** cb0a8c588bb900030e2258e13d748a25  gcc/te
*** 67721,67726 ****
--- 67869,67875 ----
  96eb5b3fd3f2812a018f01fd63b67f9b  gcc/testsuite/gcc.target/powerpc/pr88188-2.c
  9489612e4380ce85494a409bef20f69a  gcc/testsuite/gcc.target/powerpc/pr88188.c
  c75be0752698828e9a2843ce4464f296  gcc/testsuite/gcc.target/powerpc/pr88233.c
+ d2a99b9ff1da1e8d8120a3524731b2a5  gcc/testsuite/gcc.target/powerpc/pr88309.c
  21d3c2767889f61719f3852cb79cdc5a  gcc/testsuite/gcc.target/powerpc/pr88457.c
  edfc72e0b8e112e31e108fe03527f11f  gcc/testsuite/gcc.target/powerpc/pr88845.c
  dd95a2250e2db6dba5532882d6c626fd  gcc/testsuite/gcc.target/powerpc/pr88965.c
*************** a07b15408dfcb7108da14ce215101920  gcc/te
*** 67766,67771 ****
--- 67915,67921 ----
  f296eca9a733cf4bb4e198a3539e8cec  gcc/testsuite/gcc.target/powerpc/pr96506-1.c
  4057c480103b8c0cc29c131c3ab7cc50  gcc/testsuite/gcc.target/powerpc/pr96506-2.c
  713c433c1e5c80361a865ab817cd27b1  gcc/testsuite/gcc.target/powerpc/pr96530.c
+ 3af685337838b80c79ee574f658c90cc  gcc/testsuite/gcc.target/powerpc/pr96762.c
  7586cf00c4e30dcc232464c012e42760  gcc/testsuite/gcc.target/powerpc/pr96787-1.c
  6ea7fa7b0623f6ebd9652c5acea96884  gcc/testsuite/gcc.target/powerpc/pr96787-2.c
  54d85fa08f775bccdcae07e834cb4364  gcc/testsuite/gcc.target/powerpc/pr96808.c
*************** de511ffaecad04c9cbb12cacdec00373  gcc/te
*** 67792,67797 ****
--- 67942,67953 ----
  9fc46dc795793c68c68bcda62ba3bb06  gcc/testsuite/gcc.target/powerpc/pragma_power7.c
  86de0bfe94420f8830e56254afa4feaf  gcc/testsuite/gcc.target/powerpc/pragma_power8.c
  25c6031256d212b5648eda0ff8d68094  gcc/testsuite/gcc.target/powerpc/pragma_power9.c
+ dd58427154af8c0e48b89c68e7b990b6  gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c
+ c99f3d7c3678eb974f17a9b2be94967f  gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c
+ 17bbe3e953d2757e7a9bd15587a8e0df  gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c
+ fb4cb3b55f779a8de1bb7d7d81b8e375  gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c
+ 1c332ef8081d846326294ca260db1f44  gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c
+ fd92078433cbb9d31fe530ccf8b4d53d  gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c
  3d5b95888852df8700894887dd8bfb69  gcc/testsuite/gcc.target/powerpc/prefix-add.c
  22fb944e0690c3907fb29d60c970351a  gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c
  8db875e0cffec64424eec6fa93ff403b  gcc/testsuite/gcc.target/powerpc/prefix-ds-dq.c
*************** efcb2d5344bde460bcbee76b9e33c09d  gcc/te
*** 68768,68773 ****
--- 68924,68930 ----
  f10dd9a709d22cee958fd785672d36fe  gcc/testsuite/gcc.target/riscv/mcpu-6.c
  5dd548bcc6e4a75ff60a9063af21468e  gcc/testsuite/gcc.target/riscv/mcpu-7.c
  bbc038d526e035bc943cafd8be527309  gcc/testsuite/gcc.target/riscv/pr102957.c
+ ef588c023f4aba7b77e02fe6afe13376  gcc/testsuite/gcc.target/riscv/pr114130.c
  14c90f84d8058b60faff46b00c097a9c  gcc/testsuite/gcc.target/riscv/pr84660.c
  1a434ff3440a676fb4f4c586bf3152e5  gcc/testsuite/gcc.target/riscv/pr93202.c
  6a4efdae4822baf9f3df7454d4e40a5b  gcc/testsuite/gcc.target/riscv/pr93304.c
*************** aeec8ff75316a52def72f86d4bc1708c  gcc/te
*** 70530,70535 ****
--- 70687,70693 ----
  753f5121640aa2d9e67d4f235bed8d2b  gcc/testsuite/gdc.dg/imports/pr108050/mod2.d
  b0fb7628aa04803e7405378e8ff66d8c  gcc/testsuite/gdc.dg/imports/pr108050/package.d
  c1371b9d51218c700b58595265d42b2d  gcc/testsuite/gdc.dg/imports/pr108877a.d
+ 9485d0785daa621b682e2b2f40ada8b1  gcc/testsuite/gdc.dg/imports/pr113125.d
  7ae8eee97923fab094ae5ca5a1eca902  gcc/testsuite/gdc.dg/imports/pr92216.d
  b9989889ba43c533b1edad45c8a4bca1  gcc/testsuite/gdc.dg/intrinsics.d
  2049e750a9b0b91100888e640127b311  gcc/testsuite/gdc.dg/lto/lto.exp
*************** f4b93d30d706ee858eb3d1d73cac63f0  gcc/te
*** 70551,70557 ****
--- 70709,70718 ----
  27e575511646bb151afbd1a856acdadc  gcc/testsuite/gdc.dg/pr106139d.d
  9e838ba67909954cf1aa94614647413b  gcc/testsuite/gdc.dg/pr107592.d
  5e07b36b71c4e1c18324a1aa28b644c9  gcc/testsuite/gdc.dg/pr108050.d
+ 5971ddff852dbd035f6c3685d3460950  gcc/testsuite/gdc.dg/pr108842.d
  531ba2cfc6bb317d132b6b86e9221526  gcc/testsuite/gdc.dg/pr108877.d
+ d636f6d2baa8700a534dfd6a53a96d3c  gcc/testsuite/gdc.dg/pr110359.d
+ 9b63f428c6cdc3f7abd69df6a3077880  gcc/testsuite/gdc.dg/pr113125.d
  d32aa8ed5ea10931be4ddb5bb9e863d8  gcc/testsuite/gdc.dg/pr89017.d
  53fa8db94d4ca3fc9ba83769733dc0e7  gcc/testsuite/gdc.dg/pr89041.d
  6c316b13f71ea31fcada56b58a41ebd1  gcc/testsuite/gdc.dg/pr89042a.d
*************** eb911ca49c3c33021dd97064b0459923  gcc/te
*** 70583,70589 ****
  c5a77c2a508b4b45e9a6b936d77d9f80  gcc/testsuite/gdc.dg/pr96869.d
  dc97b4112b134cae3d15aab92424d97a  gcc/testsuite/gdc.dg/pr96924.d
  9c4c7df565451e246ae0d226391657f5  gcc/testsuite/gdc.dg/pr97002.d
! 474f1f2b9c5476fcfd2ee0ed2db833f0  gcc/testsuite/gdc.dg/pr98277.d
  a55903f9c72658c02ea18841f80bff0c  gcc/testsuite/gdc.dg/pr98427.d
  cbe01bd2f79e7ab3310ed946deebeec0  gcc/testsuite/gdc.dg/pr98457.d
  3b746393a80b865ba51671750bc32bb9  gcc/testsuite/gdc.dg/pr99914.d
--- 70744,70750 ----
  c5a77c2a508b4b45e9a6b936d77d9f80  gcc/testsuite/gdc.dg/pr96869.d
  dc97b4112b134cae3d15aab92424d97a  gcc/testsuite/gdc.dg/pr96924.d
  9c4c7df565451e246ae0d226391657f5  gcc/testsuite/gdc.dg/pr97002.d
! 189c80668831e099c7045d9f7a2cef73  gcc/testsuite/gdc.dg/pr98277.d
  a55903f9c72658c02ea18841f80bff0c  gcc/testsuite/gdc.dg/pr98427.d
  cbe01bd2f79e7ab3310ed946deebeec0  gcc/testsuite/gdc.dg/pr98457.d
  3b746393a80b865ba51671750bc32bb9  gcc/testsuite/gdc.dg/pr99914.d
*************** d3cb0d42e94f3b4127de8609610ded70  gcc/te
*** 70651,70656 ****
--- 70812,70821 ----
  cede80748e43884ad3613a2a7e4b6ff3  gcc/testsuite/gdc.dg/torture/pr101273.d
  a24df8e498053d7ab8325fc58ede1835  gcc/testsuite/gdc.dg/torture/pr101282.d
  41c17e6e62da4333262dbaa7b4e20510  gcc/testsuite/gdc.dg/torture/pr109108.d
+ 827ebe506781bb2fabf9411464081efe  gcc/testsuite/gdc.dg/torture/pr110516a.d
+ de9193ce38f7ef3ee1cc3a94fc8a92dc  gcc/testsuite/gdc.dg/torture/pr110516b.d
+ ad67c2aef0ecf01677e58695b0cc5d36  gcc/testsuite/gdc.dg/torture/pr113758.d
+ c3a3fcac804266bf984aad50e1f84157  gcc/testsuite/gdc.dg/torture/pr114171.d
  580aadb24b666799e25f1f02ef3b7bbb  gcc/testsuite/gdc.dg/torture/pr92309.d
  1b111ae77202133585fd76e6867c2615  gcc/testsuite/gdc.dg/torture/pr94424.d
  658ecf9f1faf93eb8bdf8896b94d1b62  gcc/testsuite/gdc.dg/torture/pr94777b.d
*************** f7ebbab88f0a4f86e71b06e130f593ee  gcc/te
*** 71239,71244 ****
--- 71404,71410 ----
  effd503ab143f07a377f69a6abd2e2ab  gcc/testsuite/gdc.test/compilable/test21299d.d
  6aae9ab24e30cc1449c46abe03e9439e  gcc/testsuite/gdc.test/compilable/test21501a.d
  0f65bb2b07e0bc8dcb7e5d89eaf5b3f7  gcc/testsuite/gdc.test/compilable/test21742.d
+ 08936419a9625265328cfea85871ada2  gcc/testsuite/gdc.test/compilable/test21794.d
  e5b88d27b36ae497e0682fa1afcc06be  gcc/testsuite/gdc.test/compilable/test21812.d
  7bf71d49bd9d761471be55f9c50f5c92  gcc/testsuite/gdc.test/compilable/test21898.d
  f8ec0845cd2590e50d27071453701fb7  gcc/testsuite/gdc.test/compilable/test22006.d
*************** e7a1e79918397cacde44559287989c3e  gcc/te
*** 73337,73342 ****
--- 73503,73509 ----
  bff4f86cadc34cdb60ab04c217d46dbd  gcc/testsuite/gfortran.dg/allocate_with_mold_1.f90
  9f39ddc177a6f3ff474548de040842f7  gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90
  f4cacbb7fc7a73c4dc452abb4169a708  gcc/testsuite/gfortran.dg/allocate_with_mold_3.f90
+ 7d6318515de269c6859cdb9dea3519ac  gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90
  8525309ee0a25fc4ec16a87c02a27e9a  gcc/testsuite/gfortran.dg/allocate_with_source_1.f90
  31f46b6f8cf8a1610b258ea73d0033de  gcc/testsuite/gfortran.dg/allocate_with_source_10.f08
  3e69f8fb58e06a24fc9934b0040bc33c  gcc/testsuite/gfortran.dg/allocate_with_source_11.f08
*************** bd4118fd768f3467307efc9602103e4c  gcc/te
*** 73355,73361 ****
  38cc9fdec67f82f032977fc8ad612b4c  gcc/testsuite/gfortran.dg/allocate_with_source_23.f03
  b1a373e9e419d53e737be3282523545d  gcc/testsuite/gfortran.dg/allocate_with_source_24.f90
  f0618b11a21d03826df78d5c6b9cb863  gcc/testsuite/gfortran.dg/allocate_with_source_25.f90
! b7a8d3b268cbeb9ec711824b11df77cf  gcc/testsuite/gfortran.dg/allocate_with_source_26.f90
  8cd7bcf0efad3a6d0e1f5b5492a6cdf7  gcc/testsuite/gfortran.dg/allocate_with_source_3.f90
  6e6cc1fe5ed4f0f5c650bc8b6e0634b0  gcc/testsuite/gfortran.dg/allocate_with_source_4.f90
  6df025374b593e0339c7b746700d109e  gcc/testsuite/gfortran.dg/allocate_with_source_5.f90
--- 73522,73528 ----
  38cc9fdec67f82f032977fc8ad612b4c  gcc/testsuite/gfortran.dg/allocate_with_source_23.f03
  b1a373e9e419d53e737be3282523545d  gcc/testsuite/gfortran.dg/allocate_with_source_24.f90
  f0618b11a21d03826df78d5c6b9cb863  gcc/testsuite/gfortran.dg/allocate_with_source_25.f90
! f27e65cbaa74101ffeaa1c5d321f9f84  gcc/testsuite/gfortran.dg/allocate_with_source_26.f90
  8cd7bcf0efad3a6d0e1f5b5492a6cdf7  gcc/testsuite/gfortran.dg/allocate_with_source_3.f90
  6e6cc1fe5ed4f0f5c650bc8b6e0634b0  gcc/testsuite/gfortran.dg/allocate_with_source_4.f90
  6df025374b593e0339c7b746700d109e  gcc/testsuite/gfortran.dg/allocate_with_source_5.f90
*************** b85f62a13d3cc36bdf0f22f1d532889f  gcc/te
*** 74821,74830 ****
--- 74988,74999 ----
  433440f2bc7400a428ec319b70a4c7c4  gcc/testsuite/gfortran.dg/data_initialized.f90
  f7e6506db3e2a2cf1acda6f7ed5bb367  gcc/testsuite/gfortran.dg/data_initialized_2.f90
  7c629d12ce2ea9831030b62a2361a453  gcc/testsuite/gfortran.dg/data_initialized_3.f90
+ f2645f1fb686b434b8e069203f77e6d5  gcc/testsuite/gfortran.dg/data_initialized_4.f90
  f46c4682d75c7544431499a708875e0d  gcc/testsuite/gfortran.dg/data_inquiry_ref.f90
  933976674d89973b726184d45668d1af  gcc/testsuite/gfortran.dg/data_invalid.f90
  75c2602db09095225b6558bf5ee7a00d  gcc/testsuite/gfortran.dg/data_namelist_conflict.f90
  bca7e4fe42af4bdc8c5dce540cb962e5  gcc/testsuite/gfortran.dg/data_pointer_1.f90
+ a2552f985f60c37bffc14327b45be315  gcc/testsuite/gfortran.dg/data_pointer_3.f90
  20f92cb056c2de7e78393cf1bd92793a  gcc/testsuite/gfortran.dg/data_stmt_pointer.f90
  ea42e7a04380338a9946ffc999ea6767  gcc/testsuite/gfortran.dg/data_substring.f90
  503918b2128c29daa249b849ffe01756  gcc/testsuite/gfortran.dg/data_value_1.f90
*************** c8ca7a67e0b9c502e7883c6187a3b1f3  gcc/te
*** 75008,75013 ****
--- 75177,75183 ----
  78fa09124fe9b69cd259177c36a08282  gcc/testsuite/gfortran.dg/deferred_character_34.f90
  90f06c61f4e28e5c0cd42eea0caba538  gcc/testsuite/gfortran.dg/deferred_character_35.f90
  f69f56fb4872918c466c7554afc79da9  gcc/testsuite/gfortran.dg/deferred_character_36.f90
+ 0c1889dba05d51d0a09b189a6caa16c0  gcc/testsuite/gfortran.dg/deferred_character_37.f90
  5eede6c791f6d272034f9b84850ac6af  gcc/testsuite/gfortran.dg/deferred_character_4.f90
  981b809300de368e8fac65be4b40099c  gcc/testsuite/gfortran.dg/deferred_character_5.f90
  b8df78111bec4d4d4b97da6a15228361  gcc/testsuite/gfortran.dg/deferred_character_6.f90
*************** ce817f495edb0ac306d6ae1052014e67  gcc/te
*** 75577,75582 ****
--- 75747,75753 ----
  a1de3ecdc32a070009986504b0fcaf97  gcc/testsuite/gfortran.dg/finalize_8.f03
  2127f420195e5f6cdb58fe18800b4c33  gcc/testsuite/gfortran.dg/finalize_9.f90
  bf61238b3b7b6fc0fa0299fb54103da5  gcc/testsuite/gfortran.dg/findloc_1.f90
+ a0e3df827bf32fe2c2f8909306f1c0d5  gcc/testsuite/gfortran.dg/findloc_10.f90
  64ead876be3dc730e11de6b0cdf756a3  gcc/testsuite/gfortran.dg/findloc_2.f90
  c2d255c860f923ee454d9af3f7906dcc  gcc/testsuite/gfortran.dg/findloc_3.f90
  bd9a353d401afba38b6ad5f47b5ae41f  gcc/testsuite/gfortran.dg/findloc_4.f90
*************** bd9a353d401afba38b6ad5f47b5ae41f  gcc/te
*** 75584,75589 ****
--- 75755,75761 ----
  b80ec5f6b587bbcad7647fce5f51e6f2  gcc/testsuite/gfortran.dg/findloc_6.f90
  419ae318160319ea2e9ffb1a589e850d  gcc/testsuite/gfortran.dg/findloc_7.f90
  1fa6e9b23d9f1915dc2131a48feec745  gcc/testsuite/gfortran.dg/findloc_8.f90
+ 963d8fa72a02646044c6f01d4b868b75  gcc/testsuite/gfortran.dg/findloc_9.f90
  dcdc431d3eebcd38c61326f1e9a107c4  gcc/testsuite/gfortran.dg/float_1.f90
  6d61a0e1310090a27fbd2ef3d9f7ea19  gcc/testsuite/gfortran.dg/flush_1.f90
  dfe8c326dde7ba4070312da0fb9fb955  gcc/testsuite/gfortran.dg/fmt_bz_bn.f
*************** ab6d18741860d8f9094676890b96e068  gcc/te
*** 76275,76280 ****
--- 76447,76453 ----
  f5feeab5c486d27ccc1c9005dc112eff  gcc/testsuite/gfortran.dg/gomp/order-3.f90
  f8e40f23828c760759b3893792acb659  gcc/testsuite/gfortran.dg/gomp/order-4.f90
  dd42ad4341c4916a5494d5d3c6a52b40  gcc/testsuite/gfortran.dg/gomp/pr100965.f90
+ 616305573acc701769497c1eee637edc  gcc/testsuite/gfortran.dg/gomp/pr114825.f90
  9a6817790a272cd8153d4303d324c00f  gcc/testsuite/gfortran.dg/gomp/pr26224.f
  d2c74a71f2bea0005d853821e6f0142c  gcc/testsuite/gfortran.dg/gomp/pr27573.f90
  a65c4577a606ba1bdab50e690b269b04  gcc/testsuite/gfortran.dg/gomp/pr29759.f90
*************** b75cb93f87f099ad715aceb9cb7b1bf2  gcc/te
*** 76710,76715 ****
--- 76883,76889 ----
  156dc7e9c954310ba5c74c0fbcaa4f42  gcc/testsuite/gfortran.dg/implied_do_io_5.f90
  1f7a9307002a1f0f2a5f8eb76998dcda  gcc/testsuite/gfortran.dg/implied_do_io_6.f90
  2b548a8a46da28ac4ce23e2509a886fc  gcc/testsuite/gfortran.dg/implied_do_io_7.f90
+ 1b11291348a686162c0e48c6b1b5cd66  gcc/testsuite/gfortran.dg/implied_do_io_8.f90
  a8761a2aaffb7680e80dcad5eceada12  gcc/testsuite/gfortran.dg/implied_shape_1.f08
  f9528d7042bf84bf037d6e2b109272ec  gcc/testsuite/gfortran.dg/implied_shape_2.f90
  1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
*************** c35066e873add73fe333d803e2854739  gcc/te
*** 77973,77988 ****
--- 78147,78165 ----
  4b404e5693e05cfd48ecd00e22ac323d  gcc/testsuite/gfortran.dg/pr103259.f90
  b624133cafd19857eb2915c507731455  gcc/testsuite/gfortran.dg/pr103504.f90
  0ca27f571c157feff083b371f4147538  gcc/testsuite/gfortran.dg/pr103505.f90
+ bb48aa0d2e0434d5fff259663b128e23  gcc/testsuite/gfortran.dg/pr103506_1.f90
  dc7a57f897711dfb7a3fba377198c10c  gcc/testsuite/gfortran.dg/pr103588.f90
  a27b232d198fc2463c04af17903b1b4c  gcc/testsuite/gfortran.dg/pr103606.f90
  ea7b00fcccc1df091b8087b16e502d92  gcc/testsuite/gfortran.dg/pr103607.f90
  e83cb447f532a018a571c0eb3b9813ac  gcc/testsuite/gfortran.dg/pr103609.f90
  448c7638e7741c015d95260e6491d8fa  gcc/testsuite/gfortran.dg/pr103692.f90
  7880bd79a12dd5ee034f461bbaebed02  gcc/testsuite/gfortran.dg/pr103694.f90
+ 8af96c30a623abf7d639ba532fd9c9ac  gcc/testsuite/gfortran.dg/pr103715.f90
  9c2a780c1ca6904bb5164e252d9e5455  gcc/testsuite/gfortran.dg/pr104210.f90
  73191330286eb3bf2c13130685c97c95  gcc/testsuite/gfortran.dg/pr104211.f90
  4d8d0ebddb3e8c68a7b0604135d30ec0  gcc/testsuite/gfortran.dg/pr104313.f
  7a5b7a18d621b5e1b9d04b73e259ddd4  gcc/testsuite/gfortran.dg/pr104849.f90
+ 35a7804825dacf412e34e3f973b467f1  gcc/testsuite/gfortran.dg/pr104908.f90
  22283af469347d85bd1fe4dae42939a3  gcc/testsuite/gfortran.dg/pr105230.f90
  04437d9e5ce70eee9f187cabd7a3ae39  gcc/testsuite/gfortran.dg/pr105633.f90
  d4e9f09fafa1c1f5e009aedb22732715  gcc/testsuite/gfortran.dg/pr105954.f90
*************** e1ccca85dc432ca649742c05520157d9  gcc/te
*** 77994,77999 ****
--- 78171,78177 ----
  a9c6ba4d14cec93cd2edec54fda6a916  gcc/testsuite/gfortran.dg/pr106985.f90
  eb96b826eeaf84f157c8635706721d40  gcc/testsuite/gfortran.dg/pr106986.f90
  11beaeea87162696e195837c5224fa2d  gcc/testsuite/gfortran.dg/pr107054.f90
+ 4bf79fd79798c56c4dfc83d4cd395f09  gcc/testsuite/gfortran.dg/pr107397.f90
  ba47b0afdca4ac305945fe0fc5dcb1d2  gcc/testsuite/gfortran.dg/pr107872.f90
  51c1978cd57328dca2798eaa646a34b7  gcc/testsuite/gfortran.dg/pr108131.f90
  d10ee488f163142e4a7a74b3c6a8e12f  gcc/testsuite/gfortran.dg/pr108193.f90
*************** ed294cde0b27b346f37fa7a32bf91ea7  gcc/te
*** 78003,78008 ****
--- 78181,78187 ----
  1836eed7a2cdfcdba4e590204735e288  gcc/testsuite/gfortran.dg/pr108502.f90
  bb19038b0b7c42c6403475e34570ae3d  gcc/testsuite/gfortran.dg/pr108527.f90
  a367beafff806aa88b45192d28091201  gcc/testsuite/gfortran.dg/pr108529.f90
+ 6176c5192c44068787a0e803e38dacbd  gcc/testsuite/gfortran.dg/pr111880.f90
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  e9cbd51db4e16292fc5dd1fead2e5a49  gcc/testsuite/gfortran.dg/pr15140.f90
*************** f5fd6e3fa110d4cb66c18b37bf885f26  gcc/te
*** 78554,78561 ****
  7ebf7d753067f8fb33a012241af298a7  gcc/testsuite/gfortran.dg/pr89664.f90
  51110a6eedd6a04c8d24b1221f417a4c  gcc/testsuite/gfortran.dg/pr89943_1.f90
  c8b61ebc8563f334c25fcd70c0534f36  gcc/testsuite/gfortran.dg/pr89943_2.f90
! 06b2d802f5d95257d8ae61d2b9c466d0  gcc/testsuite/gfortran.dg/pr89943_3.f90
! 76252e955978550643d5d0dc6f7e78e4  gcc/testsuite/gfortran.dg/pr89943_4.f90
  831d5fcec1de1ef5c5b043098058d7a8  gcc/testsuite/gfortran.dg/pr89956.f90
  f93d3cf614a3e39cf100823554d1a638  gcc/testsuite/gfortran.dg/pr90002.f90
  b4b80d372198c955d7e61bb3acdc89e1  gcc/testsuite/gfortran.dg/pr90021.f90
--- 78733,78740 ----
  7ebf7d753067f8fb33a012241af298a7  gcc/testsuite/gfortran.dg/pr89664.f90
  51110a6eedd6a04c8d24b1221f417a4c  gcc/testsuite/gfortran.dg/pr89943_1.f90
  c8b61ebc8563f334c25fcd70c0534f36  gcc/testsuite/gfortran.dg/pr89943_2.f90
! af61ebc1a556ae2b9d4b71efd216ca88  gcc/testsuite/gfortran.dg/pr89943_3.f90
! 144e6e7adcaa47ba26138bcf270ed91e  gcc/testsuite/gfortran.dg/pr89943_4.f90
  831d5fcec1de1ef5c5b043098058d7a8  gcc/testsuite/gfortran.dg/pr89956.f90
  f93d3cf614a3e39cf100823554d1a638  gcc/testsuite/gfortran.dg/pr90002.f90
  b4b80d372198c955d7e61bb3acdc89e1  gcc/testsuite/gfortran.dg/pr90021.f90
*************** b7f688acbe6b27032e2d16f367317b58  gcc/te
*** 79265,79270 ****
--- 79444,79450 ----
  de48eaee117c9656a2db00a7ffbe9cb9  gcc/testsuite/gfortran.dg/select_rank_3.f90
  0eea4aff70c2008ccc3720a5ea3d8ef8  gcc/testsuite/gfortran.dg/select_rank_4.f90
  47b685d5206776c0ac8e9595eecd3af1  gcc/testsuite/gfortran.dg/select_rank_5.f90
+ 75a33bd7de6487f12dfd07ccafa44d4d  gcc/testsuite/gfortran.dg/select_rank_6.f90
  e91693e025c4186322babf06bd1ed7d5  gcc/testsuite/gfortran.dg/select_type_1.f03
  cfc1f17ea1421c22ece9a1d3936945cc  gcc/testsuite/gfortran.dg/select_type_10.f03
  e7fc4e45d93d73096eb5455e0afc91c2  gcc/testsuite/gfortran.dg/select_type_11.f03
*************** b901a88b454d7825c0db0571e62c9944  gcc/te
*** 79867,79872 ****
--- 80047,80053 ----
  aa0dfadd71d3f03426fb0f846d07e63b  gcc/testsuite/gfortran.dg/use_29.f90
  9ca8384adf4fc331598e3bcd1cbb8ffe  gcc/testsuite/gfortran.dg/use_3.f90
  e3915d16f4c6f728ab91bc8f9638bf61  gcc/testsuite/gfortran.dg/use_30.f90
+ 38dd8041fc441aa36819446520a45884  gcc/testsuite/gfortran.dg/use_31.f90
  0c64a8a6f9a898ee90f8cccc71a7f782  gcc/testsuite/gfortran.dg/use_4.f90
  4e842fdc63e80db58b1de3e5a39f4573  gcc/testsuite/gfortran.dg/use_5.f90
  3ccf2307581a4141eac7b094a0461b40  gcc/testsuite/gfortran.dg/use_6.f90
*************** ad2a054aea75840d3ecf97c2faa0f183  gcc/te
*** 80549,80554 ****
--- 80730,80736 ----
  1406779a63f2f66b35098f98ca1b272a  gcc/testsuite/gnat.dg/abstract_state1.ads
  f8aa1b9b6d8605d6d8f8640d0af378d3  gcc/testsuite/gnat.dg/abstract_with_anonymous_result.adb
  1ab0ba269ad1e4ee5cc0b2651374a2a5  gcc/testsuite/gnat.dg/access1.adb
+ 6d63d89266459501cbab795f893986a6  gcc/testsuite/gnat.dg/access10.adb
  943026829386ee6566add3daafeab5a1  gcc/testsuite/gnat.dg/access2.adb
  2fa4700bffd8945e6a0f90d0475d0d69  gcc/testsuite/gnat.dg/access3.adb
  85a2981071298449aa62b8862bba17d1  gcc/testsuite/gnat.dg/access3.ads
*************** f3429f34adffc8bdea29c62318bbaca5  gcc/te
*** 82132,82137 ****
--- 82314,82320 ----
  bfd951f08498fce7551e86b55e6d2ac3  gcc/testsuite/gnat.dg/predicate13.ads
  56f5e4c67732ce94802a427f1ba725b4  gcc/testsuite/gnat.dg/predicate14.adb
  87259b1c34db44581ee72ed85285a720  gcc/testsuite/gnat.dg/predicate14.ads
+ a82cac3594ba22e63f0c9ecf8839521f  gcc/testsuite/gnat.dg/predicate15.adb
  98656679a5dd8965b27cb10a0871426e  gcc/testsuite/gnat.dg/predicate2-containers.ads
  cd331caa5287b813c3fc2421aa5bf64b  gcc/testsuite/gnat.dg/predicate2-project-name_values.ads
  a7858dfab3659f60abb1ca21bca1863e  gcc/testsuite/gnat.dg/predicate2-project-registry-attribute.ads
*************** e309c53b14c724939a1564046c6a5df2  gcc/te
*** 85126,85132 ****
  5542ebc8aa1b198ad40aeeee64259afb  gcc/testsuite/jit.dg/test-version.c
  96ac85af1dde837e4f4e2444d083cf22  gcc/testsuite/jit.dg/test-volatile.c
  6477c66fcebff4d502d26e2d247251ce  gcc/testsuite/jit.dg/verify-dynamic-library.c
! cc999fc27872b581322563f70f42788f  gcc/testsuite/lib/asan-dg.exp
  483d65b2fafe6f111f4efccfff01eddd  gcc/testsuite/lib/atomic-dg.exp
  23f70cb48e57944a6d19e48539f62725  gcc/testsuite/lib/brig-dg.exp
  940997b6e696d711dbf04ef0fbac07f5  gcc/testsuite/lib/brig.exp
--- 85309,85315 ----
  5542ebc8aa1b198ad40aeeee64259afb  gcc/testsuite/jit.dg/test-version.c
  96ac85af1dde837e4f4e2444d083cf22  gcc/testsuite/jit.dg/test-volatile.c
  6477c66fcebff4d502d26e2d247251ce  gcc/testsuite/jit.dg/verify-dynamic-library.c
! 62978969427f060668dc9c5e2b6e4d66  gcc/testsuite/lib/asan-dg.exp
  483d65b2fafe6f111f4efccfff01eddd  gcc/testsuite/lib/atomic-dg.exp
  23f70cb48e57944a6d19e48539f62725  gcc/testsuite/lib/brig-dg.exp
  940997b6e696d711dbf04ef0fbac07f5  gcc/testsuite/lib/brig.exp
*************** cf4a44031f74dab102437a174e225c3d  gcc/te
*** 85141,85147 ****
  2a64a21deb050948a88c246de33c0021  gcc/testsuite/lib/fortran-modules.exp
  6fb22541f6658769416c6353f89113ed  gcc/testsuite/lib/fortran-torture.exp
  b849fdeeb8ec7cee782e2cd57ca685e0  gcc/testsuite/lib/g++-dg.exp
! 10a3c89e5f3965627e1805ade8679843  gcc/testsuite/lib/g++.exp
  7aca6382ec2d451baf6bf4c67f6966f6  gcc/testsuite/lib/gcc-defs.exp
  8b7f96485bb0e97962f1c78a08e01439  gcc/testsuite/lib/gcc-dg.exp
  85196ac94ccd30343d2dcc8348f7d280  gcc/testsuite/lib/gcc-gdb-test.exp
--- 85324,85330 ----
  2a64a21deb050948a88c246de33c0021  gcc/testsuite/lib/fortran-modules.exp
  6fb22541f6658769416c6353f89113ed  gcc/testsuite/lib/fortran-torture.exp
  b849fdeeb8ec7cee782e2cd57ca685e0  gcc/testsuite/lib/g++-dg.exp
! 03f6d2f43a2de7fcc8935ad14969d444  gcc/testsuite/lib/g++.exp
  7aca6382ec2d451baf6bf4c67f6966f6  gcc/testsuite/lib/gcc-defs.exp
  8b7f96485bb0e97962f1c78a08e01439  gcc/testsuite/lib/gcc-dg.exp
  85196ac94ccd30343d2dcc8348f7d280  gcc/testsuite/lib/gcc-gdb-test.exp
*************** d2c996c0f1e4f52698d0d195e6ac13b8  gcc/te
*** 85164,85170 ****
  f4e309b118df6bc1f55a0b5ed4e7807d  gcc/testsuite/lib/mike-gcc.exp
  dfa03e4b5bdd1b947f7c23113f25ef34  gcc/testsuite/lib/multiline.exp
  4ec25704b1ae42aa7da653cca66159df  gcc/testsuite/lib/obj-c++-dg.exp
! 6753fc1fd1013b0fd2781cb9bd198c77  gcc/testsuite/lib/obj-c++.exp
  4aee1266d1408aa049a055d7bafb63d8  gcc/testsuite/lib/objc-dg.exp
  54d731506c3dc7e2798644b773b64fed  gcc/testsuite/lib/objc-torture.exp
  973c68427d189bf6bf20d69dfab94037  gcc/testsuite/lib/objc.exp
--- 85347,85353 ----
  f4e309b118df6bc1f55a0b5ed4e7807d  gcc/testsuite/lib/mike-gcc.exp
  dfa03e4b5bdd1b947f7c23113f25ef34  gcc/testsuite/lib/multiline.exp
  4ec25704b1ae42aa7da653cca66159df  gcc/testsuite/lib/obj-c++-dg.exp
! 88f5ada78bfbb77a124649e5611096a2  gcc/testsuite/lib/obj-c++.exp
  4aee1266d1408aa049a055d7bafb63d8  gcc/testsuite/lib/objc-dg.exp
  54d731506c3dc7e2798644b773b64fed  gcc/testsuite/lib/objc-torture.exp
  973c68427d189bf6bf20d69dfab94037  gcc/testsuite/lib/objc.exp
*************** bf57f760d7e706b8742823fbb639ae4c  gcc/te
*** 85185,85191 ****
  ee11afd0bed136fe5f9f4b0b9347fbc1  gcc/testsuite/lib/scanwpaipa.exp
  e85eac7191a9c0639c23f2d8cb32aa3d  gcc/testsuite/lib/target-libpath.exp
  29911997572e845d73d87588342bbc60  gcc/testsuite/lib/target-supports-dg.exp
! d287d8054b60f62452ef24d9f47c54b1  gcc/testsuite/lib/target-supports.exp
  3726aa6af2e0ec126a1f3165db93c458  gcc/testsuite/lib/target-utils.exp
  7f2401885e3237bcc8a97ce8be301082  gcc/testsuite/lib/timeout-dg.exp
  3159102522e362ff5b08ae959de2db09  gcc/testsuite/lib/timeout.exp
--- 85368,85374 ----
  ee11afd0bed136fe5f9f4b0b9347fbc1  gcc/testsuite/lib/scanwpaipa.exp
  e85eac7191a9c0639c23f2d8cb32aa3d  gcc/testsuite/lib/target-libpath.exp
  29911997572e845d73d87588342bbc60  gcc/testsuite/lib/target-supports-dg.exp
! 36e6b527dd3710674cf96f04f65589c8  gcc/testsuite/lib/target-supports.exp
  3726aa6af2e0ec126a1f3165db93c458  gcc/testsuite/lib/target-utils.exp
  7f2401885e3237bcc8a97ce8be301082  gcc/testsuite/lib/timeout-dg.exp
  3159102522e362ff5b08ae959de2db09  gcc/testsuite/lib/timeout.exp
*************** df8e1651432977636bf9ca64823f6609  gcc/te
*** 85265,85271 ****
  ff09985655f304be699aaf3b8ac7d0c6  gcc/testsuite/obj-c++.dg/empty-private-1.mm
  64ae66c53d490094dd3c153f9c4a9c75  gcc/testsuite/obj-c++.dg/encode-1-next.mm
  575f87323105c855ece3eec6c673cfb0  gcc/testsuite/obj-c++.dg/encode-1.mm
! 7d7e6fc99c392bf563fae8bf357cc835  gcc/testsuite/obj-c++.dg/encode-10.mm
  4067b5ccc3ec6ec182e59982034a88a4  gcc/testsuite/obj-c++.dg/encode-2.mm
  c4e0785b4aee1c468f74005c33931f44  gcc/testsuite/obj-c++.dg/encode-3.mm
  3e70d4ed3f63678d5b05f4488150f57b  gcc/testsuite/obj-c++.dg/encode-4.mm
--- 85448,85454 ----
  ff09985655f304be699aaf3b8ac7d0c6  gcc/testsuite/obj-c++.dg/empty-private-1.mm
  64ae66c53d490094dd3c153f9c4a9c75  gcc/testsuite/obj-c++.dg/encode-1-next.mm
  575f87323105c855ece3eec6c673cfb0  gcc/testsuite/obj-c++.dg/encode-1.mm
! e4d16fff8957aa01b40df6db83660e61  gcc/testsuite/obj-c++.dg/encode-10.mm
  4067b5ccc3ec6ec182e59982034a88a4  gcc/testsuite/obj-c++.dg/encode-2.mm
  c4e0785b4aee1c468f74005c33931f44  gcc/testsuite/obj-c++.dg/encode-3.mm
  3e70d4ed3f63678d5b05f4488150f57b  gcc/testsuite/obj-c++.dg/encode-4.mm
*************** edc8405f3beeb6923d529479e62f98be  gcc/te
*** 85273,85279 ****
  d1824307e85027695c7f1f621635962f  gcc/testsuite/obj-c++.dg/encode-6.mm
  e8f3db69a8847b70c8bc969edd78dbb2  gcc/testsuite/obj-c++.dg/encode-7.mm
  7a1184e853bc44d526f960ab5978e148  gcc/testsuite/obj-c++.dg/encode-8.mm
! e01e96d007a042cff730ba43b17850f5  gcc/testsuite/obj-c++.dg/encode-9.mm
  e5b9f9a44ce01382be2feb246ccb5ad4  gcc/testsuite/obj-c++.dg/enhanced-proto-1.mm
  407cf4a13a526188246e3f874ce7ac48  gcc/testsuite/obj-c++.dg/enhanced-proto-2.mm
  3f2a93d293bef7fad64048537a3de594  gcc/testsuite/obj-c++.dg/except-1.mm
--- 85456,85462 ----
  d1824307e85027695c7f1f621635962f  gcc/testsuite/obj-c++.dg/encode-6.mm
  e8f3db69a8847b70c8bc969edd78dbb2  gcc/testsuite/obj-c++.dg/encode-7.mm
  7a1184e853bc44d526f960ab5978e148  gcc/testsuite/obj-c++.dg/encode-8.mm
! adb80618556ad5fbbf92001a241e0d74  gcc/testsuite/obj-c++.dg/encode-9.mm
  e5b9f9a44ce01382be2feb246ccb5ad4  gcc/testsuite/obj-c++.dg/enhanced-proto-1.mm
  407cf4a13a526188246e3f874ce7ac48  gcc/testsuite/obj-c++.dg/enhanced-proto-2.mm
  3f2a93d293bef7fad64048537a3de594  gcc/testsuite/obj-c++.dg/except-1.mm
*************** bb8ccf448c201adbf05356ac551899fb  gcc/te
*** 85363,85368 ****
--- 85546,85554 ----
  bd3b42583db47ebcc7fac037f85f00ed  gcc/testsuite/obj-c++.dg/overload-1.mm
  e84cd2640f9e4f66e445c60cecc3bfd2  gcc/testsuite/obj-c++.dg/plugin/diagnostic-test-expressions-1.mm
  5b12ec15a14b9b9f9987ee302a9137e0  gcc/testsuite/obj-c++.dg/plugin/plugin.exp
+ a1ff757de40d44fb3868d406ed01c4eb  gcc/testsuite/obj-c++.dg/pr101666-0.mm
+ 339a76362d0703671d6ddc07066f2d95  gcc/testsuite/obj-c++.dg/pr101666-1.mm
+ 7b3270d7548d00c42ba59f5769932087  gcc/testsuite/obj-c++.dg/pr101666.inc
  83cce29e08aac8f1aa68b46e52208639  gcc/testsuite/obj-c++.dg/pr23709.mm
  8480d22a4388c485c49d1c703c34f7f7  gcc/testsuite/obj-c++.dg/pr24393.mm
  2e9567e68880e80a9fa203bba6e86d7f  gcc/testsuite/obj-c++.dg/pr28049.mm
*************** cf6bf1a9bb03b4708b9ee74ec1da6dce  gcc/te
*** 85465,85471 ****
  da310ab9c53fd3ea3c3475ec00f0c573  gcc/testsuite/obj-c++.dg/proto-lossage-1.mm
  d165610dbbfad82f6af91eab9b66d300  gcc/testsuite/obj-c++.dg/proto-lossage-2.mm
  e9acacfeddf9f5b3fcc7bd49ae2063e8  gcc/testsuite/obj-c++.dg/proto-lossage-3.mm
! 17d3166fd7cd81bb8f84245efb05861a  gcc/testsuite/obj-c++.dg/proto-lossage-4.mm
  8dad0377c3588f9c61fede50a9d3e88b  gcc/testsuite/obj-c++.dg/proto-lossage-5.mm
  fd29bc4e26ebfbde2219d16bcd57ff44  gcc/testsuite/obj-c++.dg/proto-lossage-6.mm
  eae4cc9bd17a2b79453bdeeec666557b  gcc/testsuite/obj-c++.dg/proto-lossage-7.mm
--- 85651,85657 ----
  da310ab9c53fd3ea3c3475ec00f0c573  gcc/testsuite/obj-c++.dg/proto-lossage-1.mm
  d165610dbbfad82f6af91eab9b66d300  gcc/testsuite/obj-c++.dg/proto-lossage-2.mm
  e9acacfeddf9f5b3fcc7bd49ae2063e8  gcc/testsuite/obj-c++.dg/proto-lossage-3.mm
! f7592b5512a5b40082cc68fc9c6de510  gcc/testsuite/obj-c++.dg/proto-lossage-4.mm
  8dad0377c3588f9c61fede50a9d3e88b  gcc/testsuite/obj-c++.dg/proto-lossage-5.mm
  fd29bc4e26ebfbde2219d16bcd57ff44  gcc/testsuite/obj-c++.dg/proto-lossage-6.mm
  eae4cc9bd17a2b79453bdeeec666557b  gcc/testsuite/obj-c++.dg/proto-lossage-7.mm
*************** e16387e01018d3d54a2f32822682dac1  gcc/te
*** 85598,85604 ****
  4f3dd54a0c640d2b15ee1f79a8f18369  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h
  54ffd1bfa79cf5dc99b3df101a7cd2e6  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h
  68c1d47ef6919edabb48b6f50f1a237d  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h
! dc1b5416df768725686ab6df95dc7a40  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h
  5696d61d4f4781658d55b84d5095e034  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h
  6b38d99bc66484db832fe9f58f7b8c5b  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h
  b029cb9e81a51e8cdb7b9fbfdd1644a8  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h
--- 85784,85790 ----
  4f3dd54a0c640d2b15ee1f79a8f18369  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h
  54ffd1bfa79cf5dc99b3df101a7cd2e6  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h
  68c1d47ef6919edabb48b6f50f1a237d  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h
! 45941cd12df99357b4e75b6362c3612a  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h
  5696d61d4f4781658d55b84d5095e034  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h
  6b38d99bc66484db832fe9f58f7b8c5b  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h
  b029cb9e81a51e8cdb7b9fbfdd1644a8  gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h
*************** d6bb76e151385d5dcc0bccac5e79fa6e  gcc/te
*** 85851,85856 ****
--- 86037,86045 ----
  d2e3b487cfa9171717c408c78a4a11db  gcc/testsuite/objc.dg/pch/pch.exp
  9d6541dc0a9955231b38937f98c5b78a  gcc/testsuite/objc.dg/plugin/diagnostic-test-expressions-1.m
  54d1c4ee2cf77bc8025bcea1b8d2942a  gcc/testsuite/objc.dg/plugin/plugin.exp
+ a1ff757de40d44fb3868d406ed01c4eb  gcc/testsuite/objc.dg/pr101666-0.m
+ 339a76362d0703671d6ddc07066f2d95  gcc/testsuite/objc.dg/pr101666-1.m
+ c963db6673c4b0358e639bc17180a2a0  gcc/testsuite/objc.dg/pr101666.inc
  7826ffa2cfc60d9014ec8fd1d1fc1cda  gcc/testsuite/objc.dg/pr103639.m
  4bde0ee2020d54cbaccb19eddeb1ff93  gcc/testsuite/objc.dg/pr18255.m
  31c55f97ea5b980eec7b074cf9577cb9  gcc/testsuite/objc.dg/pr23214.m
*************** cf6bf1a9bb03b4708b9ee74ec1da6dce  gcc/te
*** 85959,85965 ****
  4bf24db3955ce289fd5a62e5d7262340  gcc/testsuite/objc.dg/proto-lossage-1.m
  d165610dbbfad82f6af91eab9b66d300  gcc/testsuite/objc.dg/proto-lossage-2.m
  7816032946ba6eac43f0d60480655dc6  gcc/testsuite/objc.dg/proto-lossage-3.m
! d323135be6f4b0bce1d76b585d1be3be  gcc/testsuite/objc.dg/proto-lossage-4.m
  f4e77b70bfe7025381ee1438e69c5b18  gcc/testsuite/objc.dg/proto-lossage-5.m
  d26b84bd4fece35e5ae1ec9a7c6d4f15  gcc/testsuite/objc.dg/proto-lossage-6.m
  43743498fb7683ea796ffd482ace42c9  gcc/testsuite/objc.dg/proto-lossage-7.m
--- 86148,86154 ----
  4bf24db3955ce289fd5a62e5d7262340  gcc/testsuite/objc.dg/proto-lossage-1.m
  d165610dbbfad82f6af91eab9b66d300  gcc/testsuite/objc.dg/proto-lossage-2.m
  7816032946ba6eac43f0d60480655dc6  gcc/testsuite/objc.dg/proto-lossage-3.m
! fc20d542160972e31139d01de2189382  gcc/testsuite/objc.dg/proto-lossage-4.m
  f4e77b70bfe7025381ee1438e69c5b18  gcc/testsuite/objc.dg/proto-lossage-5.m
  d26b84bd4fece35e5ae1ec9a7c6d4f15  gcc/testsuite/objc.dg/proto-lossage-6.m
  43743498fb7683ea796ffd482ace42c9  gcc/testsuite/objc.dg/proto-lossage-7.m
*************** c02b2a89fa8369ab143d4f11a460651b  gcc/tr
*** 86231,86237 ****
  31e492711713c34c1104d3e984030331  gcc/tree-chrec.h
  ab7078d2e2707e0bd00415132d4cf941  gcc/tree-complex.c
  7e46ae01dd9031c283edb403da422537  gcc/tree-core.h
! bd84bb3946c620e0c42d4cdeee2045d6  gcc/tree-data-ref.c
  0340dbf773106b9b31fa22861e7f9718  gcc/tree-data-ref.h
  5ea9dc582b1d846f2c523de1059f14cb  gcc/tree-dfa.c
  4711e398b753a63c9dfe58dd5c599663  gcc/tree-dfa.h
--- 86420,86426 ----
  31e492711713c34c1104d3e984030331  gcc/tree-chrec.h
  ab7078d2e2707e0bd00415132d4cf941  gcc/tree-complex.c
  7e46ae01dd9031c283edb403da422537  gcc/tree-core.h
! 96afe18000ba4889dc333dffd7fd77a6  gcc/tree-data-ref.c
  0340dbf773106b9b31fa22861e7f9718  gcc/tree-data-ref.h
  5ea9dc582b1d846f2c523de1059f14cb  gcc/tree-dfa.c
  4711e398b753a63c9dfe58dd5c599663  gcc/tree-dfa.h
*************** df51783bb1013af8d36a6926324b9944  gcc/tr
*** 86247,86260 ****
  4e0ed6ef3bdd74441de24187193d838f  gcc/tree-hasher.h
  31022778d18bf792a69a187ac79ca3b7  gcc/tree-if-conv.c
  a3ff52ffa889157518435812a966fe3d  gcc/tree-if-conv.h
! 75fbbf1adcb320a5718f2e08c024e18f  gcc/tree-inline.c
  b0a166f5b8df4431a3a01703e73ca5e0  gcc/tree-inline.h
  6c5a02ff772cdfc006605f2111870348  gcc/tree-into-ssa.c
  84e9d715b2250b3a6d8f326c5b90c1a8  gcc/tree-into-ssa.h
  362bdb78a0bdfa101b91dba0c927dc5f  gcc/tree-iterator.c
  36ab5451f3575ada26fffe25b559d254  gcc/tree-iterator.h
  cccab62e1e945617803be890ebcc612b  gcc/tree-loop-distribution.c
! c9ed3e3c7133b073e16ace262b613d21  gcc/tree-nested.c
  9b519af6b08c9d2fbe9dad37203b5196  gcc/tree-nested.h
  bf98a34c788757224ad19a297b7e6e98  gcc/tree-nrv.c
  31323bc7fd67cf0285f538efc0a1ee45  gcc/tree-object-size.c
--- 86436,86449 ----
  4e0ed6ef3bdd74441de24187193d838f  gcc/tree-hasher.h
  31022778d18bf792a69a187ac79ca3b7  gcc/tree-if-conv.c
  a3ff52ffa889157518435812a966fe3d  gcc/tree-if-conv.h
! 83b03ae721602d3e3b27f2be5e9cc065  gcc/tree-inline.c
  b0a166f5b8df4431a3a01703e73ca5e0  gcc/tree-inline.h
  6c5a02ff772cdfc006605f2111870348  gcc/tree-into-ssa.c
  84e9d715b2250b3a6d8f326c5b90c1a8  gcc/tree-into-ssa.h
  362bdb78a0bdfa101b91dba0c927dc5f  gcc/tree-iterator.c
  36ab5451f3575ada26fffe25b559d254  gcc/tree-iterator.h
  cccab62e1e945617803be890ebcc612b  gcc/tree-loop-distribution.c
! 88aa9670b15d18c50fdbd59f5ea7e3a5  gcc/tree-nested.c
  9b519af6b08c9d2fbe9dad37203b5196  gcc/tree-nested.h
  bf98a34c788757224ad19a297b7e6e98  gcc/tree-nrv.c
  31323bc7fd67cf0285f538efc0a1ee45  gcc/tree-object-size.c
*************** a51487616194a8071dfe4b9c3bd11c1d  gcc/tr
*** 86269,86278 ****
  c39a05e74944c253a30c592f5e5c050f  gcc/tree-predcom.c
  0e721a7ed54aae97900bc285a55f9060  gcc/tree-pretty-print.c
  a47959dbcad350d44f1fb6b79a580f48  gcc/tree-pretty-print.h
! 6e0dc1ffdcd6528a72da60eb226c8ec5  gcc/tree-profile.c
! 4d7fa46a3c3b714a513a8cc862595763  gcc/tree-scalar-evolution.c
  3119791bf78200bcb022199390392521  gcc/tree-scalar-evolution.h
! d77845e3fdbc8ee510ec6e021838de11  gcc/tree-sra.c
  1ae9bb0b98165f1efe0c7c7a11bab6cc  gcc/tree-sra.h
  ee9c205c9ab2fa90fe88b3ae0c79920e  gcc/tree-ssa-address.c
  c54597ef98c1ca43588073766641d8d8  gcc/tree-ssa-address.h
--- 86458,86467 ----
  c39a05e74944c253a30c592f5e5c050f  gcc/tree-predcom.c
  0e721a7ed54aae97900bc285a55f9060  gcc/tree-pretty-print.c
  a47959dbcad350d44f1fb6b79a580f48  gcc/tree-pretty-print.h
! 20c1090dd86afa5fb0289e0cfe13e5f5  gcc/tree-profile.c
! 9cf007034ef41afc8c5dc541807b5d25  gcc/tree-scalar-evolution.c
  3119791bf78200bcb022199390392521  gcc/tree-scalar-evolution.h
! 6ede09182cf2549ef14b4c7f1c387587  gcc/tree-sra.c
  1ae9bb0b98165f1efe0c7c7a11bab6cc  gcc/tree-sra.h
  ee9c205c9ab2fa90fe88b3ae0c79920e  gcc/tree-ssa-address.c
  c54597ef98c1ca43588073766641d8d8  gcc/tree-ssa-address.h
*************** e8d307398085c8e9e10df7def0cee108  gcc/tr
*** 86291,86330 ****
  1d91441633d5656eb9eb7aaffb6abfbf  gcc/tree-ssa-dse.c
  b0a51b2bfb537b29341db8e5e9d06c49  gcc/tree-ssa-dse.h
  398fce9341d9ea8c16943ab286e36a81  gcc/tree-ssa-forwprop.c
! f87b8cba0a5eaf206c581f51abff7795  gcc/tree-ssa-ifcombine.c
  5e21627768f782974d385f0b8591b7c3  gcc/tree-ssa-live.c
  92bca15e046dc5f13eb16bedaf5bdf70  gcc/tree-ssa-live.h
  98d45850103ddab74c7b6b7446089026  gcc/tree-ssa-loop-ch.c
  dd195eca2449c8e9d51427eb1005726d  gcc/tree-ssa-loop-im.c
! 15f1defc34f3db829c93c302e1b7fd48  gcc/tree-ssa-loop-ivcanon.c
  da7a763b8d68d52c1d4f38fa52b3a2eb  gcc/tree-ssa-loop-ivopts.c
  cc3adcca25191b12b03af31ce868f9f5  gcc/tree-ssa-loop-ivopts.h
  ac370f5c6ed5c448ce93e995b5b90a23  gcc/tree-ssa-loop-manip.c
  9101108741728365b900cefedbca0f1a  gcc/tree-ssa-loop-manip.h
  7cb6e74fa4d4dade053f9fe6a2306265  gcc/tree-ssa-loop-niter.c
  17b1022d28a19652c83fa6cb85066528  gcc/tree-ssa-loop-niter.h
! 6324ee4ae64ffdb68be445d3f141e1ec  gcc/tree-ssa-loop-prefetch.c
  3734808fbeec8aefdcee447131e872d5  gcc/tree-ssa-loop-split.c
! 80c9261b9586acb7b3f4dd8057e45a00  gcc/tree-ssa-loop-unswitch.c
  7c5fb48d5c26a7cc6cc1328519686513  gcc/tree-ssa-loop.c
  e7b45902d3db8fd8ee5db0a06d9ebd6a  gcc/tree-ssa-loop.h
! 49535e84dc43edc22b7eb241cbb11c3d  gcc/tree-ssa-math-opts.c
  21767eb2af5cf900357d0cdff9563462  gcc/tree-ssa-math-opts.h
  c4f4a7c3982de8a83d63700eeab025e2  gcc/tree-ssa-operands.c
  89fb9150ca77cb47d3eb6e508c47a938  gcc/tree-ssa-operands.h
! 6831853f2b71ee068abf78d13aafa968  gcc/tree-ssa-phiopt.c
  aca824b1c600ea02a32079f9880c7dea  gcc/tree-ssa-phiprop.c
  14975f2fbf60664af2dc43d15b308760  gcc/tree-ssa-pre.c
  53216871795caf5a9e7fc4db4952b4cf  gcc/tree-ssa-propagate.c
  2f608b017c74261fb20e2c50494fd211  gcc/tree-ssa-propagate.h
! 195680d13dd61ce280c58ecc4cb79f78  gcc/tree-ssa-reassoc.c
  4f7d545bd96bf81d7343beee53323b74  gcc/tree-ssa-reassoc.h
  c70a726c1b1a70e7d6dde2a0f8c7a841  gcc/tree-ssa-sccvn.c
  cbdcf02ee4848c736cf8a9fee3c78084  gcc/tree-ssa-sccvn.h
  654628a1f0f77b863091072217fd81f1  gcc/tree-ssa-scopedtables.c
  89f4a37820db62debf8e9c7547c734db  gcc/tree-ssa-scopedtables.h
  790c1b8ddfefcb28fa83b8c8da6711c8  gcc/tree-ssa-sink.c
! 2a74814d76e466173dbdd4a59430aeb5  gcc/tree-ssa-strlen.c
  07cd4ed8db0b69a9df3f67a6c078ee8d  gcc/tree-ssa-strlen.h
  9fb3a1e33afb337d2a7ba2fc50492ee3  gcc/tree-ssa-structalias.c
  226048531a518fe848311ca013413b8d  gcc/tree-ssa-tail-merge.c
--- 86480,86519 ----
  1d91441633d5656eb9eb7aaffb6abfbf  gcc/tree-ssa-dse.c
  b0a51b2bfb537b29341db8e5e9d06c49  gcc/tree-ssa-dse.h
  398fce9341d9ea8c16943ab286e36a81  gcc/tree-ssa-forwprop.c
! f741e92c825c4a59c290bc918a0e3db7  gcc/tree-ssa-ifcombine.c
  5e21627768f782974d385f0b8591b7c3  gcc/tree-ssa-live.c
  92bca15e046dc5f13eb16bedaf5bdf70  gcc/tree-ssa-live.h
  98d45850103ddab74c7b6b7446089026  gcc/tree-ssa-loop-ch.c
  dd195eca2449c8e9d51427eb1005726d  gcc/tree-ssa-loop-im.c
! 7173430b17d50169a94bae19bdc84ede  gcc/tree-ssa-loop-ivcanon.c
  da7a763b8d68d52c1d4f38fa52b3a2eb  gcc/tree-ssa-loop-ivopts.c
  cc3adcca25191b12b03af31ce868f9f5  gcc/tree-ssa-loop-ivopts.h
  ac370f5c6ed5c448ce93e995b5b90a23  gcc/tree-ssa-loop-manip.c
  9101108741728365b900cefedbca0f1a  gcc/tree-ssa-loop-manip.h
  7cb6e74fa4d4dade053f9fe6a2306265  gcc/tree-ssa-loop-niter.c
  17b1022d28a19652c83fa6cb85066528  gcc/tree-ssa-loop-niter.h
! 165574ee9ad6fb1fa84dd49735a32011  gcc/tree-ssa-loop-prefetch.c
  3734808fbeec8aefdcee447131e872d5  gcc/tree-ssa-loop-split.c
! 4e20b474998f4d7de2876158d0a91fda  gcc/tree-ssa-loop-unswitch.c
  7c5fb48d5c26a7cc6cc1328519686513  gcc/tree-ssa-loop.c
  e7b45902d3db8fd8ee5db0a06d9ebd6a  gcc/tree-ssa-loop.h
! 415b9a1bf9f189f122f80b3e1b4d2f4e  gcc/tree-ssa-math-opts.c
  21767eb2af5cf900357d0cdff9563462  gcc/tree-ssa-math-opts.h
  c4f4a7c3982de8a83d63700eeab025e2  gcc/tree-ssa-operands.c
  89fb9150ca77cb47d3eb6e508c47a938  gcc/tree-ssa-operands.h
! e6ef0808f675da444fd9915cfe5494c2  gcc/tree-ssa-phiopt.c
  aca824b1c600ea02a32079f9880c7dea  gcc/tree-ssa-phiprop.c
  14975f2fbf60664af2dc43d15b308760  gcc/tree-ssa-pre.c
  53216871795caf5a9e7fc4db4952b4cf  gcc/tree-ssa-propagate.c
  2f608b017c74261fb20e2c50494fd211  gcc/tree-ssa-propagate.h
! 1e26c98cc113574349983113a88424dc  gcc/tree-ssa-reassoc.c
  4f7d545bd96bf81d7343beee53323b74  gcc/tree-ssa-reassoc.h
  c70a726c1b1a70e7d6dde2a0f8c7a841  gcc/tree-ssa-sccvn.c
  cbdcf02ee4848c736cf8a9fee3c78084  gcc/tree-ssa-sccvn.h
  654628a1f0f77b863091072217fd81f1  gcc/tree-ssa-scopedtables.c
  89f4a37820db62debf8e9c7547c734db  gcc/tree-ssa-scopedtables.h
  790c1b8ddfefcb28fa83b8c8da6711c8  gcc/tree-ssa-sink.c
! 9c96703daedeaab1581172a89d9a06a3  gcc/tree-ssa-strlen.c
  07cd4ed8db0b69a9df3f67a6c078ee8d  gcc/tree-ssa-strlen.h
  9fb3a1e33afb337d2a7ba2fc50492ee3  gcc/tree-ssa-structalias.c
  226048531a518fe848311ca013413b8d  gcc/tree-ssa-tail-merge.c
*************** b252a171d500e0cab975d3ee869ac82d  gcc/tr
*** 86337,86343 ****
  7bc29409f7411f4024d12d0d0ac494ad  gcc/tree-ssa-threadupdate.h
  f8386c0188448d8e4805f34fc0e485b3  gcc/tree-ssa-uncprop.c
  ea574c34b2c417a9766c17108b7e8dbf  gcc/tree-ssa-uninit.c
! 0ebe7ed201fdfab089f555ee9da5b365  gcc/tree-ssa.c
  b1739bf5d288192714af8e0c8b1c1e7d  gcc/tree-ssa.h
  e61b4c021883038ea2d1201943d95548  gcc/tree-ssanames.c
  5f0d001d3a6ba13a46a13e9ddf70fd64  gcc/tree-ssanames.h
--- 86526,86532 ----
  7bc29409f7411f4024d12d0d0ac494ad  gcc/tree-ssa-threadupdate.h
  f8386c0188448d8e4805f34fc0e485b3  gcc/tree-ssa-uncprop.c
  ea574c34b2c417a9766c17108b7e8dbf  gcc/tree-ssa-uninit.c
! daf2caf85f679ebacf7fb16fbf9d77e3  gcc/tree-ssa.c
  b1739bf5d288192714af8e0c8b1c1e7d  gcc/tree-ssa.h
  e61b4c021883038ea2d1201943d95548  gcc/tree-ssanames.c
  5f0d001d3a6ba13a46a13e9ddf70fd64  gcc/tree-ssanames.h
*************** e61b4c021883038ea2d1201943d95548  gcc/tr
*** 86353,86362 ****
  9255abeccc3056f1b1dec591b5f7b8be  gcc/tree-vect-data-refs.c
  fa3d1b7ce69a8d17ed7bc454487932da  gcc/tree-vect-generic.c
  faa5329b1f390b639f568c946e5a7777  gcc/tree-vect-loop-manip.c
! a395535355e0cfda3f747375413325a7  gcc/tree-vect-loop.c
! 203988e6abb4803e9aaebad41e562ada  gcc/tree-vect-patterns.c
  d20a5aa2757fc39d3413e3c933b5a72c  gcc/tree-vect-slp-patterns.c
! 651826aa7fb759a2afbbaf965da09c94  gcc/tree-vect-slp.c
  22bcf7fc4bcb86b28aac757c9aabe029  gcc/tree-vect-stmts.c
  f6bd437c971fbfa030e5a50db314eb6d  gcc/tree-vector-builder.c
  ab254195b6cc59013f830527799845a1  gcc/tree-vector-builder.h
--- 86542,86551 ----
  9255abeccc3056f1b1dec591b5f7b8be  gcc/tree-vect-data-refs.c
  fa3d1b7ce69a8d17ed7bc454487932da  gcc/tree-vect-generic.c
  faa5329b1f390b639f568c946e5a7777  gcc/tree-vect-loop-manip.c
! bff3666362039964fbcab89b265a3338  gcc/tree-vect-loop.c
! 4b522b658f4569967075266652dd31ec  gcc/tree-vect-patterns.c
  d20a5aa2757fc39d3413e3c933b5a72c  gcc/tree-vect-slp-patterns.c
! 526136d0fbc3ca9689f5bb0b292df591  gcc/tree-vect-slp.c
  22bcf7fc4bcb86b28aac757c9aabe029  gcc/tree-vect-stmts.c
  f6bd437c971fbfa030e5a50db314eb6d  gcc/tree-vector-builder.c
  ab254195b6cc59013f830527799845a1  gcc/tree-vector-builder.h
*************** a81602a0b8310bde0b9239772d873f96  gcc/tr
*** 86364,86382 ****
  792136b23c7db03363719c735c0ee4d4  gcc/tree-vectorizer.h
  b54ce4bde08399c6f5c90b9f9a513261  gcc/tree-vrp.c
  8b2b735df1dd01f7b24caa58f59891c7  gcc/tree-vrp.h
! 2783c26b54321979fd4c3f1132dc4010  gcc/tree.c
  54bdda1062541e94a710f93dc39c2732  gcc/tree.def
  a19c8f255b245f3003488a0502147b24  gcc/tree.h
  f5d9f8fed65a9d8d94c3bc3a54d17175  gcc/treestruct.def
  29d87aedf6eb8f5f9b858b6ce49f18ba  gcc/tristate.cc
  0462624e1a963d1b936e36b375115848  gcc/tristate.h
! 1fde85c0d9774255237e001636efb6c8  gcc/tsan.c
  f3391bab0a8e76804139f10f89a6d8cf  gcc/tsan.h
  9cb449181fe6b6cec0f12c65964eed4a  gcc/tsystem.h
  e955740dbe777821f2cccc2f1ffe5c2f  gcc/typeclass.h
  56044162f187e7865585c71c3fa369e8  gcc/typed-splay-tree.c
  9db154ca9a8f61137a5d8cde9f565ba0  gcc/typed-splay-tree.h
! f21a431f73f6d2a4b3440f68e998fefb  gcc/ubsan.c
  c71a123f0c3811bd59554fb1ad3c863e  gcc/ubsan.h
  20c6e75500616d21c9936946caddc196  gcc/unique-ptr-tests.cc
  9f40370f290cb66e11bbd1a3249892a7  gcc/valtrack.c
--- 86553,86571 ----
  792136b23c7db03363719c735c0ee4d4  gcc/tree-vectorizer.h
  b54ce4bde08399c6f5c90b9f9a513261  gcc/tree-vrp.c
  8b2b735df1dd01f7b24caa58f59891c7  gcc/tree-vrp.h
! 613240b3fb696613e29a173098a9f2bf  gcc/tree.c
  54bdda1062541e94a710f93dc39c2732  gcc/tree.def
  a19c8f255b245f3003488a0502147b24  gcc/tree.h
  f5d9f8fed65a9d8d94c3bc3a54d17175  gcc/treestruct.def
  29d87aedf6eb8f5f9b858b6ce49f18ba  gcc/tristate.cc
  0462624e1a963d1b936e36b375115848  gcc/tristate.h
! 9a77e890e95874bc7a16af1104e2e297  gcc/tsan.c
  f3391bab0a8e76804139f10f89a6d8cf  gcc/tsan.h
  9cb449181fe6b6cec0f12c65964eed4a  gcc/tsystem.h
  e955740dbe777821f2cccc2f1ffe5c2f  gcc/typeclass.h
  56044162f187e7865585c71c3fa369e8  gcc/typed-splay-tree.c
  9db154ca9a8f61137a5d8cde9f565ba0  gcc/typed-splay-tree.h
! 11247d6de5f7bba2ce4f23462a9c85f3  gcc/ubsan.c
  c71a123f0c3811bd59554fb1ad3c863e  gcc/ubsan.h
  20c6e75500616d21c9936946caddc196  gcc/unique-ptr-tests.cc
  9f40370f290cb66e11bbd1a3249892a7  gcc/valtrack.c
*************** a5ff571a86711f1889f6148b6f0a1a72  gcc/vt
*** 86410,86425 ****
  b35c7bd9acfca64983cd187331ce7fc6  gcc/wide-int-bitmask.h
  8d3319eefa4768131dfef66304346db8  gcc/wide-int-print.cc
  010cd322521c1ee0542f4081fab7aaf6  gcc/wide-int-print.h
! 2124eec1dfdfe903e5f9b8b957b62d76  gcc/wide-int.cc
  3f7c57c8afe9673aff295ccc58ea0024  gcc/wide-int.h
  3fbc3ce873dd1439e18734542a1cd26e  gcc/xcoff.h
  5a99ef1e1f569bf6e04aebf72d4afad4  gcc/xcoffout.c
  b683ffab756b05a88907135f72dec974  gcc/xcoffout.h
! f0c70c6b8982a9bb8589209b5531210c  gnattools/ChangeLog
  aaa671ca98fa9f94bfedd0ab395c5505  gnattools/Makefile.in
  612bff48e9d0bfce4a8a8b2ce0e136ae  gnattools/configure
  5904825aa8ada9f931733a205c8ed847  gnattools/configure.ac
! 5ba578a6ea80c04b3bd4005daee93f5f  gotools/ChangeLog
  6f7b730e8dfbdff92349c010bb18cf00  gotools/Makefile.am
  040d059ae30c619fdd918cd30bfbfae4  gotools/Makefile.in
  7e23031e2e274aaa07b61c1e8f18dc99  gotools/README
--- 86599,86614 ----
  b35c7bd9acfca64983cd187331ce7fc6  gcc/wide-int-bitmask.h
  8d3319eefa4768131dfef66304346db8  gcc/wide-int-print.cc
  010cd322521c1ee0542f4081fab7aaf6  gcc/wide-int-print.h
! a178576602735395bf2d0a72c6c5ba37  gcc/wide-int.cc
  3f7c57c8afe9673aff295ccc58ea0024  gcc/wide-int.h
  3fbc3ce873dd1439e18734542a1cd26e  gcc/xcoff.h
  5a99ef1e1f569bf6e04aebf72d4afad4  gcc/xcoffout.c
  b683ffab756b05a88907135f72dec974  gcc/xcoffout.h
! 8927a15f807286661cd85e948f8edaa1  gnattools/ChangeLog
  aaa671ca98fa9f94bfedd0ab395c5505  gnattools/Makefile.in
  612bff48e9d0bfce4a8a8b2ce0e136ae  gnattools/configure
  5904825aa8ada9f931733a205c8ed847  gnattools/configure.ac
! c9120a7473b2b4c7b6dc471764f9ede6  gotools/ChangeLog
  6f7b730e8dfbdff92349c010bb18cf00  gotools/Makefile.am
  040d059ae30c619fdd918cd30bfbfae4  gotools/Makefile.in
  7e23031e2e274aaa07b61c1e8f18dc99  gotools/README
*************** c4e8176c1964a5ebe0a55900f2141299  gotool
*** 86430,86436 ****
  eb2aeb3a6cffe7b26a8f1c8a2da23dcd  gotools/gofmt.1
  59530bdf33659b29e73d4adb9f9f6552  include/COPYING
  d32239bcb673463ab874e80d47fae504  include/COPYING3
! b659f105ecd44a8ad0d1977ee30fa0cd  include/ChangeLog
  4263432a72ff47ed8bf420208ee7eea5  include/ChangeLog-9103
  a43d76108493b20da790f953f829c6a5  include/ChangeLog.jit
  550446a6d9ed6d7ecce30d964b346154  include/ansidecl.h
--- 86619,86625 ----
  eb2aeb3a6cffe7b26a8f1c8a2da23dcd  gotools/gofmt.1
  59530bdf33659b29e73d4adb9f9f6552  include/COPYING
  d32239bcb673463ab874e80d47fae504  include/COPYING3
! 5b6a61cb8ab4fe8ae104bb6b698282db  include/ChangeLog
  4263432a72ff47ed8bf420208ee7eea5  include/ChangeLog-9103
  a43d76108493b20da790f953f829c6a5  include/ChangeLog.jit
  550446a6d9ed6d7ecce30d964b346154  include/ansidecl.h
*************** e58c74ae29d8b45747b53a32b29ba5af  includ
*** 86477,86483 ****
  a19eadb3ab028fbbb684ab26b212fe84  include/xregex2.h
  05cc8ec924c7145a48d1d059c0b58df2  include/xtensa-config.h
  361482dd6b5b5eb7090fff3986fba68a  install-sh
! ea4d75c7a75a5a8692c4c19bc015bf2c  intl/ChangeLog
  ad7ef2b19b44e4d5518287805d6ded02  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
--- 86666,86672 ----
  a19eadb3ab028fbbb684ab26b212fe84  include/xregex2.h
  05cc8ec924c7145a48d1d059c0b58df2  include/xtensa-config.h
  361482dd6b5b5eb7090fff3986fba68a  install-sh
! a17e052ce43f1c9d53403f6b4bc9f172  intl/ChangeLog
  ad7ef2b19b44e4d5518287805d6ded02  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
*************** ec38b8a64a735196854a8f7d76b79a78  intl/p
*** 86520,86531 ****
  b4758a0194e3e41362b939911472ce62  intl/relocatable.c
  bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
  43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
! fe258fe4e62aa683f6287039d67947d0  libada/ChangeLog
  84bf37346561835ab6fb79f3753dbf61  libada/Makefile.in
  c851e0f50ad5e334f1cdf3b8c0bae3e2  libada/configure
  ad0c7ec998fb800e00bc645459274350  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! eebbe627fd1aeab0e90eb3af5d784bef  libatomic/ChangeLog
  d910fab8524c7ab8918b567931a14133  libatomic/Makefile.am
  8f480fdd121c7e44c048fec76c598b1f  libatomic/Makefile.in
  879263fa8d462b018b9a483d6ac68e45  libatomic/acinclude.m4
--- 86709,86720 ----
  b4758a0194e3e41362b939911472ce62  intl/relocatable.c
  bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
  43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
! 467db21923142a74beabbca5a8163962  libada/ChangeLog
  84bf37346561835ab6fb79f3753dbf61  libada/Makefile.in
  c851e0f50ad5e334f1cdf3b8c0bae3e2  libada/configure
  ad0c7ec998fb800e00bc645459274350  libada/configure.ac
  46d3fe6da7a771cc2d5420c4137a6861  libatomic/.gitignore
! 405c698cd565de0d27a2dda922a9246b  libatomic/ChangeLog
  d910fab8524c7ab8918b567931a14133  libatomic/Makefile.am
  8f480fdd121c7e44c048fec76c598b1f  libatomic/Makefile.in
  879263fa8d462b018b9a483d6ac68e45  libatomic/acinclude.m4
*************** c03a072efac9b30f8f8429ac52fd246b  libato
*** 86618,86624 ****
  8a7308fda7ed1543cb9e3be0f8e47bce  libatomic/testsuite/libatomic.c/atomic-store-5.c
  40618200985a15bcba64f871863da498  libatomic/testsuite/libatomic.c/c.exp
  97b0c9cdfcb733664bdf4efe0f5dc449  libatomic/testsuite/libatomic.c/generic-2.c
! aa9f6ccd0567112272550a637344eae7  libbacktrace/ChangeLog
  eb3a88b53140eb234a99a4b3a55e56bf  libbacktrace/ChangeLog.jit
  e2733ae499e3face714f963e5163ef66  libbacktrace/Makefile.am
  f5ab4b9f2111a21142693282701ca531  libbacktrace/Makefile.in
--- 86807,86813 ----
  8a7308fda7ed1543cb9e3be0f8e47bce  libatomic/testsuite/libatomic.c/atomic-store-5.c
  40618200985a15bcba64f871863da498  libatomic/testsuite/libatomic.c/c.exp
  97b0c9cdfcb733664bdf4efe0f5dc449  libatomic/testsuite/libatomic.c/generic-2.c
! 716ffc9a7364b08aa317d626f07c9cd1  libbacktrace/ChangeLog
  eb3a88b53140eb234a99a4b3a55e56bf  libbacktrace/ChangeLog.jit
  e2733ae499e3face714f963e5163ef66  libbacktrace/Makefile.am
  f5ab4b9f2111a21142693282701ca531  libbacktrace/Makefile.in
*************** a1a0a081f4a744549061bcb3714c3dad  libbac
*** 86666,86672 ****
  45e5c08b384a557511236842576c4857  libbacktrace/xcoff.c
  16559a9b859947ea3f119724e6184a22  libbacktrace/xztest.c
  b4592ed6fe2affe39672dd913198f71a  libbacktrace/ztest.c
! e39eb398206b0883783c76644c5b882d  libcc1/ChangeLog
  28f4a58e6f8e07b09cd25b0a1ad72059  libcc1/Makefile.am
  a02f5370fb2d8bff9e13e39745a680ca  libcc1/Makefile.in
  b39668f1b706dbfe7203b3cfa277b792  libcc1/aclocal.m4
--- 86855,86861 ----
  45e5c08b384a557511236842576c4857  libbacktrace/xcoff.c
  16559a9b859947ea3f119724e6184a22  libbacktrace/xztest.c
  b4592ed6fe2affe39672dd913198f71a  libbacktrace/ztest.c
! 9503aa582f93dd208d1ffb13a8d04bbb  libcc1/ChangeLog
  28f4a58e6f8e07b09cd25b0a1ad72059  libcc1/Makefile.am
  a02f5370fb2d8bff9e13e39745a680ca  libcc1/Makefile.in
  b39668f1b706dbfe7203b3cfa277b792  libcc1/aclocal.m4
*************** f72f20a90bbc3ff8d1128ff4d5858f29  libcc1
*** 86682,86691 ****
  24b42286d357a040ee0f3f5c70a56510  libcc1/findcomp.hh
  733552376e05d220031ad362a595f923  libcc1/libcc1.cc
  99b3a25ce17ed584d9f0aa42b4713938  libcc1/libcc1.sym
! 7f630591971dc62afbf40d26ddd77f43  libcc1/libcc1plugin.cc
  75503db6a0981a95d9c29d9607b29380  libcc1/libcc1plugin.sym
  af2fd951b0ff389a2208f571ff1fd18f  libcc1/libcp1.cc
! eb1415b58ee61832c9463ccb94f9516b  libcc1/libcp1plugin.cc
  75503db6a0981a95d9c29d9607b29380  libcc1/libcp1plugin.sym
  08c5e104e357fd1be6a89f338ed23f19  libcc1/marshall-c.hh
  47e2a7ce854718fa1727ef8f89ef6ad8  libcc1/marshall-cp.hh
--- 86871,86880 ----
  24b42286d357a040ee0f3f5c70a56510  libcc1/findcomp.hh
  733552376e05d220031ad362a595f923  libcc1/libcc1.cc
  99b3a25ce17ed584d9f0aa42b4713938  libcc1/libcc1.sym
! 114c642e82504b8b1d805de317988582  libcc1/libcc1plugin.cc
  75503db6a0981a95d9c29d9607b29380  libcc1/libcc1plugin.sym
  af2fd951b0ff389a2208f571ff1fd18f  libcc1/libcp1.cc
! 358dded4ed8c7c877936e3a670262bac  libcc1/libcp1plugin.cc
  75503db6a0981a95d9c29d9607b29380  libcc1/libcp1plugin.sym
  08c5e104e357fd1be6a89f338ed23f19  libcc1/marshall-c.hh
  47e2a7ce854718fa1727ef8f89ef6ad8  libcc1/marshall-cp.hh
*************** d7011f3caeeeb336058853a2a6ae7759  libcc1
*** 86698,86704 ****
  8e32b4f309146e8842db7a077d77be28  libcody/CMakeLists.txt
  c96a56ec7f0400e30e99a9aa445e0425  libcody/CODING.md
  b5243c8c76fc965a409394a30679e613  libcody/CONTRIB.md
! 2306704c50aae3a46662fb6e14ccbd25  libcody/ChangeLog
  86d3f3a95c324c9479bd8986968f4327  libcody/LICENSE
  3d4a4494284f7f6d717caade46832e87  libcody/Makefile.in
  ca1c6fe3df5427016005ce753c73d454  libcody/README.md
--- 86887,86893 ----
  8e32b4f309146e8842db7a077d77be28  libcody/CMakeLists.txt
  c96a56ec7f0400e30e99a9aa445e0425  libcody/CODING.md
  b5243c8c76fc965a409394a30679e613  libcody/CONTRIB.md
! b36f535d737d89adf7514b53a7b062d6  libcody/ChangeLog
  86d3f3a95c324c9479bd8986968f4327  libcody/LICENSE
  3d4a4494284f7f6d717caade46832e87  libcody/Makefile.in
  ca1c6fe3df5427016005ce753c73d454  libcody/README.md
*************** a1b928d660ba86d7133b5ee270e45bcc  libcod
*** 86717,86723 ****
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  b1f3850fc5ac62999d1e124aa6f76531  libcody/server.cc
! f86437d681fca5dc211c16107b247e0f  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  93f0c1663de0a7f51de84bcf52cf415a  libcpp/Makefile.in
  9d15bb14e9ac1a74366e673ea260722e  libcpp/aclocal.m4
--- 86906,86912 ----
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  b1f3850fc5ac62999d1e124aa6f76531  libcody/server.cc
! 0aec30108b8da434397d829c2c2918c9  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  93f0c1663de0a7f51de84bcf52cf415a  libcpp/Makefile.in
  9d15bb14e9ac1a74366e673ea260722e  libcpp/aclocal.m4
*************** a66a22409e4a783d7044f888621c8bc2  libcpp
*** 86731,86750 ****
  317ee9a4d4fd5e7d914307f5ba7151ff  libcpp/files.c
  d5218c1d5fc8cde726dc168fafef10a7  libcpp/generated_cpp_wcwidth.h
  0b7cb9146c5ba48f860378f633064ffc  libcpp/identifiers.c
! 8c5e45738179c971cfcff84b10b932f9  libcpp/include/cpplib.h
  7f7df25c19a9fe3179b73a064ed5a6d4  libcpp/include/line-map.h
  bb66fcb7788c801156bffbd2e7ef157b  libcpp/include/mkdeps.h
  3be98d97c10d140ead8129799fb0204f  libcpp/include/symtab.h
  7cc3b270970c81684bb50c91310d8b34  libcpp/init.c
  6502fcc1e9f6fc8357698e9717588e3c  libcpp/internal.h
! 4ab22ed865a7d5de170fcae8485bdfe3  libcpp/lex.c
  0de7096eac026f74c1bfe8a23f629369  libcpp/line-map.c
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
  bc0fe66954c989fdf43e0bbe096954b5  libcpp/macro.c
  a8704715c342e0c595438ec99b83299f  libcpp/makeucnid.c
  016253cecf75a29fd5f5075b866cca1f  libcpp/mkdeps.c
  944a753ccf1b023047aaed1f1f362bec  libcpp/pch.c
! c0df2beafed6a11a810da02ec25b28ce  libcpp/po/ChangeLog
  236a7764238de3aa208e3a857c56f478  libcpp/po/be.gmo
  ede9d45d28b1c1cb82c92ff039a45d66  libcpp/po/be.po
  a64f63d1193f804860308855177c5f6a  libcpp/po/ca.gmo
--- 86920,86939 ----
  317ee9a4d4fd5e7d914307f5ba7151ff  libcpp/files.c
  d5218c1d5fc8cde726dc168fafef10a7  libcpp/generated_cpp_wcwidth.h
  0b7cb9146c5ba48f860378f633064ffc  libcpp/identifiers.c
! bcfd21a9304e33a27bdf27353c2dc485  libcpp/include/cpplib.h
  7f7df25c19a9fe3179b73a064ed5a6d4  libcpp/include/line-map.h
  bb66fcb7788c801156bffbd2e7ef157b  libcpp/include/mkdeps.h
  3be98d97c10d140ead8129799fb0204f  libcpp/include/symtab.h
  7cc3b270970c81684bb50c91310d8b34  libcpp/init.c
  6502fcc1e9f6fc8357698e9717588e3c  libcpp/internal.h
! d6829d0dbab4ed8ad86e04cbffda1b6f  libcpp/lex.c
  0de7096eac026f74c1bfe8a23f629369  libcpp/line-map.c
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
  bc0fe66954c989fdf43e0bbe096954b5  libcpp/macro.c
  a8704715c342e0c595438ec99b83299f  libcpp/makeucnid.c
  016253cecf75a29fd5f5075b866cca1f  libcpp/mkdeps.c
  944a753ccf1b023047aaed1f1f362bec  libcpp/pch.c
! a19dff755593809683873640b936e05c  libcpp/po/ChangeLog
  236a7764238de3aa208e3a857c56f478  libcpp/po/be.gmo
  ede9d45d28b1c1cb82c92ff039a45d66  libcpp/po/be.po
  a64f63d1193f804860308855177c5f6a  libcpp/po/ca.gmo
*************** bcbe0b107dacf31d1cf1ca1261d43f1b  libcpp
*** 86794,86800 ****
  56610cf3fd7d260581ebd54124f17a78  libcpp/ucnid.h
  89258efea2d9a909c625ed72b6acbd8c  libcpp/ucnid.tab
  a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
! f794296cfb4f466a29f5c05313a9a5f4  libdecnumber/ChangeLog
  2bd831b17997584e38305782cebe6948  libdecnumber/ChangeLog.jit
  1eef4e8e73dcf150b06bd03f9621374a  libdecnumber/Makefile.in
  2a70099a79e40a57a666d5430a5e2529  libdecnumber/aclocal.m4
--- 86983,86989 ----
  56610cf3fd7d260581ebd54124f17a78  libcpp/ucnid.h
  89258efea2d9a909c625ed72b6acbd8c  libcpp/ucnid.tab
  a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
! 209084c6b01b220afc689111485f91a7  libdecnumber/ChangeLog
  2bd831b17997584e38305782cebe6948  libdecnumber/ChangeLog.jit
  1eef4e8e73dcf150b06bd03f9621374a  libdecnumber/Makefile.in
  2a70099a79e40a57a666d5430a5e2529  libdecnumber/aclocal.m4
*************** a97c47969dfc92a7666dfe3c2e1e1448  libdec
*** 86857,86863 ****
  7557e8f40c659cd1bb5f753e31c6a143  libdecnumber/dpd/decimal64.c
  8bd3494633aae56ffed31440b3d78709  libdecnumber/dpd/decimal64.h
  0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
! b359a38fe32eb2709b6f27b1207dd590  libffi/ChangeLog
  ba66fc19311348d373ec271be939a659  libffi/ChangeLog.libffi
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
--- 87046,87052 ----
  7557e8f40c659cd1bb5f753e31c6a143  libdecnumber/dpd/decimal64.c
  8bd3494633aae56ffed31440b3d78709  libdecnumber/dpd/decimal64.h
  0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
! ff4913e29ce5db5bf7f7c70eab884542  libffi/ChangeLog
  ba66fc19311348d373ec271be939a659  libffi/ChangeLog.libffi
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
*************** d47c79b281339983862a8e52d8c73f0f  libffi
*** 87218,87224 ****
  291be426192f460f6a07dfe1c96ab094  libffi/testsuite/libffi.special/special.exp
  93fc3ea311b79f64004992807ce75d1e  libffi/testsuite/libffi.special/unwindtest.cc
  185d0795017fbbe253a13db8e34085f9  libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
! bff2eb5d0a89cb50526f322672f82521  libgcc/ChangeLog
  90ca8ec10aa72a56ea751ad2cb5c131a  libgcc/Makefile.in
  93556a381ebbadb36302bee1564ee40c  libgcc/config.host
  312fccd8251056a36e26bad71f9cfaa2  libgcc/config.in
--- 87407,87413 ----
  291be426192f460f6a07dfe1c96ab094  libffi/testsuite/libffi.special/special.exp
  93fc3ea311b79f64004992807ce75d1e  libffi/testsuite/libffi.special/unwindtest.cc
  185d0795017fbbe253a13db8e34085f9  libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
! 8563c0fc4ff4bfa9c472a110e3ae746d  libgcc/ChangeLog
  90ca8ec10aa72a56ea751ad2cb5c131a  libgcc/Makefile.in
  93556a381ebbadb36302bee1564ee40c  libgcc/config.host
  312fccd8251056a36e26bad71f9cfaa2  libgcc/config.in
*************** af04682aec71b972a250792207ece68b  libgcc
*** 87308,87314 ****
  d9bcbec2d14baa5135f2a36aef6016bd  libgcc/config/arm/bpabi.S
  3620d984b369db7d3f3875a80e3b366e  libgcc/config/arm/bpabi.c
  74837f3eb9bfe8eb95f850587ee60f1c  libgcc/config/arm/cmse.c
! 34776f3e177219a2c003d0d14c873da9  libgcc/config/arm/cmse_nonsecure_call.S
  f1301f028bc00b88c6525f9b250f22a1  libgcc/config/arm/crtfastmath.c
  675c3bba5726e1249196dd110a9aa88c  libgcc/config/arm/crti.S
  3c823dbff1b7f9aecbe3c7d2cbe147db  libgcc/config/arm/crtn.S
--- 87497,87503 ----
  d9bcbec2d14baa5135f2a36aef6016bd  libgcc/config/arm/bpabi.S
  3620d984b369db7d3f3875a80e3b366e  libgcc/config/arm/bpabi.c
  74837f3eb9bfe8eb95f850587ee60f1c  libgcc/config/arm/cmse.c
! dbb1e02bf55694f0a63033906f5a61d3  libgcc/config/arm/cmse_nonsecure_call.S
  f1301f028bc00b88c6525f9b250f22a1  libgcc/config/arm/crtfastmath.c
  675c3bba5726e1249196dd110a9aa88c  libgcc/config/arm/crti.S
  3c823dbff1b7f9aecbe3c7d2cbe147db  libgcc/config/arm/crtn.S
*************** f86b268e128ae9507dd4c4ab33f481bd  libgcc
*** 87346,87352 ****
  528c00778fc721cd65682dee59c24986  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  8694b2f379782b84ed6357615cf633d2  libgcc/config/avr/lib2funcs.c
! 76aaab386aa600183c3a6d05245160d4  libgcc/config/avr/libf7/ChangeLog
  01d9cd125602bd97e7101818005c93ea  libgcc/config/avr/libf7/asm-defs.h
  0b54a2cbfebb93a4e1bddfa3600d6f0b  libgcc/config/avr/libf7/f7-renames.h
  d2e81096820c9d7276656d444c139c73  libgcc/config/avr/libf7/f7-wraps.h
--- 87535,87541 ----
  528c00778fc721cd65682dee59c24986  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  8694b2f379782b84ed6357615cf633d2  libgcc/config/avr/lib2funcs.c
! df254d74761d63e2f1c4533861933f0d  libgcc/config/avr/libf7/ChangeLog
  01d9cd125602bd97e7101818005c93ea  libgcc/config/avr/libf7/asm-defs.h
  0b54a2cbfebb93a4e1bddfa3600d6f0b  libgcc/config/avr/libf7/f7-renames.h
  d2e81096820c9d7276656d444c139c73  libgcc/config/avr/libf7/f7-wraps.h
*************** a5336bdb818cef70b030985f1ecd71d2  libgcc
*** 87637,87643 ****
  106eb3ec1043b9c1da426cc9d86d298d  libgcc/config/ia64/vms-unwind.h
  3111db86980b8c9207be8642a36d5dd2  libgcc/config/iq2000/lib2funcs.c
  102f7dad8ad6b54434a1b8313d1e42c4  libgcc/config/iq2000/t-iq2000
! d781b2eb9746a66453f9924c4be916f2  libgcc/config/libbid/ChangeLog
  877df4b05d912fc2033823fa0eece3af  libgcc/config/libbid/_addsub_dd.c
  a3d813dc882ec4c07e412c32c9b380e1  libgcc/config/libbid/_addsub_sd.c
  3cd22bfaff5638bc2cb990fbc4e906cd  libgcc/config/libbid/_addsub_td.c
--- 87826,87832 ----
  106eb3ec1043b9c1da426cc9d86d298d  libgcc/config/ia64/vms-unwind.h
  3111db86980b8c9207be8642a36d5dd2  libgcc/config/iq2000/lib2funcs.c
  102f7dad8ad6b54434a1b8313d1e42c4  libgcc/config/iq2000/t-iq2000
! 5513dc8820c838a73e852a38b6a47ff8  libgcc/config/libbid/ChangeLog
  877df4b05d912fc2033823fa0eece3af  libgcc/config/libbid/_addsub_dd.c
  a3d813dc882ec4c07e412c32c9b380e1  libgcc/config/libbid/_addsub_sd.c
  3cd22bfaff5638bc2cb990fbc4e906cd  libgcc/config/libbid/_addsub_td.c
*************** e67a974e1f8cb55dcc72068be10e9832  libgcc
*** 88697,88703 ****
  8a8461c4f8e531d7252eacf261e3799b  libgcc/vtv_end_preinit.c
  d1bdf1e757a5a9eeb3bc447fc6938f48  libgcc/vtv_start.c
  f99c5f0b1f8f77dbbb1db940bb61ef02  libgcc/vtv_start_preinit.c
! b9cecd49614c34e0d2561524255d2f3d  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
--- 88886,88892 ----
  8a8461c4f8e531d7252eacf261e3799b  libgcc/vtv_end_preinit.c
  d1bdf1e757a5a9eeb3bc447fc6938f48  libgcc/vtv_start.c
  f99c5f0b1f8f77dbbb1db940bb61ef02  libgcc/vtv_start_preinit.c
! b1e27ac5fb05aeee07ea319b0d12da0b  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
*************** b1ed0738be716c69e111b563152b440a  libgfo
*** 89441,89447 ****
  52b80552cf97929403cd03e6751df513  libgfortran/io/write_float.def
  9f24547c087e2f4a32ca6eeedec8a34b  libgfortran/kinds-override.h
  bc75d11d3876018d71022cf2311f5e61  libgfortran/libgfortran.h
! 2527bb19b82f08b34038b07b172d029d  libgfortran/libgfortran.spec.in
  dc1a87f5ed3520558b0fe9f43e4f5ba8  libgfortran/libtool-version
  41723ca6d9d9d64a55db3792b1be2deb  libgfortran/m4/all.m4
  62e6284d1841e31965580a9d35acb51b  libgfortran/m4/any.m4
--- 89630,89636 ----
  52b80552cf97929403cd03e6751df513  libgfortran/io/write_float.def
  9f24547c087e2f4a32ca6eeedec8a34b  libgfortran/kinds-override.h
  bc75d11d3876018d71022cf2311f5e61  libgfortran/libgfortran.h
! eb1d8c9be7951e3c063a8bd590a6bf9d  libgfortran/libgfortran.spec.in
  dc1a87f5ed3520558b0fe9f43e4f5ba8  libgfortran/libtool-version
  41723ca6d9d9d64a55db3792b1be2deb  libgfortran/m4/all.m4
  62e6284d1841e31965580a9d35acb51b  libgfortran/m4/any.m4
*************** e3e86019491a40bd4f45424d7ce11037  libgo/
*** 94088,94097 ****
  c5574d106d35be5d94e80301b0855ada  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 1ffbbc864d940ea48e2573fd8a0457a7  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  775674136485d314e8cfa08ec26c4fc4  libgomp/Makefile.am
! cc0f858ff11f575dddb9c6738a27e009  libgomp/Makefile.in
  2a5f26b1d96224a9bac97798c67316cd  libgomp/acc_prof.h
  c49c27dee875cdeae7024cb9d7fadf27  libgomp/acinclude.m4
  30a64ccfecfa60e8b5098e9fe26ea707  libgomp/aclocal.m4
--- 94277,94286 ----
  c5574d106d35be5d94e80301b0855ada  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! c977381323ec0d041be2a7094b379ba2  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  775674136485d314e8cfa08ec26c4fc4  libgomp/Makefile.am
! cb9958002f9d5af3c049ca5dbe861fe9  libgomp/Makefile.in
  2a5f26b1d96224a9bac97798c67316cd  libgomp/acc_prof.h
  c49c27dee875cdeae7024cb9d7fadf27  libgomp/acinclude.m4
  30a64ccfecfa60e8b5098e9fe26ea707  libgomp/aclocal.m4
*************** fc96df2ec557da944078791fe7c1f12f  libgom
*** 94204,94211 ****
  efc434763cbe71b67359f1858f6c9480  libgomp/config/rtems/sem.c
  4d3a8b6f34059afa087aa981d61460dd  libgomp/config/rtems/sem.h
  af41d1d04a4112345554ca8b8a072ed9  libgomp/config/t-aix
! a770c6d5cd51dc1a0736d60fd0f0fc57  libgomp/configure
! ab9ea228856e2fe51dd944933ffc6483  libgomp/configure.ac
  5b8ec995a772307aacae5779580b5817  libgomp/configure.tgt
  705ffb59b51affa5d25feededd4bdd63  libgomp/critical.c
  97efd7efc8cc031e7446d5dc7088a851  libgomp/env.c
--- 94393,94400 ----
  efc434763cbe71b67359f1858f6c9480  libgomp/config/rtems/sem.c
  4d3a8b6f34059afa087aa981d61460dd  libgomp/config/rtems/sem.h
  af41d1d04a4112345554ca8b8a072ed9  libgomp/config/t-aix
! 6a0cc6baac9e56b32ceee9e7e7d9716c  libgomp/configure
! 4cfdf80b4f8b2f3a2c2013ace6ea9f00  libgomp/configure.ac
  5b8ec995a772307aacae5779580b5817  libgomp/configure.tgt
  705ffb59b51affa5d25feededd4bdd63  libgomp/critical.c
  97efd7efc8cc031e7446d5dc7088a851  libgomp/env.c
*************** de1c2d0c718443d5a90b60ea327939da  libgom
*** 94219,94225 ****
  a9602ab9ee9f89734074f35456117573  libgomp/libgomp-plugin.c
  465ccd19218bce34f9416c8e5367ac12  libgomp/libgomp-plugin.h
  aaa17bf11b59931da2d709d5a2e528a2  libgomp/libgomp.h
! 432d5efca3f07728384abbca918233db  libgomp/libgomp.info
  67964eb0101a54721e14945594dc2c5a  libgomp/libgomp.map
  8b2aa50aecad82171348a6918309afd6  libgomp/libgomp.spec.in
  35bd4b0ff6c30e1469eefe3679e00b15  libgomp/libgomp.texi
--- 94408,94414 ----
  a9602ab9ee9f89734074f35456117573  libgomp/libgomp-plugin.c
  465ccd19218bce34f9416c8e5367ac12  libgomp/libgomp-plugin.h
  aaa17bf11b59931da2d709d5a2e528a2  libgomp/libgomp.h
! fd23b877fc7d3f828c4952428d9b4052  libgomp/libgomp.info
  67964eb0101a54721e14945594dc2c5a  libgomp/libgomp.map
  8b2aa50aecad82171348a6918309afd6  libgomp/libgomp.spec.in
  35bd4b0ff6c30e1469eefe3679e00b15  libgomp/libgomp.texi
*************** d28876ac11c1d87fccada014c29d267a  libgom
*** 94265,94276 ****
  ff8d8695435d2fd418bcc6437db02562  libgomp/taskloop.c
  1d1cca28977e6aef439521c8d10eed90  libgomp/team.c
  8d61131215921c894f5e0449c79c0a18  libgomp/teams.c
! e07f04fffd2f6276df2fbeca36cc3d91  libgomp/testsuite/Makefile.am
! 648be0a5f804ab0023a14d22cca4a3de  libgomp/testsuite/Makefile.in
! e7fa5ebeef61fd5a5de78de61a1f82b3  libgomp/testsuite/config/default.exp
  6c859d1c520b245e51a29693632545d6  libgomp/testsuite/lib/libgomp-dg.exp
! 9784a5bd561ffb2eed2694aeaf996bcf  libgomp/testsuite/lib/libgomp.exp
! 97fdc33cc25788d4b9dc1db6aefed760  libgomp/testsuite/libgomp-site-extra.exp.in
  ed323f968c0e2d197ee36bf3b1f678e3  libgomp/testsuite/libgomp-test-support.exp.in
  75cc672a1bf25974c5f4c5e3bc1a74b1  libgomp/testsuite/libgomp.c++/affinity-1.C
  196ffcd43fb2edf60795e6aabf50d259  libgomp/testsuite/libgomp.c++/allocate-1.C
--- 94454,94466 ----
  ff8d8695435d2fd418bcc6437db02562  libgomp/taskloop.c
  1d1cca28977e6aef439521c8d10eed90  libgomp/team.c
  8d61131215921c894f5e0449c79c0a18  libgomp/teams.c
! ae0dcb4c08025996b4bf4550cf72832e  libgomp/testsuite/Makefile.am
! ba6af12ee86801d0846dd7004630c627  libgomp/testsuite/Makefile.in
! 669e8e16e749f900f84dfee98ebea627  libgomp/testsuite/config/default.exp
! 989674e1cf3f6739f5d9519d904650c7  libgomp/testsuite/flock
  6c859d1c520b245e51a29693632545d6  libgomp/testsuite/lib/libgomp-dg.exp
! 785f7e4af1fb779712c7c9afbde3ed27  libgomp/testsuite/lib/libgomp.exp
! 3ac651fe0ff05f2928ca58df5928eba9  libgomp/testsuite/libgomp-site-extra.exp.in
  ed323f968c0e2d197ee36bf3b1f678e3  libgomp/testsuite/libgomp-test-support.exp.in
  75cc672a1bf25974c5f4c5e3bc1a74b1  libgomp/testsuite/libgomp.c++/affinity-1.C
  196ffcd43fb2edf60795e6aabf50d259  libgomp/testsuite/libgomp.c++/allocate-1.C
*************** bddf1919febc77ab73283f66e954b61e  libgom
*** 94368,94373 ****
--- 94558,94564 ----
  1af322f02a0df2cf1f3c2c01d328da07  libgomp/testsuite/libgomp.c++/nested-1.C
  3f755c96f4b692988ea0d1ddeef1ca9b  libgomp/testsuite/libgomp.c++/parallel-1.C
  918bd233ad318b00f080ec4f186b4ee1  libgomp/testsuite/libgomp.c++/pr108180.C
+ 2b5f66e459a48cd1cbeb9dc42d3b751e  libgomp/testsuite/libgomp.c++/pr114572.C
  c57d4e906a72b08e5f49bef40306b63f  libgomp/testsuite/libgomp.c++/pr24455-1.C
  e922df8c56b5c5885b9aa8d370725ea9  libgomp/testsuite/libgomp.c++/pr24455.C
  ebbf9a13ba035141ba01b3281fd27fea  libgomp/testsuite/libgomp.c++/pr26691.C
*************** e8a3245c095430c8ef2413afe2ee4c48  libgom
*** 96041,96047 ****
  1d2e2e1ab9f0d92351625f2c5661dbb8  libgomp/testsuite/libgomp.oacc-fortran/update-dt-array.f90
  989e6535f20045be32e9e91643a0b08f  libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90
  8ad28ef1808c27a75ad52229a13307c4  libgomp/work.c
! 8199367cfb5b8c9a3936e07edaf953d0  libhsail-rt/ChangeLog
  9147b482b39962a71e580b4a8265285e  libhsail-rt/Makefile.am
  f63e3c959c7490f1fbe708067e4884ae  libhsail-rt/Makefile.in
  de97a355fadb5753d182cbcf06b1b33a  libhsail-rt/README
--- 96232,96238 ----
  1d2e2e1ab9f0d92351625f2c5661dbb8  libgomp/testsuite/libgomp.oacc-fortran/update-dt-array.f90
  989e6535f20045be32e9e91643a0b08f  libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90
  8ad28ef1808c27a75ad52229a13307c4  libgomp/work.c
! 33f61d930c4ae1ddf2d14ba206ec175f  libhsail-rt/ChangeLog
  9147b482b39962a71e580b4a8265285e  libhsail-rt/Makefile.am
  f63e3c959c7490f1fbe708067e4884ae  libhsail-rt/Makefile.in
  de97a355fadb5753d182cbcf06b1b33a  libhsail-rt/README
*************** f35af2a2efaa8dd337095878b57cabf5  libhsa
*** 96068,96074 ****
  ef9f05873915c22cae79ef5545355353  libhsail-rt/target-config.h.in
  99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
  a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
! 42df9bda84ab9b70a31fb6a816b4490e  libiberty/ChangeLog
  347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
  d2b139408a3f08c5813183e34dc39b38  libiberty/Makefile.in
  c68dbf7834af4281ebd84caa3fd54680  libiberty/README
--- 96259,96265 ----
  ef9f05873915c22cae79ef5545355353  libhsail-rt/target-config.h.in
  99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
  a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
! 37f4b09f7924112f114ba2f7d8774b9a  libiberty/ChangeLog
  347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
  d2b139408a3f08c5813183e34dc39b38  libiberty/Makefile.in
  c68dbf7834af4281ebd84caa3fd54680  libiberty/README
*************** b0bfa24a5463b326e70dd400a27201c8  libibe
*** 96177,96183 ****
  51026799cd2d665738861e8d6c917701  libiberty/simple-object-coff.c
  31967686f407e6ca1bdd2a1fa1cce850  libiberty/simple-object-common.h
  f1c1668595f1ff3168ebae34df2c6049  libiberty/simple-object-elf.c
! 699ef340f26efedcc9fba9f8cf58cf14  libiberty/simple-object-mach-o.c
  159199682f4dd7bbff930e9d8bd572fe  libiberty/simple-object-xcoff.c
  57fb43d2b927f5e971297262fcefd35b  libiberty/simple-object.c
  4863a11e04a2021af582edf86f156954  libiberty/simple-object.txh
--- 96368,96374 ----
  51026799cd2d665738861e8d6c917701  libiberty/simple-object-coff.c
  31967686f407e6ca1bdd2a1fa1cce850  libiberty/simple-object-common.h
  f1c1668595f1ff3168ebae34df2c6049  libiberty/simple-object-elf.c
! 4443f3f9121ea640e41c1cb2d6fef360  libiberty/simple-object-mach-o.c
  159199682f4dd7bbff930e9d8bd572fe  libiberty/simple-object-xcoff.c
  57fb43d2b927f5e971297262fcefd35b  libiberty/simple-object.c
  4863a11e04a2021af582edf86f156954  libiberty/simple-object.txh
*************** b2c289eb14e9197dcad172f3acba12b7  libibe
*** 96235,96241 ****
  6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
  8d3c8fb3f736a2aa560ea573c413e8a7  libiberty/xstrndup.c
  e99d7e473939c4eba9b0590e304ce757  libiberty/xvasprintf.c
! e09a2544b98f04759459847912ba0a69  libitm/ChangeLog
  a9df0726c501bf71a46f426068e8fc9f  libitm/Makefile.am
  06bb67375770bbbe550b5708624ed9d8  libitm/Makefile.in
  af64519b66d5357841d3fcdec64563ed  libitm/aatree.cc
--- 96426,96432 ----
  6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
  8d3c8fb3f736a2aa560ea573c413e8a7  libiberty/xstrndup.c
  e99d7e473939c4eba9b0590e304ce757  libiberty/xvasprintf.c
! 4bd6c0bdbccbef646a8a9238e2955dd0  libitm/ChangeLog
  a9df0726c501bf71a46f426068e8fc9f  libitm/Makefile.am
  06bb67375770bbbe550b5708624ed9d8  libitm/Makefile.in
  af64519b66d5357841d3fcdec64563ed  libitm/aatree.cc
*************** c9222a512fcc4f010415011a88500092  libitm
*** 96293,96299 ****
  ab70f9809e69aeb6236ac85b453d22ae  libitm/dispatch.h
  00dbe1cee8d24eca61f7b471d1bdb412  libitm/eh_cpp.cc
  0fc2c7d1a46777c2f9aeaa3dbc4010c1  libitm/libitm.h
! c1fc682ec5f42c6b58a80400747a6925  libitm/libitm.info
  0c43820b921ecdbe9d98f068100e716a  libitm/libitm.map
  ea467d7117853d139bb288ab75261139  libitm/libitm.spec.in
  210ab7d12145f345b6d37bcbc56f15c7  libitm/libitm.texi
--- 96484,96490 ----
  ab70f9809e69aeb6236ac85b453d22ae  libitm/dispatch.h
  00dbe1cee8d24eca61f7b471d1bdb412  libitm/eh_cpp.cc
  0fc2c7d1a46777c2f9aeaa3dbc4010c1  libitm/libitm.h
! 0f6bf728083356d692bee2d5435b13e6  libitm/libitm.info
  0c43820b921ecdbe9d98f068100e716a  libitm/libitm.map
  ea467d7117853d139bb288ab75261139  libitm/libitm.spec.in
  210ab7d12145f345b6d37bcbc56f15c7  libitm/libitm.texi
*************** b4e503ecfdccc9f13da8f73eeb6f23a9  libitm
*** 96339,96345 ****
  ef24198422c19f99b0c41be6a16f7081  libitm/testsuite/libitm.c/txrelease.c
  fe2e602544303e0ca40c8acd58bf0397  libitm/useraction.cc
  c3a4f9a7b553245bf2dbb55c53767427  libitm/util.cc
! 62d09b1bd225b6fd9431b0491c2bf762  libobjc/ChangeLog
  fee63cfea98fac80ab4c9369ce19765a  libobjc/Makefile.in
  0b2f74b5c1588ee9de0dd076fccc99a6  libobjc/NXConstStr.m
  df7a2af88216fb36f0319f328ada2fb8  libobjc/Object.m
--- 96530,96536 ----
  ef24198422c19f99b0c41be6a16f7081  libitm/testsuite/libitm.c/txrelease.c
  fe2e602544303e0ca40c8acd58bf0397  libitm/useraction.cc
  c3a4f9a7b553245bf2dbb55c53767427  libitm/util.cc
! a43e94ad9e021a793722afc8e891078f  libobjc/ChangeLog
  fee63cfea98fac80ab4c9369ce19765a  libobjc/Makefile.in
  0b2f74b5c1588ee9de0dd076fccc99a6  libobjc/NXConstStr.m
  df7a2af88216fb36f0319f328ada2fb8  libobjc/Object.m
*************** e514cfffa12c9e3a276f91bda41431b4  libobj
*** 96396,96402 ****
  b19a45655f215076ddf0ba0abecfbb45  libobjc/selector.c
  1c03202bdb561211ad5e1d73cbb0172e  libobjc/sendmsg.c
  efb54be80262d2dd7d3b30974990576e  libobjc/thr.c
! 44e07d11ccf4a715faa9b6b1a45e69cc  liboffloadmic/ChangeLog
  99e2b0817f42c602b520261f7dee183b  liboffloadmic/Makefile.am
  a64a74f82774f355013471ad4dbe5014  liboffloadmic/Makefile.in
  ab5ae12a0dda7edadc0bd2be40ccff6a  liboffloadmic/aclocal.m4
--- 96587,96593 ----
  b19a45655f215076ddf0ba0abecfbb45  libobjc/selector.c
  1c03202bdb561211ad5e1d73cbb0172e  libobjc/sendmsg.c
  efb54be80262d2dd7d3b30974990576e  libobjc/thr.c
! d4e2089edff063e556fb315b070a3e60  liboffloadmic/ChangeLog
  99e2b0817f42c602b520261f7dee183b  liboffloadmic/Makefile.am
  a64a74f82774f355013471ad4dbe5014  liboffloadmic/Makefile.in
  ab5ae12a0dda7edadc0bd2be40ccff6a  liboffloadmic/aclocal.m4
*************** b1def68202639bd452fb59aea3371fe4  liboff
*** 96484,96490 ****
  4659326a13bd5fed47bb680ddb6f5dc3  liboffloadmic/runtime/orsl-lite/include/orsl-lite.h
  cc603cdf253cc686bfcee192bb7630df  liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c
  dff5c8575c49d6aa71e549b0fa021479  liboffloadmic/runtime/orsl-lite/version.txt
! ebda4a0cd4cf549c396fa50dd2ea265d  libphobos/ChangeLog
  33bab560c80ad2bb8f6a01c76e8fac58  libphobos/Makefile.am
  c82f2c9df9a32b41c885f634fd4618b4  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
--- 96675,96681 ----
  4659326a13bd5fed47bb680ddb6f5dc3  liboffloadmic/runtime/orsl-lite/include/orsl-lite.h
  cc603cdf253cc686bfcee192bb7630df  liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c
  dff5c8575c49d6aa71e549b0fa021479  liboffloadmic/runtime/orsl-lite/version.txt
! d23a49f935c43f12c7dcabca512ced5f  libphobos/ChangeLog
  33bab560c80ad2bb8f6a01c76e8fac58  libphobos/Makefile.am
  c82f2c9df9a32b41c885f634fd4618b4  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
*************** a8c8d5fe3bf3060df2aef535a1a3cb15  libpho
*** 96515,96521 ****
  9d6d58736eca8f18fbb0207d7ea26756  libphobos/libdruntime/core/attribute.d
  4fcb39af3195321a158589d875faaa2c  libphobos/libdruntime/core/bitop.d
  bc6c7fad057970ceedf1b4384a0d173d  libphobos/libdruntime/core/checkedint.d
! e78005e94abbe57989cebd7c9a7c745f  libphobos/libdruntime/core/cpuid.d
  0bbfdf6946f532945962f2ea11fe9c65  libphobos/libdruntime/core/demangle.d
  a44eebee0344cacc3e7b8b0a99cff8c7  libphobos/libdruntime/core/exception.d
  e83e6a9f6fb52fb24f1796f23f1a18b6  libphobos/libdruntime/core/internal/abort.d
--- 96706,96712 ----
  9d6d58736eca8f18fbb0207d7ea26756  libphobos/libdruntime/core/attribute.d
  4fcb39af3195321a158589d875faaa2c  libphobos/libdruntime/core/bitop.d
  bc6c7fad057970ceedf1b4384a0d173d  libphobos/libdruntime/core/checkedint.d
! c118150dc09078f9987c46ffb8679df1  libphobos/libdruntime/core/cpuid.d
  0bbfdf6946f532945962f2ea11fe9c65  libphobos/libdruntime/core/demangle.d
  a44eebee0344cacc3e7b8b0a99cff8c7  libphobos/libdruntime/core/exception.d
  e83e6a9f6fb52fb24f1796f23f1a18b6  libphobos/libdruntime/core/internal/abort.d
*************** b5ef2bfc6ccc86766453074317e71166  libpho
*** 97163,97169 ****
  a13be93a99fb4f3ac1cd895ac34c9305  libphobos/testsuite/Makefile.in
  b6823735d7a4e6efcdd761ebf75c53bc  libphobos/testsuite/config/default.exp
  a5710012b14c38efe030c8768c419b84  libphobos/testsuite/lib/libphobos-dg.exp
! b0323a9ca2c057a6dfef1504422c88bc  libphobos/testsuite/lib/libphobos.exp
  84287a27c199fbae32ce036586eb3e99  libphobos/testsuite/libphobos.aa/aa.exp
  bc5e4ff02f931c6e4092411c492a23eb  libphobos/testsuite/libphobos.aa/test_aa.d
  52aa82eb55841708ea1accdcab5dfc19  libphobos/testsuite/libphobos.allocations/allocations.exp
--- 97354,97360 ----
  a13be93a99fb4f3ac1cd895ac34c9305  libphobos/testsuite/Makefile.in
  b6823735d7a4e6efcdd761ebf75c53bc  libphobos/testsuite/config/default.exp
  a5710012b14c38efe030c8768c419b84  libphobos/testsuite/lib/libphobos-dg.exp
! 797ee6df126b1e1e7d5e400b4697972d  libphobos/testsuite/lib/libphobos.exp
  84287a27c199fbae32ce036586eb3e99  libphobos/testsuite/libphobos.aa/aa.exp
  bc5e4ff02f931c6e4092411c492a23eb  libphobos/testsuite/libphobos.aa/test_aa.d
  52aa82eb55841708ea1accdcab5dfc19  libphobos/testsuite/libphobos.allocations/allocations.exp
*************** f0442e8b8974938ded0d17389f8b0608  libpho
*** 97219,97225 ****
  245b43d36cad9840fce44fbf4358d424  libphobos/testsuite/libphobos.typeinfo/typeinfo.exp
  b3afbf17360c0b2823892dba0b9bb0fd  libphobos/testsuite/testsuite_flags.in
  a916467b91076e631dd8edb7424769c7  libquadmath/COPYING.LIB
! 5c9aa15085fb39e4af9c48b247e8f2ee  libquadmath/ChangeLog
  4696eddf264dd090e144b4849b0a6d91  libquadmath/Makefile.am
  644a78a01d94abe28b364eaa21142d82  libquadmath/Makefile.in
  d9afbc1f1e04c7e461265ff9323cc6f4  libquadmath/acinclude.m4
--- 97410,97416 ----
  245b43d36cad9840fce44fbf4358d424  libphobos/testsuite/libphobos.typeinfo/typeinfo.exp
  b3afbf17360c0b2823892dba0b9bb0fd  libphobos/testsuite/testsuite_flags.in
  a916467b91076e631dd8edb7424769c7  libquadmath/COPYING.LIB
! fe6033d68ea50e627400281d15b0bb5e  libquadmath/ChangeLog
  4696eddf264dd090e144b4849b0a6d91  libquadmath/Makefile.am
  644a78a01d94abe28b364eaa21142d82  libquadmath/Makefile.in
  d9afbc1f1e04c7e461265ff9323cc6f4  libquadmath/acinclude.m4
*************** d9afbc1f1e04c7e461265ff9323cc6f4  libqua
*** 97227,97233 ****
  cf5a7864ff15ab4dd1604e0f6fe4e501  libquadmath/config.h.in
  7b01e196ad5d8354ad07398ee5c470fe  libquadmath/configure
  279cb151e8c43d5af048eb1a9608a435  libquadmath/configure.ac
! 294a516d45bf6cb3b333799e2aa38934  libquadmath/libquadmath.info
  f698e3dbcbae17420f2b72b77578ea17  libquadmath/libquadmath.texi
  77280bb7ee423875e03d9c0d34527df6  libquadmath/libtool-version
  452fee0ef153d65eb7413a5103c63a23  libquadmath/math/acoshq.c
--- 97418,97424 ----
  cf5a7864ff15ab4dd1604e0f6fe4e501  libquadmath/config.h.in
  7b01e196ad5d8354ad07398ee5c470fe  libquadmath/configure
  279cb151e8c43d5af048eb1a9608a435  libquadmath/configure.ac
! 4181c78dc5377afc7ef8c3c5c3ad4107  libquadmath/libquadmath.info
  f698e3dbcbae17420f2b72b77578ea17  libquadmath/libquadmath.texi
  77280bb7ee423875e03d9c0d34527df6  libquadmath/libtool-version
  452fee0ef153d65eb7413a5103c63a23  libquadmath/math/acoshq.c
*************** b67a007c23999dda365051cda023edbf  libqua
*** 97341,97348 ****
  dccfb932e7a4ec8c89731a6c7a7a9b82  libquadmath/printf/mul.c
  1cfc3bffd2c94cb06e55b49841dc8f7f  libquadmath/printf/mul_1.c
  f387f032d813cca837e7cf5477e2f6d5  libquadmath/printf/mul_n.c
! 155ece2d5e94e8539083ccfb4779c856  libquadmath/printf/printf_fp.c
! d372c1026983b3d0a5d2fca4a2ff5226  libquadmath/printf/printf_fphex.c
  e1960c6cccb78a5a2d60bdfe428c9d1b  libquadmath/printf/quadmath-printf.c
  793f681760a8266fc2adf2810355df6a  libquadmath/printf/quadmath-printf.h
  4d100ac07c5c1c4033ef4b9f60c96605  libquadmath/printf/rshift.c
--- 97532,97539 ----
  dccfb932e7a4ec8c89731a6c7a7a9b82  libquadmath/printf/mul.c
  1cfc3bffd2c94cb06e55b49841dc8f7f  libquadmath/printf/mul_1.c
  f387f032d813cca837e7cf5477e2f6d5  libquadmath/printf/mul_n.c
! 8f689c2eecdac18dd2ba0d5492bfcd5d  libquadmath/printf/printf_fp.c
! 9bc3ff4862b4fe31d0be46abc64a8bc4  libquadmath/printf/printf_fphex.c
  e1960c6cccb78a5a2d60bdfe428c9d1b  libquadmath/printf/quadmath-printf.c
  793f681760a8266fc2adf2810355df6a  libquadmath/printf/quadmath-printf.h
  4d100ac07c5c1c4033ef4b9f60c96605  libquadmath/printf/rshift.c
*************** e0bd9b8669e44ec6010f92da1d5188ad  libqua
*** 97359,97365 ****
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! d98cbb0940ba935aea752d0cbe71d04f  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  4b97cb7f10927471b74a1536f5472643  libsanitizer/LOCAL_PATCHES
--- 97550,97556 ----
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! 19b6f8a7da2af4b4634caa5b036fdd87  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  4b97cb7f10927471b74a1536f5472643  libsanitizer/LOCAL_PATCHES
*************** bd58abd803667b3373381b6bb1b68f1b  libsan
*** 97826,97832 ****
  545e91fffb8d4987ca5d1c0054aadd11  libsanitizer/ubsan/ubsan_win_dll_thunk.cpp
  e9c85349d92ab1a6b66d0872077acd3b  libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp
  72f297f487b6bb9db917cce361192c28  libsanitizer/ubsan/ubsan_win_weak_interception.cpp
! dcba294aae1119c721821ee1901385f4  libssp/ChangeLog
  cf4ee646515263611d025bd12ba88148  libssp/Makefile.am
  b56958cdc5828ca811c35bbf479b3a09  libssp/Makefile.in
  f6f6c804e40e3a3ef407d3d13fafb6c0  libssp/aclocal.m4
--- 98017,98023 ----
  545e91fffb8d4987ca5d1c0054aadd11  libsanitizer/ubsan/ubsan_win_dll_thunk.cpp
  e9c85349d92ab1a6b66d0872077acd3b  libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp
  72f297f487b6bb9db917cce361192c28  libsanitizer/ubsan/ubsan_win_weak_interception.cpp
! 762790a217570c7d6142c4ebfd44f2b0  libssp/ChangeLog
  cf4ee646515263611d025bd12ba88148  libssp/Makefile.am
  b56958cdc5828ca811c35bbf479b3a09  libssp/Makefile.in
  f6f6c804e40e3a3ef407d3d13fafb6c0  libssp/aclocal.m4
*************** df66ccf23f6b963bb290249d790ccb82  libssp
*** 97855,97861 ****
  0a9dff73d2333b2997da42b4615533fd  libssp/strncpy-chk.c
  11c140b790d482decba4951f6508dd84  libssp/vsnprintf-chk.c
  2ce510f683585f686681d926e3fafb82  libssp/vsprintf-chk.c
! 02740c537980456c66c0543fbef1f690  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 98046,98052 ----
  0a9dff73d2333b2997da42b4615533fd  libssp/strncpy-chk.c
  11c140b790d482decba4951f6508dd84  libssp/vsnprintf-chk.c
  2ce510f683585f686681d926e3fafb82  libssp/vsprintf-chk.c
! 590ba82a2a623dc8ed20871f8edcb5d6  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** a8f4290dba5b481ad426148a03c75dd0  libstd
*** 97882,97890 ****
  008caca43b4e195eecb9c08bf29ba4d1  libstdc++-v3/Makefile.am
  54e48e33eb9146948dff98aca20830c4  libstdc++-v3/Makefile.in
  f372af73db4ac0ad88e43199e1f29e08  libstdc++-v3/README
! 9f6362760cb2f50e39da8d81855a408f  libstdc++-v3/acinclude.m4
  734c1cbc8791fbceb09b49c5d07d6966  libstdc++-v3/aclocal.m4
! 7a21bb3f82d6599b3df6536f6c5e2b6b  libstdc++-v3/config.h.in
  b01fddf6d6bea14bdfb65dbd4c979845  libstdc++-v3/config/abi/compatibility.h
  4dc0ed9711e1e8d1c3555df4a246013c  libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
  730569c0ef38f6e6322b3c4ac65253ce  libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
--- 98073,98081 ----
  008caca43b4e195eecb9c08bf29ba4d1  libstdc++-v3/Makefile.am
  54e48e33eb9146948dff98aca20830c4  libstdc++-v3/Makefile.in
  f372af73db4ac0ad88e43199e1f29e08  libstdc++-v3/README
! 713381cc7f14f52793194be10a545449  libstdc++-v3/acinclude.m4
  734c1cbc8791fbceb09b49c5d07d6966  libstdc++-v3/aclocal.m4
! 56a7727493693c70306b9c3299a6639a  libstdc++-v3/config.h.in
  b01fddf6d6bea14bdfb65dbd4c979845  libstdc++-v3/config/abi/compatibility.h
  4dc0ed9711e1e8d1c3555df4a246013c  libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
  730569c0ef38f6e6322b3c4ac65253ce  libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
*************** a3d616175c468c707a25b8abe6451940  libstd
*** 97901,97907 ****
  1a34bda2bb4c3a576335343c0a4a9377  libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt
  95e879d2bc31a3b6883a980d43f1f98b  libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
  95e879d2bc31a3b6883a980d43f1f98b  libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
! 1c11af4e80d072f12bfd8bea657897b5  libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
  104287e40f1276a2b123d0a86f37d9b4  libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
  3ec228e0d9301df0938cba4a7fb94374  libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
  3ec228e0d9301df0938cba4a7fb94374  libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt
--- 98092,98098 ----
  1a34bda2bb4c3a576335343c0a4a9377  libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt
  95e879d2bc31a3b6883a980d43f1f98b  libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
  95e879d2bc31a3b6883a980d43f1f98b  libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
! fded261ed5ba4ce87ee0009eccdb3f26  libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
  104287e40f1276a2b123d0a86f37d9b4  libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
  3ec228e0d9301df0938cba4a7fb94374  libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
  3ec228e0d9301df0938cba4a7fb94374  libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt
*************** a3baceaeccc8885f6c3a367c82ce462b  libstd
*** 98002,98008 ****
  f5a102b966ee58824caab09e7b92c5fa  libstdc++-v3/config/os/bsd/darwin/ctype_base.h
  73886695d0bba09b495be44138801960  libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc
  8a4e43750fc88aac4b1290e0de5b1da5  libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
! 7fb69cc175e0cc363fe16c65c04c695c  libstdc++-v3/config/os/bsd/darwin/os_defines.h
  9e91dfcb11e4c78744df0e1e0cf69b5b  libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver
  2db5914060fa8f5c79f8ecc010cb96e3  libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
  e64fc983738f5792c9fbba8c238a4969  libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc
--- 98193,98199 ----
  f5a102b966ee58824caab09e7b92c5fa  libstdc++-v3/config/os/bsd/darwin/ctype_base.h
  73886695d0bba09b495be44138801960  libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc
  8a4e43750fc88aac4b1290e0de5b1da5  libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
! 4e12c5197f8cdc62cf3b805d5f28df61  libstdc++-v3/config/os/bsd/darwin/os_defines.h
  9e91dfcb11e4c78744df0e1e0cf69b5b  libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver
  2db5914060fa8f5c79f8ecc010cb96e3  libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
  e64fc983738f5792c9fbba8c238a4969  libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc
*************** d00b9bfddb0e8397de2d35e76f678cf4  libstd
*** 98075,98082 ****
  233fbfff89917179ae9fc7fecbd37a4b  libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
  1b61257cbf79eed6c1465ccd5906ed98  libstdc++-v3/config/os/vxworks/ctype_inline.h
  cf270f423d6238158d5385095a7fc932  libstdc++-v3/config/os/vxworks/os_defines.h
! bb138c795b8fa8f9b6308a322527f2d6  libstdc++-v3/configure
! e75e2a687e109a14e424958757b1a73d  libstdc++-v3/configure.ac
  6f48d91af78c16e62f258e7bedec5125  libstdc++-v3/configure.host
  1ad0555cf1f65702d35f5d19683b6a49  libstdc++-v3/crossconfig.m4
  cc745dd7b8642a37dd519d4df34943fc  libstdc++-v3/doc/Makefile.am
--- 98266,98273 ----
  233fbfff89917179ae9fc7fecbd37a4b  libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
  1b61257cbf79eed6c1465ccd5906ed98  libstdc++-v3/config/os/vxworks/ctype_inline.h
  cf270f423d6238158d5385095a7fc932  libstdc++-v3/config/os/vxworks/os_defines.h
! fd817850dafb49b138045c528ac518f0  libstdc++-v3/configure
! 141a9dc4dbbba84280c0e2f5a61c2c31  libstdc++-v3/configure.ac
  6f48d91af78c16e62f258e7bedec5125  libstdc++-v3/configure.host
  1ad0555cf1f65702d35f5d19683b6a49  libstdc++-v3/crossconfig.m4
  cc745dd7b8642a37dd519d4df34943fc  libstdc++-v3/doc/Makefile.am
*************** df705f3839120dcb896e9839cf3404d0  libstd
*** 98174,98180 ****
  610c408505940d785574f4226d31a6ac  libstdc++-v3/doc/html/index.html
  24de5f936e90a1f57f037f166ff75004  libstdc++-v3/doc/html/manual/abi.html
  4ce10e27356ac31a5b7962aecbeb3638  libstdc++-v3/doc/html/manual/algorithms.html
! 70a5fa3916abe3de8650b93632b6914b  libstdc++-v3/doc/html/manual/api.html
  7c6d43d50040fdcfce63d3ae3b6a56dc  libstdc++-v3/doc/html/manual/appendix.html
  9fecd7dab1bd0d46e97d36cded231ebe  libstdc++-v3/doc/html/manual/appendix_contributing.html
  23038a3eb57967596dd7dc4f944e55e6  libstdc++-v3/doc/html/manual/appendix_free.html
--- 98365,98371 ----
  610c408505940d785574f4226d31a6ac  libstdc++-v3/doc/html/index.html
  24de5f936e90a1f57f037f166ff75004  libstdc++-v3/doc/html/manual/abi.html
  4ce10e27356ac31a5b7962aecbeb3638  libstdc++-v3/doc/html/manual/algorithms.html
! 550d90517aa9e650d86b8f4e384b07c6  libstdc++-v3/doc/html/manual/api.html
  7c6d43d50040fdcfce63d3ae3b6a56dc  libstdc++-v3/doc/html/manual/appendix.html
  9fecd7dab1bd0d46e97d36cded231ebe  libstdc++-v3/doc/html/manual/appendix_contributing.html
  23038a3eb57967596dd7dc4f944e55e6  libstdc++-v3/doc/html/manual/appendix_free.html
*************** ffceba0f3c20f451f9753c101c0fa634  libstd
*** 98257,98263 ****
  f82628740b7b95e95da49ce234a05bca  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  391422dd4f4cdbd4d764a952a0f345e6  libstdc++-v3/doc/html/manual/source_organization.html
! 747f526a267b126b1c01e9f4dcdc461f  libstdc++-v3/doc/html/manual/status.html
  ea0c531c09fa230f346f8ba700961e4a  libstdc++-v3/doc/html/manual/std_contents.html
  dbb5f81a9e8864374fbb835eaa4e8b0d  libstdc++-v3/doc/html/manual/streambufs.html
  47e6a6ef4752e7c7e3ecb2a4948a7514  libstdc++-v3/doc/html/manual/strings.html
--- 98448,98454 ----
  f82628740b7b95e95da49ce234a05bca  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  391422dd4f4cdbd4d764a952a0f345e6  libstdc++-v3/doc/html/manual/source_organization.html
! 75c210c0ab7678c97d51efb83b4620a3  libstdc++-v3/doc/html/manual/status.html
  ea0c531c09fa230f346f8ba700961e4a  libstdc++-v3/doc/html/manual/std_contents.html
  dbb5f81a9e8864374fbb835eaa4e8b0d  libstdc++-v3/doc/html/manual/streambufs.html
  47e6a6ef4752e7c7e3ecb2a4948a7514  libstdc++-v3/doc/html/manual/strings.html
*************** fcdceeabf3a95117ea22e93a0354e564  libstd
*** 98267,98273 ****
  e19e711d0b369090f4782ac1fc0792bd  libstdc++-v3/doc/html/manual/test.html
  c39b927efcec5ac84139c1490c8ef320  libstdc++-v3/doc/html/manual/traits.html
  530b96535baacfe35df2e65f9dfe7efc  libstdc++-v3/doc/html/manual/unordered_associative.html
! fc95274c2a36efc3d0f39217d38a914b  libstdc++-v3/doc/html/manual/using.html
  a98d94ba8ccfb620e98ebfe01192e61e  libstdc++-v3/doc/html/manual/using_concurrency.html
  79fb9de4a4c89a913a76e1828500499d  libstdc++-v3/doc/html/manual/using_dual_abi.html
  4868e3591133577974ca85a537dbd8a0  libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
--- 98458,98464 ----
  e19e711d0b369090f4782ac1fc0792bd  libstdc++-v3/doc/html/manual/test.html
  c39b927efcec5ac84139c1490c8ef320  libstdc++-v3/doc/html/manual/traits.html
  530b96535baacfe35df2e65f9dfe7efc  libstdc++-v3/doc/html/manual/unordered_associative.html
! a3e4073854025e688cc875bc9321e474  libstdc++-v3/doc/html/manual/using.html
  a98d94ba8ccfb620e98ebfe01192e61e  libstdc++-v3/doc/html/manual/using_concurrency.html
  79fb9de4a4c89a913a76e1828500499d  libstdc++-v3/doc/html/manual/using_dual_abi.html
  4868e3591133577974ca85a537dbd8a0  libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
*************** a1ff7d876c3d43ddeea13056c5d8079b  libstd
*** 98482,98488 ****
  e3215d958bafd6fd02249dc5bab42f58  libstdc++-v3/doc/xml/manual/debug_mode.xml
  f320f25003678cca910f09ba54c923fc  libstdc++-v3/doc/xml/manual/diagnostics.xml
  561ce4bba87e35c92c47d95599ca9d9b  libstdc++-v3/doc/xml/manual/documentation_hacking.xml
! a3b670e11d8db732a9352e2fbe236347  libstdc++-v3/doc/xml/manual/evolution.xml
  137276d6eb0bbaf6563b8319770dc747  libstdc++-v3/doc/xml/manual/extensions.xml
  7f1864c7f3c3b2bfde84b7086be97ca7  libstdc++-v3/doc/xml/manual/internals.xml
  5f4d26ae4a278b447450c82258dc4229  libstdc++-v3/doc/xml/manual/intro.xml
--- 98673,98679 ----
  e3215d958bafd6fd02249dc5bab42f58  libstdc++-v3/doc/xml/manual/debug_mode.xml
  f320f25003678cca910f09ba54c923fc  libstdc++-v3/doc/xml/manual/diagnostics.xml
  561ce4bba87e35c92c47d95599ca9d9b  libstdc++-v3/doc/xml/manual/documentation_hacking.xml
! 4a2482018ac149b970b217f0fcdc7119  libstdc++-v3/doc/xml/manual/evolution.xml
  137276d6eb0bbaf6563b8319770dc747  libstdc++-v3/doc/xml/manual/extensions.xml
  7f1864c7f3c3b2bfde84b7086be97ca7  libstdc++-v3/doc/xml/manual/internals.xml
  5f4d26ae4a278b447450c82258dc4229  libstdc++-v3/doc/xml/manual/intro.xml
*************** d7f222c42325cd44eadad2c59eef7e6f  libstd
*** 98504,98510 ****
  d7679667c783a269bb7718eb5d95f435  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  5bb9fe8fa9f85b6d25e0d01355973428  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
  d0e5411965f73ec23af63f5d5368623b  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
! 9d049d3b44a1dd0ce226b835023c5749  libstdc++-v3/doc/xml/manual/status_cxx2023.xml
  3c72998c4574690fac280c058a0db757  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  a3c830bf7580b2f5b61bb7806aa3f498  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  716b0440e3bfb860e5ee262a17e4f11a  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
--- 98695,98701 ----
  d7679667c783a269bb7718eb5d95f435  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  5bb9fe8fa9f85b6d25e0d01355973428  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
  d0e5411965f73ec23af63f5d5368623b  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
! e6c87d5cadf556b24fc176fe05b89cea  libstdc++-v3/doc/xml/manual/status_cxx2023.xml
  3c72998c4574690fac280c058a0db757  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  a3c830bf7580b2f5b61bb7806aa3f498  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  716b0440e3bfb860e5ee262a17e4f11a  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
*************** a3c830bf7580b2f5b61bb7806aa3f498  libstd
*** 98512,98518 ****
  2b80feb1b53a8d0895a292620ec430b2  libstdc++-v3/doc/xml/manual/support.xml
  5a89da07906610f85971c9faa717428e  libstdc++-v3/doc/xml/manual/test.xml
  e2e099be3dd6a4b7a940a7232635ee2c  libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
! 93a43df46b9241c15a1d1a3116d9c792  libstdc++-v3/doc/xml/manual/using.xml
  30ec356feba73e85c6cef4c27dbb372e  libstdc++-v3/doc/xml/manual/using_exceptions.xml
  74a5acaa32b3d223bd413c1bb5b69ac6  libstdc++-v3/doc/xml/manual/utilities.xml
  05d0e18187995e8ce64185beb05cd6ed  libstdc++-v3/doc/xml/spine.xml
--- 98703,98709 ----
  2b80feb1b53a8d0895a292620ec430b2  libstdc++-v3/doc/xml/manual/support.xml
  5a89da07906610f85971c9faa717428e  libstdc++-v3/doc/xml/manual/test.xml
  e2e099be3dd6a4b7a940a7232635ee2c  libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
! a05ba22f80986c753f307b3ed4230652  libstdc++-v3/doc/xml/manual/using.xml
  30ec356feba73e85c6cef4c27dbb372e  libstdc++-v3/doc/xml/manual/using_exceptions.xml
  74a5acaa32b3d223bd413c1bb5b69ac6  libstdc++-v3/doc/xml/manual/utilities.xml
  05d0e18187995e8ce64185beb05cd6ed  libstdc++-v3/doc/xml/spine.xml
*************** fe864b2a299875de978dcc610a835eb6  libstd
*** 98554,98570 ****
  00ebb6049dacf8ab023b15caf7b3a690  libstdc++-v3/include/bits/erase_if.h
  a7d5bb28720ccf51fe638410018fc593  libstdc++-v3/include/bits/forward_list.h
  2f0cf51176b50d64270bb5e7ba78708b  libstdc++-v3/include/bits/forward_list.tcc
! 42e0fac7ef6d3d3217e48ce36672e534  libstdc++-v3/include/bits/fs_dir.h
! 70ce7389ec86c32b97e433d940247f4b  libstdc++-v3/include/bits/fs_fwd.h
  0b0e4fe70f7a52ec967bc4d0e526470f  libstdc++-v3/include/bits/fs_ops.h
! 047582c6013e3d323020f4adc7a65203  libstdc++-v3/include/bits/fs_path.h
  1e083c1a36d484e25c40b96ad6699e4e  libstdc++-v3/include/bits/fstream.tcc
  dd8a128f529a9f6f73237a176e7299bc  libstdc++-v3/include/bits/functexcept.h
  3854e123c62afb06ce8eff3213da177e  libstdc++-v3/include/bits/functional_hash.h
  7e28c413fb2ff8f896ab6f4b81296589  libstdc++-v3/include/bits/gslice.h
  e456cf0f51e466e78775ed5c4895339c  libstdc++-v3/include/bits/gslice_array.h
! 1b162c169c5c035be9f65e875ba43048  libstdc++-v3/include/bits/hashtable.h
! 985a1e281b3b291fa13c4044bfc48b31  libstdc++-v3/include/bits/hashtable_policy.h
  0c0a3a285147405c46b1222a8f53b9da  libstdc++-v3/include/bits/indirect_array.h
  70c7a436935136a62065871cf31e4943  libstdc++-v3/include/bits/invoke.h
  b81521437ef0ce936cef3eaef2df90db  libstdc++-v3/include/bits/ios_base.h
--- 98745,98761 ----
  00ebb6049dacf8ab023b15caf7b3a690  libstdc++-v3/include/bits/erase_if.h
  a7d5bb28720ccf51fe638410018fc593  libstdc++-v3/include/bits/forward_list.h
  2f0cf51176b50d64270bb5e7ba78708b  libstdc++-v3/include/bits/forward_list.tcc
! 4f27d6520fe119a0213cc7e7ed7ff8e6  libstdc++-v3/include/bits/fs_dir.h
! b9ac1c3e6ca6263dfbdc65caf34d78fe  libstdc++-v3/include/bits/fs_fwd.h
  0b0e4fe70f7a52ec967bc4d0e526470f  libstdc++-v3/include/bits/fs_ops.h
! 9fcc148224bb673676a77744f595ff61  libstdc++-v3/include/bits/fs_path.h
  1e083c1a36d484e25c40b96ad6699e4e  libstdc++-v3/include/bits/fstream.tcc
  dd8a128f529a9f6f73237a176e7299bc  libstdc++-v3/include/bits/functexcept.h
  3854e123c62afb06ce8eff3213da177e  libstdc++-v3/include/bits/functional_hash.h
  7e28c413fb2ff8f896ab6f4b81296589  libstdc++-v3/include/bits/gslice.h
  e456cf0f51e466e78775ed5c4895339c  libstdc++-v3/include/bits/gslice_array.h
! a07574d4f4f9d1f69af74853aee02e70  libstdc++-v3/include/bits/hashtable.h
! 09f316a5ef01ed58fedbab702381893e  libstdc++-v3/include/bits/hashtable_policy.h
  0c0a3a285147405c46b1222a8f53b9da  libstdc++-v3/include/bits/indirect_array.h
  70c7a436935136a62065871cf31e4943  libstdc++-v3/include/bits/invoke.h
  b81521437ef0ce936cef3eaef2df90db  libstdc++-v3/include/bits/ios_base.h
*************** ce159ba2bb3c8fced8b24b10ca50c912  libstd
*** 98583,98589 ****
  e3279d92169ee9dafabefe79d86b0114  libstdc++-v3/include/bits/max_size_type.h
  3f6b104467902cda411d015a32d97cf1  libstdc++-v3/include/bits/memoryfwd.h
  156ce13c58f77c44098165fa0e6b5efc  libstdc++-v3/include/bits/move.h
! 434b2342bf495fd191265b752a71fc44  libstdc++-v3/include/bits/node_handle.h
  3877d17291319659d2c7ab82f127deeb  libstdc++-v3/include/bits/ostream.tcc
  c6baef5b0dbad526c4a7d462e52887b8  libstdc++-v3/include/bits/ostream_insert.h
  518cd0ae140bee151205f0ccbbe7a9d2  libstdc++-v3/include/bits/parse_numbers.h
--- 98774,98780 ----
  e3279d92169ee9dafabefe79d86b0114  libstdc++-v3/include/bits/max_size_type.h
  3f6b104467902cda411d015a32d97cf1  libstdc++-v3/include/bits/memoryfwd.h
  156ce13c58f77c44098165fa0e6b5efc  libstdc++-v3/include/bits/move.h
! c056a49b2d006f609efe54ec9a95b9b3  libstdc++-v3/include/bits/node_handle.h
  3877d17291319659d2c7ab82f127deeb  libstdc++-v3/include/bits/ostream.tcc
  c6baef5b0dbad526c4a7d462e52887b8  libstdc++-v3/include/bits/ostream_insert.h
  518cd0ae140bee151205f0ccbbe7a9d2  libstdc++-v3/include/bits/parse_numbers.h
*************** e519ad1037772e85daa706ffa7ea28da  libstd
*** 98646,98652 ****
  93170ef391fdcbda38838ce3f8f4b861  libstdc++-v3/include/bits/stl_set.h
  ba0b8ae642f56a2b5ac0e0f6b5efdb5f  libstdc++-v3/include/bits/stl_stack.h
  cf3c9e963ec99beda2bb6c7db4a045f6  libstdc++-v3/include/bits/stl_tempbuf.h
! 02cdd04bbd0f99a11cf0f12d5a9b21a7  libstdc++-v3/include/bits/stl_tree.h
  e5b2dfda2795d428e8e4a9ac15177146  libstdc++-v3/include/bits/stl_uninitialized.h
  abcaf00227294b9790605822a1c03477  libstdc++-v3/include/bits/stl_vector.h
  1e99e977ac1c11c7b57913dfa5041da9  libstdc++-v3/include/bits/stream_iterator.h
--- 98837,98843 ----
  93170ef391fdcbda38838ce3f8f4b861  libstdc++-v3/include/bits/stl_set.h
  ba0b8ae642f56a2b5ac0e0f6b5efdb5f  libstdc++-v3/include/bits/stl_stack.h
  cf3c9e963ec99beda2bb6c7db4a045f6  libstdc++-v3/include/bits/stl_tempbuf.h
! 7ea5e83eb4473a085f28047091af1204  libstdc++-v3/include/bits/stl_tree.h
  e5b2dfda2795d428e8e4a9ac15177146  libstdc++-v3/include/bits/stl_uninitialized.h
  abcaf00227294b9790605822a1c03477  libstdc++-v3/include/bits/stl_vector.h
  1e99e977ac1c11c7b57913dfa5041da9  libstdc++-v3/include/bits/stream_iterator.h
*************** dee5de74a647471159287adfbac14498  libstd
*** 98784,98790 ****
  d8ae0f386b639951eabe29a57d2f68cb  libstdc++-v3/include/debug/safe_unordered_container.tcc
  f475c2504647d12ab0026b7c3f256f4d  libstdc++-v3/include/debug/set
  efd6533e84bfc436b900b80a7715e389  libstdc++-v3/include/debug/set.h
! bbaa39c68a8689f894b4d32d8a71a33e  libstdc++-v3/include/debug/stl_iterator.h
  9338fa7bb61e6716eb79ad8ad9b3cc64  libstdc++-v3/include/debug/string
  fa95e8291a021fd8d54e739bfb36d8f4  libstdc++-v3/include/debug/unordered_map
  bbcb44f5d6a75be289854e78c50d6e0e  libstdc++-v3/include/debug/unordered_set
--- 98975,98981 ----
  d8ae0f386b639951eabe29a57d2f68cb  libstdc++-v3/include/debug/safe_unordered_container.tcc
  f475c2504647d12ab0026b7c3f256f4d  libstdc++-v3/include/debug/set
  efd6533e84bfc436b900b80a7715e389  libstdc++-v3/include/debug/set.h
! 68b21fccf0973d0623e5d5efcecb6130  libstdc++-v3/include/debug/stl_iterator.h
  9338fa7bb61e6716eb79ad8ad9b3cc64  libstdc++-v3/include/debug/string
  fa95e8291a021fd8d54e739bfb36d8f4  libstdc++-v3/include/debug/unordered_map
  bbcb44f5d6a75be289854e78c50d6e0e  libstdc++-v3/include/debug/unordered_set
*************** fee23cd92a92d6bf2f6fdd3850d1ec1a  libstd
*** 98797,98817 ****
  363feb942b9ed4fdcb8f065231501c85  libstdc++-v3/include/experimental/bits/fs_dir.h
  f5e02eb1311a467ce3d8138ce931f3eb  libstdc++-v3/include/experimental/bits/fs_fwd.h
  ec486b11aba3d3daa70d9ffaa56ae032  libstdc++-v3/include/experimental/bits/fs_ops.h
! eb27e9e05d97a3299e71d2dbd817eb49  libstdc++-v3/include/experimental/bits/fs_path.h
  f35b43a0d32627601d4bfe3ac24e84ff  libstdc++-v3/include/experimental/bits/lfts_config.h
  6c96027917a74ba73627fb559e8bbeb7  libstdc++-v3/include/experimental/bits/net.h
! 19f9985a717ce911687aa7087349693d  libstdc++-v3/include/experimental/bits/numeric_traits.h
  526bcbcdfb0acc96580ff835ceb38948  libstdc++-v3/include/experimental/bits/shared_ptr.h
! 146a65a53d67a17837f80c6b72583c2a  libstdc++-v3/include/experimental/bits/simd.h
! bd8bb2775a56beef8d5e7035f29313b3  libstdc++-v3/include/experimental/bits/simd_builtin.h
  cc64fe357953ec34875f1b32641b45db  libstdc++-v3/include/experimental/bits/simd_converter.h
  2ea5647aa5c4573ab52b119e9e93e0d5  libstdc++-v3/include/experimental/bits/simd_detail.h
  acafc82b1c2b3da5288baa6534636825  libstdc++-v3/include/experimental/bits/simd_fixed_size.h
  a757b9f3a68db3ae2f36e012ea2215b9  libstdc++-v3/include/experimental/bits/simd_math.h
  a6758085744d5817f8a1186ee2015ea4  libstdc++-v3/include/experimental/bits/simd_neon.h
! 54fcaa202fda15079cb885020f6bf1e5  libstdc++-v3/include/experimental/bits/simd_ppc.h
  807f9675127d0f7a2fb50eb6d56c5816  libstdc++-v3/include/experimental/bits/simd_scalar.h
! 9fef4ad443d852ede506049316aaecfb  libstdc++-v3/include/experimental/bits/simd_x86.h
  a7070d3b5675c71011b2b53a091f1276  libstdc++-v3/include/experimental/bits/simd_x86_conversions.h
  3a18bdda008c9ee7d00a7fe3df2978f7  libstdc++-v3/include/experimental/bits/string_view.tcc
  854d9b5964314dea05a89721173b4da0  libstdc++-v3/include/experimental/buffer
--- 98988,99008 ----
  363feb942b9ed4fdcb8f065231501c85  libstdc++-v3/include/experimental/bits/fs_dir.h
  f5e02eb1311a467ce3d8138ce931f3eb  libstdc++-v3/include/experimental/bits/fs_fwd.h
  ec486b11aba3d3daa70d9ffaa56ae032  libstdc++-v3/include/experimental/bits/fs_ops.h
! d5c890387f9ee783e277af992e7d9df3  libstdc++-v3/include/experimental/bits/fs_path.h
  f35b43a0d32627601d4bfe3ac24e84ff  libstdc++-v3/include/experimental/bits/lfts_config.h
  6c96027917a74ba73627fb559e8bbeb7  libstdc++-v3/include/experimental/bits/net.h
! 6b391c15dd79237ca4d5762b649080bc  libstdc++-v3/include/experimental/bits/numeric_traits.h
  526bcbcdfb0acc96580ff835ceb38948  libstdc++-v3/include/experimental/bits/shared_ptr.h
! 8b5887f03d53f51764229f9143e4bac0  libstdc++-v3/include/experimental/bits/simd.h
! d0fc79a2d34d0588b26602fbc93a3fc2  libstdc++-v3/include/experimental/bits/simd_builtin.h
  cc64fe357953ec34875f1b32641b45db  libstdc++-v3/include/experimental/bits/simd_converter.h
  2ea5647aa5c4573ab52b119e9e93e0d5  libstdc++-v3/include/experimental/bits/simd_detail.h
  acafc82b1c2b3da5288baa6534636825  libstdc++-v3/include/experimental/bits/simd_fixed_size.h
  a757b9f3a68db3ae2f36e012ea2215b9  libstdc++-v3/include/experimental/bits/simd_math.h
  a6758085744d5817f8a1186ee2015ea4  libstdc++-v3/include/experimental/bits/simd_neon.h
! 8105f7c27656f7d99fad897d8b096b0e  libstdc++-v3/include/experimental/bits/simd_ppc.h
  807f9675127d0f7a2fb50eb6d56c5816  libstdc++-v3/include/experimental/bits/simd_scalar.h
! 5e098b9bfb621168ee79f8eb9776dcb9  libstdc++-v3/include/experimental/bits/simd_x86.h
  a7070d3b5675c71011b2b53a091f1276  libstdc++-v3/include/experimental/bits/simd_x86_conversions.h
  3a18bdda008c9ee7d00a7fe3df2978f7  libstdc++-v3/include/experimental/bits/string_view.tcc
  854d9b5964314dea05a89721173b4da0  libstdc++-v3/include/experimental/buffer
*************** d3d2812c60e828c1e822801f148c7630  libstd
*** 99204,99216 ****
  b156f0d597a2edae1a06e54aba071e41  libstdc++-v3/include/pstl/unseq_backend_simd.h
  248e4a4c932ee32246a6216c3b58a482  libstdc++-v3/include/pstl/utils.h
  6f7d40cef8f663c474dbafbd94db6d41  libstdc++-v3/include/std/algorithm
! 463aea90e2091f752c8b3d12848f07af  libstdc++-v3/include/std/any
! 1c0c57ef53ca4293de32b58ded42452f  libstdc++-v3/include/std/array
  d842f1d8213f596f991e9ec192107bd5  libstdc++-v3/include/std/atomic
  f41d2b238bdba11f9f434620788dc4f8  libstdc++-v3/include/std/barrier
  0c9f83580f47735e5a15465796ce574b  libstdc++-v3/include/std/bit
  92df508c8bd5ee1e5201893372265093  libstdc++-v3/include/std/bitset
! b1df1e999fa804759ad24974f4c88720  libstdc++-v3/include/std/charconv
  a3c948e3df2b6be15b9120cd88c5d7ea  libstdc++-v3/include/std/chrono
  9fc8010f8954d7f9d9b7b73480068af4  libstdc++-v3/include/std/codecvt
  34ecc2d19af4343e2194a05671920bcf  libstdc++-v3/include/std/complex
--- 99395,99407 ----
  b156f0d597a2edae1a06e54aba071e41  libstdc++-v3/include/pstl/unseq_backend_simd.h
  248e4a4c932ee32246a6216c3b58a482  libstdc++-v3/include/pstl/utils.h
  6f7d40cef8f663c474dbafbd94db6d41  libstdc++-v3/include/std/algorithm
! 0a935a1b49fa422ba20538d90e460f3c  libstdc++-v3/include/std/any
! 5250b045e89b32a732a4b403c234104e  libstdc++-v3/include/std/array
  d842f1d8213f596f991e9ec192107bd5  libstdc++-v3/include/std/atomic
  f41d2b238bdba11f9f434620788dc4f8  libstdc++-v3/include/std/barrier
  0c9f83580f47735e5a15465796ce574b  libstdc++-v3/include/std/bit
  92df508c8bd5ee1e5201893372265093  libstdc++-v3/include/std/bitset
! d7b7b58580791a872a706b123f67d0de  libstdc++-v3/include/std/charconv
  a3c948e3df2b6be15b9120cd88c5d7ea  libstdc++-v3/include/std/chrono
  9fc8010f8954d7f9d9b7b73480068af4  libstdc++-v3/include/std/codecvt
  34ecc2d19af4343e2194a05671920bcf  libstdc++-v3/include/std/complex
*************** f36de15c1f3b7e03051daa3f7c7472c5  libstd
*** 99240,99246 ****
  44c7dab7177844460c0d95f3b2c6d2dd  libstdc++-v3/include/std/mutex
  0f98490a23012b0d475a6438918e05e8  libstdc++-v3/include/std/numbers
  05fc9ec988e9d247d6fa5ac50919e7aa  libstdc++-v3/include/std/numeric
! c26f8f7af799f7f3a2830f1689b12757  libstdc++-v3/include/std/optional
  efcc2fdc15a99e21f2c4a97ee2924fce  libstdc++-v3/include/std/ostream
  61b007baae14c52b13732aad82286815  libstdc++-v3/include/std/queue
  aad0b8c05c77db48c9ae1eddb9e0380d  libstdc++-v3/include/std/random
--- 99431,99437 ----
  44c7dab7177844460c0d95f3b2c6d2dd  libstdc++-v3/include/std/mutex
  0f98490a23012b0d475a6438918e05e8  libstdc++-v3/include/std/numbers
  05fc9ec988e9d247d6fa5ac50919e7aa  libstdc++-v3/include/std/numeric
! 52a624996b32a38c3e8550926f624614  libstdc++-v3/include/std/optional
  efcc2fdc15a99e21f2c4a97ee2924fce  libstdc++-v3/include/std/ostream
  61b007baae14c52b13732aad82286815  libstdc++-v3/include/std/queue
  aad0b8c05c77db48c9ae1eddb9e0380d  libstdc++-v3/include/std/random
*************** ed0009b64dfff30999a2182d0189ee7f  libstd
*** 99259,99274 ****
  34c6da09a169cc099e8108f6af279a65  libstdc++-v3/include/std/stop_token
  05c6cffed4833f117e386206af8f878e  libstdc++-v3/include/std/streambuf
  8eccd3adbdc9f406ec98e5483acf9c01  libstdc++-v3/include/std/string
! 24d0d039f982ec14049a14db0a3e415c  libstdc++-v3/include/std/string_view
  73e7d99c342a65822fcbfaf4033adf71  libstdc++-v3/include/std/syncstream
  58f6c2eb152b2f7a05834ac1c4ebb1ed  libstdc++-v3/include/std/system_error
  83a8f781edae2a22c67cf12b96568a03  libstdc++-v3/include/std/thread
! 75ec944808fb35b5874a917bfc65812a  libstdc++-v3/include/std/tuple
  6d1101c58cc358a53860711cff8ba743  libstdc++-v3/include/std/type_traits
  330d42fb74c13496f374d6b2cb3cbf7c  libstdc++-v3/include/std/typeindex
  16ace88be8613b378b5fffc1958351a0  libstdc++-v3/include/std/unordered_map
  aeb2a92a3c9a2263f24568c8ece52a4c  libstdc++-v3/include/std/unordered_set
! d9438feb050100a59ccb2bd7e22fb8f6  libstdc++-v3/include/std/utility
  c850b998f4d1266de1335fea45c46997  libstdc++-v3/include/std/valarray
  aa36fc0f6303b753dfa37dc4df5ea6dd  libstdc++-v3/include/std/variant
  b2ab68817368c3805d64bb4978a6129d  libstdc++-v3/include/std/vector
--- 99450,99465 ----
  34c6da09a169cc099e8108f6af279a65  libstdc++-v3/include/std/stop_token
  05c6cffed4833f117e386206af8f878e  libstdc++-v3/include/std/streambuf
  8eccd3adbdc9f406ec98e5483acf9c01  libstdc++-v3/include/std/string
! 5cec94972e6ac627f383e0c626ca759d  libstdc++-v3/include/std/string_view
  73e7d99c342a65822fcbfaf4033adf71  libstdc++-v3/include/std/syncstream
  58f6c2eb152b2f7a05834ac1c4ebb1ed  libstdc++-v3/include/std/system_error
  83a8f781edae2a22c67cf12b96568a03  libstdc++-v3/include/std/thread
! 29aaf447a2e15f8afd0c1ff9f15dcfc9  libstdc++-v3/include/std/tuple
  6d1101c58cc358a53860711cff8ba743  libstdc++-v3/include/std/type_traits
  330d42fb74c13496f374d6b2cb3cbf7c  libstdc++-v3/include/std/typeindex
  16ace88be8613b378b5fffc1958351a0  libstdc++-v3/include/std/unordered_map
  aeb2a92a3c9a2263f24568c8ece52a4c  libstdc++-v3/include/std/unordered_set
! ad60f79562bc3143fa81ee211d6b6e27  libstdc++-v3/include/std/utility
  c850b998f4d1266de1335fea45c46997  libstdc++-v3/include/std/valarray
  aa36fc0f6303b753dfa37dc4df5ea6dd  libstdc++-v3/include/std/variant
  b2ab68817368c3805d64bb4978a6129d  libstdc++-v3/include/std/vector
*************** c89b275a194b7370f322c7128b243090  libstd
*** 99341,99348 ****
  cc2a0b62bf04cad951e0838fd4e29e3d  libstdc++-v3/include/tr2/dynamic_bitset.tcc
  95f8128d43e4fa453bad55b8db6307bc  libstdc++-v3/include/tr2/ratio
  cb6ce365cf504ab2292795d611943c6e  libstdc++-v3/include/tr2/type_traits
! 5559362627331d7a7be957332eba7b9f  libstdc++-v3/libsupc++/Makefile.am
! 0e698fb2d933bed1c0fd85b86464a335  libstdc++-v3/libsupc++/Makefile.in
  b992d92f8e27c5837ac0932ebba6e786  libstdc++-v3/libsupc++/array_type_info.cc
  d773d7947ef6fa9dba87bc66d1556985  libstdc++-v3/libsupc++/atexit_arm.cc
  bcd2caa5d8bd8939dccd73056d9b9954  libstdc++-v3/libsupc++/atexit_thread.cc
--- 99532,99539 ----
  cc2a0b62bf04cad951e0838fd4e29e3d  libstdc++-v3/include/tr2/dynamic_bitset.tcc
  95f8128d43e4fa453bad55b8db6307bc  libstdc++-v3/include/tr2/ratio
  cb6ce365cf504ab2292795d611943c6e  libstdc++-v3/include/tr2/type_traits
! 8e1128dfe6e8215db6a21c0f3dbe9d3c  libstdc++-v3/libsupc++/Makefile.am
! d68409fb13871b8e454f0d51d6e41ae5  libstdc++-v3/libsupc++/Makefile.in
  b992d92f8e27c5837ac0932ebba6e786  libstdc++-v3/libsupc++/array_type_info.cc
  d773d7947ef6fa9dba87bc66d1556985  libstdc++-v3/libsupc++/atexit_arm.cc
  bcd2caa5d8bd8939dccd73056d9b9954  libstdc++-v3/libsupc++/atexit_thread.cc
*************** b21af20d19c1de40ba9cd41e413f6562  libstd
*** 99438,99445 ****
  ef60735f8655321222e620486f219e8d  libstdc++-v3/python/hook.in
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  484cb11df73bf42227946114a89d29b5  libstdc++-v3/python/libstdcxx/v6/__init__.py
! 57e2dfeea4206195f4bc1c93dd577c8f  libstdc++-v3/python/libstdcxx/v6/printers.py
! 59c472e7513b52ab1d9d374544b513a1  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  a4c1d51bba293cee2307fc7f9dd090f7  libstdc++-v3/scripts/check_performance
  128d0fbc24e1d43d9ff93d14bd521aa6  libstdc++-v3/scripts/check_simd
--- 99629,99636 ----
  ef60735f8655321222e620486f219e8d  libstdc++-v3/python/hook.in
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
  484cb11df73bf42227946114a89d29b5  libstdc++-v3/python/libstdcxx/v6/__init__.py
! dacc414c9c7957b64a85d9a7452f7b52  libstdc++-v3/python/libstdcxx/v6/printers.py
! 4851740f7f78303c2bd8c1b265fa7c34  libstdc++-v3/python/libstdcxx/v6/xmethods.py
  cdac7363b91e7d57b85f7b560f62f033  libstdc++-v3/scripts/check_compile
  a4c1d51bba293cee2307fc7f9dd090f7  libstdc++-v3/scripts/check_performance
  128d0fbc24e1d43d9ff93d14bd521aa6  libstdc++-v3/scripts/check_simd
*************** fdce91d6f0e0cb276b62993742bb7146  libstd
*** 99464,99470 ****
  a9122c87521f59de28f5cb332637e5fd  libstdc++-v3/src/c++11/compatibility-chrono.cc
  58d704fbd5d7285885ddbcf519c39b85  libstdc++-v3/src/c++11/compatibility-condvar.cc
  13d8eb617ee09a49ddae147ced1116e1  libstdc++-v3/src/c++11/compatibility-ldbl-alt128-cxx11.cc
! 2c0c2b7d24e35933118507d044750127  libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc
  2684f76d9a220ab6d41add8127f6ade0  libstdc++-v3/src/c++11/compatibility-ldbl-facets-aliases.h
  70b5162172c80d0b9e539a8376d23cdf  libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
  67763c2722b1fecba6026d3a5e279186  libstdc++-v3/src/c++11/condition_variable.cc
--- 99655,99661 ----
  a9122c87521f59de28f5cb332637e5fd  libstdc++-v3/src/c++11/compatibility-chrono.cc
  58d704fbd5d7285885ddbcf519c39b85  libstdc++-v3/src/c++11/compatibility-condvar.cc
  13d8eb617ee09a49ddae147ced1116e1  libstdc++-v3/src/c++11/compatibility-ldbl-alt128-cxx11.cc
! 5e1ffa06df4912e3578157cad5494a02  libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc
  2684f76d9a220ab6d41add8127f6ade0  libstdc++-v3/src/c++11/compatibility-ldbl-facets-aliases.h
  70b5162172c80d0b9e539a8376d23cdf  libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
  67763c2722b1fecba6026d3a5e279186  libstdc++-v3/src/c++11/condition_variable.cc
*************** fe48c009c5684613dd310097f544a115  libstd
*** 99528,99535 ****
  21e22ff1ddec6a91c7b379d6f6398649  libstdc++-v3/src/c++17/default_resource.h
  347ca979db50958eaba5df3b65909d67  libstdc++-v3/src/c++17/floating_from_chars.cc
  6c16689b0ed0520761730e22e879f4d8  libstdc++-v3/src/c++17/floating_to_chars.cc
! 85f8c336c16b7a6c978470d355cf20f1  libstdc++-v3/src/c++17/fs_dir.cc
! 40af88a864bedc0bcaf8ac8dab543dff  libstdc++-v3/src/c++17/fs_ops.cc
  a4c1c272e3c9a294033335a0e5484b1a  libstdc++-v3/src/c++17/fs_path.cc
  4f8936bcc944c24dd77ef27499d54342  libstdc++-v3/src/c++17/memory_resource.cc
  6d9c0bef465f18c79af1f9a7af80b525  libstdc++-v3/src/c++17/ostream-inst.cc
--- 99719,99726 ----
  21e22ff1ddec6a91c7b379d6f6398649  libstdc++-v3/src/c++17/default_resource.h
  347ca979db50958eaba5df3b65909d67  libstdc++-v3/src/c++17/floating_from_chars.cc
  6c16689b0ed0520761730e22e879f4d8  libstdc++-v3/src/c++17/floating_to_chars.cc
! 4de514c7a2a5606a4af30b42db1f2dd2  libstdc++-v3/src/c++17/fs_dir.cc
! c0d56c9b5c329d50fb78538d32d0d47c  libstdc++-v3/src/c++17/fs_ops.cc
  a4c1c272e3c9a294033335a0e5484b1a  libstdc++-v3/src/c++17/fs_path.cc
  4f8936bcc944c24dd77ef27499d54342  libstdc++-v3/src/c++17/memory_resource.cc
  6d9c0bef465f18c79af1f9a7af80b525  libstdc++-v3/src/c++17/ostream-inst.cc
*************** b673220babee424d2b70a4dbda885118  libstd
*** 99599,99608 ****
  0b7a43e506d04a83193b7dec27610ac1  libstdc++-v3/src/filesystem/cow-dir.cc
  d61e45b9d5e6a114646872dd2109583e  libstdc++-v3/src/filesystem/cow-ops.cc
  1cec190567d6217eca7c91ba30fcac96  libstdc++-v3/src/filesystem/cow-path.cc
! c775a951bdee850a043193645b4b64bf  libstdc++-v3/src/filesystem/dir-common.h
! 8b93f288bccf5e6241cdf17789c69a5f  libstdc++-v3/src/filesystem/dir.cc
! b154291a5f4ccee644a304086f12d462  libstdc++-v3/src/filesystem/ops-common.h
! 1bcc5233f72eadb2b15255585d53acca  libstdc++-v3/src/filesystem/ops.cc
  b321d71970560f8bf4fb6fbc04c30c3b  libstdc++-v3/src/filesystem/path.cc
  4d050a72fe3bf6800e6b61c3d97b09ca  libstdc++-v3/src/shared/hashtable-aux.cc
  269e3bac13e39e68daa7adab30401447  libstdc++-v3/testsuite/17_intro/badnames.cc
--- 99790,99799 ----
  0b7a43e506d04a83193b7dec27610ac1  libstdc++-v3/src/filesystem/cow-dir.cc
  d61e45b9d5e6a114646872dd2109583e  libstdc++-v3/src/filesystem/cow-ops.cc
  1cec190567d6217eca7c91ba30fcac96  libstdc++-v3/src/filesystem/cow-path.cc
! 31caf9df8688ac10a93b2575f6fe7388  libstdc++-v3/src/filesystem/dir-common.h
! b88294a6a476549ce867b2a67879540c  libstdc++-v3/src/filesystem/dir.cc
! 0c47febb03f6b49448e9ae9507bd0d80  libstdc++-v3/src/filesystem/ops-common.h
! fe77b49f85474ff8e57e5948bf4ab59d  libstdc++-v3/src/filesystem/ops.cc
  b321d71970560f8bf4fb6fbc04c30c3b  libstdc++-v3/src/filesystem/path.cc
  4d050a72fe3bf6800e6b61c3d97b09ca  libstdc++-v3/src/shared/hashtable-aux.cc
  269e3bac13e39e68daa7adab30401447  libstdc++-v3/testsuite/17_intro/badnames.cc
*************** e86ec8d2ed640d1ec738b949c0b35654  libstd
*** 99867,99873 ****
  9603e23b21ade23013c90a748ed9bc50  libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc
  47f4f27ecf4bda087c5b0a3cd14a7c66  libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc
  2264c22a40011e311f857936e455ea01  libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
! 6c5934a5df61fc5c08b17f85f553babc  libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
  f50967809900e6d07ee02904a6e39903  libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc
  4e7eceb75a1b5e9a861de98219de4b8e  libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc
  e78a2781f39a561579731ed4b960a801  libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc
--- 100058,100064 ----
  9603e23b21ade23013c90a748ed9bc50  libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc
  47f4f27ecf4bda087c5b0a3cd14a7c66  libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc
  2264c22a40011e311f857936e455ea01  libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
! d0cfd9070f656ec2f209a7cbcd9906c2  libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
  f50967809900e6d07ee02904a6e39903  libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc
  4e7eceb75a1b5e9a861de98219de4b8e  libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc
  e78a2781f39a561579731ed4b960a801  libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc
*************** b23d8220c3c4e6866e0b70777d2b719f  libstd
*** 99944,99949 ****
--- 100135,100141 ----
  ae5f2b511a8ac0e2f746944d5f364ecd  libstdc++-v3/testsuite/20_util/any/assign/self.cc
  27618b256b3ff639d38c4846b3aaf998  libstdc++-v3/testsuite/20_util/any/cons/1.cc
  097d518046e23537949952c936ddfa1c  libstdc++-v3/testsuite/20_util/any/cons/101034.cc
+ 335e5502fad2ac140247bdc170504f8f  libstdc++-v3/testsuite/20_util/any/cons/104242.cc
  be1cb95da16161c56ff3fb401785ba4f  libstdc++-v3/testsuite/20_util/any/cons/2.cc
  91f5cde4d51f2fd0f418f3728ed9fcfe  libstdc++-v3/testsuite/20_util/any/cons/90415.cc
  a29542e205fd4b7d8b4379d28281ee96  libstdc++-v3/testsuite/20_util/any/cons/92156.cc
*************** d0d1654776dfccff0809ac830a8ed639  libstd
*** 100233,100249 ****
  677741b8ec87de8ab0d685b43bb7ed8c  libstdc++-v3/testsuite/20_util/integer_comparisons/equal_neg.cc
  c6250601e3e7183f7bd3726fdd8c1203  libstdc++-v3/testsuite/20_util/integer_comparisons/greater.cc
  5fd145478b104e494f38be141565346c  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal.cc
! cc2c834d24fde49e9b39d5fdc21a1036  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc
! 73941640eda6ad80833bff73ab600f99  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc
  1ba63da49f446aa61ae4eece9dcdf0e4  libstdc++-v3/testsuite/20_util/integer_comparisons/in_range.cc
  3a808b88ff8bc53eebb599b8846d8ca9  libstdc++-v3/testsuite/20_util/integer_comparisons/in_range_neg.cc
  41f8e6faea974f81048b7e7b2703e87b  libstdc++-v3/testsuite/20_util/integer_comparisons/less.cc
  b8cc0f425b7279d2a7bb8dcff88e0079  libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal.cc
! ebd1e27c1fabfae2ef9106e1af190bd0  libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc
  fe02c44fa83bf1abd4e8e421763db1c3  libstdc++-v3/testsuite/20_util/integer_comparisons/less_neg.cc
  838931508535aea3cd86c8c312864fc8  libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal.cc
  677741b8ec87de8ab0d685b43bb7ed8c  libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal_neg.cc
  40f5e1f8a5ca516f07c6130a54751e24  libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc
  79f7cfe5881b0b28786f2b954c1f68b8  libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc
  cb6a4a4c95418eeed0f87f65e932d1bc  libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc
  5913c1f46d1efe34bc33bf1b27f30367  libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc
--- 100425,100442 ----
  677741b8ec87de8ab0d685b43bb7ed8c  libstdc++-v3/testsuite/20_util/integer_comparisons/equal_neg.cc
  c6250601e3e7183f7bd3726fdd8c1203  libstdc++-v3/testsuite/20_util/integer_comparisons/greater.cc
  5fd145478b104e494f38be141565346c  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal.cc
! 91c63114c2ad04c8e57c3c8963b46857  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc
! 400238eb92d68a5833239ab4a096b227  libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc
  1ba63da49f446aa61ae4eece9dcdf0e4  libstdc++-v3/testsuite/20_util/integer_comparisons/in_range.cc
  3a808b88ff8bc53eebb599b8846d8ca9  libstdc++-v3/testsuite/20_util/integer_comparisons/in_range_neg.cc
  41f8e6faea974f81048b7e7b2703e87b  libstdc++-v3/testsuite/20_util/integer_comparisons/less.cc
  b8cc0f425b7279d2a7bb8dcff88e0079  libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal.cc
! 1e1d905066daadc1b6a5062205b1aed0  libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc
  fe02c44fa83bf1abd4e8e421763db1c3  libstdc++-v3/testsuite/20_util/integer_comparisons/less_neg.cc
  838931508535aea3cd86c8c312864fc8  libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal.cc
  677741b8ec87de8ab0d685b43bb7ed8c  libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal_neg.cc
  40f5e1f8a5ca516f07c6130a54751e24  libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc
+ b299881c5f8a46c9954c9cfffbb15437  libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc
  79f7cfe5881b0b28786f2b954c1f68b8  libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc
  cb6a4a4c95418eeed0f87f65e932d1bc  libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc
  5913c1f46d1efe34bc33bf1b27f30367  libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc
*************** bc6d2bbf0bcd31318330e91b1b056ee0  libstd
*** 100615,100620 ****
--- 100808,100814 ----
  0f3cbdfcf310adf8a2062b3707a2c00d  libstdc++-v3/testsuite/20_util/optional/observers/5.cc
  2e81d7ad50ea9f316654c390436dec79  libstdc++-v3/testsuite/20_util/optional/observers/6.cc
  637314cfcf5e8a6eecf543eff0b5701b  libstdc++-v3/testsuite/20_util/optional/relops/1.cc
+ 9b0c6c5d74424693ceca6e756d7db294  libstdc++-v3/testsuite/20_util/optional/relops/104606.cc
  7d016ff53a538b7abde794687e94107d  libstdc++-v3/testsuite/20_util/optional/relops/2.cc
  1f0d1aef6f0adb7ba9009254dd76901e  libstdc++-v3/testsuite/20_util/optional/relops/3.cc
  80f54c69a118e2a0a1ad953cdacdc704  libstdc++-v3/testsuite/20_util/optional/relops/4.cc
*************** a29daf4250ec6836d29ee219cb6e3c24  libstd
*** 100981,100986 ****
--- 101175,101181 ----
  1a535e0b93b4813fb9d5ce3c26d0d3fc  libstdc++-v3/testsuite/20_util/tuple/comparison_operators/three_way.cc
  d23b1a747046dfeaadefce18d2c02b12  libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc
  32c154912a091023741fdaa263538a86  libstdc++-v3/testsuite/20_util/tuple/cons/102270.cc
+ 9a6dc1f9548e126de2581231c632a19f  libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc
  e3566f9668d13eea0bc28024e1e60adc  libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc
  b8b6f7aca02de3d0464000ca018da3ba  libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc
  521de308a3f68c36303b621ffb72195a  libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc
*************** ee58fb862feae3d2e5437a3162ad0907  libstd
*** 101480,101487 ****
--- 101675,101684 ----
  1dfae14cd0546ce2c05ad629019edd83  libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc
  f5762b9d721f3378d727068f209ad0d8  libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc
  d39abc44372d1e360778ec88d360319d  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc
+ be3b65e8d28ffd0b6c071ad71ef5662a  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc
  266ed8198a85e13d9a1b1373fcf255ff  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
  1120045f4cf7d6af14f28d056f9e9ced  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc
+ ef869b073577745bda077a76ccf586b4  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc
  1826d293cf96efd29214f6db5b7d4f16  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
  78409eaaaf815a0ac855279bbba4642a  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc
  7c9068c530aa7387a9b568fb4690865d  libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc
*************** b3c9e3af0f49a131973d6c4ac03b1a69  libstd
*** 102221,102226 ****
--- 102418,102424 ----
  1b1e181106122b30a450ec8e7f99267d  libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc
  ab27bad72c6bd3cea021b7abe8c50d05  libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc
  d2a212f2b8f6fdc5c0cfbd95e4c8c0d3  libstdc++-v3/testsuite/23_containers/array/creation/1.cc
+ c33e3cf546fa87ee1cf2a1313c16655a  libstdc++-v3/testsuite/23_containers/array/creation/111512.cc
  d5f4d148e3e8b228594162f3ef05c987  libstdc++-v3/testsuite/23_containers/array/creation/2.cc
  dcfec188e09b247823945c7fcfd7d096  libstdc++-v3/testsuite/23_containers/array/creation/3_neg.cc
  1a5de8290102971098844454cfa49d9e  libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc
*************** e8cca5d4509afe48ec69099546eec4b7  libstd
*** 102868,102873 ****
--- 103066,103072 ----
  551fd45774593c0c8d934bfaf2be92f6  libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc
  e4d60375ddeb1bb67555d79d6f3bf551  libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc
  88c561bccd85e62fadc7c43287e671cf  libstdc++-v3/testsuite/23_containers/multiset/init-list.cc
+ b761d5230bf4935944006f713e5604d5  libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc
  9fa7e3af060081b7d9cfad93a15fe4f9  libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc
  dbaff1331137b71965546885e60d275b  libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc
  5b392904ec0c46196eb3eee21db0c5e7  libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc
*************** cd19f08a642afb80becf0268e6af9f98  libstd
*** 102976,102981 ****
--- 103175,103181 ----
  2d5cb9ca33e1afcd6502856d8bde1853  libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc
  cf914f74e1887effc611d4e59d596f43  libstdc++-v3/testsuite/23_containers/set/erasure.cc
  e7183d05aaab60e1babfca3603253809  libstdc++-v3/testsuite/23_containers/set/init-list.cc
+ 600f3a07c5d12def9ca643094daf86cd  libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc
  337f1743c04fa5a6f80b4d012abea9ac  libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
  2634b21875a441cf53f4bfd7cfefec5c  libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
  67d274e8cb6fafff84fe2140ffac712c  libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc
*************** a391c6711d5a25e7aa133ccb1e4fcc6a  libstd
*** 103312,103317 ****
--- 103512,103518 ----
  2537293881e8cc49cb4a3ff428e1db74  libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc
  666d70c227528357e013bcdf7588657c  libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
  4ff0eb9e76e9c9c8f229c2529f983cdd  libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
+ 81ce776a3ac75fcc704e7f3efc65de81  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc
  c18c77ba1ace5ae23a8cfa8253228f14  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc
  9e5e202c22d69db839959e7fb0677b73  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc
  e69cb7b7690f6e33fd730bc6b1e6aad5  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc
*************** f9b36f93158a45b95505cc0b8d1214ca  libstd
*** 103417,103422 ****
--- 103618,103624 ----
  a70fac297764bf83bc8bc857c756815d  libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc
  43438f8e1c5808890b21b18d32e3b2d2  libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
  d7e3d76f83a4c549010b84ef2e211c1b  libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
+ 48b51763d3c882761e49bc54aa3174c2  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc
  5515806c64ef5269e6c55c5b517376ac  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/92878_92947.cc
  69d96fa11ffafa089d5f551b31c705c8  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc
  198a8e614d70827f189f8caf13975072  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc
*************** fe2d7d571db188f036d9f737a42d9631  libstd
*** 104217,104223 ****
  138597d597be1c7bb6bf760221951b1c  libstdc++-v3/testsuite/25_algorithms/move/93872.cc
  c481e5e926bd5482086f725fee988614  libstdc++-v3/testsuite/25_algorithms/move/94013.cc
  7f4c47f2585231deb19c22a359d2abd4  libstdc++-v3/testsuite/25_algorithms/move/95578.cc
! 5d57a7c1d0519d60477b53cdbcb8e7bb  libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc
  51a03c07bbcbb89a9cf9412a4b64ce26  libstdc++-v3/testsuite/25_algorithms/move/constrained.cc
  c41fedc68e3cee79d652221a1c6b2c9a  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc
  7f90edf77fe9772f53a72430e8d69939  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/2.cc
--- 104419,104425 ----
  138597d597be1c7bb6bf760221951b1c  libstdc++-v3/testsuite/25_algorithms/move/93872.cc
  c481e5e926bd5482086f725fee988614  libstdc++-v3/testsuite/25_algorithms/move/94013.cc
  7f4c47f2585231deb19c22a359d2abd4  libstdc++-v3/testsuite/25_algorithms/move/95578.cc
! 8a39c328d588445253bbfbd913a4260b  libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc
  51a03c07bbcbb89a9cf9412a4b64ce26  libstdc++-v3/testsuite/25_algorithms/move/constrained.cc
  c41fedc68e3cee79d652221a1c6b2c9a  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc
  7f90edf77fe9772f53a72430e8d69939  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/2.cc
*************** cead5db9b01b01a53ce66c98bc2ccfa5  libstd
*** 105883,105904 ****
  41561d8f83912896b48d6f92ea7dd704  libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/cons.cc
  a8f08f12e07d34aced996f0ef16f7486  libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/copy.cc
  12c64f56a311b7479e97421eb4245118  libstdc++-v3/testsuite/27_io/filesystem/iterators/91067.cc
  34a26bc8c96de0f7df3ee9dff5b80443  libstdc++-v3/testsuite/27_io/filesystem/iterators/caching.cc
  b74acfd30c0988b4096342e63e84e3ec  libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc
  d75cd276368c0b1c8203756ff611b3d6  libstdc++-v3/testsuite/27_io/filesystem/iterators/error_reporting.cc
  c2deb7759283eeb6e004fe49aa1cd137  libstdc++-v3/testsuite/27_io/filesystem/iterators/pop.cc
  9707dd0737bc1e446ea08a7e91680c32  libstdc++-v3/testsuite/27_io/filesystem/iterators/recursion_pending.cc
! a8ce9a69761fe4c5e4eabb70aa80928d  libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc
  ce6f979d9dd438236c97598cb50cb9df  libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc
  f429189ce8d84ef9ecca2447eed26eca  libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc
  799e424f80fdd50fb11c61ce488bfa6c  libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc
  2463e393a832cf802d727297cd84354c  libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
  cc24c97c2b68dd3bd3a716999460368c  libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc
  caa5518185a6665ae00783e8306f3cfb  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc
  6ef2f1971d171af530b49e925ba37121  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc
  b8e28a052ae7850018fd3142c6df4392  libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc
  36128b43b7b5d2b93dcec2ec8c05d5cd  libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc
! f9236910033867255d2c510f27adf9a3  libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc
  23ceb7e5150665ee1eaf3e1beb8d8a1b  libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc
  b2912abacd587768365c0d3110da9812  libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc
  b1b27739fde1426ac5f40f4d6918c043  libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc
--- 106085,106108 ----
  41561d8f83912896b48d6f92ea7dd704  libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/cons.cc
  a8f08f12e07d34aced996f0ef16f7486  libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/copy.cc
  12c64f56a311b7479e97421eb4245118  libstdc++-v3/testsuite/27_io/filesystem/iterators/91067.cc
+ 8776f2dbe03dc89e720cbdf2268f8787  libstdc++-v3/testsuite/27_io/filesystem/iterators/97731.cc
  34a26bc8c96de0f7df3ee9dff5b80443  libstdc++-v3/testsuite/27_io/filesystem/iterators/caching.cc
  b74acfd30c0988b4096342e63e84e3ec  libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc
  d75cd276368c0b1c8203756ff611b3d6  libstdc++-v3/testsuite/27_io/filesystem/iterators/error_reporting.cc
  c2deb7759283eeb6e004fe49aa1cd137  libstdc++-v3/testsuite/27_io/filesystem/iterators/pop.cc
  9707dd0737bc1e446ea08a7e91680c32  libstdc++-v3/testsuite/27_io/filesystem/iterators/recursion_pending.cc
! 0f68b00981d919299e8031e2bd3875e5  libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc
  ce6f979d9dd438236c97598cb50cb9df  libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc
  f429189ce8d84ef9ecca2447eed26eca  libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc
  799e424f80fdd50fb11c61ce488bfa6c  libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc
  2463e393a832cf802d727297cd84354c  libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
  cc24c97c2b68dd3bd3a716999460368c  libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc
+ 10b6e95add9984bd29138cd25bc3a19f  libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file_108178.cc
  caa5518185a6665ae00783e8306f3cfb  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc
  6ef2f1971d171af530b49e925ba37121  libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc
  b8e28a052ae7850018fd3142c6df4392  libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc
  36128b43b7b5d2b93dcec2ec8c05d5cd  libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc
! b84f4e773559517da3c3ba612f419f04  libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc
  23ceb7e5150665ee1eaf3e1beb8d8a1b  libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc
  b2912abacd587768365c0d3110da9812  libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc
  b1b27739fde1426ac5f40f4d6918c043  libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc
*************** a22e69eb2c027825b8fb3e0e6df6a97d  libstd
*** 105934,105939 ****
--- 106138,106144 ----
  f7519f418c9e3f8120af2f159eb4361c  libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc
  6a8b9ad795e9531e42ff0e3afee721b3  libstdc++-v3/testsuite/27_io/filesystem/path/construct/90281.cc
  f09d25591d80f944624fffcdeff9a666  libstdc++-v3/testsuite/27_io/filesystem/path/construct/90634.cc
+ 7e3f9d185f69161e92a1fe6e162069f3  libstdc++-v3/testsuite/27_io/filesystem/path/construct/95048.cc
  1fef6fcccb3ed4650d0ef626edfe0dc7  libstdc++-v3/testsuite/27_io/filesystem/path/construct/copy.cc
  c88e947c48c410c8d019b1f85cc7b44c  libstdc++-v3/testsuite/27_io/filesystem/path/construct/default.cc
  2abd082ffbea2eed136e7c98ac008b72  libstdc++-v3/testsuite/27_io/filesystem/path/construct/format.cc
*************** e38807857185bfa4fa204e43c8d76017  libstd
*** 107003,107009 ****
  a006bf4896a3ab51a977686eb5af2608  libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
  9cad268e6c62c9232d92f99bfcd1b4e1  libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc
  80bbc9f1b2ea6c7f500e8644d05570a3  libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc
! de6b07ec83a54c05b64ca4d6bff5757a  libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
  4bf5a178f6bbfd23a8d1f09e46377566  libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
  698ea2835398d235c98d3e70df7035eb  libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
  7509549c9b9a1e13fa1d3ab87ccc5188  libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
--- 107208,107214 ----
  a006bf4896a3ab51a977686eb5af2608  libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
  9cad268e6c62c9232d92f99bfcd1b4e1  libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc
  80bbc9f1b2ea6c7f500e8644d05570a3  libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc
! 990b9748f8c0e28de554f3f3f3fd2b34  libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
  4bf5a178f6bbfd23a8d1f09e46377566  libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
  698ea2835398d235c98d3e70df7035eb  libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
  7509549c9b9a1e13fa1d3ab87ccc5188  libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
*************** fef1c8651e0cbfb01549c5b72aadbc39  libstd
*** 107012,107018 ****
  317f29c90d1d3057cd6b04a82da018fa  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc
  102afdecfff9639d959c908bf8ca4d24  libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc
  f613a7a13aba7ff97f2dc5f334d5219d  libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
! b6f9f83cef2f2ba95a2192bcaf1f4864  libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc
  240d6485ab5931455c18741acb51b1a4  libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
  22c3881333e194d83327843ef3822453  libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
  a2b6fd5f5e12279e495380b410c7b918  libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc
--- 107217,107223 ----
  317f29c90d1d3057cd6b04a82da018fa  libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc
  102afdecfff9639d959c908bf8ca4d24  libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc
  f613a7a13aba7ff97f2dc5f334d5219d  libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
! 29cfb2ff8089be1bed116e97ebdde498  libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc
  240d6485ab5931455c18741acb51b1a4  libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
  22c3881333e194d83327843ef3822453  libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
  a2b6fd5f5e12279e495380b410c7b918  libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc
*************** c06b01e19066f0d4ffa4faa5202f4e3e  libstd
*** 107037,107042 ****
--- 107242,107248 ----
  666ce8536a1d012f2ee912f2bc7b75d4  libstdc++-v3/testsuite/experimental/filesystem/path/construct/80762.cc
  1ed54cf5b1c47566d1d83d4e7de0a095  libstdc++-v3/testsuite/experimental/filesystem/path/construct/90281.cc
  b777506554ae3816bf36f62dee7df96e  libstdc++-v3/testsuite/experimental/filesystem/path/construct/90634.cc
+ bc0c58037ed5ab6415d0899ccc8799af  libstdc++-v3/testsuite/experimental/filesystem/path/construct/95048.cc
  0b30494068df58ea8b093ca0e48b8446  libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc
  fb7624577970bd78022accc91341a06b  libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc
  2125ab42c3b94c829ffea078d2ba2a81  libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc
*************** d11b0cf5365cf27c6d9b1d7791b5032a  libstd
*** 107241,107246 ****
--- 107447,107455 ----
  95bdc242cfce24b906dbef7ece3f3c80  libstdc++-v3/testsuite/experimental/simd/driver.sh
  81cb6163311a6d96c80beba0c32c1c2b  libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh
  56d67c9da176e2529070c1242cc45290  libstdc++-v3/testsuite/experimental/simd/pr109261_constexpr_simd.cc
+ 40516291f4d97883db23570b8f0c38a0  libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc
+ 4abe9d75da280cd5bcef090bd6898210  libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc
+ 72770f3a6a190c82b48017c1f83cfec6  libstdc++-v3/testsuite/experimental/simd/pr115454_find_last_set.cc
  c9ff7f42a3440a4c43a3f282f1814dd9  libstdc++-v3/testsuite/experimental/simd/standard_abi_usable.cc
  8456d329f682f25f869aac367480356e  libstdc++-v3/testsuite/experimental/simd/standard_abi_usable_2.cc
  5a175cd78dfff9373203c96c10e3955c  libstdc++-v3/testsuite/experimental/simd/tests/abs.cc
*************** aa99c7456e1a6412989b2f1963298165  libstd
*** 107259,107265 ****
  5a94ab09164550f82e79f860da351658  libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc
  81582e24f42794a07f49e599a516681e  libstdc++-v3/testsuite/experimental/simd/tests/generator.cc
  adbc631eadb5370098f35704939b6974  libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc
! 7e0b9ff5db5e0afb69c263a26cfa6f4d  libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
  220221092b420d0d6934c7e7b2800fdf  libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc
  81528b3b70b7e95113ebc427718f8cfa  libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc
  5587036b52742527728c11e9c936a790  libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc
--- 107468,107474 ----
  5a94ab09164550f82e79f860da351658  libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc
  81582e24f42794a07f49e599a516681e  libstdc++-v3/testsuite/experimental/simd/tests/generator.cc
  adbc631eadb5370098f35704939b6974  libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc
! 272f3f27aa6efd90aa6dc0ffda2206de  libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
  220221092b420d0d6934c7e7b2800fdf  libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc
  81528b3b70b7e95113ebc427718f8cfa  libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc
  5587036b52742527728c11e9c936a790  libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc
*************** a56eeb3150825c9a4db053388474786f  libstd
*** 107272,107278 ****
  2e951eede60753f8c47d4b6fad76899d  libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc
  05e6aa776ac3dde07f0f2ce945c4a544  libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc
  f37dc37a1f2deeadb0848d5805880a2a  libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc
! 1ade40b68adc65e1bad2fdf759d3fc1e  libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
  31e1763a8c41e3a545f586c167d8ae4f  libstdc++-v3/testsuite/experimental/simd/tests/operators.cc
  160d07bf1ee6da9456801d39c593e684  libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc
  0341be10ab6e8b1246b259c04a1afa0c  libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc
--- 107481,107487 ----
  2e951eede60753f8c47d4b6fad76899d  libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc
  05e6aa776ac3dde07f0f2ce945c4a544  libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc
  f37dc37a1f2deeadb0848d5805880a2a  libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc
! dc61ccbf6c000329574dca0a43367604  libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
  31e1763a8c41e3a545f586c167d8ae4f  libstdc++-v3/testsuite/experimental/simd/tests/operators.cc
  160d07bf1ee6da9456801d39c593e684  libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc
  0341be10ab6e8b1246b259c04a1afa0c  libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc
*************** ffd4d328ed3db14dab111a3eddab2930  libstd
*** 107722,107731 ****
  f94bea1910070856d4cae7efca4beca3  libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc
  1888ed86914a7f7d2120635c05a1203c  libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc
  b32547780ab0170daaf7ba32e51255b3  libstdc++-v3/testsuite/ext/vstring/types/23767.cc
! 6075d499921cafc9adbb1ee50a9ae4c9  libstdc++-v3/testsuite/lib/dg-options.exp
  9d3360da3142060294f47a364bf5975b  libstdc++-v3/testsuite/lib/gdb-test.exp
! f9fcbd8dec04b924fd4e917ed3e5bc10  libstdc++-v3/testsuite/lib/libstdc++.exp
! d0c11fe8cb799b7e38c3d765c7786345  libstdc++-v3/testsuite/lib/prune.exp
  6554148313affda6d0d8314d097b450d  libstdc++-v3/testsuite/libstdc++-abi/abi.exp
  33cb7d617aef9ee6c04c69c0e91f20b6  libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
  17358114f0793d43ab875182de659dde  libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc
--- 107931,107940 ----
  f94bea1910070856d4cae7efca4beca3  libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc
  1888ed86914a7f7d2120635c05a1203c  libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc
  b32547780ab0170daaf7ba32e51255b3  libstdc++-v3/testsuite/ext/vstring/types/23767.cc
! e476c973593356f60a1ad4cc96918b98  libstdc++-v3/testsuite/lib/dg-options.exp
  9d3360da3142060294f47a364bf5975b  libstdc++-v3/testsuite/lib/gdb-test.exp
! 79ad89c4f23326b624d35174378ebf44  libstdc++-v3/testsuite/lib/libstdc++.exp
! 1667eea41c4da2f11a8cdb678ab6827d  libstdc++-v3/testsuite/lib/prune.exp
  6554148313affda6d0d8314d097b450d  libstdc++-v3/testsuite/libstdc++-abi/abi.exp
  33cb7d617aef9ee6c04c69c0e91f20b6  libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
  17358114f0793d43ab875182de659dde  libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc
*************** be2c942175f821c48748bb874e440b9b  libstd
*** 107749,107755 ****
  cc762851bcdba119feec0f3235e4468c  libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis2.cc
  981266ed691c1072655ca68488588724  libstdc++-v3/testsuite/libstdc++-xmethods/array.cc
  9b015a334512eb7b9cd10b23704d2064  libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc
! 2f1ee0a52144900994e38822ec0e06b5  libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
  5727258a9a678c86a4dbb0202c47f702  libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc
  00c6eeeddd7a873ee1bda17c477bcf4e  libstdc++-v3/testsuite/libstdc++-xmethods/list.cc
  76e82eb8e0ac2670a5572d04cda59df8  libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc
--- 107958,107964 ----
  cc762851bcdba119feec0f3235e4468c  libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis2.cc
  981266ed691c1072655ca68488588724  libstdc++-v3/testsuite/libstdc++-xmethods/array.cc
  9b015a334512eb7b9cd10b23704d2064  libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc
! d46f904f7548b392dd76566d66672b92  libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
  5727258a9a678c86a4dbb0202c47f702  libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc
  00c6eeeddd7a873ee1bda17c477bcf4e  libstdc++-v3/testsuite/libstdc++-xmethods/list.cc
  76e82eb8e0ac2670a5572d04cda59df8  libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc
*************** ccdc4ae1b41638162b9e60936a7f2e0e  libstd
*** 108030,108036 ****
  0819563613d6bc5f307077f94daf19a2  libstdc++-v3/testsuite/std/ranges/iota/iota_view.cc
  e75edf80cec13e421cd663c039d2ca93  libstdc++-v3/testsuite/std/ranges/iota/iterator.cc
  bd95f0058da01ae7c3f9a944b0cb2fba  libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc
! 4d153fc833d7814a7137073f61e9a90a  libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc
  cfd013ee643ff8cc3c5e2e2b102bd24b  libstdc++-v3/testsuite/std/ranges/iota/size.cc
  a0d27a4084ead9098b776f82295f0a03  libstdc++-v3/testsuite/std/ranges/istream_view.cc
  39a74ff1ef561d51b687d686060239c1  libstdc++-v3/testsuite/std/ranges/p2259.cc
--- 108239,108245 ----
  0819563613d6bc5f307077f94daf19a2  libstdc++-v3/testsuite/std/ranges/iota/iota_view.cc
  e75edf80cec13e421cd663c039d2ca93  libstdc++-v3/testsuite/std/ranges/iota/iterator.cc
  bd95f0058da01ae7c3f9a944b0cb2fba  libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc
! 18a05829ac282a87a3a9f5c5716e78ee  libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc
  cfd013ee643ff8cc3c5e2e2b102bd24b  libstdc++-v3/testsuite/std/ranges/iota/size.cc
  a0d27a4084ead9098b776f82295f0a03  libstdc++-v3/testsuite/std/ranges/istream_view.cc
  39a74ff1ef561d51b687d686060239c1  libstdc++-v3/testsuite/std/ranges/p2259.cc
*************** cf3e21e6c73107c1e9f760462552b969  libstd
*** 108657,108666 ****
  b472697eb58bc5dbe9e42aa65a798d67  libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
  5398ea792bd9bef6d57ad7fed966cecd  libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
  7e3377b516687f6ca4655aed371dce1a  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc
! c943779acbb4064d671fe13195ea6150  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
  71e169ce1f7d106c8624b8734ebad5b4  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc
  09f7e1882b87989ab4d101f3cf8cbcf8  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc
! 52b3346039ee2164851f22da08b7721f  libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
  c8a0c4dceadd15c4d6af6a728d25b350  libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc
  61fa289d03c65bb4f0cda9d11caf090a  libstdc++-v3/testsuite/tr1/headers/all.cc
  9ad6bcd8b44d87756069dac2dbca6e09  libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc
--- 108866,108875 ----
  b472697eb58bc5dbe9e42aa65a798d67  libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
  5398ea792bd9bef6d57ad7fed966cecd  libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
  7e3377b516687f6ca4655aed371dce1a  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc
! 91630f7f6e4467821a5380858867dfc6  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
  71e169ce1f7d106c8624b8734ebad5b4  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc
  09f7e1882b87989ab4d101f3cf8cbcf8  libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc
! 01846c1bef73f814448be1783695f707  libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
  c8a0c4dceadd15c4d6af6a728d25b350  libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc
  61fa289d03c65bb4f0cda9d11caf090a  libstdc++-v3/testsuite/tr1/headers/all.cc
  9ad6bcd8b44d87756069dac2dbca6e09  libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc
*************** a1640714fc4e3657cefdedd4db899838  libstd
*** 108806,108812 ****
  d7927f85e40de3823114f01b93b3bf21  libstdc++-v3/testsuite/util/thread/all.h
  b950d655469c477755252b1e18009596  libtool-ldflags
  1936a81f2a04a996ff99c7ebdebc5003  libtool.m4
! 663d66880c3bef6ed093f78c6b49bf38  libvtv/ChangeLog
  7ad6a0c753c219e31237f212c5854dd8  libvtv/Makefile.am
  b1170aae9472f26fdc8326737dc22aba  libvtv/Makefile.in
  3b765c4f4a0a0f606db1472bce2b8d29  libvtv/acinclude.m4
--- 109015,109021 ----
  d7927f85e40de3823114f01b93b3bf21  libstdc++-v3/testsuite/util/thread/all.h
  b950d655469c477755252b1e18009596  libtool-ldflags
  1936a81f2a04a996ff99c7ebdebc5003  libtool.m4
! 2d17af752118835fa51e4fc8ed2f67bc  libvtv/ChangeLog
  7ad6a0c753c219e31237f212c5854dd8  libvtv/Makefile.am
  b1170aae9472f26fdc8326737dc22aba  libvtv/Makefile.in
  3b765c4f4a0a0f606db1472bce2b8d29  libvtv/acinclude.m4
*************** fd301005dc07375a9b1b26c1df04e576  libvtv
*** 108889,108895 ****
  4a2d91c71136af55b12e42fa84195778  libvtv/vtv_utils.h
  247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
  06c2854f9cfe5864b2885e0d0e9c512f  ltmain.sh
! 1ecc1fad87f5dddb20f963f6c973a29b  lto-plugin/ChangeLog
  b4172d0962c2ec3a954d98e768b4995e  lto-plugin/Makefile.am
  93fe746c6f1d54ade83e13d65096fe9f  lto-plugin/Makefile.in
  75fc65b35d0a47ac098f7a278d37060b  lto-plugin/aclocal.m4
--- 109098,109104 ----
  4a2d91c71136af55b12e42fa84195778  libvtv/vtv_utils.h
  247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
  06c2854f9cfe5864b2885e0d0e9c512f  ltmain.sh
! 3b136c85c68deaa02c7a7dc12964106b  lto-plugin/ChangeLog
  b4172d0962c2ec3a954d98e768b4995e  lto-plugin/Makefile.am
  93fe746c6f1d54ade83e13d65096fe9f  lto-plugin/Makefile.in
  75fc65b35d0a47ac098f7a278d37060b  lto-plugin/aclocal.m4
*************** dee72a6a60e99528b0d17bf3ff9a1e15  ltopti
*** 108901,108907 ****
  bc2f6032c98896249eadb56177c7d357  ltsugar.m4
  c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
  293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
! 770a3727060a46b5ae3cd6e3b7add008  maintainer-scripts/ChangeLog
  33c7bc2d2c55956dfac85a05d8a80eff  maintainer-scripts/README
  507e832af5f2d63b8a78eef217c807a7  maintainer-scripts/branch_changer.py
  c819510f0d438149c1518bda7b165ac4  maintainer-scripts/bugzilla-close-candidate.py
--- 109110,109116 ----
  bc2f6032c98896249eadb56177c7d357  ltsugar.m4
  c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
  293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
! 72fed350620dcc3e914fcbf59bef7b81  maintainer-scripts/ChangeLog
  33c7bc2d2c55956dfac85a05d8a80eff  maintainer-scripts/README
  507e832af5f2d63b8a78eef217c807a7  maintainer-scripts/branch_changer.py
  c819510f0d438149c1518bda7b165ac4  maintainer-scripts/bugzilla-close-candidate.py
*************** cf2baa0854f564a7785307e79f155efc  symlin
*** 108922,108928 ****
  40bb1f4ce4a60a36d1ec50d66aeed4d1  test-driver
  cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
  03bf3ba8089f4bf475ef4035cf316a47  zlib/CMakeLists.txt
! c96392742d15ae3ed38e49bb25e21b2e  zlib/ChangeLog
  f10e5e9394787b288e91fed29533720a  zlib/ChangeLog.gcj
  0e9a37be8e3b85cc0ccf60504064c297  zlib/ChangeLog.jit
  b7a1991f01daea3efe108a215c5514a5  zlib/FAQ
--- 109131,109137 ----
  40bb1f4ce4a60a36d1ec50d66aeed4d1  test-driver
  cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
  03bf3ba8089f4bf475ef4035cf316a47  zlib/CMakeLists.txt
! 0af6aef066fd2b32e44062da67100a30  zlib/ChangeLog
  f10e5e9394787b288e91fed29533720a  zlib/ChangeLog.gcj
  0e9a37be8e3b85cc0ccf60504064c297  zlib/ChangeLog.jit
  b7a1991f01daea3efe108a215c5514a5  zlib/FAQ
diff -Nrcpad gcc-11.4.0/NEWS gcc-11.5.0/NEWS
*** gcc-11.4.0/NEWS	Mon May 29 08:50:07 2023
--- gcc-11.5.0/NEWS	Fri Jul 19 05:54:40 2024
*************** see ONEWS.
*** 6,33 ****
  
  ======================================================================
  http://gcc.gnu.org/gcc-11/index.html
                               GCC 11 Release Series
  
!    May 29, 2023
  
!    The GCC developers are pleased to announce the release of GCC 11.4.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 11.3 relative to previous releases of GCC.
  
  Release History
  
     GCC 11.4
!           May 29, 2023 ([1]changes, [2]documentation)
  
     GCC 11.3
!           April 21, 2022 ([3]changes, [4]documentation)
  
     GCC 11.2
!           July 28, 2021 ([5]changes, [6]documentation)
  
     GCC 11.1
!           April 27, 2021 ([7]changes, [8]documentation)
  
  References and Acknowledgements
  
--- 6,37 ----
  
  ======================================================================
  http://gcc.gnu.org/gcc-11/index.html
+ 
                               GCC 11 Release Series
  
!    July 19, 2024
  
!    The GCC developers are pleased to announce the release of GCC 11.5.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 11.4 relative to previous releases of GCC.
  
  Release History
  
+    GCC 11.5
+           July 19, 2024 ([1]changes, [2]documentation)
+ 
     GCC 11.4
!           May 29, 2023 ([3]changes, [4]documentation)
  
     GCC 11.3
!           April 21, 2022 ([5]changes, [6]documentation)
  
     GCC 11.2
!           July 28, 2021 ([7]changes, [8]documentation)
  
     GCC 11.1
!           April 27, 2021 ([9]changes, [10]documentation)
  
  References and Acknowledgements
  
*************** References and Acknowledgements
*** 35,93 ****
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
-    A list of [9]successful builds is updated as new information becomes
-    available.
- 
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [10]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [11]GCC
!    project web site or contact the [12]GCC development mailing list.
  
!    To obtain GCC please use [13]our mirror sites or [14]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [15]GCC manuals. If that fails, the
!     [16]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [17]gcc@gcc.gnu.org. All of [18]our lists have public
      archives.
  
!    Copyright (C) [19]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [20]maintained by the GCC team. Last modified
!    2023-05-29.
  
  References
  
!    1. http://gcc.gnu.org/gcc-11/changes.html
!    2. http://gcc.gnu.org/onlinedocs/11.4.0/
!    3. http://gcc.gnu.org/gcc-11/changes.html
!    4. http://gcc.gnu.org/onlinedocs/11.3.0/
!    5. http://gcc.gnu.org/gcc-11/changes.html
!    6. http://gcc.gnu.org/onlinedocs/11.2.0/
!    7. http://gcc.gnu.org/gcc-11/changes.html
!    8. http://gcc.gnu.org/onlinedocs/11.1.0/
!    9. http://gcc.gnu.org/gcc-11/buildstat.html
!   10. http://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Contributors.html
!   11. http://gcc.gnu.org/index.html
!   12. mailto:gcc@gcc.gnu.org
!   13. http://gcc.gnu.org/mirrors.html
!   14. http://gcc.gnu.org/git.html
!   15. https://gcc.gnu.org/onlinedocs/
!   16. mailto:gcc-help@gcc.gnu.org
!   17. mailto:gcc@gcc.gnu.org
!   18. https://gcc.gnu.org/lists.html
!   19. https://www.fsf.org/
!   20. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-11/changes.html
                               GCC 11 Release Series
                          Changes, New Features, and Fixes
  
--- 39,96 ----
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [11]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [12]GCC
!    project web site or contact the [13]GCC development mailing list.
  
!    To obtain GCC please use [14]our mirror sites or [15]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [16]GCC manuals. If that fails, the
!     [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
      archives.
  
!    Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [21]maintained by the GCC team. Last modified
!    2024-07-19.
  
  References
  
!    1. https://gcc.gnu.org/gcc-11/changes.html
!    2. https://gcc.gnu.org/onlinedocs/11.5.0/
!    3. https://gcc.gnu.org/gcc-11/changes.html
!    4. https://gcc.gnu.org/onlinedocs/11.4.0/
!    5. https://gcc.gnu.org/gcc-11/changes.html
!    6. https://gcc.gnu.org/onlinedocs/11.3.0/
!    7. https://gcc.gnu.org/gcc-11/changes.html
!    8. https://gcc.gnu.org/onlinedocs/11.2.0/
!    9. https://gcc.gnu.org/gcc-11/changes.html
!   10. https://gcc.gnu.org/onlinedocs/11.1.0/
!   11. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Contributors.html
!   12. https://gcc.gnu.org/index.html
!   13. mailto:gcc@gcc.gnu.org
!   14. https://gcc.gnu.org/mirrors.html
!   15. https://gcc.gnu.org/git.html
!   16. https://gcc.gnu.org/onlinedocs/
!   17. mailto:gcc-help@gcc.gnu.org
!   18. mailto:gcc@gcc.gnu.org
!   19. https://gcc.gnu.org/lists.html
!   20. https://www.fsf.org/
!   21. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-11/changes.html
+ 
                               GCC 11 Release Series
                          Changes, New Features, and Fixes
  
*************** General Improvements
*** 140,149 ****
              and
            + multicolumn characters (requiring more than one column to
              display in a monospace font)
!        For example, the character π ("GREEK SMALL LETTER PI (U+03C0)")
         occupies one column, and its UTF-8 encoding requires two bytes; the
!        character 🙂 ("SLIGHTLY SMILING FACE (U+1F642)") occupies two
!        columns, and its UTF-8 encoding requires four bytes.
         In GCC 11 the column numbers default to being column numbers,
         respecting multi-column characters. The old behavior can be
         restored using a new option [7]-fdiagnostics-column-unit=byte.
--- 143,152 ----
              and
            + multicolumn characters (requiring more than one column to
              display in a monospace font)
!        For example, the character p ("GREEK SMALL LETTER PI (U+03C0)")
         occupies one column, and its UTF-8 encoding requires two bytes; the
!        character &#x1F642; ("SLIGHTLY SMILING FACE (U+1F642)") occupies
!        two columns, and its UTF-8 encoding requires four bytes.
         In GCC 11 the column numbers default to being column numbers,
         respecting multi-column characters. The old behavior can be
         restored using a new option [7]-fdiagnostics-column-unit=byte.
*************** New Languages and Language specific impr
*** 454,460 ****
              core.stdc.config module.
            + User-defined attributes can now be used to annotate enum
              members, alias declarations, and function parameters.
!           + Templates alias parameters can now be instantiated with basic
              types such as int or void function().
            + The mixin construct can now be used as types in the form
              mixin(string) var.
--- 457,463 ----
              core.stdc.config module.
            + User-defined attributes can now be used to annotate enum
              members, alias declarations, and function parameters.
!           + Template alias parameters can now be instantiated with basic
              types such as int or void function().
            + The mixin construct can now be used as types in the form
              mixin(string) var.
*************** New Targets and Target Specific Improvem
*** 575,581 ****
    AArch64 & arm
  
       * A number of new CPUs are supported through arguments to the -mcpu
!        and -mtune options in both the arm and aarch64 backends (GCC
         identifiers in parentheses):
            + Arm Cortex-A78 (cortex-a78).
            + Arm Cortex-A78AE (cortex-a78ae).
--- 578,584 ----
    AArch64 & arm
  
       * A number of new CPUs are supported through arguments to the -mcpu
!        and -mtune options in both the arm and aarch64 back ends (GCC
         identifiers in parentheses):
            + Arm Cortex-A78 (cortex-a78).
            + Arm Cortex-A78AE (cortex-a78ae).
*************** Operating Systems
*** 718,725 ****
  
    AIX
  
!      * GCC for AIX can be built as a 64 bit application and the runtime is
!        built as FAT libraries containing both 32 bit and 64 bit objects.
       * Support AIX Vector Extended ABI with -mabi=vec-extabi.
       * Thread-Local uninitiated data placed in local common section.
       * Use thread-safe access in ctype.
--- 721,728 ----
  
    AIX
  
!      * GCC for AIX can be built as a 64-bit application and the runtime is
!        built as FAT libraries containing both 32-bit and 64-bit objects.
       * Support AIX Vector Extended ABI with -mabi=vec-extabi.
       * Thread-Local uninitiated data placed in local common section.
       * Use thread-safe access in ctype.
*************** GCC 11.4
*** 807,831 ****
       * Add CS prefix to call and jmp to indirect thunk with branch target
         in r8-r15 registers via -mindirect-branch-cs-prefix.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [71]GCC manuals. If that fails, the
!     [72]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [73]gcc@gcc.gnu.org. All of [74]our lists have public
      archives.
  
!    Copyright (C) [75]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [76]maintained by the GCC team. Last modified
!    2023-05-29.
  
  References
  
!    1. http://gcc.gnu.org/gcc-11/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
     3. https://wg21.link/p0522r0
     4. https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546494.html
     5. https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
--- 810,841 ----
       * Add CS prefix to call and jmp to indirect thunk with branch target
         in r8-r15 registers via -mindirect-branch-cs-prefix.
  
+ GCC 11.5
+ 
+    This is the [71]list of problem reports (PRs) from GCC's bug tracking
+    system that are known to be fixed in the 11.5 release. This list might
+    not be complete (that is, it is possible that some PRs that have been
+    fixed are not listed here).
+ 
  
      For questions related to the use of GCC, please consult these web
!     pages and the [72]GCC manuals. If that fails, the
!     [73]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [74]gcc@gcc.gnu.org. All of [75]our lists have public
      archives.
  
!    Copyright (C) [76]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [77]maintained by the GCC team. Last modified
!    2024-07-19.
  
  References
  
!    1. https://gcc.gnu.org/gcc-11/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
     3. https://wg21.link/p0522r0
     4. https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546494.html
     5. https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
*************** References
*** 844,850 ****
    18. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Optimize-Options.html#index-fprofile-values
    19. https://www.openmp.org/specifications/
    20. https://www.openacc.org/
!   21. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-11
    22. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/libgomp/Enabling-OpenACC.html
    23. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Common-Function-Attributes.html#index-no_005fstack_005fprotector-function-attribute
    24. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Common-Function-Attributes.html#index-malloc-function-attribute
--- 854,860 ----
    18. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Optimize-Options.html#index-fprofile-values
    19. https://www.openmp.org/specifications/
    20. https://www.openacc.org/
!   21. https://gcc.gnu.org/wiki/OpenACC/Implementation%20Status#status-11
    22. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/libgomp/Enabling-OpenACC.html
    23. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Common-Function-Attributes.html#index-no_005fstack_005fprotector-function-attribute
    24. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Common-Function-Attributes.html#index-malloc-function-attribute
*************** References
*** 860,867 ****
    34. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wuninitialized
    35. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Warray-parameter
    36. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wvla-parameter
!   37. http://gcc.gnu.org/projects/cxx-status.html#cxx20
!   38. http://gcc.gnu.org/projects/cxx-status.html#cxx23
    39. https://gcc.gnu.org/PR41437
    40. https://gcc.gnu.org/PR95307
    41. https://gcc.gnu.org/PR97518
--- 870,877 ----
    34. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wuninitialized
    35. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Warray-parameter
    36. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wvla-parameter
!   37. https://gcc.gnu.org/projects/cxx-status.html#cxx20
!   38. https://gcc.gnu.org/projects/cxx-status.html#cxx23
    39. https://gcc.gnu.org/PR41437
    40. https://gcc.gnu.org/PR95307
    41. https://gcc.gnu.org/PR97518
*************** References
*** 872,878 ****
    46. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wmismatched-new-delete
    47. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wvexing-parse
    48. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wnonnull
!   49. http://gcc.gnu.org/gcc-5/changes.html#jit
    50. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/compatibility.html
    51. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/expressions.html#c.gcc_jit_global_set_initializer
    52. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/asm.html
--- 882,888 ----
    46. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wmismatched-new-delete
    47. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wvexing-parse
    48. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wnonnull
!   49. https://gcc.gnu.org/gcc-5/changes.html#jit
    50. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/compatibility.html
    51. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/expressions.html#c.gcc_jit_global_set_initializer
    52. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/asm.html
*************** References
*** 894,930 ****
    68. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.2
    69. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.3
    70. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.4
!   71. https://gcc.gnu.org/onlinedocs/
!   72. mailto:gcc-help@gcc.gnu.org
!   73. mailto:gcc@gcc.gnu.org
!   74. https://gcc.gnu.org/lists.html
!   75. https://www.fsf.org/
!   76. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-10/index.html
                               GCC 10 Release Series
  
!    June 28, 2022
  
     The [1]GNU project and the GCC developers are pleased to announce the
!    release of GCC 10.4.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 10.3 relative to previous releases of GCC.
  
  Release History
  
     GCC 10.4
!           June 28, 2022 ([2]changes, [3]documentation)
  
     GCC 10.3
!           April 8, 2021 ([4]changes, [5]documentation)
  
     GCC 10.2
!           July 23, 2020 ([6]changes, [7]documentation)
  
     GCC 10.1
!           May 7, 2020 ([8]changes, [9]documentation)
  
  References and Acknowledgements
  
--- 904,947 ----
    68. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.2
    69. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.3
    70. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.4
!   71. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=11.5
!   72. https://gcc.gnu.org/onlinedocs/
!   73. mailto:gcc-help@gcc.gnu.org
!   74. mailto:gcc@gcc.gnu.org
!   75. https://gcc.gnu.org/lists.html
!   76. https://www.fsf.org/
!   77. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-10/index.html
+ 
                               GCC 10 Release Series
  
!    (This release series is no longer supported.)
! 
!    July, 7, 2023
  
     The [1]GNU project and the GCC developers are pleased to announce the
!    release of GCC 10.5.
  
     This release is a bug-fix release, containing fixes for regressions in
!    GCC 10.4 relative to previous releases of GCC.
  
  Release History
  
+    GCC 10.5
+           July 7, 2023 ([2]changes, [3]documentation)
+ 
     GCC 10.4
!           June 28, 2022 ([4]changes, [5]documentation)
  
     GCC 10.3
!           April 8, 2021 ([6]changes, [7]documentation)
  
     GCC 10.2
!           July 23, 2020 ([8]changes, [9]documentation)
  
     GCC 10.1
!           May 7, 2020 ([10]changes, [11]documentation)
  
  References and Acknowledgements
  
*************** References and Acknowledgements
*** 932,991 ****
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
-    A list of [10]successful builds is updated as new information becomes
-    available.
- 
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [11]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [12]GCC
!    project web site or contact the [13]GCC development mailing list.
  
!    To obtain GCC please use [14]our mirror sites or [15]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [16]GCC manuals. If that fails, the
!     [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
      archives.
  
!    Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [21]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-10/changes.html
!    3. http://gcc.gnu.org/onlinedocs/10.4.0/
!    4. http://gcc.gnu.org/gcc-10/changes.html
!    5. http://gcc.gnu.org/onlinedocs/10.3.0/
!    6. http://gcc.gnu.org/gcc-10/changes.html
!    7. http://gcc.gnu.org/onlinedocs/10.2.0/
!    8. http://gcc.gnu.org/gcc-10/changes.html
!    9. http://gcc.gnu.org/onlinedocs/10.1.0/
!   10. http://gcc.gnu.org/gcc-10/buildstat.html
!   11. http://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Contributors.html
!   12. http://gcc.gnu.org/index.html
!   13. mailto:gcc@gcc.gnu.org
!   14. http://gcc.gnu.org/mirrors.html
!   15. http://gcc.gnu.org/git.html
!   16. https://gcc.gnu.org/onlinedocs/
!   17. mailto:gcc-help@gcc.gnu.org
!   18. mailto:gcc@gcc.gnu.org
!   19. https://gcc.gnu.org/lists.html
!   20. https://www.fsf.org/
!   21. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-10/changes.html
                               GCC 10 Release Series
                          Changes, New Features, and Fixes
  
--- 949,1007 ----
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [12]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [13]GCC
!    project web site or contact the [14]GCC development mailing list.
  
!    To obtain GCC please use [15]our mirror sites or [16]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [17]GCC manuals. If that fails, the
!     [18]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [19]gcc@gcc.gnu.org. All of [20]our lists have public
      archives.
  
!    Copyright (C) [21]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [22]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-10/changes.html
!    3. https://gcc.gnu.org/onlinedocs/10.5.0/
!    4. https://gcc.gnu.org/gcc-10/changes.html
!    5. https://gcc.gnu.org/onlinedocs/10.4.0/
!    6. https://gcc.gnu.org/gcc-10/changes.html
!    7. https://gcc.gnu.org/onlinedocs/10.3.0/
!    8. https://gcc.gnu.org/gcc-10/changes.html
!    9. https://gcc.gnu.org/onlinedocs/10.2.0/
!   10. https://gcc.gnu.org/gcc-10/changes.html
!   11. https://gcc.gnu.org/onlinedocs/10.1.0/
!   12. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Contributors.html
!   13. https://gcc.gnu.org/index.html
!   14. mailto:gcc@gcc.gnu.org
!   15. https://gcc.gnu.org/mirrors.html
!   16. https://gcc.gnu.org/git.html
!   17. https://gcc.gnu.org/onlinedocs/
!   18. mailto:gcc-help@gcc.gnu.org
!   19. mailto:gcc@gcc.gnu.org
!   20. https://gcc.gnu.org/lists.html
!   21. https://www.fsf.org/
!   22. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-10/changes.html
+ 
                               GCC 10 Release Series
                          Changes, New Features, and Fixes
  
*************** New Languages and Language-Specific Impr
*** 1153,1161 ****
         the input encoding (UTF-8, by default), in addition to the UCN
         syntax (\uNNNN or \UNNNNNNNN) that is already supported:
  
! static const int π = 3;
! int get_naïve_pi() {
!   return π;
  }
  
    C
--- 1169,1177 ----
         the input encoding (UTF-8, by default), in addition to the UCN
         syntax (\uNNNN or \UNNNNNNNN) that is already supported:
  
! static const int p = 3;
! int get_na�ve_pi() {
!   return p;
  }
  
    C
*************** typedef svbool_t pred512 __attribute__((
*** 1435,1441 ****
              one. Previously it would always use SVE if possible.
            + If a vector loop uses Advanced SIMD rather than SVE, the
              vectorizer now considers using SVE to vectorize the left-over
!             elements (the “scalar tail” or “epilog”).
            + Besides these specific points, there have been many general
              improvements to the way that the vectorizer uses SVE.
       * The -mbranch-protection=pac-ret option now accepts the optional
--- 1451,1457 ----
              one. Previously it would always use SVE if possible.
            + If a vector loop uses Advanced SIMD rather than SVE, the
              vectorizer now considers using SVE to vectorize the left-over
!             elements (the "scalar tail" or "epilog").
            + Besides these specific points, there have been many general
              improvements to the way that the vectorizer uses SVE.
       * The -mbranch-protection=pac-ret option now accepts the optional
*************** GCC 10.4
*** 1724,1751 ****
         MMX no longer changes how they are passed nor returned. This ABI
         change is now diagnosed with -Wpsabi.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [61]GCC manuals. If that fails, the
!     [62]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [63]gcc@gcc.gnu.org. All of [64]our lists have public
      archives.
  
!    Copyright (C) [65]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [66]maintained by the GCC team. Last modified
!    2023-03-11.
  
  References
  
!    1. http://gcc.gnu.org/gcc-10/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
!    3. http://gcc.gnu.org/gcc-10/changes.html#empty_base
     4. https://www.mpfr.org/
!    5. http://gcc.gnu.org/gcc-10/changes.html#iterator_base
     6. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/cpp/_005f_005fhas_005fbuiltin.html#g_t_005f_005fhas_005fbuiltin
     7. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fno-allocation-dce
     8. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-partial-training
--- 1740,1774 ----
         MMX no longer changes how they are passed nor returned. This ABI
         change is now diagnosed with -Wpsabi.
  
+ GCC 10.5
+ 
+    This is the [61]list of problem reports (PRs) from GCC's bug tracking
+    system that are known to be fixed in the 10.5 release. This list might
+    not be complete (that is, it is possible that some PRs that have been
+    fixed are not listed here).
+ 
  
      For questions related to the use of GCC, please consult these web
!     pages and the [62]GCC manuals. If that fails, the
!     [63]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [64]gcc@gcc.gnu.org. All of [65]our lists have public
      archives.
  
!    Copyright (C) [66]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [67]maintained by the GCC team. Last modified
!    2023-07-07.
  
  References
  
!    1. https://gcc.gnu.org/gcc-10/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
!    3. https://gcc.gnu.org/gcc-10/changes.html#empty_base
     4. https://www.mpfr.org/
!    5. https://gcc.gnu.org/gcc-10/changes.html#iterator_base
     6. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/cpp/_005f_005fhas_005fbuiltin.html#g_t_005f_005fhas_005fbuiltin
     7. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fno-allocation-dce
     8. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-partial-training
*************** References
*** 1758,1764 ****
    15. https://facebook.github.io/zstd/
    16. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-values
    17. https://www.openacc.org/
!   18. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-10
    19. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/libgomp/#toc-Enabling-OpenACC-1
    20. https://www.openmp.org/specifications/
    21. https://gcc.gnu.org/wiki/Offloading
--- 1781,1787 ----
    15. https://facebook.github.io/zstd/
    16. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-values
    17. https://www.openacc.org/
!   18. https://gcc.gnu.org/wiki/OpenACC/Implementation%20Status#status-10
    19. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/libgomp/#toc-Enabling-OpenACC-1
    20. https://www.openmp.org/specifications/
    21. https://gcc.gnu.org/wiki/Offloading
*************** References
*** 1784,1790 ****
    41. https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#c.gcc_jit_version_patchlevel
    42. https://gcc.gnu.org/onlinedocs/jit/topics/types.html#c.gcc_jit_context_new_bitfield
    43. https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics
!   44. https://developer.arm.com/Architectures/M-Profile Architecture
    45. https://developer.arm.com/architectures/instruction-sets/intrinsics/
    46. https://developer.arm.com/documentation/101028/0010/Custom-Datapath-Extension
    47. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/AVR-Options.html#index-nodevicespecs
--- 1807,1813 ----
    41. https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#c.gcc_jit_version_patchlevel
    42. https://gcc.gnu.org/onlinedocs/jit/topics/types.html#c.gcc_jit_context_new_bitfield
    43. https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics
!   44. https://developer.arm.com/Architectures/M-Profile%20Architecture
    45. https://developer.arm.com/architectures/instruction-sets/intrinsics/
    46. https://developer.arm.com/documentation/101028/0010/Custom-Datapath-Extension
    47. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/AVR-Options.html#index-nodevicespecs
*************** References
*** 1801,1814 ****
    58. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.2
    59. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.3
    60. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.4
!   61. https://gcc.gnu.org/onlinedocs/
!   62. mailto:gcc-help@gcc.gnu.org
!   63. mailto:gcc@gcc.gnu.org
!   64. https://gcc.gnu.org/lists.html
!   65. https://www.fsf.org/
!   66. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-9/index.html
                                GCC 9 Release Series
  
     (This release series is no longer supported.)
--- 1824,1839 ----
    58. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.2
    59. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.3
    60. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.4
!   61. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.5
!   62. https://gcc.gnu.org/onlinedocs/
!   63. mailto:gcc-help@gcc.gnu.org
!   64. mailto:gcc@gcc.gnu.org
!   65. https://gcc.gnu.org/lists.html
!   66. https://www.fsf.org/
!   67. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-9/index.html
+ 
                                GCC 9 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 1844,1905 ****
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
-    A list of [12]successful builds is updated as new information becomes
-    available.
- 
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [13]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [14]GCC
!    project web site or contact the [15]GCC development mailing list.
  
!    To obtain GCC please use [16]our mirror sites or [17]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [18]GCC manuals. If that fails, the
!     [19]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [20]gcc@gcc.gnu.org. All of [21]our lists have public
      archives.
  
!    Copyright (C) [22]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-9/changes.html
!    3. http://gcc.gnu.org/onlinedocs/9.5.0/
!    4. http://gcc.gnu.org/gcc-9/changes.html
!    5. http://gcc.gnu.org/onlinedocs/9.4.0/
!    6. http://gcc.gnu.org/gcc-9/changes.html
!    7. http://gcc.gnu.org/onlinedocs/9.3.0/
!    8. http://gcc.gnu.org/gcc-9/changes.html
!    9. http://gcc.gnu.org/onlinedocs/9.2.0/
!   10. http://gcc.gnu.org/gcc-9/changes.html
!   11. http://gcc.gnu.org/onlinedocs/9.1.0/
!   12. http://gcc.gnu.org/gcc-9/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
!   15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
!   18. https://gcc.gnu.org/onlinedocs/
!   19. mailto:gcc-help@gcc.gnu.org
!   20. mailto:gcc@gcc.gnu.org
!   21. https://gcc.gnu.org/lists.html
!   22. https://www.fsf.org/
!   23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-9/changes.html
                                GCC 9 Release Series
                          Changes, New Features, and Fixes
  
--- 1869,1927 ----
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
     The GCC developers would like to thank the numerous people that have
     contributed new features, improvements, bug fixes, and other changes as
!    well as test results to GCC. This [12]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [13]GCC
!    project web site or contact the [14]GCC development mailing list.
  
!    To obtain GCC please use [15]our mirror sites or [16]our version
     control system.
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [17]GCC manuals. If that fails, the
!     [18]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [19]gcc@gcc.gnu.org. All of [20]our lists have public
      archives.
  
!    Copyright (C) [21]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [22]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-9/changes.html
!    3. https://gcc.gnu.org/onlinedocs/9.5.0/
!    4. https://gcc.gnu.org/gcc-9/changes.html
!    5. https://gcc.gnu.org/onlinedocs/9.4.0/
!    6. https://gcc.gnu.org/gcc-9/changes.html
!    7. https://gcc.gnu.org/onlinedocs/9.3.0/
!    8. https://gcc.gnu.org/gcc-9/changes.html
!    9. https://gcc.gnu.org/onlinedocs/9.2.0/
!   10. https://gcc.gnu.org/gcc-9/changes.html
!   11. https://gcc.gnu.org/onlinedocs/9.1.0/
!   12. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html
!   13. https://gcc.gnu.org/index.html
!   14. mailto:gcc@gcc.gnu.org
!   15. https://gcc.gnu.org/mirrors.html
!   16. https://gcc.gnu.org/git.html
!   17. https://gcc.gnu.org/onlinedocs/
!   18. mailto:gcc-help@gcc.gnu.org
!   19. mailto:gcc@gcc.gnu.org
!   20. https://gcc.gnu.org/lists.html
!   21. https://www.fsf.org/
!   22. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-9/changes.html
+ 
                                GCC 9 Release Series
                          Changes, New Features, and Fixes
  
*************** mory");
*** 2035,2041 ****
         chain, and profile information (if available).
       * Inter-procedural propagation of stack alignment can now be
         controlled by [22]-fipa-stack-alignment.
!      * Propagation of addressability, readonly and writeonly flags on
         static variables can now be controlled by
         [23]-fipa-reference-addressable.
  
--- 2057,2063 ----
         chain, and profile information (if available).
       * Inter-procedural propagation of stack alignment can now be
         controlled by [22]-fipa-stack-alignment.
!      * Propagation of addressability, readonly, and writeonly flags on
         static variables can now be controlled by
         [23]-fipa-reference-addressable.
  
*************** foo (int how)
*** 2074,2081 ****
         can be transformed into 100 * how + 5 (for values defined in the
         switch statement).
       * Inter-procedural optimization improvements:
!           + Inliner defaults was tuned to better suits modern C++
!             codebases especially when built with link time optimizations.
              New parameters max-inline-insns-small, max-inline-insns-size,
              uninlined-function-insns, uninlined-function-time,
              uninlined-thunk-insns, and uninlined-thunk-time were added.
--- 2096,2103 ----
         can be transformed into 100 * how + 5 (for values defined in the
         switch statement).
       * Inter-procedural optimization improvements:
!           + Inliner defaults were tuned to better suit modern C++
!             codebases, especially when built with link time-optimizations.
              New parameters max-inline-insns-small, max-inline-insns-size,
              uninlined-function-insns, uninlined-function-time,
              uninlined-thunk-insns, and uninlined-thunk-time were added.
*************** foo (int how)
*** 2086,2110 ****
            + [29]-fprofile-use now enables [30]-fversion-loops-for-strides,
              [31]-floop-interchange, [32]-floop-unroll-and-jam,
              [33]-ftree-loop-distribution.
!           + Streaming of counter histograms was removed. This reduces the
!             size of profile files. Histogram is computed on the fly with
!             link-time optimization. Parameter hot-bb-count-ws-permille was
!             reduced from 999 to 990 to account for more precise
!             histograms.
       * Link-time optimization improvements:
!           + Types are now simplified prior streaming resulting in
!             significant reductions of the LTO object files, link-time
!             memory use, and improvements of link-time parallelism.
!           + Default number of partitions (--param lto-partitions) was
              increased from 32 to 128 enabling effective use of CPUs with
              more than 32 hyperthreads. --param
!             lto-max-streaming-parallelism can now be used to control
              number of streaming processes.
            + Warnings on C++ One Decl Rule violations (-Wodr) are now more
              informative and produce fewer redundant results.
         Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an
         8-core machine was reduced by about 5% compared to GCC 8.3, and the
!        size of LTO object files by 7%. LTO link-time improves by 11% on an
         8-core machine and scales significantly better for more parallel
         build environments. The serial stage of the link-time optimization
         is 28% faster consuming 20% less memory. The parallel stage now
--- 2108,2132 ----
            + [29]-fprofile-use now enables [30]-fversion-loops-for-strides,
              [31]-floop-interchange, [32]-floop-unroll-and-jam,
              [33]-ftree-loop-distribution.
!           + Streaming of counter histograms was removed, which reduces the
!             size of profile files. Histograms are computed on the fly with
!             link-time optimization.
!           + The parameter hot-bb-count-ws-permille was reduced from 999 to
!             990 to account for more precise histograms.
       * Link-time optimization improvements:
!           + Types are now simplified prior to streaming resulting in
!             significant reductions of LTO object file sizes and link-time
!             memory use as well as improvements of link-time parallelism.
!           + The default number of partitions (--param lto-partitions) was
              increased from 32 to 128 enabling effective use of CPUs with
              more than 32 hyperthreads. --param
!             lto-max-streaming-parallelism can now be used to control the
              number of streaming processes.
            + Warnings on C++ One Decl Rule violations (-Wodr) are now more
              informative and produce fewer redundant results.
         Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an
         8-core machine was reduced by about 5% compared to GCC 8.3, and the
!        size of LTO object files by 7%. LTO link time improves by 11% on an
         8-core machine and scales significantly better for more parallel
         build environments. The serial stage of the link-time optimization
         is 28% faster consuming 20% less memory. The parallel stage now
*************** New Targets and Target Specific Improvem
*** 2586,2592 ****
         The produced code is compatible only with newer glibc versions,
         which provide the __fentry__ symbol and do not clobber r0 when
         resolving lazily bound functions. -mfentry is only supported when
!        generating 64 bit code and does not work with nested C functions.
       * The -mnop-mcount option can be used to emit NOP instructions
         instead of an mcount or fentry call stub.
       * With the -mrecord-mcount option a __mcount_loc section is generated
--- 2608,2614 ----
         The produced code is compatible only with newer glibc versions,
         which provide the __fentry__ symbol and do not clobber r0 when
         resolving lazily bound functions. -mfentry is only supported when
!        generating 64-bit code and does not work with nested C functions.
       * The -mnop-mcount option can be used to emit NOP instructions
         instead of an mcount or fentry call stub.
       * With the -mrecord-mcount option a __mcount_loc section is generated
*************** GCC 9.5
*** 2699,2710 ****
     provided this notice is preserved.
  
     These pages are [75]maintained by the GCC team. Last modified
!    2023-02-22.
  
  References
  
!    1. http://gcc.gnu.org/gcc-9/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469
     4. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html
     5. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html
--- 2721,2732 ----
     provided this notice is preserved.
  
     These pages are [75]maintained by the GCC team. Last modified
!    2024-05-09.
  
  References
  
!    1. https://gcc.gnu.org/gcc-9/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469
     4. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html
     5. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html
*************** References
*** 2738,2744 ****
    33. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-loop-distribution
    34. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-Gcov.html#Invoking-Gcov
    35. https://www.openacc.org/
!   36. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-9
    37. https://www.openmp.org/specifications/
    38. https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00628.html
    39. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Vector-Extensions.html#index-_005f_005fbuiltin_005fconvertvector
--- 2760,2766 ----
    33. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-loop-distribution
    34. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-Gcov.html#Invoking-Gcov
    35. https://www.openacc.org/
!   36. https://gcc.gnu.org/wiki/OpenACC/Implementation%20Status#status-9
    37. https://www.openmp.org/specifications/
    38. https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00628.html
    39. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Vector-Extensions.html#index-_005f_005fbuiltin_005fconvertvector
*************** References
*** 2755,2761 ****
    50. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move
    51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move
    52. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion
!   53. http://gcc.gnu.org/projects/cxx-status.html#cxx2a
    54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat
    55. https://github.com/oneapi-src/oneTBB
    56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include
--- 2777,2783 ----
    50. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move
    51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move
    52. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion
!   53. https://gcc.gnu.org/projects/cxx-status.html#cxx2a
    54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat
    55. https://github.com/oneapi-src/oneTBB
    56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include
*************** References
*** 2780,2785 ****
--- 2802,2808 ----
    75. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-8/index.html
+ 
                                GCC 8 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 2842,2868 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-8/changes.html
!    3. http://gcc.gnu.org/onlinedocs/8.5.0/
!    4. http://gcc.gnu.org/gcc-8/changes.html
!    5. http://gcc.gnu.org/onlinedocs/8.4.0/
!    6. http://gcc.gnu.org/gcc-8/changes.html
!    7. http://gcc.gnu.org/onlinedocs/8.3.0/
!    8. http://gcc.gnu.org/gcc-8/changes.html
!    9. http://gcc.gnu.org/onlinedocs/8.2.0/
!   10. http://gcc.gnu.org/gcc-8/changes.html
!   11. http://gcc.gnu.org/onlinedocs/8.1.0/
!   12. http://gcc.gnu.org/gcc-8/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 2865,2891 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-8/changes.html
!    3. https://gcc.gnu.org/onlinedocs/8.5.0/
!    4. https://gcc.gnu.org/gcc-8/changes.html
!    5. https://gcc.gnu.org/onlinedocs/8.4.0/
!    6. https://gcc.gnu.org/gcc-8/changes.html
!    7. https://gcc.gnu.org/onlinedocs/8.3.0/
!    8. https://gcc.gnu.org/gcc-8/changes.html
!    9. https://gcc.gnu.org/onlinedocs/8.2.0/
!   10. https://gcc.gnu.org/gcc-8/changes.html
!   11. https://gcc.gnu.org/onlinedocs/8.1.0/
!   12. https://gcc.gnu.org/gcc-8/buildstat.html
!   13. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 2871,2876 ****
--- 2894,2900 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-8/changes.html
+ 
                                GCC 8 Release Series
                          Changes, New Features, and Fixes
  
*************** void copy (const char *s)
*** 3155,3161 ****
  {
      char buf[80];
      strncpy (buf, s, sizeof buf);
!     …
  }
  warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-trunca
  tion]
--- 3179,3185 ----
  {
      char buf[80];
      strncpy (buf, s, sizeof buf);
!     ...
  }
  warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-trunca
  tion]
*************** void f (void)
*** 3228,3234 ****
  {
      char a[] = "abcd1234";
      strcpy (a, a + 4);
!     …
  }
  warning: 'strcpy' accessing 5 bytes at offsets 0 and 4 overlaps 1 byte at offset
   4 [-Wrestrict]
--- 3252,3258 ----
  {
      char a[] = "abcd1234";
      strcpy (a, a + 4);
!     ...
  }
  warning: 'strcpy' accessing 5 bytes at offsets 0 and 4 overlaps 1 byte at offset
   4 [-Wrestrict]
*************** GCC 8.5
*** 3954,3961 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-8/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
     4. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmultistatement-macros
     5. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation
--- 3978,3985 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-8/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
     4. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmultistatement-macros
     5. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation
*************** References
*** 3970,3976 ****
    14. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-truncation
    15. https://gcc.gnu.org/PR86094
    16. https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess
!   17. http://gcc.gnu.org/projects/cxx-status.html#cxx2a
    18. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_vector
    19. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/expressions.html#gcc_jit_context_new_rvalue_from_vector
    20. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_aligned
--- 3994,4000 ----
    14. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-truncation
    15. https://gcc.gnu.org/PR86094
    16. https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess
!   17. https://gcc.gnu.org/projects/cxx-status.html#cxx2a
    18. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_vector
    19. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/expressions.html#gcc_jit_context_new_rvalue_from_vector
    20. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_aligned
*************** References
*** 3986,3992 ****
    30. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.0
    31. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.2
    32. https://gcc.gnu.org/PR86094
!   33. http://gcc.gnu.org/gcc-8/changes.html#cxx
    34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413
    35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3
    36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137
--- 4010,4016 ----
    30. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.0
    31. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.2
    32. https://gcc.gnu.org/PR86094
!   33. https://gcc.gnu.org/gcc-8/changes.html#cxx
    34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413
    35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3
    36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137
*************** References
*** 4000,4005 ****
--- 4024,4030 ----
    44. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-7/index.html
+ 
                                GCC 7 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 4062,4088 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-7/changes.html
!    3. http://gcc.gnu.org/onlinedocs/7.5.0/
!    4. http://gcc.gnu.org/gcc-7/changes.html
!    5. http://gcc.gnu.org/onlinedocs/7.4.0/
!    6. http://gcc.gnu.org/gcc-7/changes.html
!    7. http://gcc.gnu.org/onlinedocs/7.3.0/
!    8. http://gcc.gnu.org/gcc-7/changes.html
!    9. http://gcc.gnu.org/onlinedocs/7.2.0/
!   10. http://gcc.gnu.org/gcc-7/changes.html
!   11. http://gcc.gnu.org/onlinedocs/7.1.0/
!   12. http://gcc.gnu.org/gcc-7/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 4087,4113 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-7/changes.html
!    3. https://gcc.gnu.org/onlinedocs/7.5.0/
!    4. https://gcc.gnu.org/gcc-7/changes.html
!    5. https://gcc.gnu.org/onlinedocs/7.4.0/
!    6. https://gcc.gnu.org/gcc-7/changes.html
!    7. https://gcc.gnu.org/onlinedocs/7.3.0/
!    8. https://gcc.gnu.org/gcc-7/changes.html
!    9. https://gcc.gnu.org/onlinedocs/7.2.0/
!   10. https://gcc.gnu.org/gcc-7/changes.html
!   11. https://gcc.gnu.org/onlinedocs/7.1.0/
!   12. https://gcc.gnu.org/gcc-7/buildstat.html
!   13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 4091,4096 ****
--- 4116,4122 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-7/changes.html
+ 
                                GCC 7 Release Series
                          Changes, New Features, and Fixes
  
*************** void f (int n)
*** 4459,4465 ****
      d = alloca (n);
    else
      d = malloc (n);
!   …
  }
  
  warning: argument to 'alloca may be too large due to conversion from 'int' to 'l
--- 4485,4491 ----
      d = alloca (n);
    else
      d = malloc (n);
!   ...
  }
  
  warning: argument to 'alloca may be too large due to conversion from 'int' to 'l
*************** ong unsigned int' [-Walloca-larger-than=
*** 4472,4478 ****
  void f (size_t n)
  {
    char *d = alloca (n);
!   …
  }
  
  warning: unbounded use of 'alloca' [-Walloca-larger-than=]
--- 4498,4504 ----
  void f (size_t n)
  {
    char *d = alloca (n);
!   ...
  }
  
  warning: unbounded use of 'alloca' [-Walloca-larger-than=]
*************** void f (unsigned x)
*** 4520,4526 ****
  {
    char d[4];
    snprintf (d, sizeof d, "%#02x", x & 0xff);
!   …
  }
  
  warning: 'snprintf' output may be truncated before the last format character [-W
--- 4546,4552 ----
  {
    char d[4];
    snprintf (d, sizeof d, "%#02x", x & 0xff);
!   ...
  }
  
  warning: 'snprintf' output may be truncated before the last format character [-W
*************** void f (const char *fname)
*** 4548,4554 ****
    char d[8];
    strncpy (d, "/tmp/", sizeof d);
    strncat (d, fname, sizeof d);
!   …
  }
  
  warning: specified bound 8 equals the size of the destination [-Wstringop-overfl
--- 4574,4580 ----
    char d[8];
    strncpy (d, "/tmp/", sizeof d);
    strncat (d, fname, sizeof d);
!   ...
  }
  
  warning: specified bound 8 equals the size of the destination [-Wstringop-overfl
*************** test.cc:4:11: error: expected ';' after
*** 4686,4695 ****
            + std::as_const, std::not_fn,
              std::has_unique_object_representations, constexpr
              std::addressof.
!        Thanks to Daniel Krügler, Tim Shen, Edward Smith-Rowland, and Ville
         Voutilainen for work on the C++17 support.
       * A new power-of-two rehashing policy for use with the _Hashtable
!        internals, thanks to François Dumont.
  
    Fortran
  
--- 4712,4721 ----
            + std::as_const, std::not_fn,
              std::has_unique_object_representations, constexpr
              std::addressof.
!        Thanks to Daniel Kr�gler, Tim Shen, Edward Smith-Rowland, and Ville
         Voutilainen for work on the C++17 support.
       * A new power-of-two rehashing policy for use with the _Hashtable
!        internals, thanks to Fran�ois Dumont.
  
    Fortran
  
*************** const int* get_address (unsigned idx)
*** 4859,4865 ****
  }
  
       * A new command-line option -Wmisspelled-isr has been added. It turns
!        off — or turns into errors — warnings that are reported for
         interrupt service routines (ISRs) which don't follow AVR-LibC's
         naming convention of prefixing ISR names with __vector.
       * __builtin_avr_nops(n) is a new [17]built-in function that inserts n
--- 4885,4891 ----
  }
  
       * A new command-line option -Wmisspelled-isr has been added. It turns
!        off -- or turns into errors -- warnings that are reported for
         interrupt service routines (ISRs) which don't follow AVR-LibC's
         naming convention of prefixing ISR names with __vector.
       * __builtin_avr_nops(n) is a new [17]built-in function that inserts n
*************** GCC 7.5
*** 5162,5169 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-7/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/wiki/LRAIsDefault
     4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
--- 5188,5195 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-7/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/wiki/LRAIsDefault
     4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
*************** References
*** 5197,5202 ****
--- 5223,5229 ----
    33. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-6/index.html
+ 
                                GCC 6 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 5259,5285 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-6/changes.html
!    3. http://gcc.gnu.org/onlinedocs/6.5.0/
!    4. http://gcc.gnu.org/gcc-6/changes.html
!    5. http://gcc.gnu.org/onlinedocs/6.4.0/
!    6. http://gcc.gnu.org/gcc-6/changes.html
!    7. http://gcc.gnu.org/onlinedocs/6.3.0/
!    8. http://gcc.gnu.org/gcc-6/changes.html
!    9. http://gcc.gnu.org/onlinedocs/6.2.0/
!   10. http://gcc.gnu.org/gcc-6/changes.html
!   11. http://gcc.gnu.org/onlinedocs/6.1.0/
!   12. http://gcc.gnu.org/gcc-6/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 5286,5312 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-6/changes.html
!    3. https://gcc.gnu.org/onlinedocs/6.5.0/
!    4. https://gcc.gnu.org/gcc-6/changes.html
!    5. https://gcc.gnu.org/onlinedocs/6.4.0/
!    6. https://gcc.gnu.org/gcc-6/changes.html
!    7. https://gcc.gnu.org/onlinedocs/6.3.0/
!    8. https://gcc.gnu.org/gcc-6/changes.html
!    9. https://gcc.gnu.org/onlinedocs/6.2.0/
!   10. https://gcc.gnu.org/gcc-6/changes.html
!   11. https://gcc.gnu.org/onlinedocs/6.1.0/
!   12. https://gcc.gnu.org/gcc-6/buildstat.html
!   13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 5288,5293 ****
--- 5315,5321 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-6/changes.html
+ 
                                GCC 6 Release Series
                          Changes, New Features, and Fixes
  
*************** Operating Systems
*** 6000,6007 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-6/porting_to.html
!    2. http://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html
     4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87822
--- 6028,6035 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-6/porting_to.html
!    2. https://gcc.gnu.org/onlinedocs/index.html#current
     3. https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html
     4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151
     5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87822
*************** References
*** 6034,6039 ****
--- 6062,6068 ----
    32. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-5/index.html
+ 
                                GCC 5 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 6096,6122 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-5/changes.html
!    3. http://gcc.gnu.org/onlinedocs/5.5.0/
!    4. http://gcc.gnu.org/gcc-5/changes.html
!    5. http://gcc.gnu.org/onlinedocs/5.4.0/
!    6. http://gcc.gnu.org/gcc-5/changes.html
!    7. http://gcc.gnu.org/onlinedocs/5.3.0/
!    8. http://gcc.gnu.org/gcc-5/changes.html
!    9. http://gcc.gnu.org/onlinedocs/5.2.0/
!   10. http://gcc.gnu.org/gcc-5/changes.html
!   11. http://gcc.gnu.org/onlinedocs/5.1.0/
!   12. http://gcc.gnu.org/gcc-5/buildstat.html
!   13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 6125,6151 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-5/changes.html
!    3. https://gcc.gnu.org/onlinedocs/5.5.0/
!    4. https://gcc.gnu.org/gcc-5/changes.html
!    5. https://gcc.gnu.org/onlinedocs/5.4.0/
!    6. https://gcc.gnu.org/gcc-5/changes.html
!    7. https://gcc.gnu.org/onlinedocs/5.3.0/
!    8. https://gcc.gnu.org/gcc-5/changes.html
!    9. https://gcc.gnu.org/onlinedocs/5.2.0/
!   10. https://gcc.gnu.org/gcc-5/changes.html
!   11. https://gcc.gnu.org/onlinedocs/5.1.0/
!   12. https://gcc.gnu.org/gcc-5/buildstat.html
!   13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 6125,6130 ****
--- 6154,6160 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-5/changes.html
+ 
                                GCC 5 Release Series
                          Changes, New Features, and Fixes
  
*************** New Targets and Target Specific Improvem
*** 6659,6665 ****
         Using -mcpu=cortex-a72 requires a version of GNU binutils that has
         support for the Cortex-A72.
       * The transitional options -mlra and -mno-lra have been removed. The
!        AArch64 backend now uses the local register allocator (LRA) only.
  
    ARM
  
--- 6689,6695 ----
         Using -mcpu=cortex-a72 requires a version of GNU binutils that has
         support for the Cortex-A72.
       * The transitional options -mlra and -mno-lra have been removed. The
!        AArch64 back end now uses the local register allocator (LRA) only.
  
    ARM
  
*************** New Targets and Target Specific Improvem
*** 6692,6698 ****
         -mtpcs-leaf-frame which are only applicable to the old ABI have
         been deprecated.
       * The transitional options -mlra and -mno-lra have been removed. The
!        ARM backend now uses the local register allocator (LRA) only.
  
    AVR
  
--- 6722,6728 ----
         -mtpcs-leaf-frame which are only applicable to the old ABI have
         been deprecated.
       * The transitional options -mlra and -mno-lra have been removed. The
!        ARM back end now uses the local register allocator (LRA) only.
  
    AVR
  
*************** Target Specific Changes
*** 7004,7029 ****
     provided this notice is preserved.
  
     These pages are [49]maintained by the GCC team. Last modified
!    2023-02-20.
  
  References
  
!    1. http://gcc.gnu.org/gcc-5/changes.html#libstdcxx
     2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html
     3. https://savannah.nongnu.org/bugs/?44574
!    4. https://gcc.gnu.org/wiki/Intel MPX support in the GCC compiler
     5. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf
     6. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.Examples.pdf
     7. https://gcc.gnu.org/wiki/OpenACC
     8. https://gcc.gnu.org/install/configure.html
     9. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations
!   10. http://gcc.gnu.org/projects/cxx1y.html
    11. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations
!   12. http://gcc.gnu.org/projects/cxx1y.html
!   13. http://gcc.gnu.org/projects/cxx1y.html
!   14. http://gcc.gnu.org/projects/cxx1y.html
    15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html
!   16. http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
    17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011
    18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014
    19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014
--- 7034,7059 ----
     provided this notice is preserved.
  
     These pages are [49]maintained by the GCC team. Last modified
!    2024-06-08.
  
  References
  
!    1. https://gcc.gnu.org/gcc-5/changes.html#libstdcxx
     2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html
     3. https://savannah.nongnu.org/bugs/?44574
!    4. https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler
     5. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf
     6. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.Examples.pdf
     7. https://gcc.gnu.org/wiki/OpenACC
     8. https://gcc.gnu.org/install/configure.html
     9. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations
!   10. https://gcc.gnu.org/projects/cxx1y.html
    11. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations
!   12. https://gcc.gnu.org/projects/cxx1y.html
!   13. https://gcc.gnu.org/projects/cxx1y.html
!   14. https://gcc.gnu.org/projects/cxx1y.html
    15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html
!   16. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
    17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011
    18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014
    19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014
*************** References
*** 7059,7064 ****
--- 7089,7095 ----
    49. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.9/index.html
+ 
                               GCC 4.9 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 7121,7147 ****
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.9/changes.html
!    3. http://gcc.gnu.org/onlinedocs/4.9.4/
!    4. http://gcc.gnu.org/gcc-4.9/changes.html
!    5. http://gcc.gnu.org/onlinedocs/4.9.3/
!    6. http://gcc.gnu.org/gcc-4.9/changes.html
!    7. http://gcc.gnu.org/onlinedocs/4.9.2/
!    8. http://gcc.gnu.org/gcc-4.9/changes.html
!    9. http://gcc.gnu.org/onlinedocs/4.9.1/
!   10. http://gcc.gnu.org/gcc-4.9/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.9.0/
!   12. http://gcc.gnu.org/gcc-4.9/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 7152,7178 ----
     provided this notice is preserved.
  
     These pages are [23]maintained by the GCC team. Last modified
!    2024-05-30.
  
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.9/changes.html
!    3. https://gcc.gnu.org/onlinedocs/4.9.4/
!    4. https://gcc.gnu.org/gcc-4.9/changes.html
!    5. https://gcc.gnu.org/onlinedocs/4.9.3/
!    6. https://gcc.gnu.org/gcc-4.9/changes.html
!    7. https://gcc.gnu.org/onlinedocs/4.9.2/
!    8. https://gcc.gnu.org/gcc-4.9/changes.html
!    9. https://gcc.gnu.org/onlinedocs/4.9.1/
!   10. https://gcc.gnu.org/gcc-4.9/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.9.0/
!   12. https://gcc.gnu.org/gcc-4.9/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 7150,7155 ****
--- 7181,7187 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.9/changes.html
+ 
                               GCC 4.9 Release Series
                          Changes, New Features, and Fixes
  
*************** New Languages and Language specific impr
*** 7263,7283 ****
         -fdiagnostics-color=never.
         Sample diagnostics output:
      $ g++ -fdiagnostics-color=always -S -Wall test.C
!     test.C: In function ‘int foo()’:
      test.C:1:14: warning: no return statement in function returning non-void [-W
  return-type]
       int foo () { }
                    ^
      test.C:2:46: error: template instantiation depth exceeds maximum of 900 (use
!  -ftemplate-depth= to increase the maximum) instantiating ‘struct X<100>’
       template <int N> struct X { static const int value = X<N-1>::value; }; temp
  late struct X<1000>;
                                                    ^
!     test.C:2:46:   recursively required from ‘const int X<999>::value’
!     test.C:2:46:   required from ‘const int X<1000>::value’
      test.C:2:88:   required from here
  
!     test.C:2:46: error: incomplete type ‘X<100>’ used in nested name specifier
  
       * With the new [7]#pragma GCC ivdep, the user can assert that there
         are no loop-carried dependencies which would prevent concurrent
--- 7295,7315 ----
         -fdiagnostics-color=never.
         Sample diagnostics output:
      $ g++ -fdiagnostics-color=always -S -Wall test.C
!     test.C: In function `int foo()':
      test.C:1:14: warning: no return statement in function returning non-void [-W
  return-type]
       int foo () { }
                    ^
      test.C:2:46: error: template instantiation depth exceeds maximum of 900 (use
!  -ftemplate-depth= to increase the maximum) instantiating `struct X<100>'
       template <int N> struct X { static const int value = X<N-1>::value; }; temp
  late struct X<1000>;
                                                    ^
!     test.C:2:46:   recursively required from `const int X<999>::value'
!     test.C:2:46:   required from `const int X<1000>::value'
      test.C:2:88:   required from here
  
!     test.C:2:46: error: incomplete type `X<100>' used in nested name specifier
  
       * With the new [7]#pragma GCC ivdep, the user can assert that there
         are no loop-carried dependencies which would prevent concurrent
*************** auto incr = [](auto x) { return x++; };
*** 7382,7389 ****
  // a functional object that will add two like-type objects
  auto add = [] <typename T> (T a, T b) { return a + b; };
  
!      * G++ supports unconstrained generic functions as specified by §4.1.2
!        and §5.1.1 of [15]N3889: Concepts Lite Specification. Briefly, auto
         may be used as a type-specifier in a parameter declaration of any
         function declarator in order to introduce an implicit function
         template parameter, akin to generic lambdas.
--- 7414,7421 ----
  // a functional object that will add two like-type objects
  auto add = [] <typename T> (T a, T b) { return a + b; };
  
!      * G++ supports unconstrained generic functions as specified by �4.1.2
!        and �5.1.1 of [15]N3889: Concepts Lite Specification. Briefly, auto
         may be used as a type-specifier in a parameter declaration of any
         function declarator in order to introduce an implicit function
         template parameter, akin to generic lambdas.
*************** auto incr(T x) { return x++; }
*** 7476,7482 ****
         be used as argument to ISO_C_BINDING's C_LOC and as actual argument
         to another NO_ARG_CHECK dummy argument; also the other constraints
         of TYPE(*) apply. The dummy arguments should be declared as scalar
!        or assumed-size variable of type type(*) (recommended) – or of type
         integer, real, complex or logical. With NO_ARG_CHECK, a pointer to
         the data without further type or shape information is passed,
         similar to C's void*. Note that also TS 29113's
--- 7508,7514 ----
         be used as argument to ISO_C_BINDING's C_LOC and as actual argument
         to another NO_ARG_CHECK dummy argument; also the other constraints
         of TYPE(*) apply. The dummy arguments should be declared as scalar
!        or assumed-size variable of type type(*) (recommended) - or of type
         integer, real, complex or logical. With NO_ARG_CHECK, a pointer to
         the data without further type or shape information is passed,
         similar to C's void*. Note that also TS 29113's
*************** New Targets and Target Specific Improvem
*** 7524,7538 ****
       * Coverage of more of the ISA including the SIMD extensions has been
         added. The Advanced SIMD intrinsics have also been improved.
       * The new local register allocator (LRA) is now on by default for the
!        AArch64 backend.
       * The REE (Redundant extension elimination) pass has now been enabled
!        by default for the AArch64 backend.
       * Tuning for the Cortex-A53 and Cortex-A57 has been improved.
       * Initial big.LITTLE tuning support for the combination of Cortex-A57
         and Cortex-A53 was added through the -mcpu=cortex-a57.cortex-a53
         option.
       * A number of structural changes have been made to both the ARM and
!        AArch64 backends to facilitate improved code-generation.
       * As of GCC 4.9.2 a workaround for the ARM Cortex-A53 erratum 835769
         has been added and can be enabled by giving the
         -mfix-cortex-a53-835769 option. Alternatively it can be enabled by
--- 7556,7570 ----
       * Coverage of more of the ISA including the SIMD extensions has been
         added. The Advanced SIMD intrinsics have also been improved.
       * The new local register allocator (LRA) is now on by default for the
!        AArch64 back end.
       * The REE (Redundant extension elimination) pass has now been enabled
!        by default for the AArch64 back end.
       * Tuning for the Cortex-A53 and Cortex-A57 has been improved.
       * Initial big.LITTLE tuning support for the combination of Cortex-A57
         and Cortex-A53 was added through the -mcpu=cortex-a57.cortex-a53
         option.
       * A number of structural changes have been made to both the ARM and
!        AArch64 back ends to facilitate improved code-generation.
       * As of GCC 4.9.2 a workaround for the ARM Cortex-A53 erratum 835769
         has been added and can be enabled by giving the
         -mfix-cortex-a53-835769 option. Alternatively it can be enabled by
*************** New Targets and Target Specific Improvem
*** 7573,7579 ****
         data segments to be relative to text segments has been added. This
         is on by default for all targets except VxWorks RTP.
       * A number of infrastructural changes have been made to both the ARM
!        and AArch64 backends to facilitate improved code-generation.
       * GCC now supports Cortex-A12 and the Cortex-R7 through the
         -mcpu=cortex-a12 and -mcpu=cortex-r7 options.
       * GCC now has tuning for the Cortex-A57 and Cortex-A53 through the
--- 7605,7611 ----
         data segments to be relative to text segments has been added. This
         is on by default for all targets except VxWorks RTP.
       * A number of infrastructural changes have been made to both the ARM
!        and AArch64 back ends to facilitate improved code-generation.
       * GCC now supports Cortex-A12 and the Cortex-R7 through the
         -mcpu=cortex-a12 and -mcpu=cortex-r7 options.
       * GCC now has tuning for the Cortex-A57 and Cortex-A53 through the
*************** New Targets and Target Specific Improvem
*** 7635,7648 ****
  
    MSP430
  
!      * A new command-line option -mcpu= has been added to the MSP430
!        backend. This option is used to specify the ISA to be used.
!        Accepted values are msp430 (the default), msp430x and msp430xv2.
!        The ISA is no longer deduced from the -mmcu= option as there are
!        far too many different MCU names. The -mmcu= option is still
!        supported, and this is still used to select linker scripts and
!        generate a C preprocessor symbol that will be recognised by the
!        msp430.h header file.
  
    NDS32
  
--- 7667,7680 ----
  
    MSP430
  
!      * A new command-line option -mcpu= has been added to the MSP430 back
!        end. This option is used to specify the ISA to be used. Accepted
!        values are msp430 (the default), msp430x and msp430xv2. The ISA is
!        no longer deduced from the -mmcu= option as there are far too many
!        different MCU names. The -mmcu= option is still supported, and this
!        is still used to select linker scripts and generate a C
!        preprocessor symbol that will be recognised by the msp430.h header
!        file.
  
    NDS32
  
*************** GCC 4.9.4
*** 7759,7765 ****
     provided this notice is preserved.
  
     These pages are [33]maintained by the GCC team. Last modified
!    2023-01-19.
  
  References
  
--- 7791,7797 ----
     provided this notice is preserved.
  
     These pages are [33]maintained by the GCC team. Last modified
!    2023-09-02.
  
  References
  
*************** References
*** 7770,7782 ****
     5. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Optimize-Options.html#index-fsimd-cost-model-908
     6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252
     7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html
!    8. http://gcc.gnu.org/projects/cxx1y.html
     9. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html
!   10. http://gcc.gnu.org/projects/cxx1y.html
!   11. http://gcc.gnu.org/projects/cxx1y.html
!   12. http://gcc.gnu.org/projects/cxx1y.html
!   13. http://gcc.gnu.org/projects/cxx1y.html
!   14. http://gcc.gnu.org/projects/cxx1y.html
    15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf
    16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011
    17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014
--- 7802,7814 ----
     5. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Optimize-Options.html#index-fsimd-cost-model-908
     6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252
     7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html
!    8. https://gcc.gnu.org/projects/cxx1y.html
     9. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html
!   10. https://gcc.gnu.org/projects/cxx1y.html
!   11. https://gcc.gnu.org/projects/cxx1y.html
!   12. https://gcc.gnu.org/projects/cxx1y.html
!   13. https://gcc.gnu.org/projects/cxx1y.html
!   14. https://gcc.gnu.org/projects/cxx1y.html
    15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf
    16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011
    17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014
*************** References
*** 7798,7803 ****
--- 7830,7836 ----
    33. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.8/index.html
+ 
                               GCC 4.8 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 7868,7891 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.8/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.8.5/
!    4. http://gcc.gnu.org/gcc-4.8/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.8.4/
!    6. http://gcc.gnu.org/gcc-4.8/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.8.3/
!    8. http://gcc.gnu.org/gcc-4.8/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.8.2/
!   10. http://gcc.gnu.org/gcc-4.8/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.8.1/
!   12. http://gcc.gnu.org/gcc-4.8/changes.html
    13. https://gcc.gnu.org/onlinedocs/4.8.0/
!   14. http://gcc.gnu.org/gcc-4.8/buildstat.html
    15. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   16. http://gcc.gnu.org/index.html
    17. mailto:gcc@gcc.gnu.org
!   18. http://gcc.gnu.org/mirrors.html
!   19. http://gcc.gnu.org/git.html
    20. https://gcc.gnu.org/onlinedocs/
    21. mailto:gcc-help@gcc.gnu.org
    22. mailto:gcc@gcc.gnu.org
--- 7901,7924 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.8/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.8.5/
!    4. https://gcc.gnu.org/gcc-4.8/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.8.4/
!    6. https://gcc.gnu.org/gcc-4.8/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.8.3/
!    8. https://gcc.gnu.org/gcc-4.8/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.8.2/
!   10. https://gcc.gnu.org/gcc-4.8/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.8.1/
!   12. https://gcc.gnu.org/gcc-4.8/changes.html
    13. https://gcc.gnu.org/onlinedocs/4.8.0/
!   14. https://gcc.gnu.org/gcc-4.8/buildstat.html
    15. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   16. https://gcc.gnu.org/index.html
    17. mailto:gcc@gcc.gnu.org
!   18. https://gcc.gnu.org/mirrors.html
!   19. https://gcc.gnu.org/git.html
    20. https://gcc.gnu.org/onlinedocs/
    21. mailto:gcc-help@gcc.gnu.org
    22. mailto:gcc@gcc.gnu.org
*************** References
*** 7894,7899 ****
--- 7927,7933 ----
    25. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.8/changes.html
+ 
                               GCC 4.8 Release Series
                          Changes, New Features, and Fixes
  
*************** New Languages and Language specific impr
*** 8022,8029 ****
         diagnostics. Combined with the caret information, an example
         diagnostic showing these two features is:
  
! t.c:1:94: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float
! ’)
   #define MYMAX(A,B)    __extension__ ({ __typeof__(A) __a = (A); __typeof__(B) _
  _b = (B); __a < __b ? __b : __a; })
  
--- 8056,8063 ----
         diagnostics. Combined with the caret information, an example
         diagnostic showing these two features is:
  
! t.c:1:94: error: invalid operands to binary < (have `struct mystruct' and `float
! ')
   #define MYMAX(A,B)    __extension__ ({ __typeof__(A) __a = (A); __typeof__(B) _
  _b = (B); __a < __b ? __b : __a; })
  
*************** int i = A().f();  // error, f() requires
*** 8147,8154 ****
              older versions except as noted below.
            + ABI: Some internal names (used in the assembler/object file)
              have changed for symbols declared in the specification part of
!             a module. If an affected module – or a file using it via use
!             association – is recompiled, the module and all files which
              directly use such symbols have to be recompiled as well. This
              change only affects the following kind of module symbols:
                 o Procedure pointers. Note: C-interoperable function
--- 8181,8188 ----
              older versions except as noted below.
            + ABI: Some internal names (used in the assembler/object file)
              have changed for symbols declared in the specification part of
!             a module. If an affected module - or a file using it via use
!             association - is recompiled, the module and all files which
              directly use such symbols have to be recompiled as well. This
              change only affects the following kind of module symbols:
                 o Procedure pointers. Note: C-interoperable function
*************** int i = A().f();  // error, f() requires
*** 8175,8181 ****
       * The [21]-Wcompare-reals command-line option has been added. When
         this is set, warnings are issued when comparing REAL or COMPLEX
         types for equality and inequality; consider replacing a == b by
!        abs(a−b) < eps with a suitable eps. -Wcompare-reals is enabled by
         -Wextra.
       * The [22]-Wtarget-lifetime command-line option has been added
         (enabled with -Wall), which warns if the pointer in a pointer
--- 8209,8215 ----
       * The [21]-Wcompare-reals command-line option has been added. When
         this is set, warnings are issued when comparing REAL or COMPLEX
         types for equality and inequality; consider replacing a == b by
!        abs(a-b) < eps with a suitable eps. -Wcompare-reals is enabled by
         -Wextra.
       * The [22]-Wtarget-lifetime command-line option has been added
         (enabled with -Wall), which warns if the pointer in a pointer
*************** int i = A().f();  // error, f() requires
*** 8187,8193 ****
         4.0e0).
         (For Fortran source code, consider replacing the "q" in
         floating-point literals by a kind parameter (e.g. 4.0e0_qp with a
!        suitable qp). Note that – in Fortran source code – replacing "q" by
         a simple "e" is not equivalent.)
       * The GFORTRAN_TMPDIR environment variable for specifying a
         non-default directory for files opened with STATUS="SCRATCH", is
--- 8221,8227 ----
         4.0e0).
         (For Fortran source code, consider replacing the "q" in
         floating-point literals by a kind parameter (e.g. 4.0e0_qp with a
!        suitable qp). Note that - in Fortran source code - replacing "q" by
         a simple "e" is not equivalent.)
       * The GFORTRAN_TMPDIR environment variable for specifying a
         non-default directory for files opened with STATUS="SCRATCH", is
*************** New Targets and Target Specific Improvem
*** 8282,8289 ****
      }
         The inline assembler in this example will generate code like
      mov r24, 8+7
!        provided c is allocated to R24 and val is allocated to R8…R15. This
!        works because the GNU assembler accepts plain register numbers
         without register prefix.
       * Static initializers with 3-byte symbols are supported now:
      extern const __memx char foo;
--- 8316,8323 ----
      }
         The inline assembler in this example will generate code like
      mov r24, 8+7
!        provided c is allocated to R24 and val is allocated to R8...R15.
!        This works because the GNU assembler accepts plain register numbers
         without register prefix.
       * Static initializers with 3-byte symbols are supported now:
      extern const __memx char foo;
*************** References
*** 8629,8641 ****
     6. https://github.com/google/sanitizers
     7. https://code.google.com/archive/p/data-race-test/wikis/ThreadSanitizer.wiki
     8. https://lkml.org/lkml/2006/11/28/239
!    9. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
!   10. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
!   11. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
    12. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
!   13. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
    14. https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html
!   15. http://gcc.gnu.org/projects/cxx1y.html
    16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011
    17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html
    18. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html
--- 8663,8675 ----
     6. https://github.com/google/sanitizers
     7. https://code.google.com/archive/p/data-race-test/wikis/ThreadSanitizer.wiki
     8. https://lkml.org/lkml/2006/11/28/239
!    9. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html
!   10. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html
!   11. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html
    12. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
!   13. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html
    14. https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html
!   15. https://gcc.gnu.org/projects/cxx1y.html
    16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011
    17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html
    18. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html
*************** References
*** 8666,8671 ****
--- 8700,8706 ----
    43. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.7/index.html
+ 
                               GCC 4.7 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 8733,8754 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.7/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.7.4/
!    4. http://gcc.gnu.org/gcc-4.7/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.7.3/
!    6. http://gcc.gnu.org/gcc-4.7/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.7.2/
!    8. http://gcc.gnu.org/gcc-4.7/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.7.1/
!   10. http://gcc.gnu.org/gcc-4.7/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.7.0/
!   12. http://gcc.gnu.org/gcc-4.7/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 8768,8789 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.7/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.7.4/
!    4. https://gcc.gnu.org/gcc-4.7/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.7.3/
!    6. https://gcc.gnu.org/gcc-4.7/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.7.2/
!    8. https://gcc.gnu.org/gcc-4.7/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.7.1/
!   10. https://gcc.gnu.org/gcc-4.7/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.7.0/
!   12. https://gcc.gnu.org/gcc-4.7/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 8757,8762 ****
--- 8792,8798 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.7/changes.html
+ 
                               GCC 4.7 Release Series
                          Changes, New Features, and Fixes
  
*************** long double pi = 180.0_degrees;
*** 9087,9093 ****
  template <class T> using Ptr = T*;
  Ptr<int> ip;  // decltype(ip) is int*
  
!      * Thanks to Ville Voutilainen and Pedro Lamarão, G++ now implements
         [12]C++11 delegating constructors.
  
  struct A {
--- 9123,9129 ----
  template <class T> using Ptr = T*;
  Ptr<int> ip;  // decltype(ip) is int*
  
!      * Thanks to Ville Voutilainen and Pedro Lamar�o, G++ now implements
         [12]C++11 delegating constructors.
  
  struct A {
*************** New Targets and Target Specific Improvem
*** 9281,9287 ****
  
       * GCC now supports the XMEGA architecture. This requires GNU binutils
         2.22 or later.
!      * Support for the [35]named address spaces __flash, __flash1, …,
         __flash5 and __memx has been added. These address spaces locate
         read-only data in flash memory and allow reading from flash memory
         by means of ordinary C code, i.e. without the need of (inline)
--- 9317,9323 ----
  
       * GCC now supports the XMEGA architecture. This requires GNU binutils
         2.22 or later.
!      * Support for the [35]named address spaces __flash, __flash1, ...,
         __flash5 and __memx has been added. These address spaces locate
         read-only data in flash memory and allow reading from flash memory
         by means of ordinary C code, i.e. without the need of (inline)
*************** void set_portb (uint8_t value)
*** 9325,9331 ****
         suitable to be used as operand in an I/O command. The address must
         be a constant integer known at compile time.
       * The inline assembler constraint "R" to represent integers in the
!        range −6 … 5 has been removed without replacement.
       * Many optimizations to:
            + 64-bit integer arithmetic
            + Widening multiplication
--- 9361,9367 ----
         suitable to be used as operand in an I/O command. The address must
         be a constant integer known at compile time.
       * The inline assembler constraint "R" to represent integers in the
!        range -6 ... 5 has been removed without replacement.
       * Many optimizations to:
            + 64-bit integer arithmetic
            + Widening multiplication
*************** void set_portb (uint8_t value)
*** 9337,9343 ****
            + If-else decision trees generated by switch instructions
            + Merging of data located in flash memory
            + New libgcc variants for devices with 8-bit wide stack pointer
!           + …
       * Better documentation:
            + Handling of EIND and indirect jumps on devices with more than
              128 KiB of program memory.
--- 9373,9379 ----
            + If-else decision trees generated by switch instructions
            + Merging of data located in flash memory
            + New libgcc variants for devices with 8-bit wide stack pointer
!           + ...
       * Better documentation:
            + Handling of EIND and indirect jumps on devices with more than
              128 KiB of program memory.
*************** References
*** 9558,9569 ****
     4. https://gcc.gnu.org/gcc-4.7/porting_to.html
     5. https://gcc.gnu.org/wiki/TransactionalMemory
     6. https://gcc.gnu.org/wiki/Atomic/GCCMM
!    7. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!    8. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!    9. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   10. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   11. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   12. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
    13. https://gcc.gnu.org/PR14258
    14. https://gcc.gnu.org/PR35688
    15. https://gcc.gnu.org/onlinedocs/gcc-4.7.4/libstdc++/manual/manual/status.html#status.iso.2011
--- 9594,9605 ----
     4. https://gcc.gnu.org/gcc-4.7/porting_to.html
     5. https://gcc.gnu.org/wiki/TransactionalMemory
     6. https://gcc.gnu.org/wiki/Atomic/GCCMM
!    7. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!    8. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!    9. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   10. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   11. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
!   12. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html
    13. https://gcc.gnu.org/PR14258
    14. https://gcc.gnu.org/PR35688
    15. https://gcc.gnu.org/onlinedocs/gcc-4.7.4/libstdc++/manual/manual/status.html#status.iso.2011
*************** References
*** 9589,9595 ****
    35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
    36. http://www.nongnu.org/avr-libc/
    37. https://gcc.gnu.org/PR54461
!   38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built_002din-Functions.html
    39. https://sites.google.com/site/x32abi/
    40. https://dwarfstd.org/issues/100909.1.html
    41. https://dwarfstd.org/issues/100909.2.html
--- 9625,9631 ----
    35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
    36. http://www.nongnu.org/avr-libc/
    37. https://gcc.gnu.org/PR54461
!   38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html
    39. https://sites.google.com/site/x32abi/
    40. https://dwarfstd.org/issues/100909.1.html
    41. https://dwarfstd.org/issues/100909.2.html
*************** References
*** 9608,9613 ****
--- 9644,9650 ----
    54. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.6/index.html
+ 
                               GCC 4.6 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 9675,9696 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.6/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.6.4/
!    4. http://gcc.gnu.org/gcc-4.6/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.6.3/
!    6. http://gcc.gnu.org/gcc-4.6/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.6.2/
!    8. http://gcc.gnu.org/gcc-4.6/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.6.1/
!   10. http://gcc.gnu.org/gcc-4.6/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.6.0/
!   12. http://gcc.gnu.org/gcc-4.6/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. http://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. http://gcc.gnu.org/mirrors.html
!   17. http://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
--- 9712,9733 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.6/changes.html
     3. https://gcc.gnu.org/onlinedocs/4.6.4/
!    4. https://gcc.gnu.org/gcc-4.6/changes.html
     5. https://gcc.gnu.org/onlinedocs/4.6.3/
!    6. https://gcc.gnu.org/gcc-4.6/changes.html
     7. https://gcc.gnu.org/onlinedocs/4.6.2/
!    8. https://gcc.gnu.org/gcc-4.6/changes.html
     9. https://gcc.gnu.org/onlinedocs/4.6.1/
!   10. https://gcc.gnu.org/gcc-4.6/changes.html
    11. https://gcc.gnu.org/onlinedocs/4.6.0/
!   12. https://gcc.gnu.org/gcc-4.6/buildstat.html
    13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   14. https://gcc.gnu.org/index.html
    15. mailto:gcc@gcc.gnu.org
!   16. https://gcc.gnu.org/mirrors.html
!   17. https://gcc.gnu.org/git.html
    18. https://gcc.gnu.org/onlinedocs/
    19. mailto:gcc-help@gcc.gnu.org
    20. mailto:gcc@gcc.gnu.org
*************** References
*** 9699,9704 ****
--- 9736,9742 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.6/changes.html
+ 
                               GCC 4.6 Release Series
                          Changes, New Features, and Fixes
  
*************** New Languages and Language specific impr
*** 10038,10044 ****
  
       * [12]Improved experimental support for the upcoming ISO C++
         standard, C++0x, including using constexpr and nullptr.
!      * Performance improvements to the [13]Debug Mode, thanks to François
         Dumont.
       * Atomic operations used for reference-counting are annotated so that
         they can be understood by race detectors such as Helgrind, see
--- 10076,10082 ----
  
       * [12]Improved experimental support for the upcoming ISO C++
         standard, C++0x, including using constexpr and nullptr.
!      * Performance improvements to the [13]Debug Mode, thanks to Fran�ois
         Dumont.
       * Atomic operations used for reference-counting are annotated so that
         they can be understood by race detectors such as Helgrind, see
*************** New Languages and Language specific impr
*** 10093,10099 ****
              allocated (if unallocated) or reallocated (if the shape or
              type parameter is different). To avoid the small performance
              penalty, you can use a(:) = ... instead of a = ... for arrays
!             and character strings – or disable the feature using -std=f95
              or -fno-realloc-lhs.
            + Deferred type parameter: For scalar allocatable and pointer
              variables the character length can be deferred.
--- 10131,10137 ----
              allocated (if unallocated) or reallocated (if the shape or
              type parameter is different). To avoid the small performance
              penalty, you can use a(:) = ... instead of a = ... for arrays
!             and character strings - or disable the feature using -std=f95
              or -fno-realloc-lhs.
            + Deferred type parameter: For scalar allocatable and pointer
              variables the character length can be deferred.
*************** New Languages and Language specific impr
*** 10148,10154 ****
              be declared in a single PROCEDURE statement; implied-shape
              arrays are supported for named constants (PARAMETER). The
              transformational, three argument versions of BESSEL_JN and
!             BESSEL_YN were added – the elemental, two-argument version had
              been added in GCC 4.4; note that the transformational
              functions use a recurrence algorithm.
  
--- 10186,10192 ----
              be declared in a single PROCEDURE statement; implied-shape
              arrays are supported for named constants (PARAMETER). The
              transformational, three argument versions of BESSEL_JN and
!             BESSEL_YN were added - the elemental, two-argument version had
              been added in GCC 4.4; note that the transformational
              functions use a recurrence algorithm.
  
*************** New Targets and Target Specific Improvem
*** 10278,10284 ****
         and store multiples.
       * Several enhancements were committed to improve SIMD code generation
         for NEON by adding support for widening instructions, misaligned
!        loads and stores, vector conditionals and support for 64 bit
         arithmetic.
       * Support was added for the Faraday cores fa526, fa606te, fa626te,
         fmp626te, fmp626 and fa726te and can be used with the respective
--- 10316,10322 ----
         and store multiples.
       * Several enhancements were committed to improve SIMD code generation
         for NEON by adding support for widening instructions, misaligned
!        loads and stores, vector conditionals and support for 64-bit
         arithmetic.
       * Support was added for the Faraday cores fa526, fa606te, fa626te,
         fmp626te, fmp626 and fa726te and can be used with the respective
*************** New Targets and Target Specific Improvem
*** 10384,10392 ****
         instructions.
       * The GCC compiler on AIX now defaults to a process layout with a
         larger data space allowing larger programs to be compiled.
!      * The GCC long double type on AIX 6.1 and above has reverted to 64
!        bit double precision, matching the AIX XL compiler default, because
!        of missing C99 symbols required by the GCC runtime.
       * The default processor scheduling model and tuning for PowerPC64
         GNU/Linux and for AIX 6.1 and above now is POWER7.
       * Starting with GCC 4.6.1, vectors of type vector long long or vector
--- 10422,10430 ----
         instructions.
       * The GCC compiler on AIX now defaults to a process layout with a
         larger data space allowing larger programs to be compiled.
!      * The GCC long double type on AIX 6.1 and above has reverted to
!        64-bit double precision, matching the AIX XL compiler default,
!        because of missing C99 symbols required by the GCC runtime.
       * The default processor scheduling model and tuning for PowerPC64
         GNU/Linux and for AIX 6.1 and above now is POWER7.
       * Starting with GCC 4.6.1, vectors of type vector long long or vector
*************** GCC 4.6.4
*** 10593,10609 ****
     provided this notice is preserved.
  
     These pages are [28]maintained by the GCC team. Last modified
!    2023-01-18.
  
  References
  
     1. https://sourceware.org/bugzilla/show_bug.cgi?id=10401
!    2. http://gcc.gnu.org/gcc-4.5/changes.html
!    3. http://gcc.gnu.org/gcc-4.5/changes.html#obsoleted
!    4. http://gcc.gnu.org/gcc-4.6/porting_to.html
!    5. http://gcc.gnu.org/projects/lto/whopr.pdf
     6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
!    7. http://gcc.gnu.org/gcc-4.6/cxx0x_status.html
     8. https://gcc.gnu.org/PR43145
     9. https://gcc.gnu.org/PR43680
    10. https://gcc.gnu.org/PR33558
--- 10631,10647 ----
     provided this notice is preserved.
  
     These pages are [28]maintained by the GCC team. Last modified
!    2024-05-17.
  
  References
  
     1. https://sourceware.org/bugzilla/show_bug.cgi?id=10401
!    2. https://gcc.gnu.org/gcc-4.5/changes.html
!    3. https://gcc.gnu.org/gcc-4.5/changes.html#obsoleted
!    4. https://gcc.gnu.org/gcc-4.6/porting_to.html
!    5. https://gcc.gnu.org/projects/lto/whopr.pdf
     6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
!    7. https://gcc.gnu.org/gcc-4.6/cxx0x_status.html
     8. https://gcc.gnu.org/PR43145
     9. https://gcc.gnu.org/PR43680
    10. https://gcc.gnu.org/PR33558
*************** References
*** 10627,10632 ****
--- 10665,10671 ----
    28. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.5/index.html
+ 
                               GCC 4.5 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 10694,10710 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.5/changes.html
!    3. http://gcc.gnu.org/gcc-4.5/changes.html
!    4. http://gcc.gnu.org/gcc-4.5/changes.html
!    5. http://gcc.gnu.org/gcc-4.5/changes.html
!    6. http://gcc.gnu.org/gcc-4.5/changes.html
!    7. http://gcc.gnu.org/gcc-4.5/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. http://gcc.gnu.org/mirrors.html
!   12. http://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
--- 10733,10749 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.5/changes.html
!    3. https://gcc.gnu.org/gcc-4.5/changes.html
!    4. https://gcc.gnu.org/gcc-4.5/changes.html
!    5. https://gcc.gnu.org/gcc-4.5/changes.html
!    6. https://gcc.gnu.org/gcc-4.5/changes.html
!    7. https://gcc.gnu.org/gcc-4.5/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. https://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. https://gcc.gnu.org/mirrors.html
!   12. https://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
*************** References
*** 10713,10718 ****
--- 10752,10758 ----
    18. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.5/changes.html
+ 
                               GCC 4.5 Release Series
                          Changes, New Features, and Fixes
  
*************** New Languages and Language specific impr
*** 10949,10955 ****
         defined ([12]DR 757).
       * Labels may now have attributes, as has been permitted for a while
         in C. This is only permitted when the label definition and the
!        attribute specifier is followed by a semicolon—i.e., the label
         applies to an empty statement. The only useful attribute for a
         label is unused.
       * G++ now implements [13]DR 176. Previously G++ did not support using
--- 10989,10995 ----
         defined ([12]DR 757).
       * Labels may now have attributes, as has been permitted for a while
         in C. This is only permitted when the label definition and the
!        attribute specifier is followed by a semicolon--i.e., the label
         applies to an empty statement. The only useful attribute for a
         label is unused.
       * G++ now implements [13]DR 176. Previously G++ did not support using
*************** vector-size: improvement = 3: call stack
*** 11031,11037 ****
  
    Fortran
  
!      * The COMMON default padding has been changed – instead of adding the
         padding before a variable it is now added afterwards, which
         increases the compatibility with other vendors and helps to obtain
         the correct output in some cases. Cf. also the -falign-commons
--- 11071,11077 ----
  
    Fortran
  
!      * The COMMON default padding has been changed - instead of adding the
         padding before a variable it is now added afterwards, which
         increases the compatibility with other vendors and helps to obtain
         the correct output in some cases. Cf. also the -falign-commons
*************** GCC 4.5.4
*** 11360,11386 ****
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2023-01-15.
  
  References
  
!    1. https://www.multiprecision.org/mpc/
     2. https://gcc.gnu.org/install/prerequisites.html
     3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html
!    4. http://gcc.gnu.org/gcc-4.4/changes.html#obsoleted
!    5. http://gcc.gnu.org/gcc-4.5/changes.html#x86
     6. https://gcc.gnu.org/PR30789
     7. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto-801
     8. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhopr-802
     9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800
    10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html
!   11. http://gcc.gnu.org/gcc-4.5/cxx0x_status.html
    12. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757
    13. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176
    14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html
    15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733
    16. https://sourceware.org/gdb/wiki/STLSupport
!   17. http://gcc.gnu.org/gcc-4.4/changes.html
    18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html
    19. https://gcc.gnu.org/onlinedocs/gfortran/Mixed-Language-Programming.html
    20. https://gcc.gnu.org/onlinedocs/gfortran/GNU-Fortran-Compiler-Directives.html
--- 11400,11426 ----
     provided this notice is preserved.
  
     These pages are [32]maintained by the GCC team. Last modified
!    2023-07-30.
  
  References
  
!    1. https://www.multiprecision.org/
     2. https://gcc.gnu.org/install/prerequisites.html
     3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html
!    4. https://gcc.gnu.org/gcc-4.4/changes.html#obsoleted
!    5. https://gcc.gnu.org/gcc-4.5/changes.html#x86
     6. https://gcc.gnu.org/PR30789
     7. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto-801
     8. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhopr-802
     9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800
    10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html
!   11. https://gcc.gnu.org/gcc-4.5/cxx0x_status.html
    12. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757
    13. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176
    14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html
    15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733
    16. https://sourceware.org/gdb/wiki/STLSupport
!   17. https://gcc.gnu.org/gcc-4.4/changes.html
    18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html
    19. https://gcc.gnu.org/onlinedocs/gfortran/Mixed-Language-Programming.html
    20. https://gcc.gnu.org/onlinedocs/gfortran/GNU-Fortran-Compiler-Directives.html
*************** References
*** 11398,11403 ****
--- 11438,11444 ----
    32. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.4/index.html
+ 
                               GCC 4.4 Release Series
  
     This release series is no longer maintained.
*************** References and Acknowledgements
*** 11474,11493 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.4/changes.html
!    3. http://gcc.gnu.org/gcc-4.4/changes.html
!    4. http://gcc.gnu.org/gcc-4.4/changes.html
!    5. http://gcc.gnu.org/gcc-4.4/changes.html
!    6. http://gcc.gnu.org/gcc-4.4/changes.html
!    7. http://gcc.gnu.org/gcc-4.4/changes.html
!    8. http://gcc.gnu.org/gcc-4.4/changes.html
!    9. http://gcc.gnu.org/gcc-4.4/changes.html
!   10. http://gcc.gnu.org/gcc-4.4/buildstat.html
    11. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   12. http://gcc.gnu.org/index.html
    13. mailto:gcc@gcc.gnu.org
!   14. http://gcc.gnu.org/mirrors.html
!   15. http://gcc.gnu.org/git.html
    16. https://gcc.gnu.org/onlinedocs/
    17. mailto:gcc-help@gcc.gnu.org
    18. mailto:gcc@gcc.gnu.org
--- 11515,11534 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.4/changes.html
!    3. https://gcc.gnu.org/gcc-4.4/changes.html
!    4. https://gcc.gnu.org/gcc-4.4/changes.html
!    5. https://gcc.gnu.org/gcc-4.4/changes.html
!    6. https://gcc.gnu.org/gcc-4.4/changes.html
!    7. https://gcc.gnu.org/gcc-4.4/changes.html
!    8. https://gcc.gnu.org/gcc-4.4/changes.html
!    9. https://gcc.gnu.org/gcc-4.4/changes.html
!   10. https://gcc.gnu.org/gcc-4.4/buildstat.html
    11. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   12. https://gcc.gnu.org/index.html
    13. mailto:gcc@gcc.gnu.org
!   14. https://gcc.gnu.org/mirrors.html
!   15. https://gcc.gnu.org/git.html
    16. https://gcc.gnu.org/onlinedocs/
    17. mailto:gcc-help@gcc.gnu.org
    18. mailto:gcc@gcc.gnu.org
*************** References
*** 11496,11501 ****
--- 11537,11543 ----
    21. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.4/changes.html
+ 
                               GCC 4.4 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 4.4.7
*** 12102,12113 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.7
!    2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted
!    3. http://gcc.gnu.org/gcc-4.4/porting_to.html
     4. https://gcc.gnu.org/wiki/Graphite
     5. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf
!    6. http://gcc.gnu.org/gcc-4.4/cxx0x_status.html
     7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html
     8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125
     9. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcheck-array-temporaries_007d-221
--- 12144,12155 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-4.4/changes.html#4.4.7
!    2. https://gcc.gnu.org/gcc-4.3/changes.html#obsoleted
!    3. https://gcc.gnu.org/gcc-4.4/porting_to.html
     4. https://gcc.gnu.org/wiki/Graphite
     5. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf
!    6. https://gcc.gnu.org/gcc-4.4/cxx0x_status.html
     7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html
     8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125
     9. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcheck-array-temporaries_007d-221
*************** References
*** 12127,12132 ****
--- 12169,12175 ----
    23. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.3/index.html
+ 
                               GCC 4.3 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 12200,12218 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.3/changes.html
!    3. http://gcc.gnu.org/gcc-4.3/changes.html
!    4. http://gcc.gnu.org/gcc-4.3/changes.html
!    5. http://gcc.gnu.org/gcc-4.3/changes.html
!    6. http://gcc.gnu.org/gcc-4.3/changes.html
!    7. http://gcc.gnu.org/gcc-4.3/changes.html
!    8. http://gcc.gnu.org/gcc-4.3/changes.html
!    9. http://gcc.gnu.org/gcc-4.3/buildstat.html
    10. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   11. http://gcc.gnu.org/index.html
    12. mailto:gcc@gcc.gnu.org
!   13. http://gcc.gnu.org/mirrors.html
!   14. http://gcc.gnu.org/git.html
    15. https://gcc.gnu.org/onlinedocs/
    16. mailto:gcc-help@gcc.gnu.org
    17. mailto:gcc@gcc.gnu.org
--- 12243,12261 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.3/changes.html
!    3. https://gcc.gnu.org/gcc-4.3/changes.html
!    4. https://gcc.gnu.org/gcc-4.3/changes.html
!    5. https://gcc.gnu.org/gcc-4.3/changes.html
!    6. https://gcc.gnu.org/gcc-4.3/changes.html
!    7. https://gcc.gnu.org/gcc-4.3/changes.html
!    8. https://gcc.gnu.org/gcc-4.3/changes.html
!    9. https://gcc.gnu.org/gcc-4.3/buildstat.html
    10. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   11. https://gcc.gnu.org/index.html
    12. mailto:gcc@gcc.gnu.org
!   13. https://gcc.gnu.org/mirrors.html
!   14. https://gcc.gnu.org/git.html
    15. https://gcc.gnu.org/onlinedocs/
    16. mailto:gcc-help@gcc.gnu.org
    17. mailto:gcc@gcc.gnu.org
*************** References
*** 12221,12226 ****
--- 12264,12270 ----
    20. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.3/changes.html
+ 
                               GCC 4.3 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 4.3.6
*** 13003,13018 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.3/changes.html#4.3.5
     2. https://gmplib.org/
     3. https://www.mpfr.org/
     4. https://gcc.gnu.org/install/prerequisites.html
     5. https://gcc.gnu.org/ml/gcc-announce/2001/msg00000.html
     6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
!    7. http://gcc.gnu.org/gcc-4.3/porting_to.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
!    9. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
!   10. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
    11. https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html
    12. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options
    13. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfinit-local-zero_007d-167
--- 13047,13062 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-4.3/changes.html#4.3.5
     2. https://gmplib.org/
     3. https://www.mpfr.org/
     4. https://gcc.gnu.org/install/prerequisites.html
     5. https://gcc.gnu.org/ml/gcc-announce/2001/msg00000.html
     6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
!    7. https://gcc.gnu.org/gcc-4.3/porting_to.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
!    9. https://gcc.gnu.org/gcc-4.3/cxx0x_status.html
!   10. https://gcc.gnu.org/gcc-4.3/cxx0x_status.html
    11. https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html
    12. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options
    13. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfinit-local-zero_007d-167
*************** References
*** 13035,13040 ****
--- 13079,13085 ----
    30. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.2/index.html
+ 
                               GCC 4.2 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 13102,13118 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.2/changes.html
!    3. http://gcc.gnu.org/gcc-4.2/changes.html
!    4. http://gcc.gnu.org/gcc-4.2/changes.html
!    5. http://gcc.gnu.org/gcc-4.2/changes.html
!    6. http://gcc.gnu.org/gcc-4.2/changes.html
!    7. http://gcc.gnu.org/gcc-4.2/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. http://gcc.gnu.org/mirrors.html
!   12. http://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
--- 13147,13163 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.2/changes.html
!    3. https://gcc.gnu.org/gcc-4.2/changes.html
!    4. https://gcc.gnu.org/gcc-4.2/changes.html
!    5. https://gcc.gnu.org/gcc-4.2/changes.html
!    6. https://gcc.gnu.org/gcc-4.2/changes.html
!    7. https://gcc.gnu.org/gcc-4.2/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. https://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. https://gcc.gnu.org/mirrors.html
!   12. https://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
*************** References
*** 13121,13126 ****
--- 13166,13172 ----
    18. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.2/changes.html
+ 
                               GCC 4.2 Release Series
                          Changes, New Features, and Fixes
  
*************** Other significant improvements
*** 13428,13434 ****
  
  References
  
!    1. http://gcc.gnu.org/projects/gomp/
     2. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
     3. https://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html
     4. https://gcc.gnu.org/onlinedocs/gfortran/Runtime-Options.html
--- 13474,13480 ----
  
  References
  
!    1. https://gcc.gnu.org/projects/gomp/
     2. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
     3. https://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html
     4. https://gcc.gnu.org/onlinedocs/gfortran/Runtime-Options.html
*************** References
*** 13441,13446 ****
--- 13487,13493 ----
    11. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.1/index.html
+ 
                               GCC 4.1 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 13502,13516 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
!    3. http://gcc.gnu.org/gcc-4.1/changes.html
!    4. http://gcc.gnu.org/gcc-4.1/changes.html
!    5. http://gcc.gnu.org/gcc-4.1/buildstat.html
     6. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    7. http://gcc.gnu.org/index.html
     8. mailto:gcc@gcc.gnu.org
!    9. http://gcc.gnu.org/mirrors.html
!   10. http://gcc.gnu.org/git.html
    11. https://gcc.gnu.org/onlinedocs/
    12. mailto:gcc-help@gcc.gnu.org
    13. mailto:gcc@gcc.gnu.org
--- 13549,13563 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
!    3. https://gcc.gnu.org/gcc-4.1/changes.html
!    4. https://gcc.gnu.org/gcc-4.1/changes.html
!    5. https://gcc.gnu.org/gcc-4.1/buildstat.html
     6. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    7. https://gcc.gnu.org/index.html
     8. mailto:gcc@gcc.gnu.org
!    9. https://gcc.gnu.org/mirrors.html
!   10. https://gcc.gnu.org/git.html
    11. https://gcc.gnu.org/onlinedocs/
    12. mailto:gcc-help@gcc.gnu.org
    13. mailto:gcc@gcc.gnu.org
*************** References
*** 13519,13524 ****
--- 13566,13572 ----
    16. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.1/changes.html
+ 
                               GCC 4.1 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 4.1.2
*** 14059,14065 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
     2. https://gcc.gnu.org/ml/java/2005-05/msg00260.html
     3. https://developer.classpath.org/doc/
     4. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
--- 14107,14113 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
     2. https://gcc.gnu.org/ml/java/2005-05/msg00260.html
     3. https://developer.classpath.org/doc/
     4. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
*************** References
*** 14072,14077 ****
--- 14120,14126 ----
    11. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/index.html
+ 
                               GCC 4.0 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 14139,14155 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
!    3. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.3
!    4. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.2
!    5. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
!    6. http://gcc.gnu.org/gcc-4.0/changes.html
!    7. http://gcc.gnu.org/gcc-4.0/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. http://gcc.gnu.org/mirrors.html
!   12. http://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
--- 14188,14204 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
!    3. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.3
!    4. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.2
!    5. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
!    6. https://gcc.gnu.org/gcc-4.0/changes.html
!    7. https://gcc.gnu.org/gcc-4.0/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. https://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. https://gcc.gnu.org/mirrors.html
!   12. https://gcc.gnu.org/git.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
*************** References
*** 14158,14163 ****
--- 14207,14213 ----
    18. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/changes.html
+ 
                               GCC 4.0 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 4.0.4
*** 14663,14677 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
     2. https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
!    3. http://gcc.gnu.org/projects/tree-ssa/
!    4. http://gcc.gnu.org/projects/tree-ssa/vectorization.html
!    5. http://gcc.gnu.org/news/sms.html
     6. https://www.akkadia.org/drepper/dsohowto.pdf
!    7. http://gcc.gnu.org/gcc-4.0/changes.html#visibility
     8. https://itanium-cxx-abi.github.io/cxx-abi/
!    9. http://gcc.gnu.org/fortran/
    10. https://gcc.gnu.org/install/
    11. https://gcc.gnu.org/wiki/Visibility
    12. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1
--- 14713,14727 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
     2. https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
!    3. https://gcc.gnu.org/projects/tree-ssa/
!    4. https://gcc.gnu.org/projects/tree-ssa/vectorization.html
!    5. https://gcc.gnu.org/news/sms.html
     6. https://www.akkadia.org/drepper/dsohowto.pdf
!    7. https://gcc.gnu.org/gcc-4.0/changes.html#visibility
     8. https://itanium-cxx-abi.github.io/cxx-abi/
!    9. https://gcc.gnu.org/fortran/
    10. https://gcc.gnu.org/install/
    11. https://gcc.gnu.org/wiki/Visibility
    12. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1
*************** References
*** 14686,14691 ****
--- 14736,14742 ----
    21. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/index.html
+ 
                               GCC 3.4 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 14764,14784 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-3.4/changes.html
     3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    4. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
!    5. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5
!    6. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
!    7. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.3
!    8. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.2
!    9. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1
!   10. http://gcc.gnu.org/gcc-3.4/changes.html
!   11. http://gcc.gnu.org/gcc-3.4/buildstat.html
    12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   13. http://gcc.gnu.org/index.html
    14. mailto:gcc@gcc.gnu.org
!   15. http://gcc.gnu.org/mirrors.html
!   16. http://gcc.gnu.org/git.html
    17. https://gcc.gnu.org/onlinedocs/
    18. mailto:gcc-help@gcc.gnu.org
    19. mailto:gcc@gcc.gnu.org
--- 14815,14835 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-3.4/changes.html
     3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    4. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
!    5. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.5
!    6. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
!    7. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.3
!    8. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.2
!    9. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.1
!   10. https://gcc.gnu.org/gcc-3.4/changes.html
!   11. https://gcc.gnu.org/gcc-3.4/buildstat.html
    12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   13. https://gcc.gnu.org/index.html
    14. mailto:gcc@gcc.gnu.org
!   15. https://gcc.gnu.org/mirrors.html
!   16. https://gcc.gnu.org/git.html
    17. https://gcc.gnu.org/onlinedocs/
    18. mailto:gcc-help@gcc.gnu.org
    19. mailto:gcc@gcc.gnu.org
*************** References
*** 14787,14792 ****
--- 14838,14844 ----
    22. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/changes.html
+ 
                               GCC 3.4 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 3.4.6
*** 16550,16567 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
!    2. http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
!    3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
!    4. http://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems
!    5. http://gcc.gnu.org/gcc-3.4/mips-abi.html
!    6. http://gcc.gnu.org/gcc-3.4/sparc-abi.html
     7. https://www.boost.org/
     8. https://gcc.gnu.org/PR11953
     9. https://gcc.gnu.org/PR8361
!   10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other Builtins
    11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209
!   12. http://gcc.gnu.org/bugs/#cxx_rvalbind
    13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
    14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
    15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
--- 16602,16619 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
!    2. https://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
!    3. https://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
!    4. https://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems
!    5. https://gcc.gnu.org/gcc-3.4/mips-abi.html
!    6. https://gcc.gnu.org/gcc-3.4/sparc-abi.html
     7. https://www.boost.org/
     8. https://gcc.gnu.org/PR11953
     9. https://gcc.gnu.org/PR8361
!   10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other%20Builtins
    11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209
!   12. https://gcc.gnu.org/bugs/#cxx_rvalbind
    13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
    14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
    15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
*************** References
*** 16572,16581 ****
    20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
    21. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Comparison-of-the-two-descriptions.html
    22. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
!   23. http://gcc.gnu.org/gcc-3.4/mips-abi.html
!   24. http://gcc.gnu.org/gcc-3.4/powerpc-abi.html
!   25. http://gcc.gnu.org/gcc-3.4/sparc-abi.html
!   26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=\[3\.4.*[Rr]egression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED
    27. https://gcc.gnu.org/PR10129
    28. https://gcc.gnu.org/PR14576
    29. https://gcc.gnu.org/PR14760
--- 16624,16633 ----
    20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
    21. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Comparison-of-the-two-descriptions.html
    22. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
!   23. https://gcc.gnu.org/gcc-3.4/mips-abi.html
!   24. https://gcc.gnu.org/gcc-3.4/powerpc-abi.html
!   25. https://gcc.gnu.org/gcc-3.4/sparc-abi.html
!   26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=%5C%5B3%5C.4.*%5BRr%5Degression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED
    27. https://gcc.gnu.org/PR10129
    28. https://gcc.gnu.org/PR14576
    29. https://gcc.gnu.org/PR14760
*************** References
*** 16968,16973 ****
--- 17020,17026 ----
   416. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.3/index.html
+ 
                               GCC 3.3 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 17046,17065 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-3.3/changes.html
     3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
!    5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.5
!    6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.4
!    7. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
!    8. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2
!    9. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1
!   10. http://gcc.gnu.org/gcc-3.3/changes.html
!   11. http://gcc.gnu.org/gcc-3.3/buildstat.html
    12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   13. http://gcc.gnu.org/index.html
    14. mailto:gcc@gcc.gnu.org
!   15. http://gcc.gnu.org/mirrors.html
    16. https://gcc.gnu.org/onlinedocs/
    17. mailto:gcc-help@gcc.gnu.org
    18. mailto:gcc@gcc.gnu.org
--- 17099,17118 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-3.3/changes.html
     3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    4. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
!    5. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.5
!    6. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.4
!    7. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
!    8. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.2
!    9. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.1
!   10. https://gcc.gnu.org/gcc-3.3/changes.html
!   11. https://gcc.gnu.org/gcc-3.3/buildstat.html
    12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   13. https://gcc.gnu.org/index.html
    14. mailto:gcc@gcc.gnu.org
!   15. https://gcc.gnu.org/mirrors.html
    16. https://gcc.gnu.org/onlinedocs/
    17. mailto:gcc-help@gcc.gnu.org
    18. mailto:gcc@gcc.gnu.org
*************** References
*** 17068,17073 ****
--- 17121,17127 ----
    21. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.3/changes.html
+ 
                               GCC 3.3 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 3.3.6
*** 18419,18430 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
!    2. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems
!    3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
!    4. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute
!    5. http://gcc.gnu.org/news/dfa.html
!    6. http://gcc.gnu.org/c99status.html
     7. https://gcc.gnu.org/onlinedocs/gcc-3.3.6/g77/News.html
     8. https://gcc.gnu.org/PR10140
     9. https://gcc.gnu.org/PR10198
--- 18473,18484 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
!    2. https://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems
!    3. https://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
!    4. https://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute
!    5. https://gcc.gnu.org/news/dfa.html
!    6. https://gcc.gnu.org/c99status.html
     7. https://gcc.gnu.org/onlinedocs/gcc-3.3.6/g77/News.html
     8. https://gcc.gnu.org/PR10140
     9. https://gcc.gnu.org/PR10198
*************** References
*** 18977,18982 ****
--- 19031,19037 ----
   556. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.2/index.html
+ 
                               GCC 3.2 Release Series
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 19049,19064 ****
  References
  
     1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-3.2/changes.html
!    3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
!    4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2
!    5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1
!    6. http://gcc.gnu.org/gcc-3.2/changes.html#3.2
!    7. http://gcc.gnu.org/gcc-3.2/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. http://gcc.gnu.org/mirrors.html
    12. https://gcc.gnu.org/onlinedocs/
    13. mailto:gcc-help@gcc.gnu.org
    14. mailto:gcc@gcc.gnu.org
--- 19104,19119 ----
  References
  
     1. http://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-3.2/changes.html
!    3. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
!    4. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.2
!    5. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.1
!    6. https://gcc.gnu.org/gcc-3.2/changes.html#3.2
!    7. https://gcc.gnu.org/gcc-3.2/buildstat.html
     8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. https://gcc.gnu.org/index.html
    10. mailto:gcc@gcc.gnu.org
!   11. https://gcc.gnu.org/mirrors.html
    12. https://gcc.gnu.org/onlinedocs/
    13. mailto:gcc-help@gcc.gnu.org
    14. mailto:gcc@gcc.gnu.org
*************** References
*** 19067,19072 ****
--- 19122,19128 ----
    17. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.2/changes.html
+ 
                               GCC 3.2 Release Series
                          Changes, New Features, and Fixes
  
*************** GCC 3.2
*** 19670,19678 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
!    2. http://gcc.gnu.org/gcc-3.1/changes.html
!    3. http://gcc.gnu.org/gcc-3.2/c++-abi.html
     4. https://gcc.gnu.org/PR3782
     5. https://gcc.gnu.org/PR6440
     6. https://gcc.gnu.org/PR7050
--- 19726,19734 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
!    2. https://gcc.gnu.org/gcc-3.1/changes.html
!    3. https://gcc.gnu.org/gcc-3.2/c++-abi.html
     4. https://gcc.gnu.org/PR3782
     5. https://gcc.gnu.org/PR6440
     6. https://gcc.gnu.org/PR7050
*************** References
*** 19923,19995 ****
   251. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.1/index.html
                                      GCC 3.1
  
     (This release series is no longer supported.)
  
     July 27, 2002
  
!    The [1]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.1.1.
  
     The links below still apply to GCC 3.1.1.
  
     May 15, 2002
  
!    The [2]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.1.
  
     GCC used to stand for the GNU C Compiler, but since the compiler
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A list of [3]successful builds is updated as new information becomes
     available.
  
     The GCC developers would like to thank the numerous people that have
!    contributed [4]new features, improvements, bug fixes, and other changes
!    as well as test results to GCC. This [5]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [6]GCC project
!    web site or contact the [7]GCC development mailing list.
  
!    To obtain GCC please use [8]our mirror sites, or our CVS server.
       __________________________________________________________________
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [9]GCC manuals. If that fails, the
!     [10]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [11]gcc@gcc.gnu.org. All of [12]our lists have public
      archives.
  
!    Copyright (C) [13]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [14]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
!    1. http://www.gnu.org/
!    2. http://www.gnu.org/
!    3. http://gcc.gnu.org/gcc-3.1/buildstat.html
!    4. http://gcc.gnu.org/gcc-3.1/changes.html
!    5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    6. http://gcc.gnu.org/index.html
!    7. mailto:gcc@gcc.gnu.org
!    8. http://gcc.gnu.org/mirrors.html
!    9. https://gcc.gnu.org/onlinedocs/
!   10. mailto:gcc-help@gcc.gnu.org
!   11. mailto:gcc@gcc.gnu.org
!   12. https://gcc.gnu.org/lists.html
!   13. https://www.fsf.org/
!   14. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.1/changes.html
                               GCC 3.1 Release Series
                          Changes, New Features, and Fixes
  
--- 19979,20052 ----
   251. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.1/index.html
+ 
                                      GCC 3.1
  
     (This release series is no longer supported.)
  
     July 27, 2002
  
!    The GNU project and the GCC developers are pleased to announce the
     release of GCC 3.1.1.
  
     The links below still apply to GCC 3.1.1.
  
     May 15, 2002
  
!    The [1]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.1.
  
     GCC used to stand for the GNU C Compiler, but since the compiler
     supports several other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A list of [2]successful builds is updated as new information becomes
     available.
  
     The GCC developers would like to thank the numerous people that have
!    contributed [3]new features, improvements, bug fixes, and other changes
!    as well as test results to GCC. This [4]amazing group of volunteers is
     what makes GCC successful.
  
!    For additional information about GCC please refer to the [5]GCC project
!    web site or contact the [6]GCC development mailing list.
  
!    To obtain GCC please use [7]our mirror sites, or our CVS server.
       __________________________________________________________________
  
  
      For questions related to the use of GCC, please consult these web
!     pages and the [8]GCC manuals. If that fails, the
!     [9]gcc-help@gcc.gnu.org mailing list might help. Comments on these
      web pages and the development of GCC are welcome on our developer
!     list at [10]gcc@gcc.gnu.org. All of [11]our lists have public
      archives.
  
!    Copyright (C) [12]Free Software Foundation, Inc. Verbatim copying and
     distribution of this entire article is permitted in any medium,
     provided this notice is preserved.
  
!    These pages are [13]maintained by the GCC team. Last modified
!    2024-07-04.
  
  References
  
!    1. https://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-3.1/buildstat.html
!    3. https://gcc.gnu.org/gcc-3.1/changes.html
!    4. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    5. https://gcc.gnu.org/index.html
!    6. mailto:gcc@gcc.gnu.org
!    7. https://gcc.gnu.org/mirrors.html
!    8. https://gcc.gnu.org/onlinedocs/
!    9. mailto:gcc-help@gcc.gnu.org
!   10. mailto:gcc@gcc.gnu.org
!   11. https://gcc.gnu.org/lists.html
!   12. https://www.fsf.org/
!   13. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.1/changes.html
+ 
                               GCC 3.1 Release Series
                          Changes, New Features, and Fixes
  
*************** New Targets and Target Specific Improvem
*** 20207,20213 ****
            + For those targets that support it, -mfpmath=sse will cause the
              compiler to generate SSE/SSE2 instructions for floating point
              math instead of x87 instructions. Usually, this will lead to
!             quicker code — especially on the Pentium 4. Note that only
              scalar floating point instructions are used and GCC does not
              exploit SIMD features yet.
            + Prefetch support has been added to the Pentium III, Pentium 4,
--- 20264,20270 ----
            + For those targets that support it, -mfpmath=sse will cause the
              compiler to generate SSE/SSE2 instructions for floating point
              math instead of x87 instructions. Usually, this will lead to
!             quicker code -- especially on the Pentium 4. Note that only
              scalar floating point instructions are used and GCC does not
              exploit SIMD features yet.
            + Prefetch support has been added to the Pentium III, Pentium 4,
*************** Documentation improvements
*** 20328,20336 ****
  References
  
     1. https://gcc.gnu.org/ml/gcc/2002-07/msg01208.html
!    2. http://gcc.gnu.org/news/profiledriven.html
!    3. http://gcc.gnu.org/benchmarks/
!    4. http://gcc.gnu.org/c99status.html
     5. https://gcc.gnu.org/onlinedocs/libstdc++/faq.html
     6. https://gcc.gnu.org/onlinedocs/gcc-3.1.1/g77/News.html
     7. https://www.adacore.com/
--- 20385,20393 ----
  References
  
     1. https://gcc.gnu.org/ml/gcc/2002-07/msg01208.html
!    2. https://gcc.gnu.org/news/profiledriven.html
!    3. https://gcc.gnu.org/benchmarks/
!    4. https://gcc.gnu.org/c99status.html
     5. https://gcc.gnu.org/onlinedocs/libstdc++/faq.html
     6. https://gcc.gnu.org/onlinedocs/gcc-3.1.1/g77/News.html
     7. https://www.adacore.com/
*************** References
*** 20342,20347 ****
--- 20399,20405 ----
    13. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.0/index.html
+ 
                                     GCC 3.0.4
  
     (This release series is no longer supported.)
*************** Previous 3.0.x Releases
*** 20396,20413 ****
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
!    1. http://www.gnu.org/
!    2. http://gcc.gnu.org/gcc-3.0/features.html
!    3. http://gcc.gnu.org/gcc-3.0/buildstat.html
     4. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    5. http://gcc.gnu.org/gcc-3.0/caveats.html
!    6. http://gcc.gnu.org/index.html
     7. mailto:gcc@gcc.gnu.org
!    8. http://gcc.gnu.org/mirrors.html
     9. https://gcc.gnu.org/onlinedocs/
    10. mailto:gcc-help@gcc.gnu.org
    11. mailto:gcc@gcc.gnu.org
--- 20454,20471 ----
     provided this notice is preserved.
  
     These pages are [14]maintained by the GCC team. Last modified
!    2024-07-04.
  
  References
  
!    1. https://www.gnu.org/
!    2. https://gcc.gnu.org/gcc-3.0/features.html
!    3. https://gcc.gnu.org/gcc-3.0/buildstat.html
     4. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    5. https://gcc.gnu.org/gcc-3.0/caveats.html
!    6. https://gcc.gnu.org/index.html
     7. mailto:gcc@gcc.gnu.org
!    8. https://gcc.gnu.org/mirrors.html
     9. https://gcc.gnu.org/onlinedocs/
    10. mailto:gcc-help@gcc.gnu.org
    11. mailto:gcc@gcc.gnu.org
*************** References
*** 20416,20421 ****
--- 20474,20480 ----
    14. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.0/features.html
+ 
                                GCC 3.0 New Features
  
  Additional changes in GCC 3.0.4
*************** Other significant improvements
*** 20591,20607 ****
  References
  
     1. http://www.netbsd.org/
!    2. http://gcc.gnu.org/news/reorder.html
!    3. http://gcc.gnu.org/news/ssa.html
!    4. http://gcc.gnu.org/news/null.html
!    5. http://gcc.gnu.org/news/unify.html
!    6. http://gcc.gnu.org/gcc-3.0/c++features.html
!    7. http://gcc.gnu.org/news/inlining.html
!    8. http://gcc.gnu.org/news/dependencies.html
!    9. http://gcc.gnu.org/c99status.html
    10. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
!   11. http://gcc.gnu.org/gcc-3.0/libgcc.html
!   12. http://gcc.gnu.org/gcc-2.95/features.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
--- 20650,20666 ----
  References
  
     1. http://www.netbsd.org/
!    2. https://gcc.gnu.org/news/reorder.html
!    3. https://gcc.gnu.org/news/ssa.html
!    4. https://gcc.gnu.org/news/null.html
!    5. https://gcc.gnu.org/news/unify.html
!    6. https://gcc.gnu.org/gcc-3.0/c++features.html
!    7. https://gcc.gnu.org/news/inlining.html
!    8. https://gcc.gnu.org/news/dependencies.html
!    9. https://gcc.gnu.org/c99status.html
    10. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
!   11. https://gcc.gnu.org/gcc-3.0/libgcc.html
!   12. https://gcc.gnu.org/gcc-2.95/features.html
    13. https://gcc.gnu.org/onlinedocs/
    14. mailto:gcc-help@gcc.gnu.org
    15. mailto:gcc@gcc.gnu.org
*************** References
*** 20610,20615 ****
--- 20669,20675 ----
    18. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-3.0/caveats.html
+ 
                                  GCC 3.0 Caveats
  
       * -fstrict-aliasing is now part of -O2 and higher optimization
*************** References
*** 20669,20674 ****
--- 20729,20735 ----
     7. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-2.95/index.html
+ 
                                      GCC 2.95
  
     (This release series is no longer supported.)
*************** References and Acknowledgements
*** 20741,20754 ****
  
  References
  
!    1. http://gcc.gnu.org/gcc-2.95/regress.html
!    2. http://gcc.gnu.org/gcc-2.95/othertest.html
!    3. http://gcc.gnu.org/gcc-2.95/features.html
!    4. http://gcc.gnu.org/gcc-2.95/buildstat.html
     5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    6. http://gcc.gnu.org/gcc-2.95/caveats.html
!    7. http://gcc.gnu.org/mirrors.html
!    8. http://gcc.gnu.org/index.html
     9. mailto:gcc@gcc.gnu.org
    10. https://gcc.gnu.org/onlinedocs/
    11. mailto:gcc-help@gcc.gnu.org
--- 20802,20815 ----
  
  References
  
!    1. https://gcc.gnu.org/gcc-2.95/regress.html
!    2. https://gcc.gnu.org/gcc-2.95/othertest.html
!    3. https://gcc.gnu.org/gcc-2.95/features.html
!    4. https://gcc.gnu.org/gcc-2.95/buildstat.html
     5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    6. https://gcc.gnu.org/gcc-2.95/caveats.html
!    7. https://gcc.gnu.org/mirrors.html
!    8. https://gcc.gnu.org/index.html
     9. mailto:gcc@gcc.gnu.org
    10. https://gcc.gnu.org/onlinedocs/
    11. mailto:gcc-help@gcc.gnu.org
*************** References
*** 20758,20763 ****
--- 20819,20825 ----
    15. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-2.95/features.html
+ 
                               GCC 2.95 New Features
  
       * General Optimizer Improvements:
*************** http://gcc.gnu.org/gcc-2.95/features.htm
*** 20786,20792 ****
            + More support for various pragmas which appear in vendor
              include files
       * New Targets and Target Specific Improvements
!           + [14]SPARC backend rewrite.
            + -mschedule=8000 will optimize code for PA8000 class
              processors; -mpa-risc-2-0 will generate code for PA2.0
              processors
--- 20848,20854 ----
            + More support for various pragmas which appear in vendor
              include files
       * New Targets and Target Specific Improvements
!           + [14]SPARC back end rewrite.
            + -mschedule=8000 will optimize code for PA8000 class
              processors; -mpa-risc-2-0 will generate code for PA2.0
              processors
*************** Additional Changes in GCC 2.95.2
*** 20926,20932 ****
       * Platform specific bugfixes and improvements
            + Work around bug in Sun V5.0 compilers which caused bootstrap
              comparison failures on SPARC targets.
!           + Fix SPARC backend bug which caused aborts in final.c.
            + Fix sparc-hal-solaris2* configuration fragments.
            + Fix bug in sparc block profiling.
            + Fix obscure code generation bug for the PARISC targets.
--- 20988,20994 ----
       * Platform specific bugfixes and improvements
            + Work around bug in Sun V5.0 compilers which caused bootstrap
              comparison failures on SPARC targets.
!           + Fix SPARC back end bug which caused aborts in final.c.
            + Fix sparc-hal-solaris2* configuration fragments.
            + Fix bug in sparc block profiling.
            + Fix obscure code generation bug for the PARISC targets.
*************** Additional Changes in GCC 2.95.3
*** 21001,21026 ****
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
!    1. http://gcc.gnu.org/news/spill.html
!    2. http://gcc.gnu.org/news/lcm.html
!    3. http://gcc.gnu.org/news/cprop.html
!    4. http://gcc.gnu.org/news/cfg.html
!    5. http://gcc.gnu.org/news/dse.html
!    6. http://gcc.gnu.org/news/hoist.html
!    7. http://gcc.gnu.org/news/alias.html
!    8. http://gcc.gnu.org/gcc-2.95/c++features.html
     9. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
!   10. http://gcc.gnu.org/news/gcj-announce.txt
!   11. http://gcc.gnu.org/news/javaannounce.html
!   12. http://gcc.gnu.org/c99status.html
!   13. http://gcc.gnu.org/news/chill.html
!   14. http://gcc.gnu.org/news/sparc.html
!   15. http://gcc.gnu.org/news/egcs-vcg.html
!   16. http://gcc.gnu.org/egcs-1.0/features-2.8.html
    17. https://gcc.gnu.org/onlinedocs/
    18. mailto:gcc-help@gcc.gnu.org
    19. mailto:gcc@gcc.gnu.org
--- 21063,21088 ----
     provided this notice is preserved.
  
     These pages are [22]maintained by the GCC team. Last modified
!    2023-09-02.
  
  References
  
!    1. https://gcc.gnu.org/news/spill.html
!    2. https://gcc.gnu.org/news/lcm.html
!    3. https://gcc.gnu.org/news/cprop.html
!    4. https://gcc.gnu.org/news/cfg.html
!    5. https://gcc.gnu.org/news/dse.html
!    6. https://gcc.gnu.org/news/hoist.html
!    7. https://gcc.gnu.org/news/alias.html
!    8. https://gcc.gnu.org/gcc-2.95/c++features.html
     9. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
!   10. https://gcc.gnu.org/news/gcj-announce.txt
!   11. https://gcc.gnu.org/news/javaannounce.html
!   12. https://gcc.gnu.org/c99status.html
!   13. https://gcc.gnu.org/news/chill.html
!   14. https://gcc.gnu.org/news/sparc.html
!   15. https://gcc.gnu.org/news/egcs-vcg.html
!   16. https://gcc.gnu.org/egcs-1.0/features-2.8.html
    17. https://gcc.gnu.org/onlinedocs/
    18. mailto:gcc-help@gcc.gnu.org
    19. mailto:gcc@gcc.gnu.org
*************** References
*** 21029,21034 ****
--- 21091,21097 ----
    22. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/gcc-2.95/caveats.html
+ 
                                  GCC 2.95 Caveats
  
       * GCC 2.95 will issue an error for invalid asm statements that had
*************** References
*** 21096,21101 ****
--- 21159,21165 ----
     7. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.1/index.html
+ 
                                      EGCS 1.1
  
     September 3, 1998: We are pleased to announce the release of EGCS 1.1.
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 21122,21128 ****
       * Vastly improved [4]C++ compiler and integrated C++ runtime
         libraries.
       * Fixes for the /tmp symlink race security problems.
!      * New targets including mips16, arm-thumb and 64 bit PowerPC.
       * Improvements to GNU Fortran (g77) compiler and runtime library made
         since g77 version 0.5.23.
  
--- 21186,21192 ----
       * Vastly improved [4]C++ compiler and integrated C++ runtime
         libraries.
       * Fixes for the /tmp symlink race security problems.
!      * New targets including mips16, arm-thumb and 64-bit PowerPC.
       * Improvements to GNU Fortran (g77) compiler and runtime library made
         since g77 version 0.5.23.
  
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 21166,21172 ****
            + Fix a few arm code generation bugs.
            + Fixincludes will fix additional broken SCO OpenServer header
              files.
!           + Fix a m68k backend bug which caused invalid offsets in reg+d
              addresses.
            + Fix problems with 64bit AIX 4.3 support.
            + Fix handling of long longs for varargs/stdarg functions on the
--- 21230,21236 ----
            + Fix a few arm code generation bugs.
            + Fixincludes will fix additional broken SCO OpenServer header
              files.
!           + Fix a m68k back end bug which caused invalid offsets in reg+d
              addresses.
            + Fix problems with 64bit AIX 4.3 support.
            + Fix handling of long longs for varargs/stdarg functions on the
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 21303,21321 ****
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2023-01-21.
  
  References
  
!    1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
!    2. http://gcc.gnu.org/news/gcse.html
!    3. http://gcc.gnu.org/news/alias.html
!    4. http://gcc.gnu.org/egcs-1.1/c++features.html
!    5. http://gcc.gnu.org/egcs-1.1/features.html
!    6. http://gcc.gnu.org/egcs-1.1/buildstat.html
     7. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    8. http://gcc.gnu.org/egcs-1.1/caveats.html
!    9. http://gcc.gnu.org/mirrors.html
    10. https://gcc.gnu.org/onlinedocs/
    11. mailto:gcc-help@gcc.gnu.org
    12. mailto:gcc@gcc.gnu.org
--- 21367,21385 ----
     provided this notice is preserved.
  
     These pages are [15]maintained by the GCC team. Last modified
!    2024-05-18.
  
  References
  
!    1. https://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
!    2. https://gcc.gnu.org/news/gcse.html
!    3. https://gcc.gnu.org/news/alias.html
!    4. https://gcc.gnu.org/egcs-1.1/c++features.html
!    5. https://gcc.gnu.org/egcs-1.1/features.html
!    6. https://gcc.gnu.org/egcs-1.1/buildstat.html
     7. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    8. https://gcc.gnu.org/egcs-1.1/caveats.html
!    9. https://gcc.gnu.org/mirrors.html
    10. https://gcc.gnu.org/onlinedocs/
    11. mailto:gcc-help@gcc.gnu.org
    12. mailto:gcc@gcc.gnu.org
*************** References
*** 21324,21329 ****
--- 21388,21394 ----
    15. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.1/features.html
+ 
                               EGCS 1.1 new features
  
       * Integrated GNU Fortran (g77) compiler and runtime library with
*************** http://gcc.gnu.org/egcs-1.1/features.htm
*** 21378,21384 ****
              Intel recommendations now. Various improvements throughout the
              x86 port to improve performance on Pentium processors
              (including improved epilogue sequences for Pentium chips and
!             backend improvements which should help register allocation on
              all x86 variants. Conditional move support has been fixed and
              enabled for PPro processors. The x86 port also better supports
              64bit operations now. Unixware 7, a System V Release 5 target,
--- 21443,21449 ----
              Intel recommendations now. Various improvements throughout the
              x86 port to improve performance on Pentium processors
              (including improved epilogue sequences for Pentium chips and
!             back end improvements which should help register allocation on
              all x86 variants. Conditional move support has been fixed and
              enabled for PPro processors. The x86 port also better supports
              64bit operations now. Unixware 7, a System V Release 5 target,
*************** http://gcc.gnu.org/egcs-1.1/features.htm
*** 21401,21414 ****
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2022-10-26.
  
  References
  
!    1. http://gcc.gnu.org/egcs-1.1/c++features.html
!    2. http://gcc.gnu.org/news/gcse.html
!    3. http://gcc.gnu.org/news/alias.html
!    4. http://gcc.gnu.org/egcs-1.0/features-2.8.html
     5. https://gcc.gnu.org/onlinedocs/
     6. mailto:gcc-help@gcc.gnu.org
     7. mailto:gcc@gcc.gnu.org
--- 21466,21479 ----
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2023-09-02.
  
  References
  
!    1. https://gcc.gnu.org/egcs-1.1/c++features.html
!    2. https://gcc.gnu.org/news/gcse.html
!    3. https://gcc.gnu.org/news/alias.html
!    4. https://gcc.gnu.org/egcs-1.0/features-2.8.html
     5. https://gcc.gnu.org/onlinedocs/
     6. mailto:gcc-help@gcc.gnu.org
     7. mailto:gcc@gcc.gnu.org
*************** References
*** 21417,21422 ****
--- 21482,21488 ----
    10. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.1/caveats.html
+ 
                                  EGCS 1.1 Caveats
  
       * EGCS has an integrated libstdc++, but does not have an integrated
*************** References
*** 21466,21471 ****
--- 21532,21538 ----
     6. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.0/index.html
+ 
                                      EGCS 1.0
  
     December 3, 1997: We are pleased to announce the release of EGCS 1.0.
*************** http://gcc.gnu.org/egcs-1.0/index.html
*** 21574,21580 ****
            + Add missing entries to g77 lang-options.
            + Fix problem with -fpedantic in the g77 compiler.
            + Fix "backspace" problem with g77 on alphas.
!           + Fix x86 backend problem with Fortran literals and -fpic.
            + Fix some of the problems with negative subscripts for g77 on
              alphas.
            + Fixes for Fortran builds on cygwin32/mingw32.
--- 21641,21647 ----
            + Add missing entries to g77 lang-options.
            + Fix problem with -fpedantic in the g77 compiler.
            + Fix "backspace" problem with g77 on alphas.
!           + Fix x86 back end problem with Fortran literals and -fpic.
            + Fix some of the problems with negative subscripts for g77 on
              alphas.
            + Fixes for Fortran builds on cygwin32/mingw32.
*************** http://gcc.gnu.org/egcs-1.0/index.html
*** 21649,21662 ****
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2023-01-21.
  
  References
  
!    1. http://gcc.gnu.org/egcs-1.0/features.html
!    2. http://gcc.gnu.org/egcs-1.0/buildstat.html
!    3. http://gcc.gnu.org/egcs-1.0/caveats.html
!    4. http://gcc.gnu.org/mirrors.html
     5. https://gcc.gnu.org/onlinedocs/
     6. mailto:gcc-help@gcc.gnu.org
     7. mailto:gcc@gcc.gnu.org
--- 21716,21729 ----
     provided this notice is preserved.
  
     These pages are [10]maintained by the GCC team. Last modified
!    2023-09-02.
  
  References
  
!    1. https://gcc.gnu.org/egcs-1.0/features.html
!    2. https://gcc.gnu.org/egcs-1.0/buildstat.html
!    3. https://gcc.gnu.org/egcs-1.0/caveats.html
!    4. https://gcc.gnu.org/mirrors.html
     5. https://gcc.gnu.org/onlinedocs/
     6. mailto:gcc-help@gcc.gnu.org
     7. mailto:gcc@gcc.gnu.org
*************** References
*** 21665,21670 ****
--- 21732,21738 ----
    10. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.0/features.html
+ 
                                 EGCS 1.0 features
  
       * Core compiler is based on the gcc2 development tree from Aug 2,
*************** http://gcc.gnu.org/egcs-1.0/features.htm
*** 21718,21725 ****
  
  References
  
!    1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
!    2. http://gcc.gnu.org/egcs-1.0/c++features.html
     3. https://gcc.gnu.org/onlinedocs/
     4. mailto:gcc-help@gcc.gnu.org
     5. mailto:gcc@gcc.gnu.org
--- 21786,21793 ----
  
  References
  
!    1. https://gcc.gnu.org/egcs-1.0/features-2.8.html
!    2. https://gcc.gnu.org/egcs-1.0/c++features.html
     3. https://gcc.gnu.org/onlinedocs/
     4. mailto:gcc-help@gcc.gnu.org
     5. mailto:gcc@gcc.gnu.org
*************** References
*** 21728,21733 ****
--- 21796,21802 ----
     8. https://gcc.gnu.org/about.html
  ======================================================================
  http://gcc.gnu.org/egcs-1.0/caveats.html
+ 
                                  EGCS 1.0 Caveats
  
       * EGCS has an integrated libstdc++, but does not have an integrated
diff -Nrcpad gcc-11.4.0/c++tools/ChangeLog gcc-11.5.0/c++tools/ChangeLog
*** gcc-11.4.0/c++tools/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/c++tools/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/config/ChangeLog gcc-11.5.0/config/ChangeLog
*** gcc-11.4.0/config/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/config/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/contrib/ChangeLog gcc-11.5.0/contrib/ChangeLog
*** gcc-11.4.0/contrib/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/contrib/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/contrib/header-tools/ChangeLog gcc-11.5.0/contrib/header-tools/ChangeLog
*** gcc-11.4.0/contrib/header-tools/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/contrib/header-tools/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/contrib/reghunt/ChangeLog gcc-11.5.0/contrib/reghunt/ChangeLog
*** gcc-11.4.0/contrib/reghunt/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/contrib/reghunt/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/contrib/regression/ChangeLog gcc-11.5.0/contrib/regression/ChangeLog
*** gcc-11.4.0/contrib/regression/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/contrib/regression/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/fixincludes/ChangeLog gcc-11.5.0/fixincludes/ChangeLog
*** gcc-11.4.0/fixincludes/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/fixincludes/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,26 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	Backported from master:
+ 	2023-08-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* inclhack.def (darwin_flt_eval_method): Handle macOS 14 guard
+ 	variant.
+ 	* fixincl.x: Regenerate.
+ 	* tests/base/math.h [DARWIN_FLT_EVAL_METHOD_CHECK]: Update test.
+ 
+ 2024-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-01-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* inclhack.def: Add new fix on darwin.
+ 	* fixincl.x: Regenerate.
+ 	* tests/base/math.h: Regenerate.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/fixincludes/fixincl.x gcc-11.5.0/fixincludes/fixincl.x
*** gcc-11.4.0/fixincludes/fixincl.x	Mon May 29 08:46:28 2023
--- gcc-11.5.0/fixincludes/fixincl.x	Fri Jul 19 05:52:43 2024
***************
*** 2,12 ****
   *
   * DO NOT EDIT THIS FILE   (fixincl.x)
   *
!  * It has been AutoGen-ed  May 15, 2023 at 11:55:05 PM by AutoGen 5.18.7
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT SVN-MERGE THIS FILE, EITHER Mon May 15 23:55:05 BST 2023
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
--- 2,12 ----
   *
   * DO NOT EDIT THIS FILE   (fixincl.x)
   *
!  * It has been AutoGen-ed  April 12, 2024 at 01:20:56 PM by AutoGen 5.18.7
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT SVN-MERGE THIS FILE, EITHER Fri Apr 12 13:20:56 BST 2024
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
***************
*** 15,21 ****
   * certain ANSI-incompatible system header files which are fixed to work
   * correctly with ANSI C and placed in a directory that GNU C will search.
   *
!  * This file contains 262 fixup descriptions.
   *
   * See README for more information.
   *
--- 15,21 ----
   * certain ANSI-incompatible system header files which are fixed to work
   * correctly with ANSI C and placed in a directory that GNU C will search.
   *
!  * This file contains 263 fixup descriptions.
   *
   * See README for more information.
   *
*************** static const char* apzDarwin_Ucred__Atom
*** 3653,3658 ****
--- 3653,3695 ----
  
  /* * * * * * * * * * * * * * * * * * * * * * * * * *
   *
+  *  Description of Darwin_Flt_Eval_Method fix
+  */
+ tSCC zDarwin_Flt_Eval_MethodName[] =
+      "darwin_flt_eval_method";
+ 
+ /*
+  *  File name selection pattern
+  */
+ tSCC zDarwin_Flt_Eval_MethodList[] =
+   "math.h\0";
+ /*
+  *  Machine/OS name selection pattern
+  */
+ tSCC* apzDarwin_Flt_Eval_MethodMachs[] = {
+         "*-*-darwin*",
+         (const char*)NULL };
+ 
+ /*
+  *  content selection pattern - do fix if pattern found
+  */
+ tSCC zDarwin_Flt_Eval_MethodSelect0[] =
+        "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$";
+ 
+ #define    DARWIN_FLT_EVAL_METHOD_TEST_CT  1
+ static tTestDesc aDarwin_Flt_Eval_MethodTests[] = {
+   { TT_EGREP,    zDarwin_Flt_Eval_MethodSelect0, (regex_t*)NULL }, };
+ 
+ /*
+  *  Fix Command Arguments for Darwin_Flt_Eval_Method
+  */
+ static const char* apzDarwin_Flt_Eval_MethodPatch[] = {
+     "format",
+     "%0 || __FLT_EVAL_METHOD__ == 16",
+     (char*)NULL };
+ 
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+  *
   *  Description of Dec_Intern_Asm fix
   */
  tSCC zDec_Intern_AsmName[] =
*************** static const char* apzX11_SprintfPatch[]
*** 10647,10655 ****
   *
   *  List of all fixes
   */
! #define REGEX_COUNT          300
  #define MACH_LIST_SIZE_LIMIT 187
! #define FIX_COUNT            262
  
  /*
   *  Enumerate the fixes
--- 10684,10692 ----
   *
   *  List of all fixes
   */
! #define REGEX_COUNT          301
  #define MACH_LIST_SIZE_LIMIT 187
! #define FIX_COUNT            263
  
  /*
   *  Enumerate the fixes
*************** typedef enum {
*** 10741,10746 ****
--- 10778,10784 ----
      DARWIN_STDINT_6_FIXIDX,
      DARWIN_STDINT_7_FIXIDX,
      DARWIN_UCRED__ATOMIC_FIXIDX,
+     DARWIN_FLT_EVAL_METHOD_FIXIDX,
      DEC_INTERN_ASM_FIXIDX,
      DJGPP_WCHAR_H_FIXIDX,
      ECD_CURSOR_FIXIDX,
*************** tFixDesc fixDescList[ FIX_COUNT ] = {
*** 11350,11355 ****
--- 11388,11398 ----
       DARWIN_UCRED__ATOMIC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
       aDarwin_Ucred__AtomicTests,   apzDarwin_Ucred__AtomicPatch, 0 },
  
+   {  zDarwin_Flt_Eval_MethodName,    zDarwin_Flt_Eval_MethodList,
+      apzDarwin_Flt_Eval_MethodMachs,
+      DARWIN_FLT_EVAL_METHOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+      aDarwin_Flt_Eval_MethodTests,   apzDarwin_Flt_Eval_MethodPatch, 0 },
+ 
    {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
       apzDec_Intern_AsmMachs,
       DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
diff -Nrcpad gcc-11.4.0/fixincludes/inclhack.def gcc-11.5.0/fixincludes/inclhack.def
*** gcc-11.4.0/fixincludes/inclhack.def	Mon May 29 08:46:28 2023
--- gcc-11.5.0/fixincludes/inclhack.def	Fri Jul 19 05:52:43 2024
*************** fix = {
*** 1814,1819 ****
--- 1814,1831 ----
      test_text = ""; /* Don't provide this for wrap fixes.  */
  };
  
+ /*  The darwin headers don't accept __FLT_EVAL_METHOD__ == 16.  */
+ fix = {
+     hackname  = darwin_flt_eval_method;
+     mach      = "*-*-darwin*";
+     files     = math.h;
+     select    = "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$";
+     c_fix     = format;
+     c_fix_arg = "%0 || __FLT_EVAL_METHOD__ == 16";
+     test_text = "#if __FLT_EVAL_METHOD__ == 0\n"
+ 		"#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1";
+ };
+ 
  /*
   *  Fix <c_asm.h> on Digital UNIX V4.0:
   *  It contains a prototype for a DEC C internal asm() function,
diff -Nrcpad gcc-11.4.0/fixincludes/tests/base/math.h gcc-11.5.0/fixincludes/tests/base/math.h
*** gcc-11.4.0/fixincludes/tests/base/math.h	Mon May 29 08:46:28 2023
--- gcc-11.5.0/fixincludes/tests/base/math.h	Fri Jul 19 05:52:43 2024
***************
*** 30,35 ****
--- 30,41 ----
  #endif  /* DARWIN_9_LONG_DOUBLE_FUNCS_2_CHECK */
  
  
+ #if defined( DARWIN_FLT_EVAL_METHOD_CHECK )
+ #if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16
+ #if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1 || __FLT_EVAL_METHOD__ == 16
+ #endif  /* DARWIN_FLT_EVAL_METHOD_CHECK */
+ 
+ 
  #if defined( HPPA_HPUX_FP_MACROS_CHECK )
  #endif /* _INCLUDE_HPUX_SOURCE */
  
diff -Nrcpad gcc-11.4.0/gcc/BASE-VER gcc-11.5.0/gcc/BASE-VER
*** gcc-11.4.0/gcc/BASE-VER	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/BASE-VER	Fri Jul 19 05:53:33 2024
***************
*** 1 ****
! 11.4.0
--- 1 ----
! 11.5.0
diff -Nrcpad gcc-11.4.0/gcc/ChangeLog gcc-11.5.0/gcc/ChangeLog
*** gcc-11.4.0/gcc/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,1735 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/115527
+ 	* gimple-fold.c (clear_padding_flush): Introduce endsize
+ 	variable and use it instead of wordsize when comparing it against
+ 	nonzero_last.
+ 	(clear_padding_type): Increment off by sz.
+ 
+ 2024-07-16  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-07-16  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/115843
+ 	* config/i386/x86-tune-costs.h (znver4_cost): Update unaligned
+ 	load and store cost from the aligned costs.
+ 
+ 2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	Backported from master:
+ 	2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	PR target/115611
+ 	* config/arm/mve.md (mve_vec_setv2di_internal): Fix printing of input
+ 	scalar register pair when lane = 1.
+ 
+ 2024-07-10  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-07-10  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR middle-end/115836
+ 	* expmed.c (emit_store_flag_1): Move calculation of
+ 	scode just before its only usage site.
+ 
+ 2024-07-09  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/115475
+ 	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
+ 	Define __ARM_FEATURE_SVE_BF16 for TARGET_SVE_BF16.
+ 
+ 2024-07-09  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/115457
+ 	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
+ 	Define __ARM_FEATURE_BF16 for TARGET_BF16_FP.
+ 
+ 2024-07-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-11-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/112732
+ 	* tree.c (build_opaque_vector_type): Reset TYPE_ALIAS_SET
+ 	of the newly built type.
+ 
+ 2024-07-03  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	PR target/115691
+ 	* config/pa/pa.md: Remove incorrect xmpyu patterns.
+ 
+ 2024-06-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-03-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* system.h: Include safe-ctype.h after C++ standard headers.
+ 
+ 2024-06-27  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	* config/aarch64/aarch64-cores.def (grace): New entry.
+ 	* config/aarch64/aarch64-tune.md: Regenerate.
+ 	* doc/invoke.texi (AArch64 Options): Document the above.
+ 
+ 2024-06-24  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-05-29  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/114846
+ 	* config/rs6000/rs6000-logue.c (rs6000_emit_epilogue): As
+ 	EPILOGUE_TYPE_EH_RETURN would be passed as epilogue_type directly
+ 	now, adjust the relevant handlings on it.
+ 	* config/rs6000/rs6000.md (eh_return expander): Append by calling
+ 	gen_eh_return_internal and emit_barrier.
+ 	(eh_return_internal): New define_insn_and_split, call function
+ 	rs6000_emit_epilogue with epilogue type EPILOGUE_TYPE_EH_RETURN.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-31  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/110176
+ 	* match.pd (zext (bool) <= (int) 4294967295u): Make sure
+ 	to match INTEGER_CST only without outstanding conversion.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111070
+ 	* tree-ssa-ifcombine.c (ifcombine_ifandif): Check we have
+ 	an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111039
+ 	* tree-ssa-ifcombine.c (ifcombine_ifandif): Check for
+ 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/111080
+ 	* dwarf2out.c (prune_unused_types_walk): Handle
+ 	DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type,
+ 	DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type
+ 	and DW_TAG_dynamic_type as to only output them when referenced.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111445
+ 	* tree-scalar-evolution.c (simple_iv_with_niters):
+ 	Add missing check for a sign-conversion.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-11-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112495
+ 	* tree-data-ref.c (runtime_alias_check_p): Reject checks
+ 	between different address spaces.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112505
+ 	* tree-vect-loop.c (vectorizable_induction): Reject
+ 	bit-precision induction.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/112718
+ 	* dwarf2out.c (dwarf2out_finish): Reset all type units
+ 	for the fat part of an LTO compile.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-12-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112793
+ 	* tree-vect-slp.c (vect_schedule_slp_node): Already
+ 	code-generated constant/external nodes are OK.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-02-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/114027
+ 	* tree-vect-loop.c (vecctorizable_reduction): Use optimized
+ 	condition reduction classification only for single-element
+ 	chains.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-05-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/114734
+ 	* internal-fn.c (expand_call_mem_ref): Use
+ 	get_gimple_for_ssa_name to get at the def stmt of the address
+ 	argument to honor SSA coalescing constraints.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR driver/115440
+ 	* opts-common.c (add_misspelling_candidates): If opt1 is non-NULL,
+ 	add a space and opt1 to the alternative suggestion text.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/115337
+ 	* fold-const.c (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>:
+ 	If fn is CFN_CLZ, use CLZ_DEFINED_VALUE_AT.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/108789
+ 	* builtins.c (fold_builtin_arith_overflow): For ovf_only,
+ 	don't call save_expr and don't build REALPART_EXPR, otherwise
+ 	set TREE_SIDE_EFFECTS on call before calling save_expr.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/114902
+ 	PR rtl-optimization/115092
+ 	* combine.c (simplify_compare_const): Don't optimize
+ 	GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or
+ 	EQ op0 const0_rtx.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/114956
+ 	* tree-inline.c: Include asan.h.
+ 	(copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan
+ 	sanitization disabled.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/114876
+ 	* gimple-ssa-sprintf.c (format_character): For min == 0 && max == 0,
+ 	set max, likely and unlikely members to 1 rather than 0.  Remove
+ 	useless res.knownrange = true;.  Formatting fixes.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/114825
+ 	* tree-nested.c (get_debug_decl): New function.
+ 	(get_nonlocal_debug_decl): Use it.
+ 	(get_local_debug_decl): Likewise.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/114768
+ 	* rtlanal.c (set_noop_p): Don't return true for MEM <- MEM
+ 	sets if src has side-effects or for stores into ZERO_EXTRACT
+ 	if ZERO_EXTRACT operand has side-effects.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/114753
+ 	* internal-fn.c (expand_mul_overflow): Save flag_trapv and
+ 	temporarily clear it for the duration of the function, then
+ 	restore previous value.
+ 	(expand_vector_ubsan_overflow): Likewise.
+ 	(expand_arith_overflow): Likewise.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114634
+ 	* attribs.c (diag_attr_exclusions): Set attrs[1] to NULL_TREE for
+ 	decls with NULL TREE_TYPE.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/110027
+ 	* asan.c (asan_emit_stack_protection): Assert offsets[0] is
+ 	zero if there is no stack protect guard, otherwise
+ 	-ASAN_RED_ZONE_SIZE.  If alignb > ASAN_RED_ZONE_SIZE and there is
+ 	stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at
+ 	the top of the stack into account when computing base_align_bias.
+ 	Recompute use_after_return_class from asan_frame_size + base_align_bias
+ 	and set to -1 if that would overflow to 11.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/114566
+ 	* tree-vect-loop.c (update_epilogue_loop_vinfo): Don't clear
+ 	base_misaligned.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114537
+ 	* fold-const.c (native_encode_initializer): Look through
+ 	NON_LVALUE_EXPR if val is INTEGER_CST.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/113907
+ 	* ipa-icf.c (sem_item_optimizer::merge_classes): Reset
+ 	SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged
+ 	functions.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/114310
+ 	* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): For
+ 	TImode force newval into a register.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/110079
+ 	* bb-reorder.c (fix_crossing_unconditional_branches): Don't adjust
+ 	asm goto.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/114184
+ 	* config/i386/i386-expand.c (ix86_expand_move): If XFmode op1
+ 	is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or
+ 	register.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/113674
+ 	* attribs.c (extract_attribute_substring): Remove.
+ 	(lookup_scoped_attribute_spec): Don't call it.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/113603
+ 	* tree-ssa-strlen.c (strlen_pass::handle_store): After
+ 	count_nonzero_bytes call refetch si using get_strinfo in case it
+ 	has been unshared in the meantime.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns.
+ 	* doc/rtl.texi (CONST_VECTOR): Likewise.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/113122
+ 	* config/i386/i386.c (x86_function_profiler): Add -masm=intel
+ 	support.  Add missing space after , in emitted assembly in some
+ 	cases.  Formatting fixes.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/113372
+ 	PR middle-end/90348
+ 	PR middle-end/110115
+ 	PR middle-end/111422
+ 	* cfgexpand.c (add_scope_conflicts_2): New function.
+ 	(add_scope_conflicts_1): Use it.
+ 
+ 2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 		    Yvan ROUX  <yvan.roux@foss.st.com>
+ 
+ 	PR target/115253
+ 	* config/arm/arm.c (cmse_nonsecure_call_inline_register_clear):
+ 	Sign extend for Thumb1.
+ 	(thumb1_expand_prologue): Add zero/sign extend.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2021-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR rtl-optimization/100303
+ 	* rtl-ssa/accesses.cc (function_info::make_use_available): Take a
+ 	boolean that indicates whether the use will only be used in
+ 	debug instructions.  Treat it in the same way that existing
+ 	cross-EBB debug references would be handled if so.
+ 	(function_info::make_uses_available): Likewise.
+ 	* rtl-ssa/functions.h (function_info::make_uses_available): Update
+ 	prototype accordingly.
+ 	(function_info::make_uses_available): Likewise.
+ 	* fwprop.c (try_fwprop_subst): Update call accordingly.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR rtl-optimization/108086
+ 	* rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
+ 	Adjust size-related commentary accordingly.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-01-29  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/113281
+ 	* tree-vect-patterns.c (vect_recog_over_widening_pattern): Remove
+ 	workaround for right shifts.
+ 	(vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR.
+ 	(vect_determine_precisions_from_range): Be more selective about
+ 	which codes can be narrowed based on their input and output ranges.
+ 	For shifts, require at least one more bit of precision than the
+ 	maximum shift amount.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-05-24  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR tree-optimization/115192
+ 	* tree-data-ref.c (create_intersect_range_checks): Take the
+ 	alignment of the access sizes into account.
+ 
+ 2024-06-03  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-05-31  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/115297
+ 	* config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode
+ 	operands 3 and 4 with truncate:SI RTX.
+ 	(*divmodsi_internal_er): Ditto for operands 1 and 2.
+ 	(*divmodsi_internal_er_1): Ditto.
+ 	(*divmodsi_internal): Ditto.
+ 	* config/alpha/constraints.md ("b"): Correct register
+ 	number in the description.
+ 
+ 2024-05-30  YunQiang Su  <syq@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-05-29  YunQiang Su  <syq@gcc.gnu.org>
+ 
+ 	* config/mips/mips.c(mips16_gp_pseudo_reg): Mark
+ 	MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered.
+ 	(mips_emit_call_insn): Mark MIPS16_PIC_TEMP and
+ 	MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP.
+ 
+ 2024-05-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/115172
+ 	* ubsan.c (instrument_bool_enum_load): If rhs is not in generic
+ 	address space, use qualified version of utype with the right
+ 	address space.  Formatting fix.
+ 
+ 2024-05-09  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2023-09-25  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/110386
+ 	* gimple-ssa-backprop.c (strip_sign_op_1): Remove ABSU_EXPR.
+ 
+ 2024-05-08  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2023-09-10  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/111331
+ 	* tree-ssa-phiopt.c (minmax_replacement):
+ 	Fix the LE/GE comparison for the
+ 	`(a CMP CST1) ? max<a,CST2> : a` optimization.
+ 
+ 2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-03-11  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR middle-end/95351
+ 	* fold-const.c (merge_truthop_with_opposite_arm): Use
+ 	the type of the operands of the comparison and not the type
+ 	of the comparison.
+ 
+ 2024-05-02  Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-12  Will Schmidt  <will_schmidt@linux.ibm.com>
+ 		    Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	PR target/101865
+ 	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Use
+ 	OPTION_MASK_POWER8.
+ 	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8.
+ 	(ISA_2_7_MASKS_SERVER): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Update
+ 	comment.  Use OPTION_MASK_POWER8 and TARGET_POWER8.
+ 	* config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8.
+ 	* config/rs6000/rs6000.md (define_attr "isa"): Add p8.
+ 	(define_attr "enabled"): Handle it.
+ 	(define_insn "prefetch"): Use TARGET_POWER8.
+ 	* config/rs6000/rs6000.opt (mpower8-internal): New.
+ 
+ 2024-05-02  Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-10  Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	PR target/101865
+ 	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define.
+ 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
+ 	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete redundant
+ 	OPTION_MASK_DIRECT_MOVE usage.  Delete TARGET_DIRECT_MOVE dead code.
+ 	(rs6000_opt_masks): Neuter the "direct-move" option.
+ 	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Replace
+ 	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete useless
+ 	comment.
+ 	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
+ 	OPTION_MASK_DIRECT_MOVE.
+ 	(OTHER_P8_VECTOR_MASKS): Likewise.
+ 	(POWERPC_MASKS): Likewise.
+ 	* config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_override_options): Reduce the debug
+ 	level to 2 if dsymutil cannot handle .macinfo sections.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c: Return true as the default libc avaiability.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts
+ 	before other objects. (REAL_LIBGCC_SPEC): Remove weak crts
+ 	from here.  (DARWIN_WEAK_CRTS): New.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_build_constant_cfstring): Prevent over-
+ 	alignment of CFString constants by setting DECL_USER_ALIGN.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_objc1_section): Use the correct
+ 	meta-data version for constant strings.
+ 	(machopic_select_section): Assert if we fail to handle CFString
+ 	sections as Obejctive-C meta-data or drectly.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/105522
+ 	* config/darwin.c (machopic_select_section): Handle C and C++
+ 	CFStrings.
+ 	(darwin_rename_builtins): Move this out of the CFString code.
+ 	(darwin_libc_has_function): Likewise.
+ 	(darwin_build_constant_cfstring): Create an anonymous var to
+ 	hold each CFString.
+ 	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant
+ 	CFstrings.
+ 
+ 2024-04-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-10-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 		    Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_override_options): Cannot use
+ 	OPTION_SET_P here.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-10-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_override_options): Handle fPIE.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.h
+ 	(darwin_label_is_anonymous_local_objc_name): Make metadata names
+ 	linker-visibile for GNU objective C.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-26  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.h (DARWIN_CC1_SPEC): Remove -dynamiclib.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-20  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.h:
+ 	(SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same
+ 	specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_override_options): Update the
+ 	clang major version value in the dsymutil check.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-10-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config.in: Regenerate.
+ 	* config/darwin.c (darwin_file_start): Add assembler directives
+ 	for the target OS version, where these are supported by the
+ 	assembler.
+ 	(darwin_override_options): Check for building >= macOS 10.14.
+ 	* configure: Regenerate.
+ 	* configure.ac: Check for assembler support of .build_version
+ 	directives.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/111610
+ 	* configure: Regenerate.
+ 	* configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN".
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin-protos.h (enum darwin_external_toolchain): New.
+ 	* config/darwin.c (DSYMUTIL_VERSION): New.
+ 	(darwin_override_options): Choose the default debug DWARF version
+ 	depending on the configured dsymutil version.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for
+ 	all 32b Darwin PowerPC cases.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-10  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_function_section): Place unlikely
+ 	executed global init code into the standard cold section.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin-sections.def (static_init_section): Add the
+ 	__TEXT,__StaticInit section.
+ 	* config/darwin.c (darwin_function_section): Use the static init
+ 	section for global initializers, to match other platform toolchains.
+ 
+ 2024-04-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin-sections.def (darwin_exception_section): Move to
+ 	the __TEXT segment.
+ 	* config/darwin.c (darwin_emit_except_table_label): Align before
+ 	the exception table label.
+ 	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC-
+ 	relative 4byte relocs.
+ 
+ 2024-04-25  Richard Ball  <richard.ball@arm.com>
+ 
+ 	Backported from master:
+ 	2024-04-25  Richard Ball  <richard.ball@arm.com>
+ 
+ 	PR target/114837
+ 	* config/arm/arm.c (cmse_nonsecure_call_inline_register_clear):
+ 	Add zero/sign extend.
+ 	(arm_expand_prologue): Add zero/sign extend.
+ 
+ 2024-04-25  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-09  Kewen Lin  <linkw@linux.ibm.com>
+ 		    Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR target/88309
+ 	* config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin): Fix
+ 	wrong align passed to function build_aligned_type.
+ 	* tree-ssa-loop-prefetch.c (is_miss_rate_acceptable): Add an
+ 	assertion to ensure align_unit should be positive.
+ 	* tree.c (build_qualified_type): Update function comments.
+ 
+ 2024-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	Backported from master:
+ 	2023-08-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v
+ 	output.
+ 	* configure: Regenerate.
+ 
+ 2024-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/105599
+ 	* config/darwin.h: Move versions-specific handling of multiply_defined
+ 	from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
+ 
+ 2024-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/111736
+ 	* tsan.c (instrument_expr): Punt on non-generic address space
+ 	accesses.
+ 
+ 2024-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/111736
+ 	* ubsan.c (ubsan_expand_null_ifn, instrument_mem_ref): Avoid
+ 	SANITIZE_NULL instrumentation for non-generic address spaces
+ 	for which targetm.addr_space.zero_address_valid (as) is true.
+ 
+ 2024-04-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-03-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111736
+ 	* asan.c (instrument_derefs): Do not instrument accesses
+ 	to non-generic address-spaces.
+ 
+ 2024-04-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-12-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR sanitizer/111736
+ 	* asan.c (asan_protect_global): Do not protect globals
+ 	in non-generic address-space.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_fold_builtin): Make fcode an int to
+ 	avoid a mismatch with DECL_MD_FUNCTION_CODE().
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-11-15  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* configure.ac: Test ld64 for -platform-version support.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.c (darwin_label_is_anonymous_local_objc_name): Make
+ 	protocol class methods linker-visible.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-07-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/darwin.h: Avoid duplicate multiply_defined specs on
+ 	earlier Darwin versions with shared libgcc.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* configure: Regenerate.
+ 	* configure.ac: Handle explict disable of stdlib option, set
+ 	defaults for Darwin.
+ 
+ 2024-04-15  Tamar Christina  <tamar.christina@arm.com>
+ 
+ 	PR tree-optimization/113552
+ 	* config/aarch64/aarch64.c
+ 	(aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1.
+ 
+ 2024-04-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-04-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/114599
+ 	PR gcov-profile/114115
+ 	* symtab.c (ifunc_ref_map): Do not use auto_bitmap.
+ 	(is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit
+ 	pair.
+ 	(symtab_node::check_ifunc_callee_symtab_nodes): Properly
+ 	allocate ifunc_ref_map here.
+ 
+ 2024-04-15  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-04-03  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR tree-optimization/114115
+ 	* cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes.
+ 	(cgraph_node): Add called_by_ifunc_resolver.
+ 	* cgraphunit.c (symbol_table::compile): Call
+ 	symtab_node::check_ifunc_callee_symtab_nodes.
+ 	* symtab.c (check_ifunc_resolver): New.
+ 	(ifunc_ref_map): Likewise.
+ 	(is_caller_ifunc_resolver): Likewise.
+ 	(symtab_node::check_ifunc_callee_symtab_nodes): Likewise.
+ 	* tree-profile.c (gimple_gen_ic_func_profiler): Disable indirect
+ 	call profiling for IFUNC resolvers and their callees.
+ 
+ 2024-04-12  Kito Cheng  <kito.cheng@sifive.com>
+ 
+ 	Backported from master:
+ 	2024-02-29  Kito Cheng  <kito.cheng@sifive.com>
+ 
+ 	PR target/114130
+ 	* config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign
+ 	extend the expected value if needed.
+ 
+ 2024-04-02  Qing Zhao  <qing.zhao@oracle.com>
+ 
+ 	Backported from master:
+ 	2023-09-15  Qing Zhao  <qing.zhao@oracle.com>
+ 
+ 	PR tree-optimization/111407
+ 	* tree-ssa-math-opts.c (convert_mult_to_widen): Avoid the transform
+ 	when one of the operands is subject to abnormal coalescing.
+ 
+ 2024-03-27  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-03-05  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR sanitizer/97696
+ 	* asan.c (asan_expand_mark_ifn): Allow the length to be a poly_int.
+ 
+ 2024-03-27  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/arm_neon.h (vld1_s8_x4, vld1_s16_x4, vld1_s32_x4):
+ 	(vld1_u8_x4, vld1_u16_x4, vld1_u32_x4, vld1_f16_x4, vld1_f32_x4):
+ 	(vld1_p8_x4, vld1_p16_x4, vld1_s64_x4, vld1_u64_x4, vld1_p64_x4):
+ 	(vld1_f64_x4): Avoid using a union of a 256-bit structure and 512-bit
+ 	XImode integer.  Instead use the same approach as the vld4 intrinsics.
+ 	(vst1_s8_x4, vst1_s16_x4, vst1_s32_x4, vst1_u8_x4, vst1_u16_x4):
+ 	(vst1_u32_x4, vst1_f16_x4, vst1_f32_x4, vst1_p8_x4, vst1_p16_x4):
+ 	(vst1_s64_x4, vst1_u64_x4, vst1_p64_x4, vst1_f64_x4, vld1_bf16_x4):
+ 	(vst1_bf16_x4): Likewise for stores.
+ 	(vst1q_s8_x4, vst1q_s16_x4, vst1q_s32_x4, vst1q_u8_x4, vst1q_u16_x4):
+ 	(vst1q_u32_x4, vst1q_f16_x4, vst1q_f32_x4, vst1q_p8_x4, vst1q_p16_x4):
+ 	(vst1q_s64_x4, vst1q_u64_x4, vst1q_p64_x4, vst1q_f64_x4)
+ 	(vst1q_bf16_x4): Rename val parameter to __val.
+ 
+ 2024-03-17  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-07-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/108743
+ 	* config/darwin.opt: Add fconstant-cfstrings alias to
+ 	mconstant-cfstrings.
+ 	* doc/invoke.texi: Amend invocation descriptions to reflect
+ 	that the fconstant-cfstrings is a target-option alias and to
+ 	add the missing mconstant-cfstrings option description to the
+ 	Darwin section.
+ 
+ 2024-03-03  Oleg Endo  <olegendo@gcc.gnu.org>
+ 
+ 	PR target/101737
+ 	* config/sh/sh.c (sh_is_nott_insn): Handle case where the input
+ 	is not an insn, but e.g. a code label.
+ 
+ 2024-02-27  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-02-26  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/114098
+ 	* config/i386/amxtileintrin.h (_tile_loadconfig): Use
+ 	__builtin_ia32_ldtilecfg.
+ 	(_tile_storeconfig): Use __builtin_ia32_sttilecfg.
+ 	* config/i386/i386-builtin.def (BDESC): Add
+ 	__builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg.
+ 	* config/i386/i386-expand.c (ix86_expand_builtin): Handle
+ 	IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG.
+ 	* config/i386/i386.md (ldtilecfg): New pattern.
+ 	(sttilecfg): Likewise.
+ 
+ 2024-02-27  Jeevitha  <jeevitha@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-08-31  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
+ 
+ 	PR target/110411
+ 	* config/rs6000/mma.md (define_insn_and_split movoo): Disallow
+ 	AltiVec address operands.
+ 	(define_insn_and_split movxo): Likewise.
+ 	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove
+ 	redundant mode size check.
+ 
+ 2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/108120
+ 	* config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3.
+ 	Gate with ARM_HAVE_NEON_<MODE>_ARITH.
+ 
+ 2024-02-20  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2024-02-14  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/111677
+ 	* config/aarch64/aarch64.c (aarch64_reg_save_mode): Use
+ 	V16QImode for the full 16-byte FPR saves in the vector PCS case.
+ 	(aarch64_gen_storewb_pair): Handle V16QImode.
+ 	(aarch64_gen_loadwb_pair): Likewise.
+ 	(aarch64_gen_load_pair): Likewise.
+ 	* config/aarch64/aarch64.md (loadwb_pair<TX:mode>_<P:mode>):
+ 	Rename to ...
+ 	(loadwb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
+ 	V16QImode.
+ 	(storewb_pair<TX:mode>_<P:mode>): Rename to ...
+ 	(storewb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
+ 	V16QImode.
+ 	* config/aarch64/iterators.md (TX_V16QI): New.
+ 
+ 2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/113921
+ 	* cfgrtl.h (prepend_insn_to_edge): New declaration.
+ 	* cfgrtl.c (insert_insn_on_edge): Clarify behavior in function
+ 	comment.
+ 	(prepend_insn_to_edge): New function.
+ 	* cfgexpand.c (expand_asm_stmt): Use prepend_insn_to_edge instead of
+ 	insert_insn_on_edge.
+ 
+ 2024-02-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2024-01-24  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/110422
+ 	* tree-sra.c (scan_function): Disqualify bases of operands of asm
+ 	gotos.
+ 
+ 2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	* config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for
+ 	neg.
+ 
+ 2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	* config/mips/mips-msa.md (elmsgnbit): New define_mode_attr.
+ 	(neg<mode>2): Change the mode iterator from MSA to IMSA because
+ 	in FP arithmetic we cannot use (0 - x) for -x.
+ 	(neg<mode>2): New define_insn to implement FP vector negation,
+ 	using a bnegi instruction to negate the sign bit.
+ 
+ 2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.md (atomic_storedi_1): Fix bug in
+ 	alternative 1.
+ 
+ 2024-01-26  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+ 
+ 	Backported from master:
+ 	2024-01-16  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+ 
+ 	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU.
+ 	* config/aarch64/aarch64-tune.md: Regenerated.
+ 	* doc/invoke.texi (-mcpu): Add cobalt-100 core.
+ 
+ 2024-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config/i386/i386-options.c (ix86_option_override_internal):
+ 	Fix handling of X86_TUNE_AVOID_512FMA_CHAINS
+ 
+ 2024-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Backported from master:
+ 	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	* config/i386/i386-expand.c (ix86_expand_set_or_cpymem): Add
+ 	TARGET_AVX512_SPLIT_REGS
+ 	* config/i386/i386-options.c (ix86_option_override_internal):
+ 	Honor x86_TONE_AVOID_256FMA_CHAINS.
+ 	* config/i386/i386.c (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
+ 	(ix86_reassociation_width): Likewise.
+ 	* config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
+ 	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
+ 	for znver4.
+ 	(X86_TUNE_USE_GATHER_4PARTS): Likewise.
+ 	(X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
+ 	(X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
+ 	(X86_TUNE_AVX256_OPTIMAL): Add znver4.
+ 	(X86_TUNE_AVX512_SPLIT_REGS): New tune.
+ 	(X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
+ 	(X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
+ 	(X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
+ 	(X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
+ 
+ 2024-01-18  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	Backported from master:
+ 	2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	* common/config/i386/i386-common.c (processor_alias_table):
+ 	Use CPU_ZNVER4 for znver4.
+ 	* config/i386/i386.md: Add znver4.md.
+ 	* config/i386/znver4.md: New.
+ 
+ 2024-01-18  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	Backported from master:
+ 	2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	* common/config/i386/i386-common.c (processor_alias_table): Use
+ 	CPU_ZNVER3 for znver4.
+ 	* config/i386/znver.md: Remove znver4 reservations.
+ 
+ 2024-01-18  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	Backported from master:
+ 	2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
+ 	* common/config/i386/i386-common.c (processor_names): Add znver4.
+ 	(processor_alias_table): Add znver4 and modularize old znvers.
+ 	* common/config/i386/i386-cpuinfo.h (processor_subtypes):
+ 	AMDFAM19H_ZNVER4.
+ 	* config.gcc (x86_64-*-* |...): Likewise.
+ 	* config/i386/driver-i386.c (host_detect_local_cpu): Let
+ 	-march=native recognize znver4 cpus.
+ 	* config/i386/i386-c.c (ix86_target_macros_internal): Add znver4.
+ 	* config/i386/i386-options.c (m_ZNVER4): New definition.
+ 	(m_ZNVER): Include m_ZNVER4.
+ 	(processor_cost_table): Add znver4.
+ 	* config/i386/i386.c (ix86_reassociation_width): Likewise.
+ 	* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
+ 	(PTA_ZNVER1): New definition.
+ 	(PTA_ZNVER2): Likewise.
+ 	(PTA_ZNVER3): Likewise.
+ 	(PTA_ZNVER4): Likewise.
+ 	* config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
+ 	md file.
+ 	* config/i386/x86-tune-sched.c (ix86_issue_rate): Add znver4.
+ 	(ix86_adjust_cost): Likewise.
+ 	* config/i386/znver1.md: Rename to znver.md.
+ 	* config/i386/znver.md: Add new reservations for znver4.
+ 	* doc/extend.texi: Add details about znver4.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2024-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Backported from master:
+ 	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	* config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
+ 	moves, division multiplication, gathers, L2 cache size, and more
+ 	complex FP instrutions.
+ 
+ 2023-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112816
+ 	* config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/112733
+ 	* fold-const.c (multiple_of_p): Pass SIGNED rather than
+ 	UNSIGNED for wi::multiple_of_p on widest_int arguments.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112845
+ 	* config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL
+ 	if the new immediate is ix86_endbr_immediate_operand.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112837
+ 	* config/i386/i386.c (ix86_elim_entry_set_got): Before checking
+ 	for UNSPEC_SET_GOT check that SET_SRC is UNSPEC.  Use SET_SRC and
+ 	SET_DEST macros instead of XEXP, rename vec variable to set.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112816
+ 	* config/i386/sse.md (signbit<mode>2): Force operands[1] into a REG.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/111408
+ 	* config/i386/i386.md (*jcc_bt<mode>_mask): Add (const_int 0) as
+ 	expected second operand of bt_comparison_operator.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-07-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/110731
+ 	* wide-int.cc (wi::divmod_internal): Always unpack dividend and
+ 	divisor as UNSIGNED regardless of sgn.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111917
+ 	* tree-ssa-loop-unswitch.c (hoist_guard): Always insert
+ 	new conditional after last stmt.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-09-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111614
+ 	* tree-ssa-reassoc.c (undistribute_bitref_for_vector): Properly
+ 	convert the first vector when required.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111764
+ 	* tree-vect-loop.c (check_reduction_path): Remove the attempt
+ 	to allow x + x via special-casing of assigns.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/111818
+ 	* tree-ssa.c (maybe_optimize_var): When clearing
+ 	DECL_NOT_GIMPLE_REG_P always rewrite into SSA.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/110298
+ 	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
+ 	Clear number of iterations info before cleaning up the CFG.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/110295
+ 	* dwarf2out.c (process_scope_var): Continue processing
+ 	the decl after setting a parent in case the existing DIE
+ 	was in limbo.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	* match.pd (two conversions in a row): Use element_precision
+ 	to DTRT for VECTOR_TYPE.
+ 
+ 2023-12-12  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-12-12  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/112891
+ 	* config/i386/i386.c (ix86_avx_u128_mode_after): Return
+ 	AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to
+ 	align with ix86_avx_u128_mode_needed.
+ 	(ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for
+ 	sibling_call.
+ 
+ 2023-11-24  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-11-23  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/112672
+ 	* config/i386/i386.md (parityhi2):
+ 	Use temporary register in the call to gen_parityhi2_cmp.
+ 
+ 2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	Backported from master:
+ 	2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	PR target/111815
+ 	* config/vax/vax.c (index_term_p): Only accept the index scaler
+ 	as the RHS operand to ASHIFT.
+ 
+ 2023-11-06  John David Anglin  <danglin@gcc.gnu.org>
+ 
+ 	* config/pa/pa.c (pa_asm_trampoline_template): Fix typo.
+ 
+ 2023-10-23  Oleg Endo  <olegendo@gcc.gnu.org>
+ 
+ 	PR target/111001
+ 	* config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg):
+ 	Skip over nop move insns.
+ 
+ 2023-10-23  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-10-12  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/111367
+ 	* config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed
+ 	instruction emission and incorporate to stack_protect_set<mode>.
+ 	(stack_protect_setdi): Rename to ...
+ 	(stack_protect_set<mode>): ... this, adjust constraint.
+ 	(stack_protect_testsi): Support prefixed instruction emission and
+ 	incorporate to stack_protect_test<mode>.
+ 	(stack_protect_testdi): Rename to ...
+ 	(stack_protect_test<mode>): ... this, adjust constraint.
+ 
+ 2023-10-20  Oleg Endo  <olegendo@gcc.gnu.org>
+ 
+ 	PR target/101177
+ 	* config/sh/sh.md (unnamed split pattern): Fix comparison of
+ 	find_regno_note result.
+ 
+ 2023-10-17  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-07-06  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/110170
+ 	* config/i386/i386.md (movdf_internal): Disparage slightly for
+ 	2 alternatives (r,v) and (v,r) by adding constraint modifier
+ 	'?'.
+ 
+ 2023-10-07  Andrew Pinski  <pinskia@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-10-06  Andrew Pinski  <pinskia@gmail.com>
+ 
+ 	PR middle-end/111699
+ 	* match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
+ 	(v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE.
+ 
+ 2023-10-02  Pat Haugen  <pthaugen@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-09-19  Pat Haugen  <pthaugen@linux.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Check whether the
+ 	modulo instruction is disabled.
+ 	* config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New.
+ 	* config/rs6000/rs6000.md (mod<mode>3, *mod<mode>3): Check it.
+ 	(define_expand umod<mode>3): New.
+ 	(define_insn umod<mode>3): Rename to *umod<mode>3 and check if the modulo
+ 	instruction is disabled.
+ 	(umodti3, modti3): Check if the modulo instruction is disabled.
+ 
+ 2023-09-12  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-09-11  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/111340
+ 	* config/i386/i386.c (output_pic_addr_const): Handle CONST_WIDE_INT.
+ 	Call output_addr_const for CASE_CONST_SCALAR_INT.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_save_regs_above_locals_p):
+ 	New function.
+ 	(aarch64_layout_frame): Use it to decide whether locals should
+ 	go above or below the saved registers.
+ 	(aarch64_expand_prologue): Update stack layout comment.
+ 	Emit a stack tie after the final adjustment.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::saved_regs_size)
+ 	(aarch64_frame::below_hard_fp_saved_regs_size): Delete.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Update accordingly.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe)
+ 	(aarch64_frame::hard_fp_save_and_probe): New fields.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Initialize them.
+ 	Rather than asserting that a leaf function saves LR, instead assert
+ 	that a leaf function saves something.
+ 	(aarch64_get_separate_components): Prevent the chosen probe
+ 	registers from being individually shrink-wrapped.
+ 	(aarch64_allocate_and_probe_stack_space): Remove workaround for
+ 	probe registers that aren't at the bottom of the previous allocation.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space):
+ 	Always probe the residual allocation at offset 1024, asserting
+ 	that that is in range.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Ensure that
+ 	the LR save slot is in the first 16 bytes of the register save area.
+ 	(aarch64_allocate_and_probe_stack_space): Remove workaround for
+ 	when LR was not in the first 16 bytes.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space):
+ 	Don't probe final allocations that are exactly 1KiB in size (after
+ 	unprobed space above the final allocation has been deducted).
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Tweak
+ 	calculation of initial_adjust for frames in which all saves
+ 	are SVE saves.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Simplify
+ 	the allocation of the top of the frame.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame): Add comment above
+ 	reg_offset.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Walk offsets
+ 	from the bottom of the frame, rather than the bottom of the saved
+ 	register area.  Measure reg_offset from the bottom of the frame
+ 	rather than the bottom of the saved register area.
+ 	(aarch64_save_callee_saves): Update accordingly.
+ 	(aarch64_restore_callee_saves): Likewise.
+ 	(aarch64_get_separate_components): Likewise.
+ 	(aarch64_process_components): Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename
+ 	to...
+ 	(aarch64_frame::bytes_above_hard_fp): ...this.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame)
+ 	(aarch64_expand_prologue): Update accordingly.
+ 	(aarch64_initial_elimination_offset): Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to...
+ 	(aarch64_frame::bytes_above_locals): ...this.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame)
+ 	(aarch64_initial_elimination_offset): Update accordingly.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_expand_prologue): Move the
+ 	calculation of chain_offset into the emit_frame_chain block.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Remove
+ 	callee_offset handling.
+ 	(aarch64_save_callee_saves): Replace the start_offset parameter
+ 	with a bytes_below_sp parameter.
+ 	(aarch64_restore_callee_saves): Likewise.
+ 	(aarch64_expand_prologue): Update accordingly.
+ 	(aarch64_expand_epilogue): Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New
+ 	field.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Initialize it.
+ 	(aarch64_expand_epilogue): Use it instead of
+ 	below_hard_fp_saved_regs_size.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New
+ 	field.
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Initialize it,
+ 	and use it instead of crtl->outgoing_args_size.
+ 	(aarch64_get_separate_components): Use bytes_below_saved_regs instead
+ 	of outgoing_args_size.
+ 	(aarch64_process_components): Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_layout_frame): Explicitly
+ 	allocate the frame in one go if there are no saved registers.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use
+ 	chain_offset rather than callee_offset.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (aarch64_save_callee_saves): Use
+ 	a local shorthand for cfun->machine->frame.
+ 	(aarch64_restore_callee_saves, aarch64_get_separate_components):
+ 	(aarch64_process_components): Likewise.
+ 	(aarch64_allocate_and_probe_stack_space): Likewise.
+ 	(aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
+ 	(aarch64_layout_frame): Use existing shorthand for one more case.
+ 
+ 2023-09-12  Haochen Gui  <guihaoc@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-08-31  Haochen Gui  <guihaoc@gcc.gnu.org>
+ 
+ 	PR target/96762
+ 	* config/rs6000/rs6000-string.c (expand_block_move): Call vector
+ 	load/store with length only on 64-bit Power10.
+ 
+ 2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/110914
+ 	* tree-ssa-strlen.c (strlen_pass::handle_builtin_memcpy): Don't call
+ 	adjust_last_stmt unless len is known constant.
+ 
+ 2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/111015
+ 	* gimple-ssa-store-merging.c
+ 	(imm_store_chain_info::output_merged_store): Use wi::mask and
+ 	wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and
+ 	build_int_cst to build BIT_AND_EXPR mask.
+ 
+ 2023-08-16  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* config/i386/i386.opt: Add new option mgather.
+ 
+ 2023-08-16  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-08-16  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* config/i386/i386-options.c (m_GDS): New macro.
+ 	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Don't enable
+ 	for m_GDS.
+ 
+ 2023-08-09  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* common/config/i386/cpuinfo.h (get_available_features): Check
+ 	max_subleaf_level for valid subleaf before use CPUID.
+ 
+ 2023-08-01  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-07-26  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/110741
+ 	* config/rs6000/altivec.md (define_insn xxeval): Correct vsx
+ 	operands output with "x".
+ 
+ 2023-07-14  Oleg Endo  <olegendo@gcc.gnu.org>
+ 
+ 	PR target/101469
+ 	* config/sh/sh.md (peephole2): Handle case where eliminated reg
+ 	is also	used by the address of the following memory operand.
+ 
+ 2023-07-05  Michael Meissner  <meissner@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-06-23   Michael Meissner  <meissner@linux.ibm.com>
+ 		    Aaron Sawdey   <acsawdey@linux.ibm.com>
+ 
+ 	PR target/105325
+ 	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that
+ 	allowed prefixed lwa to be generated.
+ 	* config/rs6000/fusion.md: Regenerate.
+ 	* config/rs6000/predicates.md (ds_form_mem_operand): Delete.
+ 	* config/rs6000/rs6000.md (prefixed attribute): Add support for load
+ 	plus compare immediate fused insns.
+ 	(maybe_prefixed): Likewise.
+ 
+ 2023-07-05  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	Backported from master:
+ 	2023-06-06  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and
+ 	split out from...
+ 	(gen_ld_cmpi_p10): ... this.
+ 
+ 2023-06-29  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR rtl-optimization/110237
+ 	* config/i386/sse.md (<avx512>_store<mode>_mask): Refine with
+ 	UNSPEC_MASKMOV.
+ 	(maskstore<mode><avx512fmaskmodelower): Ditto.
+ 	(*<avx512>_store<mode>_mask): New define_insn, it's renamed
+ 	from original <avx512>_store<mode>_mask.
+ 
+ 2023-06-29  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/110309
+ 	* config/i386/sse.md (maskload<mode><avx512fmaskmodelower>):
+ 	Refine pattern with UNSPEC_MASKLOAD.
+ 	(maskload<mode><avx512fmaskmodelower>): Ditto.
+ 
+ 2023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	PR testsuite/66005
+ 	* doc/install.texi: Document (optional) Perl usage for parallel
+ 	testing of libgomp.
+ 
+ 2023-06-28  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* config/i386/i386-features.c (pass_insert_vzeroupper:gate):
+ 	Move flag_expensive_optimizations && !optimize_size to ..
+ 	* config/i386/i386-options.c (ix86_option_override_internal):
+ 	.. this, it makes -mvzeroupper independent of optimization
+ 	level, but still keeps the behavior of architecture
+ 	tuning(emit_vzeroupper) unchanged.
+ 	(rest_of_handle_insert_vzeroupper): Remove
+ 	flag_expensive_optimizations && !optimize_size.
+ 
+ 2023-06-20  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/109932
+ 	* config/rs6000/rs6000-builtin.def (BU_VSX_MISC_2): New macro.
+ 	({un,}pack_vector_int128): Use BU_VSX_MISC_2 instead of
+ 	BU_P7_MISC_2.
+ 
+ 2023-06-20  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/110011
+ 	* config/rs6000/rs6000.c (output_toc): Use the mode of the 128-bit
+ 	floating constant itself for real_to_target call.
+ 
+ 2023-06-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/110200
+ 	* genmatch.c (expr::gen_transform): Put braces around
+ 	the if arm for the (convert ...) short-cut.
+ 
+ 2023-06-09  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2023-05-25  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/109800
+ 	* config/arm/arm.md (movdf): Generate temporary pseudo in DImode
+ 	instead of DFmode.
+ 	* config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an
+ 	lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into
+ 	DFmode as an rvalue.
+ 
+ 2023-06-09  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-06-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/110044
+ 	* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
+ 	Make sure that we do not have a cap on field alignment before altering
+ 	the struct layout based on the type alignment of the first entry.
+ 
+ 2023-06-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-05-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/109505
+ 	* match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2),
+ 	Combine successive equal operations with constants,
+ 	(A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A,
+ 	CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P
+ 	operands.
+ 
+ 2023-06-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/109505
+ 	* doc/match-and-simplify.texi: Amend ! documentation.
+ 	* genmatch.c (expr::gen_transform): Code-generate ! support
+ 	for GENERIC.
+ 	(parser::parse_expr): Allow ! for GENERIC.
+ 
+ 2023-06-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-06-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR target/109954
+ 	* doc/invoke.texi (x86 Options): Fix description of -m32 option.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/DATESTAMP gcc-11.5.0/gcc/DATESTAMP
*** gcc-11.4.0/gcc/DATESTAMP	Mon May 29 08:46:28 2023
--- gcc-11.5.0/gcc/DATESTAMP	Fri Jul 19 05:52:43 2024
***************
*** 1 ****
! 20230528
--- 1 ----
! 20240719
diff -Nrcpad gcc-11.4.0/gcc/ada/ChangeLog gcc-11.5.0/gcc/ada/ChangeLog
*** gcc-11.4.0/gcc/ada/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/ada/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,30 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* gcc-interface/Makefile.in: Use DSYMUTIL_FOR_TARGET in
+ 	libgnat/libgnarl recipies.
+ 
+ 2024-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/113979
+ 	* exp_ch4.adb (Expand_N_Allocator): In the subtype indication case,
+ 	remove call to Apply_Predicate_Check.
+ 
+ 2024-02-26  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/113893
+ 	* exp_ch7.adb (Build_Anonymous_Master): Do not build the master
+ 	for a local designated type.
+ 	* exp_util.adb (Build_Allocate_Deallocate_Proc): Force Needs_Fin
+ 	to false if no finalization master is attached to an access type
+ 	and assert that it is anonymous in this case.
+ 	* sem_res.adb (Resolve_Allocator): Mention that the object might
+ 	not be finalized at all in the warning given when the type is an
+ 	anonymous access-to-controlled type.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/ada/exp_ch4.adb gcc-11.5.0/gcc/ada/exp_ch4.adb
*** gcc-11.4.0/gcc/ada/exp_ch4.adb	Mon May 29 08:46:28 2023
--- gcc-11.5.0/gcc/ada/exp_ch4.adb	Fri Jul 19 05:52:43 2024
*************** package body Exp_Ch4 is
*** 4970,4977 ****
           if Is_Array_Type (Dtyp) and then not No_Initialization (N) then
              Apply_Constraint_Check (Expression (N), Dtyp, No_Sliding => True);
  
-             Apply_Predicate_Check (Expression (N), Dtyp);
- 
              if Nkind (Expression (N)) = N_Raise_Constraint_Error then
                 Rewrite (N, New_Copy (Expression (N)));
                 Set_Etype (N, PtrT);
--- 4970,4975 ----
diff -Nrcpad gcc-11.4.0/gcc/ada/exp_ch7.adb gcc-11.5.0/gcc/ada/exp_ch7.adb
*** gcc-11.4.0/gcc/ada/exp_ch7.adb	Mon May 29 08:46:28 2023
--- gcc-11.5.0/gcc/ada/exp_ch7.adb	Fri Jul 19 05:52:43 2024
*************** package body Exp_Ch7 is
*** 802,807 ****
--- 802,808 ----
        Desig_Typ : Entity_Id;
        FM_Id     : Entity_Id;
        Priv_View : Entity_Id;
+       Scop      : Entity_Id;
        Unit_Decl : Node_Id;
        Unit_Id   : Entity_Id;
  
*************** package body Exp_Ch7 is
*** 840,845 ****
--- 841,858 ----
           Desig_Typ := Priv_View;
        end if;
  
+       --  For a designated type not declared at library level, we cannot create
+       --  a finalization collection attached to an outer unit since this would
+       --  generate dangling references to the dynamic scope through access-to-
+       --  procedure values designating the local Finalize_Address primitive.
+ 
+       Scop := Enclosing_Dynamic_Scope (Desig_Typ);
+       if Scop /= Standard_Standard
+         and then Scope_Depth (Scop) > Scope_Depth (Unit_Id)
+       then
+          return;
+       end if;
+ 
        --  Determine whether the current semantic unit already has an anonymous
        --  master which services the designated type.
  
diff -Nrcpad gcc-11.4.0/gcc/ada/exp_util.adb gcc-11.5.0/gcc/ada/exp_util.adb
*** gcc-11.4.0/gcc/ada/exp_util.adb	Mon May 29 08:46:28 2023
--- gcc-11.5.0/gcc/ada/exp_util.adb	Fri Jul 19 05:52:43 2024
*************** package body Exp_Util is
*** 856,861 ****
--- 856,871 ----
          Needs_Finalization (Desig_Typ)
            and then not No_Heap_Finalization (Ptr_Typ);
  
+       --  The allocation/deallocation of a controlled object must be associated
+       --  with an attachment to/detachment from a finalization master, but the
+       --  implementation cannot guarantee this property for every anonymous
+       --  access tyoe, see Build_Anonymous_Collection.
+ 
+       if Needs_Fin and then No (Finalization_Master (Ptr_Typ)) then
+          pragma Assert (Ekind (Ptr_Typ) = E_Anonymous_Access_Type);
+          Needs_Fin := False;
+       end if;
+ 
        if Needs_Fin then
  
           --  Do nothing if the access type may never allocate / deallocate
*************** package body Exp_Util is
*** 865,875 ****
              return;
           end if;
  
-          --  The allocation / deallocation of a controlled object must be
-          --  chained on / detached from a finalization master.
- 
-          pragma Assert (Present (Finalization_Master (Ptr_Typ)));
- 
        --  The only other kind of allocation / deallocation supported by this
        --  routine is on / from a subpool.
  
--- 875,880 ----
diff -Nrcpad gcc-11.4.0/gcc/ada/gcc-interface/Makefile.in gcc-11.5.0/gcc/ada/gcc-interface/Makefile.in
*** gcc-11.4.0/gcc/ada/gcc-interface/Makefile.in	Mon May 29 08:46:28 2023
--- gcc-11.5.0/gcc/ada/gcc-interface/Makefile.in	Fri Jul 19 05:52:43 2024
*************** gnatlib-shared-darwin:
*** 805,812 ****
  		libgnat$(soext)
  	cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		libgnarl$(soext)
! 	cd $(RTSDIR); dsymutil libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
! 	cd $(RTSDIR); dsymutil libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
  
  gnatlib-shared:
  	$(MAKE) $(FLAGS_TO_PASS) \
--- 805,812 ----
  		libgnat$(soext)
  	cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		libgnarl$(soext)
! 	cd $(RTSDIR); $(DSYMUTIL_FOR_TARGET) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
! 	cd $(RTSDIR); $(DSYMUTIL_FOR_TARGET) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
  
  gnatlib-shared:
  	$(MAKE) $(FLAGS_TO_PASS) \
diff -Nrcpad gcc-11.4.0/gcc/ada/sem_res.adb gcc-11.5.0/gcc/ada/sem_res.adb
*** gcc-11.4.0/gcc/ada/sem_res.adb	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/ada/sem_res.adb	Fri Jul 19 05:52:43 2024
*************** package body Sem_Res is
*** 5574,5592 ****
                 Set_Is_Dynamic_Coextension (N, False);
                 Set_Is_Static_Coextension  (N, False);
  
!                --  Anonymous access-to-controlled objects are not finalized on
!                --  time because this involves run-time ownership and currently
!                --  this property is not available. In rare cases the object may
!                --  not be finalized at all. Warn on potential issues involving
!                --  anonymous access-to-controlled objects.
  
                 if Ekind (Typ) = E_Anonymous_Access_Type
                   and then Is_Controlled_Active (Desig_T)
                 then
                    Error_Msg_N
!                     ("??object designated by anonymous access object might "
                       & "not be finalized until its enclosing library unit "
!                      & "goes out of scope", N);
                    Error_Msg_N ("\use named access type instead", N);
                 end if;
              end if;
--- 5574,5592 ----
                 Set_Is_Dynamic_Coextension (N, False);
                 Set_Is_Static_Coextension  (N, False);
  
!                --  Objects allocated through anonymous access types are not
!                --  finalized on time because this involves run-time ownership
!                --  and currently this property is not available. In rare cases
!                --  the object might not be finalized at all. Warn on potential
!                --  issues involving anonymous access-to-controlled types.
  
                 if Ekind (Typ) = E_Anonymous_Access_Type
                   and then Is_Controlled_Active (Desig_T)
                 then
                    Error_Msg_N
!                     ("??object designated by anonymous access value might "
                       & "not be finalized until its enclosing library unit "
!                      & "goes out of scope, or not be finalized at all", N);
                    Error_Msg_N ("\use named access type instead", N);
                 end if;
              end if;
diff -Nrcpad gcc-11.4.0/gcc/analyzer/ChangeLog gcc-11.5.0/gcc/analyzer/ChangeLog
*** gcc-11.4.0/gcc/analyzer/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/analyzer/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/asan.c gcc-11.5.0/gcc/asan.c
*** gcc-11.4.0/gcc/asan.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/asan.c	Fri Jul 19 05:52:43 2024
*************** asan_emit_stack_protection (rtx base, rt
*** 1856,1874 ****
      }
    str_cst = asan_pp_string (&asan_pp);
  
    /* Emit the prologue sequence.  */
    if (asan_frame_size > 32 && asan_frame_size <= 65536 && pbase
        && param_asan_use_after_return)
      {
        use_after_return_class = floor_log2 (asan_frame_size - 1) - 5;
        /* __asan_stack_malloc_N guarantees alignment
  	 N < 6 ? (64 << N) : 4096 bytes.  */
        if (alignb > (use_after_return_class < 6
  		    ? (64U << use_after_return_class) : 4096U))
  	use_after_return_class = -1;
!       else if (alignb > ASAN_RED_ZONE_SIZE && (asan_frame_size & (alignb - 1)))
! 	base_align_bias = ((asan_frame_size + alignb - 1)
! 			   & ~(alignb - HOST_WIDE_INT_1)) - asan_frame_size;
      }
  
    /* Align base if target is STRICT_ALIGNMENT.  */
--- 1856,1894 ----
      }
    str_cst = asan_pp_string (&asan_pp);
  
+   gcc_checking_assert (offsets[0] == (crtl->stack_protect_guard
+ 				      ? -ASAN_RED_ZONE_SIZE : 0));
    /* Emit the prologue sequence.  */
    if (asan_frame_size > 32 && asan_frame_size <= 65536 && pbase
        && param_asan_use_after_return)
      {
+       HOST_WIDE_INT adjusted_frame_size = asan_frame_size;
+       /* The stack protector guard is allocated at the top of the frame
+ 	 and cfgexpand.cc then uses align_frame_offset (ASAN_RED_ZONE_SIZE);
+ 	 while in that case we can still use asan_frame_size, we need to take
+ 	 that into account when computing base_align_bias.  */
+       if (alignb > ASAN_RED_ZONE_SIZE && crtl->stack_protect_guard)
+ 	adjusted_frame_size += ASAN_RED_ZONE_SIZE;
        use_after_return_class = floor_log2 (asan_frame_size - 1) - 5;
        /* __asan_stack_malloc_N guarantees alignment
  	 N < 6 ? (64 << N) : 4096 bytes.  */
        if (alignb > (use_after_return_class < 6
  		    ? (64U << use_after_return_class) : 4096U))
  	use_after_return_class = -1;
!       else if (alignb > ASAN_RED_ZONE_SIZE
! 	       && (adjusted_frame_size & (alignb - 1)))
! 	{
! 	  base_align_bias
! 	    = ((adjusted_frame_size + alignb - 1)
! 	       & ~(alignb - HOST_WIDE_INT_1)) - adjusted_frame_size;
! 	  use_after_return_class
! 	    = floor_log2 (asan_frame_size + base_align_bias - 1) - 5;
! 	  if (use_after_return_class > 10)
! 	    {
! 	      base_align_bias = 0;
! 	      use_after_return_class = -1;
! 	    }
! 	}
      }
  
    /* Align base if target is STRICT_ALIGNMENT.  */
*************** asan_protect_global (tree decl, bool ign
*** 2238,2243 ****
--- 2258,2265 ----
        || (DECL_SECTION_NAME (decl) != NULL
  	  && !symtab_node::get (decl)->implicit_section
  	  && !section_sanitized_p (DECL_SECTION_NAME (decl)))
+       /* Don't protect variables in non-generic address-space.  */
+       || !ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (decl)))
        || DECL_SIZE (decl) == 0
        || ASAN_RED_ZONE_SIZE * BITS_PER_UNIT > MAX_OFILE_ALIGNMENT
        || TREE_CODE (DECL_SIZE_UNIT (decl)) != INTEGER_CST
*************** instrument_derefs (gimple_stmt_iterator
*** 2697,2702 ****
--- 2719,2728 ----
    if (VAR_P (inner) && DECL_HARD_REGISTER (inner))
      return;
  
+   /* Accesses to non-generic address-spaces should not be instrumented.  */
+   if (!ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (inner))))
+     return;
+ 
    poly_int64 decl_size;
    if ((VAR_P (inner) || TREE_CODE (inner) == RESULT_DECL)
        && offset == NULL_TREE
*************** asan_expand_mark_ifn (gimple_stmt_iterat
*** 3723,3731 ****
      }
    tree len = gimple_call_arg (g, 2);
  
!   gcc_assert (tree_fits_shwi_p (len));
!   unsigned HOST_WIDE_INT size_in_bytes = tree_to_shwi (len);
!   gcc_assert (size_in_bytes);
  
    g = gimple_build_assign (make_ssa_name (pointer_sized_int_node),
  			   NOP_EXPR, base);
--- 3749,3755 ----
      }
    tree len = gimple_call_arg (g, 2);
  
!   gcc_assert (poly_int_tree_p (len));
  
    g = gimple_build_assign (make_ssa_name (pointer_sized_int_node),
  			   NOP_EXPR, base);
*************** asan_expand_mark_ifn (gimple_stmt_iterat
*** 3734,3742 ****
    tree base_addr = gimple_assign_lhs (g);
  
    /* Generate direct emission if size_in_bytes is small.  */
!   if (size_in_bytes
!       <= (unsigned)param_use_after_scope_direct_emission_threshold)
      {
        const unsigned HOST_WIDE_INT shadow_size
  	= shadow_mem_size (size_in_bytes);
        const unsigned int shadow_align
--- 3758,3767 ----
    tree base_addr = gimple_assign_lhs (g);
  
    /* Generate direct emission if size_in_bytes is small.  */
!   unsigned threshold = param_use_after_scope_direct_emission_threshold;
!   if (tree_fits_uhwi_p (len) && tree_to_uhwi (len) <= threshold)
      {
+       unsigned HOST_WIDE_INT size_in_bytes = tree_to_uhwi (len);
        const unsigned HOST_WIDE_INT shadow_size
  	= shadow_mem_size (size_in_bytes);
        const unsigned int shadow_align
diff -Nrcpad gcc-11.4.0/gcc/attribs.c gcc-11.5.0/gcc/attribs.c
*** gcc-11.4.0/gcc/attribs.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/attribs.c	Fri Jul 19 05:52:43 2024
*************** static const struct attribute_spec empty
*** 105,124 ****
    { NULL, 0, 0, false, false, false, false, NULL, NULL }
  };
  
- /* Return base name of the attribute.  Ie '__attr__' is turned into 'attr'.
-    To avoid need for copying, we simply return length of the string.  */
- 
- static void
- extract_attribute_substring (struct substring *str)
- {
-   if (str->length > 4 && str->str[0] == '_' && str->str[1] == '_'
-       && str->str[str->length - 1] == '_' && str->str[str->length - 2] == '_')
-     {
-       str->length -= 4;
-       str->str += 2;
-     }
- }
- 
  /* Insert an array of attributes ATTRIBUTES into a namespace.  This
     array must be NULL terminated.  NS is the name of attribute
     namespace.  The function returns the namespace into which the
--- 105,110 ----
*************** lookup_scoped_attribute_spec (const_tree
*** 312,318 ****
  
    attr.str = IDENTIFIER_POINTER (name);
    attr.length = IDENTIFIER_LENGTH (name);
-   extract_attribute_substring (&attr);
    return attrs->attribute_hash->find_with_hash (&attr,
  						substring_hash (attr.str,
  							       	attr.length));
--- 298,303 ----
*************** diag_attr_exclusions (tree last_decl, tr
*** 392,398 ****
    if (DECL_P (node))
      {
        attrs[0] = DECL_ATTRIBUTES (node);
!       attrs[1] = TYPE_ATTRIBUTES (TREE_TYPE (node));
      }
    else
      {
--- 377,388 ----
    if (DECL_P (node))
      {
        attrs[0] = DECL_ATTRIBUTES (node);
!       if (TREE_TYPE (node))
! 	attrs[1] = TYPE_ATTRIBUTES (TREE_TYPE (node));
!       else
! 	/* TREE_TYPE can be NULL e.g. while processing attributes on
! 	   enumerators.  */
! 	attrs[1] = NULL_TREE;
      }
    else
      {
diff -Nrcpad gcc-11.4.0/gcc/bb-reorder.c gcc-11.5.0/gcc/bb-reorder.c
*** gcc-11.4.0/gcc/bb-reorder.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/bb-reorder.c	Fri Jul 19 05:52:43 2024
*************** fix_crossing_unconditional_branches (voi
*** 2266,2272 ****
  	  /* Make sure the jump is not already an indirect or table jump.  */
  
  	  if (!computed_jump_p (last_insn)
! 	      && !tablejump_p (last_insn, NULL, NULL))
  	    {
  	      /* We have found a "crossing" unconditional branch.  Now
  		 we must convert it to an indirect jump.  First create
--- 2266,2273 ----
  	  /* Make sure the jump is not already an indirect or table jump.  */
  
  	  if (!computed_jump_p (last_insn)
! 	      && !tablejump_p (last_insn, NULL, NULL)
! 	      && asm_noperands (PATTERN (last_insn)) < 0)
  	    {
  	      /* We have found a "crossing" unconditional branch.  Now
  		 we must convert it to an indirect jump.  First create
diff -Nrcpad gcc-11.4.0/gcc/brig/ChangeLog gcc-11.5.0/gcc/brig/ChangeLog
*** gcc-11.4.0/gcc/brig/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/brig/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/builtins.c gcc-11.5.0/gcc/builtins.c
*** gcc-11.4.0/gcc/builtins.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/builtins.c	Fri Jul 19 05:52:43 2024
*************** fold_builtin_arith_overflow (location_t
*** 11821,11827 ****
        tree ctype = build_complex_type (type);
        tree call = build_call_expr_internal_loc (loc, ifn, ctype, 2,
  						arg0, arg1);
!       tree tgt = save_expr (call);
        intres = build1_loc (loc, REALPART_EXPR, type, tgt);
        ovfres = build1_loc (loc, IMAGPART_EXPR, type, tgt);
        ovfres = fold_convert_loc (loc, boolean_type_node, ovfres);
--- 11821,11841 ----
        tree ctype = build_complex_type (type);
        tree call = build_call_expr_internal_loc (loc, ifn, ctype, 2,
  						arg0, arg1);
!       tree tgt;
!       if (ovf_only)
! 	{
! 	  tgt = call;
! 	  intres = NULL_TREE;
! 	}
!       else
! 	{
! 	  /* Force SAVE_EXPR even for calls which satisfy tree_invariant_p_1,
! 	     as while the call itself is const, the REALPART_EXPR store is
! 	     certainly not.  And in any case, we want just one call,
! 	     not multiple and trying to CSE them later.  */
! 	  TREE_SIDE_EFFECTS (call) = 1;
! 	  tgt = save_expr (call);
! 	}
        intres = build1_loc (loc, REALPART_EXPR, type, tgt);
        ovfres = build1_loc (loc, IMAGPART_EXPR, type, tgt);
        ovfres = fold_convert_loc (loc, boolean_type_node, ovfres);
diff -Nrcpad gcc-11.4.0/gcc/c/ChangeLog gcc-11.5.0/gcc/c/ChangeLog
*** gcc-11.4.0/gcc/c/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/c/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,17 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/114493
+ 	* c-decl.c (c_fixup_may_alias): New function.
+ 	(finish_struct): Call it if "may_alias" attribute is
+ 	specified.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/c/c-decl.c gcc-11.5.0/gcc/c/c-decl.c
*** gcc-11.4.0/gcc/c/c-decl.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c/c-decl.c	Fri Jul 19 05:52:43 2024
*************** finish_incomplete_vars (tree incomplete_
*** 8664,8669 ****
--- 8664,8680 ----
      }
  }
  
+ /* TYPE is a struct or union that we're applying may_alias to after the body is
+    parsed.  Fixup any POINTER_TO types.  */
+ 
+ static void
+ c_fixup_may_alias (tree type)
+ {
+   for (tree t = TYPE_POINTER_TO (type); t; t = TYPE_NEXT_PTR_TO (t))
+     for (tree v = TYPE_MAIN_VARIANT (t); v; v = TYPE_NEXT_VARIANT (v))
+       TYPE_REF_CAN_ALIAS_ALL (v) = true;
+ }
+ 
  /* Fill in the fields of a RECORD_TYPE or UNION_TYPE node, T.
     LOC is the location of the RECORD_TYPE or UNION_TYPE's definition.
     FIELDLIST is a chain of FIELD_DECL nodes for the fields.
*************** finish_struct (location_t loc, tree t, t
*** 8922,8927 ****
--- 8933,8942 ----
        warning_at (loc, 0, "union cannot be made transparent");
      }
  
+   if (lookup_attribute ("may_alias", TYPE_ATTRIBUTES (t)))
+     for (x = TYPE_MAIN_VARIANT (t); x; x = TYPE_NEXT_VARIANT (x))
+       c_fixup_may_alias (x);
+ 
    tree incomplete_vars = C_TYPE_INCOMPLETE_VARS (TYPE_MAIN_VARIANT (t));
    for (x = TYPE_MAIN_VARIANT (t); x; x = TYPE_NEXT_VARIANT (x))
      {
diff -Nrcpad gcc-11.4.0/gcc/c-family/ChangeLog gcc-11.5.0/gcc/c-family/ChangeLog
*** gcc-11.4.0/gcc/c-family/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/c-family/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,59 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/114007
+ 	* c-lex.c (c_common_has_attribute): Parse 2 CPP_COLONs with
+ 	the first one with COLON_SCOPE flag the same as CPP_SCOPE but
+ 	ensure 0 is returned then.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/113674
+ 	* c-lex.c (c_common_has_attribute): Call canonicalize_attr_name.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/113262
+ 	* c-attribs.c (handle_copy_attribute): Don't use
+ 	DECL_SOURCE_LOCATION (decl) if decl is not DECL_P, use input_location
+ 	instead.  Formatting fixes.
+ 
+ 2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-05-07  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR c++/89224
+ 	* c-common.c (convert_vector_to_array_for_subscript): Call build_qualified_type
+ 	for the inner type.
+ 
+ 2024-04-23  Matt Jacobson  <mhjacobson@me.com>
+ 
+ 	Backported from master:
+ 	2021-08-17  Matt Jacobson  <mhjacobson@me.com>
+ 
+ 	* c-opts.c (c_common_post_options): Default to
+ 	flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
+ 
+ 2024-01-27  Lewis Hyatt  <lhyatt@gmail.com>
+ 
+ 	PR preprocessor/105608
+ 	* c-pch.c (c_common_read_pch): Start a new line map before asking
+ 	libcpp to restore macros defined prior to reading the PCH, instead
+ 	of afterward.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/c-family/c-attribs.c gcc-11.5.0/gcc/c-family/c-attribs.c
*** gcc-11.4.0/gcc/c-family/c-attribs.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c-family/c-attribs.c	Fri Jul 19 05:52:43 2024
*************** handle_copy_attribute (tree *node, tree
*** 2772,2784 ****
    if (ref == error_mark_node)
      return NULL_TREE;
  
    if (TREE_CODE (ref) == STRING_CST)
      {
        /* Explicitly handle this case since using a string literal
  	 as an argument is a likely mistake.  */
!       error_at (DECL_SOURCE_LOCATION (decl),
! 		"%qE attribute argument cannot be a string",
! 		name);
        return NULL_TREE;
      }
  
--- 2772,2785 ----
    if (ref == error_mark_node)
      return NULL_TREE;
  
+   location_t loc = input_location;
+   if (DECL_P (decl))
+     loc = DECL_SOURCE_LOCATION (decl);
    if (TREE_CODE (ref) == STRING_CST)
      {
        /* Explicitly handle this case since using a string literal
  	 as an argument is a likely mistake.  */
!       error_at (loc, "%qE attribute argument cannot be a string", name);
        return NULL_TREE;
      }
  
*************** handle_copy_attribute (tree *node, tree
*** 2789,2798 ****
        /* Similar to the string case, since some function attributes
  	 accept literal numbers as arguments (e.g., alloc_size or
  	 nonnull) using one here is a likely mistake.  */
!       error_at (DECL_SOURCE_LOCATION (decl),
! 		"%qE attribute argument cannot be a constant arithmetic "
! 		"expression",
! 		name);
        return NULL_TREE;
      }
  
--- 2790,2797 ----
        /* Similar to the string case, since some function attributes
  	 accept literal numbers as arguments (e.g., alloc_size or
  	 nonnull) using one here is a likely mistake.  */
!       error_at (loc, "%qE attribute argument cannot be a constant arithmetic "
! 		"expression", name);
        return NULL_TREE;
      }
  
*************** handle_copy_attribute (tree *node, tree
*** 2800,2811 ****
      {
        /* Another possible mistake (but indirect self-references aren't
  	 and diagnosed and shouldn't be).  */
!       if (warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wattributes,
  		      "%qE attribute ignored on a redeclaration "
! 		      "of the referenced symbol",
! 		      name))
! 	inform (DECL_SOURCE_LOCATION (node[1]),
! 		"previous declaration here");
        return NULL_TREE;
      }
  
--- 2799,2809 ----
      {
        /* Another possible mistake (but indirect self-references aren't
  	 and diagnosed and shouldn't be).  */
!       if (warning_at (loc, OPT_Wattributes,
  		      "%qE attribute ignored on a redeclaration "
! 		      "of the referenced symbol", name)
! 	  && DECL_P (node[1]))
! 	inform (DECL_SOURCE_LOCATION (node[1]), "previous declaration here");
        return NULL_TREE;
      }
  
*************** handle_copy_attribute (tree *node, tree
*** 2825,2831 ****
  	ref = TREE_OPERAND (ref, 1);
        else
  	break;
!     } while (!DECL_P (ref));
  
    /* For object pointer expressions, consider those to be requests
       to copy from their type, such as in:
--- 2823,2830 ----
  	ref = TREE_OPERAND (ref, 1);
        else
  	break;
!     }
!   while (!DECL_P (ref));
  
    /* For object pointer expressions, consider those to be requests
       to copy from their type, such as in:
*************** handle_copy_attribute (tree *node, tree
*** 2857,2864 ****
  	     to a variable, or variable attributes to a function.  */
  	  if (warning (OPT_Wattributes,
  		       "%qE attribute ignored on a declaration of "
! 		       "a different kind than referenced symbol",
! 		       name)
  	      && DECL_P (ref))
  	    inform (DECL_SOURCE_LOCATION (ref),
  		    "symbol %qD referenced by %qD declared here", ref, decl);
--- 2856,2862 ----
  	     to a variable, or variable attributes to a function.  */
  	  if (warning (OPT_Wattributes,
  		       "%qE attribute ignored on a declaration of "
! 		       "a different kind than referenced symbol", name)
  	      && DECL_P (ref))
  	    inform (DECL_SOURCE_LOCATION (ref),
  		    "symbol %qD referenced by %qD declared here", ref, decl);
*************** handle_copy_attribute (tree *node, tree
*** 2908,2916 ****
      }
    else if (!TYPE_P (decl))
      {
!       error_at (DECL_SOURCE_LOCATION (decl),
! 		"%qE attribute must apply to a declaration",
! 		name);
        return NULL_TREE;
      }
  
--- 2906,2912 ----
      }
    else if (!TYPE_P (decl))
      {
!       error_at (loc, "%qE attribute must apply to a declaration", name);
        return NULL_TREE;
      }
  
diff -Nrcpad gcc-11.4.0/gcc/c-family/c-common.c gcc-11.5.0/gcc/c-family/c-common.c
*** gcc-11.4.0/gcc/c-family/c-common.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c-family/c-common.c	Fri Jul 19 05:52:43 2024
*************** convert_vector_to_array_for_subscript (l
*** 8274,8279 ****
--- 8274,8280 ----
    if (gnu_vector_type_p (TREE_TYPE (*vecp)))
      {
        tree type = TREE_TYPE (*vecp);
+       tree newitype;
  
        ret = !lvalue_p (*vecp);
  
*************** convert_vector_to_array_for_subscript (l
*** 8288,8295 ****
  	 for function parameters.  */
        c_common_mark_addressable_vec (*vecp);
  
        *vecp = build1 (VIEW_CONVERT_EXPR,
! 		      build_array_type_nelts (TREE_TYPE (type),
  					      TYPE_VECTOR_SUBPARTS (type)),
  		      *vecp);
      }
--- 8289,8300 ----
  	 for function parameters.  */
        c_common_mark_addressable_vec (*vecp);
  
+       /* Make sure qualifiers are copied from the vector type to the new element
+ 	 of the array type.  */
+       newitype = build_qualified_type (TREE_TYPE (type), TYPE_QUALS (type));
+ 
        *vecp = build1 (VIEW_CONVERT_EXPR,
! 		      build_array_type_nelts (newitype,
  					      TYPE_VECTOR_SUBPARTS (type)),
  		      *vecp);
      }
diff -Nrcpad gcc-11.4.0/gcc/c-family/c-lex.c gcc-11.5.0/gcc/c-family/c-lex.c
*** gcc-11.4.0/gcc/c-family/c-lex.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c-family/c-lex.c	Fri Jul 19 05:52:43 2024
*************** c_common_has_attribute (cpp_reader *pfil
*** 327,335 ****
        do
  	nxt_token = cpp_peek_token (pfile, idx++);
        while (nxt_token->type == CPP_PADDING);
!       if (nxt_token->type == CPP_SCOPE)
  	{
- 	  have_scope = true;
  	  get_token_no_padding (pfile); // Eat scope.
  	  nxt_token = get_token_no_padding (pfile);
  	  if (nxt_token->type == CPP_NAME)
--- 327,354 ----
        do
  	nxt_token = cpp_peek_token (pfile, idx++);
        while (nxt_token->type == CPP_PADDING);
!       if (!c_dialect_cxx ()
! 	  && nxt_token->type == CPP_COLON
! 	  && (nxt_token->flags & COLON_SCOPE) != 0)
! 	{
! 	  const cpp_token *prev_token = nxt_token;
! 	  do
! 	    nxt_token = cpp_peek_token (pfile, idx++);
! 	  while (nxt_token->type == CPP_PADDING);
! 	  if (nxt_token->type == CPP_COLON)
! 	    {
! 	      /* __has_attribute (vendor::attr) in -std=c17 etc. modes.
! 		 :: isn't CPP_SCOPE but 2 CPP_COLON tokens, where the
! 		 first one should have COLON_SCOPE flag to distinguish
! 		 it from : :.  */
! 	      have_scope = true;
! 	      get_token_no_padding (pfile); // Eat first colon.
! 	    }
! 	  else
! 	    nxt_token = prev_token;
! 	}
!       if (nxt_token->type == CPP_SCOPE || have_scope)
  	{
  	  get_token_no_padding (pfile); // Eat scope.
  	  nxt_token = get_token_no_padding (pfile);
  	  if (nxt_token->type == CPP_NAME)
*************** c_common_has_attribute (cpp_reader *pfil
*** 338,343 ****
--- 357,363 ----
  	      tree attr_id
  		= get_identifier ((const char *)
  				  cpp_token_as_text (pfile, nxt_token));
+ 	      attr_id = canonicalize_attr_name (attr_id);
  	      attr_name = build_tree_list (attr_ns, attr_id);
  	    }
  	  else
*************** c_common_has_attribute (cpp_reader *pfil
*** 346,351 ****
--- 366,380 ----
  			 "attribute identifier required after scope");
  	      attr_name = NULL_TREE;
  	    }
+ 	  if (have_scope)
+ 	    {
+ 	      /* The parser in this case won't be able to parse
+ 		 [[vendor::attr]], so ensure 0 is returned.  */
+ 	      result = 0;
+ 	      attr_name = NULL_TREE;
+ 	    }
+ 	  else
+ 	    have_scope = true;
  	}
        else
  	{
diff -Nrcpad gcc-11.4.0/gcc/c-family/c-opts.c gcc-11.5.0/gcc/c-family/c-opts.c
*** gcc-11.4.0/gcc/c-family/c-opts.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c-family/c-opts.c	Fri Jul 19 05:52:43 2024
*************** c_common_post_options (const char **pfil
*** 852,860 ****
    else if (!flag_gnu89_inline && !flag_isoc99)
      error ("%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode");
  
!   /* Default to ObjC sjlj exception handling if NeXT runtime.  */
    if (flag_objc_sjlj_exceptions < 0)
!     flag_objc_sjlj_exceptions = flag_next_runtime;
    if (flag_objc_exceptions && !flag_objc_sjlj_exceptions)
      flag_exceptions = 1;
  
--- 852,860 ----
    else if (!flag_gnu89_inline && !flag_isoc99)
      error ("%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode");
  
!   /* Default to ObjC sjlj exception handling if NeXT runtime < v2.  */
    if (flag_objc_sjlj_exceptions < 0)
!     flag_objc_sjlj_exceptions = (flag_next_runtime && flag_objc_abi < 2);
    if (flag_objc_exceptions && !flag_objc_sjlj_exceptions)
      flag_exceptions = 1;
  
diff -Nrcpad gcc-11.4.0/gcc/c-family/c-pch.c gcc-11.5.0/gcc/c-family/c-pch.c
*** gcc-11.4.0/gcc/c-family/c-pch.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/c-family/c-pch.c	Fri Jul 19 05:52:43 2024
*************** c_common_read_pch (cpp_reader *pfile, co
*** 354,359 ****
--- 354,361 ----
    gt_pch_restore (f);
    cpp_set_line_map (pfile, line_table);
    rebuild_location_adhoc_htab (line_table);
+   line_table->trace_includes = saved_trace_includes;
+   linemap_add (line_table, LC_ENTER, 0, saved_loc.file, saved_loc.line);
  
    timevar_push (TV_PCH_CPP_RESTORE);
    if (cpp_read_state (pfile, name, f, smd) != 0)
*************** c_common_read_pch (cpp_reader *pfile, co
*** 367,375 ****
  
    fclose (f);
  
-   line_table->trace_includes = saved_trace_includes;
-   linemap_add (line_table, LC_ENTER, 0, saved_loc.file, saved_loc.line);
- 
    /* Give the front end a chance to take action after a PCH file has
       been loaded.  */
    if (lang_post_pch_load)
--- 369,374 ----
diff -Nrcpad gcc-11.4.0/gcc/cfgexpand.c gcc-11.5.0/gcc/cfgexpand.c
*** gcc-11.4.0/gcc/cfgexpand.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cfgexpand.c	Fri Jul 19 05:52:43 2024
*************** visit_conflict (gimple *, tree op, tree,
*** 571,576 ****
--- 571,596 ----
    return false;
  }
  
+ /* Helper function for add_scope_conflicts_1.  For USE on
+    a stmt, if it is a SSA_NAME and in its SSA_NAME_DEF_STMT is known to be
+    based on some ADDR_EXPR, invoke VISIT on that ADDR_EXPR.  */
+ 
+ static inline void
+ add_scope_conflicts_2 (tree use, bitmap work,
+ 		       walk_stmt_load_store_addr_fn visit)
+ {
+   if (TREE_CODE (use) == SSA_NAME
+       && (POINTER_TYPE_P (TREE_TYPE (use))
+ 	  || INTEGRAL_TYPE_P (TREE_TYPE (use))))
+     {
+       gimple *g = SSA_NAME_DEF_STMT (use);
+       if (is_gimple_assign (g))
+ 	if (tree op = gimple_assign_rhs1 (g))
+ 	  if (TREE_CODE (op) == ADDR_EXPR)
+ 	    visit (g, TREE_OPERAND (op, 0), op, work);
+     }
+ }
+ 
  /* Helper routine for add_scope_conflicts, calculating the active partitions
     at the end of BB, leaving the result in WORK.  We're called to generate
     conflicts when FOR_CONFLICT is true, otherwise we're just tracking
*************** add_scope_conflicts_1 (basic_block bb, b
*** 583,588 ****
--- 603,610 ----
    edge_iterator ei;
    gimple_stmt_iterator gsi;
    walk_stmt_load_store_addr_fn visit;
+   use_operand_p use_p;
+   ssa_op_iter iter;
  
    bitmap_clear (work);
    FOR_EACH_EDGE (e, ei, bb->preds)
*************** add_scope_conflicts_1 (basic_block bb, b
*** 593,599 ****
--- 615,624 ----
    for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
      {
        gimple *stmt = gsi_stmt (gsi);
+       gphi *phi = as_a <gphi *> (stmt);
        walk_stmt_load_store_addr_ops (stmt, work, NULL, NULL, visit);
+       FOR_EACH_PHI_ARG (use_p, phi, iter, SSA_OP_USE)
+ 	add_scope_conflicts_2 (USE_FROM_PTR (use_p), work, visit);
      }
    for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi))
      {
*************** add_scope_conflicts_1 (basic_block bb, b
*** 613,620 ****
  	}
        else if (!is_gimple_debug (stmt))
  	{
! 	  if (for_conflict
! 	      && visit == visit_op)
  	    {
  	      /* If this is the first real instruction in this BB we need
  	         to add conflicts for everything live at this point now.
--- 638,644 ----
  	}
        else if (!is_gimple_debug (stmt))
  	{
! 	  if (for_conflict && visit == visit_op)
  	    {
  	      /* If this is the first real instruction in this BB we need
  	         to add conflicts for everything live at this point now.
*************** add_scope_conflicts_1 (basic_block bb, b
*** 634,639 ****
--- 658,665 ----
  	      visit = visit_conflict;
  	    }
  	  walk_stmt_load_store_addr_ops (stmt, work, visit, visit, visit);
+ 	  FOR_EACH_SSA_USE_OPERAND (use_p, stmt, iter, SSA_OP_USE)
+ 	    add_scope_conflicts_2 (USE_FROM_PTR (use_p), work, visit);
  	}
      }
  }
*************** expand_asm_stmt (gasm *stmt)
*** 3639,3645 ****
  		emit_insn (copy_insn (PATTERN (curr)));
  	      rtx_insn *copy = get_insns ();
  	      end_sequence ();
! 	      insert_insn_on_edge (copy, e);
  	    }
  	}
      }
--- 3665,3671 ----
  		emit_insn (copy_insn (PATTERN (curr)));
  	      rtx_insn *copy = get_insns ();
  	      end_sequence ();
! 	      prepend_insn_to_edge (copy, e);
  	    }
  	}
      }
diff -Nrcpad gcc-11.4.0/gcc/cfgrtl.c gcc-11.5.0/gcc/cfgrtl.c
*** gcc-11.4.0/gcc/cfgrtl.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cfgrtl.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 25,31 ****
       - CFG-aware instruction chain manipulation
  	 delete_insn, delete_insn_chain
       - Edge splitting and committing to edges
! 	 insert_insn_on_edge, commit_edge_insertions
       - CFG updating after insn simplification
  	 purge_dead_edges, purge_all_dead_edges
       - CFG fixing after coarse manipulation
--- 25,31 ----
       - CFG-aware instruction chain manipulation
  	 delete_insn, delete_insn_chain
       - Edge splitting and committing to edges
! 	 insert_insn_on_edge, prepend_insn_to_edge, commit_edge_insertions
       - CFG updating after insn simplification
  	 purge_dead_edges, purge_all_dead_edges
       - CFG fixing after coarse manipulation
*************** rtl_split_edge (edge edge_in)
*** 1990,1996 ****
  
  /* Queue instructions for insertion on an edge between two basic blocks.
     The new instructions and basic blocks (if any) will not appear in the
!    CFG until commit_edge_insertions is called.  */
  
  void
  insert_insn_on_edge (rtx pattern, edge e)
--- 1990,1997 ----
  
  /* Queue instructions for insertion on an edge between two basic blocks.
     The new instructions and basic blocks (if any) will not appear in the
!    CFG until commit_edge_insertions is called.  If there are already
!    queued instructions on the edge, PATTERN is appended to them.  */
  
  void
  insert_insn_on_edge (rtx pattern, edge e)
*************** insert_insn_on_edge (rtx pattern, edge e
*** 2008,2013 ****
--- 2009,2033 ----
  
    e->insns.r = get_insns ();
    end_sequence ();
+ }
+ 
+ /* Like insert_insn_on_edge, but if there are already queued instructions
+    on the edge, PATTERN is prepended to them.  */
+ 
+ void
+ prepend_insn_to_edge (rtx pattern, edge e)
+ {
+   /* We cannot insert instructions on an abnormal critical edge.
+      It will be easier to find the culprit if we die now.  */
+   gcc_assert (!((e->flags & EDGE_ABNORMAL) && EDGE_CRITICAL_P (e)));
+ 
+   start_sequence ();
+ 
+   emit_insn (pattern);
+   emit_insn (e->insns.r);
+ 
+   e->insns.r = get_insns ();
+   end_sequence ();
  }
  
  /* Update the CFG for the instructions queued on edge E.  */
diff -Nrcpad gcc-11.4.0/gcc/cfgrtl.h gcc-11.5.0/gcc/cfgrtl.h
*** gcc-11.4.0/gcc/cfgrtl.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cfgrtl.h	Fri Jul 19 05:52:43 2024
*************** extern edge try_redirect_by_replacing_ju
*** 38,43 ****
--- 38,44 ----
  extern void emit_barrier_after_bb (basic_block bb);
  extern basic_block force_nonfallthru_and_redirect (edge, basic_block, rtx);
  extern void insert_insn_on_edge (rtx, edge);
+ extern void prepend_insn_to_edge (rtx, edge);
  extern void commit_one_edge_insertion (edge e);
  extern void commit_edge_insertions (void);
  extern void print_rtl_with_bb (FILE *, const rtx_insn *, dump_flags_t);
diff -Nrcpad gcc-11.4.0/gcc/cgraph.h gcc-11.5.0/gcc/cgraph.h
*** gcc-11.4.0/gcc/cgraph.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cgraph.h	Fri Jul 19 05:52:43 2024
*************** public:
*** 473,478 ****
--- 473,481 ----
       Return NULL if there's no such node.  */
    static symtab_node *get_for_asmname (const_tree asmname);
  
+   /* Check symbol table for callees of IFUNC resolvers.  */
+   static void check_ifunc_callee_symtab_nodes (void);
+ 
    /* Verify symbol table for internal consistency.  */
    static DEBUG_FUNCTION void verify_symtab_nodes (void);
  
*************** struct GTY((tag ("SYMTAB_FUNCTION"))) cg
*** 883,889 ****
        versionable (false), can_change_signature (false),
        redefined_extern_inline (false), tm_may_enter_irr (false),
        ipcp_clone (false), declare_variant_alt (false),
!       calls_declare_variant_alt (false), m_uid (uid), m_summary_id (-1)
    {}
  
    /* Remove the node from cgraph and all inline clones inlined into it.
--- 886,894 ----
        versionable (false), can_change_signature (false),
        redefined_extern_inline (false), tm_may_enter_irr (false),
        ipcp_clone (false), declare_variant_alt (false),
!       calls_declare_variant_alt (false),
!       called_by_ifunc_resolver (false),
!       m_uid (uid), m_summary_id (-1)
    {}
  
    /* Remove the node from cgraph and all inline clones inlined into it.
*************** struct GTY((tag ("SYMTAB_FUNCTION"))) cg
*** 1475,1480 ****
--- 1480,1487 ----
    unsigned declare_variant_alt : 1;
    /* True if the function calls declare_variant_alt functions.  */
    unsigned calls_declare_variant_alt : 1;
+   /* Set if the function is called by an IFUNC resolver.  */
+   unsigned called_by_ifunc_resolver : 1;
  
  private:
    /* Unique id of the node.  */
diff -Nrcpad gcc-11.4.0/gcc/cgraphunit.c gcc-11.5.0/gcc/cgraphunit.c
*** gcc-11.4.0/gcc/cgraphunit.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cgraphunit.c	Fri Jul 19 05:52:43 2024
*************** symbol_table::compile (void)
*** 2273,2278 ****
--- 2273,2280 ----
  
    symtab_node::checking_verify_symtab_nodes ();
  
+   symtab_node::check_ifunc_callee_symtab_nodes ();
+ 
    timevar_push (TV_CGRAPHOPT);
    if (pre_ipa_mem_report)
      dump_memory_report ("Memory consumption before IPA");
diff -Nrcpad gcc-11.4.0/gcc/combine.c gcc-11.5.0/gcc/combine.c
*** gcc-11.4.0/gcc/combine.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/combine.c	Fri Jul 19 05:52:43 2024
*************** simplify_compare_const (enum rtx_code co
*** 11879,11886 ****
       `and'ed with that bit), we can replace this with a comparison
       with zero.  */
    if (const_op
!       && (code == EQ || code == NE || code == GE || code == GEU
! 	  || code == LT || code == LTU)
        && is_a <scalar_int_mode> (mode, &int_mode)
        && GET_MODE_PRECISION (int_mode) - 1 < HOST_BITS_PER_WIDE_INT
        && pow2p_hwi (const_op & GET_MODE_MASK (int_mode))
--- 11879,11888 ----
       `and'ed with that bit), we can replace this with a comparison
       with zero.  */
    if (const_op
!       && (code == EQ || code == NE || code == GEU || code == LTU
! 	  /* This optimization is incorrect for signed >= INT_MIN or
! 	     < INT_MIN, those are always true or always false.  */
! 	  || ((code == GE || code == LT) && const_op > 0))
        && is_a <scalar_int_mode> (mode, &int_mode)
        && GET_MODE_PRECISION (int_mode) - 1 < HOST_BITS_PER_WIDE_INT
        && pow2p_hwi (const_op & GET_MODE_MASK (int_mode))
diff -Nrcpad gcc-11.4.0/gcc/common/config/i386/cpuinfo.h gcc-11.5.0/gcc/common/config/i386/cpuinfo.h
*** gcc-11.4.0/gcc/common/config/i386/cpuinfo.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/common/config/i386/cpuinfo.h	Fri Jul 19 05:52:43 2024
*************** get_amd_cpu (struct __processor_model *c
*** 243,255 ****
        break;
      case 0x19:
        cpu_model->__cpu_type = AMDFAM19H;
!       /* AMD family 19h version 1.  */
        if (model <= 0x0f)
  	{
  	  cpu = "znver3";
  	  CHECK___builtin_cpu_is ("znver3");
  	  cpu_model->__cpu_subtype = AMDFAM19H_ZNVER3;
  	}
        else if (has_cpu_feature (cpu_model, cpu_features2,
  				FEATURE_VAES))
  	{
--- 243,269 ----
        break;
      case 0x19:
        cpu_model->__cpu_type = AMDFAM19H;
!       /* AMD family 19h.  */
        if (model <= 0x0f)
  	{
  	  cpu = "znver3";
  	  CHECK___builtin_cpu_is ("znver3");
  	  cpu_model->__cpu_subtype = AMDFAM19H_ZNVER3;
  	}
+       else if ((model >= 0x10 && model <= 0x1f)
+ 		|| (model >= 0x60 && model <= 0xaf))
+ 	{
+ 	  cpu = "znver4";
+ 	  CHECK___builtin_cpu_is ("znver4");
+ 	  cpu_model->__cpu_subtype = AMDFAM19H_ZNVER4;
+ 	}
+       else if (has_cpu_feature (cpu_model, cpu_features2,
+ 				FEATURE_AVX512F))
+ 	{
+ 	  cpu = "znver4";
+ 	  CHECK___builtin_cpu_is ("znver4");
+ 	  cpu_model->__cpu_subtype = AMDFAM19H_ZNVER4;
+ 	}
        else if (has_cpu_feature (cpu_model, cpu_features2,
  				FEATURE_VAES))
  	{
*************** get_available_features (struct __process
*** 623,629 ****
    /* Get Advanced Features at level 7 (eax = 7, ecx = 0/1). */
    if (max_cpuid_level >= 7)
      {
!       __cpuid_count (7, 0, eax, ebx, ecx, edx);
        if (ebx & bit_BMI)
  	set_feature (FEATURE_BMI);
        if (ebx & bit_SGX)
--- 637,645 ----
    /* Get Advanced Features at level 7 (eax = 7, ecx = 0/1). */
    if (max_cpuid_level >= 7)
      {
!       unsigned int max_subleaf_level;
! 
!       __cpuid_count (7, 0, max_subleaf_level, ebx, ecx, edx);
        if (ebx & bit_BMI)
  	set_feature (FEATURE_BMI);
        if (ebx & bit_SGX)
*************** get_available_features (struct __process
*** 733,750 ****
  	    set_feature (FEATURE_AVX512VP2INTERSECT);
  	}
  
!       __cpuid_count (7, 1, eax, ebx, ecx, edx);
!       if (eax & bit_HRESET)
! 	set_feature (FEATURE_HRESET);
!       if (avx_usable)
! 	{
! 	  if (eax & bit_AVXVNNI)
! 	    set_feature (FEATURE_AVXVNNI);
! 	}
!       if (avx512_usable)
  	{
! 	  if (eax & bit_AVX512BF16)
! 	    set_feature (FEATURE_AVX512BF16);
  	}
      }
  
--- 749,769 ----
  	    set_feature (FEATURE_AVX512VP2INTERSECT);
  	}
  
!       if (max_subleaf_level >= 1)
  	{
! 	  __cpuid_count (7, 1, eax, ebx, ecx, edx);
! 	  if (eax & bit_HRESET)
! 	    set_feature (FEATURE_HRESET);
! 	  if (avx_usable)
! 	    {
! 	      if (eax & bit_AVXVNNI)
! 		set_feature (FEATURE_AVXVNNI);
! 	    }
! 	  if (avx512_usable)
! 	    {
! 	      if (eax & bit_AVX512BF16)
! 		set_feature (FEATURE_AVX512BF16);
! 	    }
  	}
      }
  
diff -Nrcpad gcc-11.4.0/gcc/common/config/i386/i386-common.c gcc-11.5.0/gcc/common/config/i386/i386-common.c
*** gcc-11.4.0/gcc/common/config/i386/i386-common.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/common/config/i386/i386-common.c	Fri Jul 19 05:52:43 2024
*************** const char *const processor_names[] =
*** 1806,1812 ****
    "btver2",
    "znver1",
    "znver2",
!   "znver3"
  };
  
  /* Guarantee that the array is aligned with enum processor_type.  */
--- 1806,1813 ----
    "btver2",
    "znver1",
    "znver2",
!   "znver3",
!   "znver4"
  };
  
  /* Guarantee that the array is aligned with enum processor_type.  */
*************** const pta processor_alias_table[] =
*** 2031,2067 ****
        | PTA_MOVBE | PTA_MWAITX,
      M_CPU_SUBTYPE (AMDFAM15H_BDVER4), P_PROC_AVX2},
    {"znver1", PROCESSOR_ZNVER1, CPU_ZNVER1,
!     PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
!       | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
!       | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_AVX2
!       | PTA_BMI | PTA_BMI2 | PTA_F16C | PTA_FMA | PTA_PRFCHW
!       | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE
!       | PTA_RDRND | PTA_MOVBE | PTA_MWAITX | PTA_ADX | PTA_RDSEED
!       | PTA_CLZERO | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES
!       | PTA_SHA | PTA_LZCNT | PTA_POPCNT,
      M_CPU_SUBTYPE (AMDFAM17H_ZNVER1), P_PROC_AVX2},
    {"znver2", PROCESSOR_ZNVER2, CPU_ZNVER2,
!     PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
!       | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
!       | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_AVX2
!       | PTA_BMI | PTA_BMI2 | PTA_F16C | PTA_FMA | PTA_PRFCHW
!       | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE
!       | PTA_RDRND | PTA_MOVBE | PTA_MWAITX | PTA_ADX | PTA_RDSEED
!       | PTA_CLZERO | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES
!       | PTA_SHA | PTA_LZCNT | PTA_POPCNT | PTA_CLWB | PTA_RDPID
!       | PTA_WBNOINVD,
      M_CPU_SUBTYPE (AMDFAM17H_ZNVER2), P_PROC_AVX2},
    {"znver3", PROCESSOR_ZNVER3, CPU_ZNVER3,
!     PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
!       | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
!       | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_AVX2
!       | PTA_BMI | PTA_BMI2 | PTA_F16C | PTA_FMA | PTA_PRFCHW
!       | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE
!       | PTA_RDRND | PTA_MOVBE | PTA_MWAITX | PTA_ADX | PTA_RDSEED
!       | PTA_CLZERO | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES
!       | PTA_SHA | PTA_LZCNT | PTA_POPCNT | PTA_CLWB | PTA_RDPID
!       | PTA_WBNOINVD | PTA_VAES | PTA_VPCLMULQDQ | PTA_PKU,
      M_CPU_SUBTYPE (AMDFAM19H_ZNVER3), P_PROC_AVX2},
    {"btver1", PROCESSOR_BTVER1, CPU_GENERIC,
      PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
        | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16 | PTA_PRFCHW
--- 2032,2048 ----
        | PTA_MOVBE | PTA_MWAITX,
      M_CPU_SUBTYPE (AMDFAM15H_BDVER4), P_PROC_AVX2},
    {"znver1", PROCESSOR_ZNVER1, CPU_ZNVER1,
!     PTA_ZNVER1,
      M_CPU_SUBTYPE (AMDFAM17H_ZNVER1), P_PROC_AVX2},
    {"znver2", PROCESSOR_ZNVER2, CPU_ZNVER2,
!     PTA_ZNVER2,
      M_CPU_SUBTYPE (AMDFAM17H_ZNVER2), P_PROC_AVX2},
    {"znver3", PROCESSOR_ZNVER3, CPU_ZNVER3,
!     PTA_ZNVER3,
      M_CPU_SUBTYPE (AMDFAM19H_ZNVER3), P_PROC_AVX2},
+   {"znver4", PROCESSOR_ZNVER4, CPU_ZNVER4,
+     PTA_ZNVER4,
+     M_CPU_SUBTYPE (AMDFAM19H_ZNVER4), P_PROC_AVX512F},
    {"btver1", PROCESSOR_BTVER1, CPU_GENERIC,
      PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
        | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16 | PTA_PRFCHW
diff -Nrcpad gcc-11.4.0/gcc/common/config/i386/i386-cpuinfo.h gcc-11.5.0/gcc/common/config/i386/i386-cpuinfo.h
*** gcc-11.4.0/gcc/common/config/i386/i386-cpuinfo.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/common/config/i386/i386-cpuinfo.h	Fri Jul 19 05:52:43 2024
*************** enum processor_subtypes
*** 91,96 ****
--- 91,97 ----
    INTEL_COREI7_ALDERLAKE,
    AMDFAM19H_ZNVER3,
    INTEL_COREI7_ROCKETLAKE,
+   AMDFAM19H_ZNVER4,
    CPU_SUBTYPE_MAX
  };
  
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64-c.c gcc-11.5.0/gcc/config/aarch64/aarch64-c.c
*** gcc-11.4.0/gcc/config/aarch64/aarch64-c.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64-c.c	Fri Jul 19 05:52:43 2024
*************** aarch64_update_cpp_builtins (cpp_reader
*** 200,205 ****
--- 200,210 ----
  			"__ARM_FEATURE_BF16_VECTOR_ARITHMETIC", pfile);
    aarch64_def_or_undef (TARGET_BF16_FP,
  			"__ARM_FEATURE_BF16_SCALAR_ARITHMETIC", pfile);
+   aarch64_def_or_undef (TARGET_BF16_FP,
+ 			"__ARM_FEATURE_BF16", pfile);
+   aarch64_def_or_undef (TARGET_SVE_BF16,
+ 			"__ARM_FEATURE_SVE_BF16", pfile);
+ 
    aarch64_def_or_undef (AARCH64_ISA_RCPC, "__ARM_FEATURE_RCPC", pfile);
  
    /* Not for ACLE, but required to keep "float.h" correct if we switch
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64-cores.def gcc-11.5.0/gcc/config/aarch64/aarch64-cores.def
*** gcc-11.4.0/gcc/config/aarch64/aarch64-cores.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64-cores.def	Fri Jul 19 05:52:43 2024
*************** AARCH64_CORE("saphira",     saphira,
*** 148,154 ****
--- 148,156 ----
  
  /* Armv8.5-A Architecture Processors.  */
  AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversen2, 0x41, 0xd49, -1)
+ AARCH64_CORE("cobalt-100",   cobalt100, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversen2, 0x6d, 0xd49, -1)
  AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoverse512tvb, 0x41, 0xd4f, -1)
+ AARCH64_CORE("grace", grace, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_CRYPTO | AARCH64_FL_SHA3 | AARCH64_FL_SM4 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_SVE2_AES | AARCH64_FL_SVE2_SM4 | AARCH64_FL_SVE2_SHA3, neoverse512tvb, 0x41, 0xd4f, -1)
  
  /* ARMv8-A big.LITTLE implementations.  */
  
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64-tune.md gcc-11.5.0/gcc/config/aarch64/aarch64-tune.md
*** gcc-11.4.0/gcc/config/aarch64/aarch64-tune.md	Mon May 29 08:49:47 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64-tune.md	Fri Jul 19 05:53:51 2024
***************
*** 1,5 ****
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,neoversen2,neoversev2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
--- 1,5 ----
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,neoversen2,cobalt100,neoversev2,grace,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64.c gcc-11.5.0/gcc/config/aarch64/aarch64.c
*** gcc-11.4.0/gcc/config/aarch64/aarch64.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64.c	Fri Jul 19 05:52:43 2024
*************** aarch64_reg_save_mode (unsigned int regn
*** 3466,3472 ****
        case ARM_PCS_SIMD:
  	/* The vector PCS saves the low 128 bits (which is the full
  	   register on non-SVE targets).  */
! 	return TFmode;
  
        case ARM_PCS_SVE:
  	/* Use vectors of DImode for registers that need frame
--- 3466,3472 ----
        case ARM_PCS_SIMD:
  	/* The vector PCS saves the low 128 bits (which is the full
  	   register on non-SVE targets).  */
! 	return V16QImode;
  
        case ARM_PCS_SVE:
  	/* Use vectors of DImode for registers that need frame
*************** aarch64_needs_frame_chain (void)
*** 7392,7409 ****
    return aarch64_use_frame_pointer;
  }
  
  /* Mark the registers that need to be saved by the callee and calculate
     the size of the callee-saved registers area and frame record (both FP
     and LR may be omitted).  */
  static void
  aarch64_layout_frame (void)
  {
-   poly_int64 offset = 0;
    int regno, last_fp_reg = INVALID_REGNUM;
    machine_mode vector_save_mode = aarch64_reg_save_mode (V8_REGNUM);
    poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode);
    bool frame_related_fp_reg_p = false;
    aarch64_frame &frame = cfun->machine->frame;
  
    frame.emit_frame_chain = aarch64_needs_frame_chain ();
  
--- 7392,7423 ----
    return aarch64_use_frame_pointer;
  }
  
+ /* Return true if the current function should save registers above
+    the locals area, rather than below it.  */
+ 
+ static bool
+ aarch64_save_regs_above_locals_p ()
+ {
+   /* When using stack smash protection, make sure that the canary slot
+      comes between the locals and the saved registers.  Otherwise,
+      it would be possible for a carefully sized smash attack to change
+      the saved registers (particularly LR and FP) without reaching the
+      canary.  */
+   return crtl->stack_protect_guard;
+ }
+ 
  /* Mark the registers that need to be saved by the callee and calculate
     the size of the callee-saved registers area and frame record (both FP
     and LR may be omitted).  */
  static void
  aarch64_layout_frame (void)
  {
    int regno, last_fp_reg = INVALID_REGNUM;
    machine_mode vector_save_mode = aarch64_reg_save_mode (V8_REGNUM);
    poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode);
    bool frame_related_fp_reg_p = false;
    aarch64_frame &frame = cfun->machine->frame;
+   poly_int64 top_of_locals = -1;
  
    frame.emit_frame_chain = aarch64_needs_frame_chain ();
  
*************** aarch64_layout_frame (void)
*** 7470,7480 ****
  	&& !crtl->abi->clobbers_full_reg_p (regno))
        frame.reg_offset[regno] = SLOT_REQUIRED;
  
!   /* With stack-clash, LR must be saved in non-leaf functions.  The saving of
!      LR counts as an implicit probe which allows us to maintain the invariant
!      described in the comment at expand_prologue.  */
!   gcc_assert (crtl->is_leaf
! 	      || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED));
  
    /* Now assign stack slots for the registers.  Start with the predicate
       registers, since predicate LDR and STR have a relatively small
--- 7484,7501 ----
  	&& !crtl->abi->clobbers_full_reg_p (regno))
        frame.reg_offset[regno] = SLOT_REQUIRED;
  
!   bool regs_at_top_p = aarch64_save_regs_above_locals_p ();
! 
!   poly_int64 offset = crtl->outgoing_args_size;
!   gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT));
!   if (regs_at_top_p)
!     {
!       offset += get_frame_size ();
!       offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
!       top_of_locals = offset;
!     }
!   frame.bytes_below_saved_regs = offset;
!   frame.sve_save_and_probe = INVALID_REGNUM;
  
    /* Now assign stack slots for the registers.  Start with the predicate
       registers, since predicate LDR and STR have a relatively small
*************** aarch64_layout_frame (void)
*** 7482,7492 ****
    for (regno = P0_REGNUM; regno <= P15_REGNUM; regno++)
      if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
        {
  	frame.reg_offset[regno] = offset;
  	offset += BYTES_PER_SVE_PRED;
        }
  
!   if (maybe_ne (offset, 0))
      {
        /* If we have any vector registers to save above the predicate registers,
  	 the offset of the vector register save slots need to be a multiple
--- 7503,7516 ----
    for (regno = P0_REGNUM; regno <= P15_REGNUM; regno++)
      if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
        {
+ 	if (frame.sve_save_and_probe == INVALID_REGNUM)
+ 	  frame.sve_save_and_probe = regno;
  	frame.reg_offset[regno] = offset;
  	offset += BYTES_PER_SVE_PRED;
        }
  
!   poly_int64 saved_prs_size = offset - frame.bytes_below_saved_regs;
!   if (maybe_ne (saved_prs_size, 0))
      {
        /* If we have any vector registers to save above the predicate registers,
  	 the offset of the vector register save slots need to be a multiple
*************** aarch64_layout_frame (void)
*** 7504,7513 ****
  	offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
        else
  	{
! 	  if (known_le (offset, vector_save_size))
! 	    offset = vector_save_size;
! 	  else if (known_le (offset, vector_save_size * 2))
! 	    offset = vector_save_size * 2;
  	  else
  	    gcc_unreachable ();
  	}
--- 7528,7537 ----
  	offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
        else
  	{
! 	  if (known_le (saved_prs_size, vector_save_size))
! 	    offset = frame.bytes_below_saved_regs + vector_save_size;
! 	  else if (known_le (saved_prs_size, vector_save_size * 2))
! 	    offset = frame.bytes_below_saved_regs + vector_save_size * 2;
  	  else
  	    gcc_unreachable ();
  	}
*************** aarch64_layout_frame (void)
*** 7518,7551 ****
      for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++)
        if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
  	{
  	  frame.reg_offset[regno] = offset;
  	  offset += vector_save_size;
  	}
  
    /* OFFSET is now the offset of the hard frame pointer from the bottom
       of the callee save area.  */
!   bool saves_below_hard_fp_p = maybe_ne (offset, 0);
!   frame.below_hard_fp_saved_regs_size = offset;
    if (frame.emit_frame_chain)
      {
        /* FP and LR are placed in the linkage record.  */
!       frame.reg_offset[R29_REGNUM] = offset;
!       frame.wb_candidate1 = R29_REGNUM;
!       frame.reg_offset[R30_REGNUM] = offset + UNITS_PER_WORD;
!       frame.wb_candidate2 = R30_REGNUM;
!       offset += 2 * UNITS_PER_WORD;
      }
  
    for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++)
      if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
!       {
! 	frame.reg_offset[regno] = offset;
! 	if (frame.wb_candidate1 == INVALID_REGNUM)
! 	  frame.wb_candidate1 = regno;
! 	else if (frame.wb_candidate2 == INVALID_REGNUM)
! 	  frame.wb_candidate2 = regno;
! 	offset += UNITS_PER_WORD;
!       }
  
    poly_int64 max_int_offset = offset;
    offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
--- 7542,7594 ----
      for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++)
        if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
  	{
+ 	  if (frame.sve_save_and_probe == INVALID_REGNUM)
+ 	    frame.sve_save_and_probe = regno;
  	  frame.reg_offset[regno] = offset;
  	  offset += vector_save_size;
  	}
  
    /* OFFSET is now the offset of the hard frame pointer from the bottom
       of the callee save area.  */
!   auto below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs;
!   bool saves_below_hard_fp_p = maybe_ne (below_hard_fp_saved_regs_size, 0);
!   gcc_assert (!saves_below_hard_fp_p
! 	      || (frame.sve_save_and_probe != INVALID_REGNUM
! 		  && known_eq (frame.reg_offset[frame.sve_save_and_probe],
! 			       frame.bytes_below_saved_regs)));
! 
!   frame.bytes_below_hard_fp = offset;
!   frame.hard_fp_save_and_probe = INVALID_REGNUM;
! 
!   auto allocate_gpr_slot = [&](unsigned int regno)
!     {
!       if (frame.hard_fp_save_and_probe == INVALID_REGNUM)
! 	frame.hard_fp_save_and_probe = regno;
!       frame.reg_offset[regno] = offset;
!       if (frame.wb_candidate1 == INVALID_REGNUM)
! 	frame.wb_candidate1 = regno;
!       else if (frame.wb_candidate2 == INVALID_REGNUM)
! 	frame.wb_candidate2 = regno;
!       offset += UNITS_PER_WORD;
!     };
! 
    if (frame.emit_frame_chain)
      {
        /* FP and LR are placed in the linkage record.  */
!       allocate_gpr_slot (R29_REGNUM);
!       allocate_gpr_slot (R30_REGNUM);
      }
+   else if (flag_stack_clash_protection
+ 	   && known_eq (frame.reg_offset[R30_REGNUM], SLOT_REQUIRED))
+     /* Put the LR save slot first, since it makes a good choice of probe
+        for stack clash purposes.  The idea is that the link register usually
+        has to be saved before a call anyway, and so we lose little by
+        stopping it from being individually shrink-wrapped.  */
+     allocate_gpr_slot (R30_REGNUM);
  
    for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++)
      if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
!       allocate_gpr_slot (regno);
  
    poly_int64 max_int_offset = offset;
    offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
*************** aarch64_layout_frame (void)
*** 7554,7559 ****
--- 7597,7604 ----
    for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++)
      if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED))
        {
+ 	if (frame.hard_fp_save_and_probe == INVALID_REGNUM)
+ 	  frame.hard_fp_save_and_probe = regno;
  	/* If there is an alignment gap between integer and fp callee-saves,
  	   allocate the last fp register to it if possible.  */
  	if (regno == last_fp_reg
*************** aarch64_layout_frame (void)
*** 7576,7605 ****
  
    offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
  
!   frame.saved_regs_size = offset;
! 
!   poly_int64 varargs_and_saved_regs_size = offset + frame.saved_varargs_size;
! 
!   poly_int64 above_outgoing_args
!     = aligned_upper_bound (varargs_and_saved_regs_size
! 			   + get_frame_size (),
! 			   STACK_BOUNDARY / BITS_PER_UNIT);
  
!   frame.hard_fp_offset
!     = above_outgoing_args - frame.below_hard_fp_saved_regs_size;
  
!   /* Both these values are already aligned.  */
!   gcc_assert (multiple_p (crtl->outgoing_args_size,
! 			  STACK_BOUNDARY / BITS_PER_UNIT));
!   frame.frame_size = above_outgoing_args + crtl->outgoing_args_size;
  
!   frame.locals_offset = frame.saved_varargs_size;
  
    frame.initial_adjust = 0;
    frame.final_adjust = 0;
    frame.callee_adjust = 0;
    frame.sve_callee_adjust = 0;
-   frame.callee_offset = 0;
  
    HOST_WIDE_INT max_push_offset = 0;
    if (frame.wb_candidate2 != INVALID_REGNUM)
--- 7621,7656 ----
  
    offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
  
!   auto saved_regs_size = offset - frame.bytes_below_saved_regs;
!   gcc_assert (known_eq (saved_regs_size, below_hard_fp_saved_regs_size)
! 	      || (frame.hard_fp_save_and_probe != INVALID_REGNUM
! 		  && known_eq (frame.reg_offset[frame.hard_fp_save_and_probe],
! 			       frame.bytes_below_hard_fp)));
  
!   /* With stack-clash, a register must be saved in non-leaf functions.
!      The saving of the bottommost register counts as an implicit probe,
!      which allows us to maintain the invariant described in the comment
!      at expand_prologue.  */
!   gcc_assert (crtl->is_leaf || maybe_ne (saved_regs_size, 0));
  
!   if (!regs_at_top_p)
!     {
!       offset += get_frame_size ();
!       offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT);
!       top_of_locals = offset;
!     }
!   offset += frame.saved_varargs_size;
!   gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT));
!   frame.frame_size = offset;
  
!   frame.bytes_above_hard_fp = frame.frame_size - frame.bytes_below_hard_fp;
!   gcc_assert (known_ge (top_of_locals, 0));
!   frame.bytes_above_locals = frame.frame_size - top_of_locals;
  
    frame.initial_adjust = 0;
    frame.final_adjust = 0;
    frame.callee_adjust = 0;
    frame.sve_callee_adjust = 0;
  
    HOST_WIDE_INT max_push_offset = 0;
    if (frame.wb_candidate2 != INVALID_REGNUM)
*************** aarch64_layout_frame (void)
*** 7607,7676 ****
    else if (frame.wb_candidate1 != INVALID_REGNUM)
      max_push_offset = 256;
  
!   HOST_WIDE_INT const_size, const_outgoing_args_size, const_fp_offset;
    HOST_WIDE_INT const_saved_regs_size;
!   if (frame.frame_size.is_constant (&const_size)
!       && const_size < max_push_offset
!       && known_eq (frame.hard_fp_offset, const_size))
      {
!       /* Simple, small frame with no outgoing arguments:
  
  	 stp reg1, reg2, [sp, -frame_size]!
  	 stp reg3, reg4, [sp, 16]  */
        frame.callee_adjust = const_size;
      }
!   else if (crtl->outgoing_args_size.is_constant (&const_outgoing_args_size)
! 	   && frame.saved_regs_size.is_constant (&const_saved_regs_size)
! 	   && const_outgoing_args_size + const_saved_regs_size < 512
! 	   /* We could handle this case even with outgoing args, provided
! 	      that the number of args left us with valid offsets for all
! 	      predicate and vector save slots.  It's such a rare case that
! 	      it hardly seems worth the effort though.  */
! 	   && (!saves_below_hard_fp_p || const_outgoing_args_size == 0)
  	   && !(cfun->calls_alloca
! 		&& frame.hard_fp_offset.is_constant (&const_fp_offset)
! 		&& const_fp_offset < max_push_offset))
      {
!       /* Frame with small outgoing arguments:
  
  	 sub sp, sp, frame_size
! 	 stp reg1, reg2, [sp, outgoing_args_size]
! 	 stp reg3, reg4, [sp, outgoing_args_size + 16]  */
        frame.initial_adjust = frame.frame_size;
-       frame.callee_offset = const_outgoing_args_size;
      }
    else if (saves_below_hard_fp_p
! 	   && known_eq (frame.saved_regs_size,
! 			frame.below_hard_fp_saved_regs_size))
      {
        /* Frame in which all saves are SVE saves:
  
! 	 sub sp, sp, hard_fp_offset + below_hard_fp_saved_regs_size
  	 save SVE registers relative to SP
! 	 sub sp, sp, outgoing_args_size  */
!       frame.initial_adjust = (frame.hard_fp_offset
! 			      + frame.below_hard_fp_saved_regs_size);
!       frame.final_adjust = crtl->outgoing_args_size;
      }
!   else if (frame.hard_fp_offset.is_constant (&const_fp_offset)
! 	   && const_fp_offset < max_push_offset)
      {
!       /* Frame with large outgoing arguments or SVE saves, but with
! 	 a small local area:
  
  	 stp reg1, reg2, [sp, -hard_fp_offset]!
  	 stp reg3, reg4, [sp, 16]
  	 [sub sp, sp, below_hard_fp_saved_regs_size]
  	 [save SVE registers relative to SP]
! 	 sub sp, sp, outgoing_args_size  */
!       frame.callee_adjust = const_fp_offset;
!       frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size;
!       frame.final_adjust = crtl->outgoing_args_size;
      }
    else
      {
!       /* Frame with large local area and outgoing arguments or SVE saves,
! 	 using frame pointer:
  
  	 sub sp, sp, hard_fp_offset
  	 stp x29, x30, [sp, 0]
--- 7658,7725 ----
    else if (frame.wb_candidate1 != INVALID_REGNUM)
      max_push_offset = 256;
  
!   HOST_WIDE_INT const_size, const_below_saved_regs, const_above_fp;
    HOST_WIDE_INT const_saved_regs_size;
!   if (known_eq (saved_regs_size, 0))
!     frame.initial_adjust = frame.frame_size;
!   else if (frame.frame_size.is_constant (&const_size)
! 	   && const_size < max_push_offset
! 	   && known_eq (frame.bytes_above_hard_fp, const_size))
      {
!       /* Simple, small frame with no data below the saved registers.
  
  	 stp reg1, reg2, [sp, -frame_size]!
  	 stp reg3, reg4, [sp, 16]  */
        frame.callee_adjust = const_size;
      }
!   else if (frame.bytes_below_saved_regs.is_constant (&const_below_saved_regs)
! 	   && saved_regs_size.is_constant (&const_saved_regs_size)
! 	   && const_below_saved_regs + const_saved_regs_size < 512
! 	   /* We could handle this case even with data below the saved
! 	      registers, provided that that data left us with valid offsets
! 	      for all predicate and vector save slots.  It's such a rare
! 	      case that it hardly seems worth the effort though.  */
! 	   && (!saves_below_hard_fp_p || const_below_saved_regs == 0)
  	   && !(cfun->calls_alloca
! 		&& frame.bytes_above_hard_fp.is_constant (&const_above_fp)
! 		&& const_above_fp < max_push_offset))
      {
!       /* Frame with small area below the saved registers:
  
  	 sub sp, sp, frame_size
! 	 stp reg1, reg2, [sp, bytes_below_saved_regs]
! 	 stp reg3, reg4, [sp, bytes_below_saved_regs + 16]  */
        frame.initial_adjust = frame.frame_size;
      }
    else if (saves_below_hard_fp_p
! 	   && known_eq (saved_regs_size, below_hard_fp_saved_regs_size))
      {
        /* Frame in which all saves are SVE saves:
  
! 	 sub sp, sp, frame_size - bytes_below_saved_regs
  	 save SVE registers relative to SP
! 	 sub sp, sp, bytes_below_saved_regs  */
!       frame.initial_adjust = frame.frame_size - frame.bytes_below_saved_regs;
!       frame.final_adjust = frame.bytes_below_saved_regs;
      }
!   else if (frame.bytes_above_hard_fp.is_constant (&const_above_fp)
! 	   && const_above_fp < max_push_offset)
      {
!       /* Frame with large area below the saved registers, or with SVE saves,
! 	 but with a small area above:
  
  	 stp reg1, reg2, [sp, -hard_fp_offset]!
  	 stp reg3, reg4, [sp, 16]
  	 [sub sp, sp, below_hard_fp_saved_regs_size]
  	 [save SVE registers relative to SP]
! 	 sub sp, sp, bytes_below_saved_regs  */
!       frame.callee_adjust = const_above_fp;
!       frame.sve_callee_adjust = below_hard_fp_saved_regs_size;
!       frame.final_adjust = frame.bytes_below_saved_regs;
      }
    else
      {
!       /* General case:
  
  	 sub sp, sp, hard_fp_offset
  	 stp x29, x30, [sp, 0]
*************** aarch64_layout_frame (void)
*** 7678,7687 ****
  	 stp reg3, reg4, [sp, 16]
  	 [sub sp, sp, below_hard_fp_saved_regs_size]
  	 [save SVE registers relative to SP]
! 	 sub sp, sp, outgoing_args_size  */
!       frame.initial_adjust = frame.hard_fp_offset;
!       frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size;
!       frame.final_adjust = crtl->outgoing_args_size;
      }
  
    /* Make sure the individual adjustments add up to the full frame size.  */
--- 7727,7755 ----
  	 stp reg3, reg4, [sp, 16]
  	 [sub sp, sp, below_hard_fp_saved_regs_size]
  	 [save SVE registers relative to SP]
! 	 sub sp, sp, bytes_below_saved_regs  */
!       frame.initial_adjust = frame.bytes_above_hard_fp;
!       frame.sve_callee_adjust = below_hard_fp_saved_regs_size;
!       frame.final_adjust = frame.bytes_below_saved_regs;
!     }
! 
!   /* The frame is allocated in pieces, with each non-final piece
!      including a register save at offset 0 that acts as a probe for
!      the following piece.  In addition, the save of the bottommost register
!      acts as a probe for callees and allocas.  Roll back any probes that
!      aren't needed.
! 
!      A probe isn't needed if it is associated with the final allocation
!      (including callees and allocas) that happens before the epilogue is
!      executed.  */
!   if (crtl->is_leaf
!       && !cfun->calls_alloca
!       && known_eq (frame.final_adjust, 0))
!     {
!       if (maybe_ne (frame.sve_callee_adjust, 0))
! 	frame.sve_save_and_probe = INVALID_REGNUM;
!       else
! 	frame.hard_fp_save_and_probe = INVALID_REGNUM;
      }
  
    /* Make sure the individual adjustments add up to the full frame size.  */
*************** aarch64_gen_storewb_pair (machine_mode m
*** 7762,7767 ****
--- 7830,7839 ----
        return gen_storewb_pairtf_di (base, base, reg, reg2,
  				    GEN_INT (-adjustment),
  				    GEN_INT (UNITS_PER_VREG - adjustment));
+     case E_V16QImode:
+       return gen_storewb_pairv16qi_di (base, base, reg, reg2,
+ 				       GEN_INT (-adjustment),
+ 				       GEN_INT (UNITS_PER_VREG - adjustment));
      default:
        gcc_unreachable ();
      }
*************** aarch64_gen_loadwb_pair (machine_mode mo
*** 7807,7812 ****
--- 7879,7888 ----
      case E_TFmode:
        return gen_loadwb_pairtf_di (base, base, reg, reg2, GEN_INT (adjustment),
  				   GEN_INT (UNITS_PER_VREG));
+     case E_V16QImode:
+       return gen_loadwb_pairv16qi_di (base, base, reg, reg2,
+ 				      GEN_INT (adjustment),
+ 				      GEN_INT (UNITS_PER_VREG));
      default:
        gcc_unreachable ();
      }
*************** aarch64_gen_load_pair (machine_mode mode
*** 7890,7895 ****
--- 7966,7974 ----
      case E_V4SImode:
        return gen_load_pairv4siv4si (reg1, mem1, reg2, mem2);
  
+     case E_V16QImode:
+       return gen_load_pairv16qiv16qi (reg1, mem1, reg2, mem2);
+ 
      default:
        gcc_unreachable ();
      }
*************** aarch64_add_cfa_expression (rtx_insn *in
*** 7985,7999 ****
  }
  
  /* Emit code to save the callee-saved registers from register number START
!    to LIMIT to the stack at the location starting at offset START_OFFSET,
!    skipping any write-back candidates if SKIP_WB is true.  HARD_FP_VALID_P
!    is true if the hard frame pointer has been set up.  */
  
  static void
! aarch64_save_callee_saves (poly_int64 start_offset,
  			   unsigned start, unsigned limit, bool skip_wb,
  			   bool hard_fp_valid_p)
  {
    rtx_insn *insn;
    unsigned regno;
    unsigned regno2;
--- 8064,8080 ----
  }
  
  /* Emit code to save the callee-saved registers from register number START
!    to LIMIT to the stack.  The stack pointer is currently BYTES_BELOW_SP
!    bytes above the bottom of the static frame.  Skip any write-back
!    candidates if SKIP_WB is true.  HARD_FP_VALID_P is true if the hard
!    frame pointer has been set up.  */
  
  static void
! aarch64_save_callee_saves (poly_int64 bytes_below_sp,
  			   unsigned start, unsigned limit, bool skip_wb,
  			   bool hard_fp_valid_p)
  {
+   aarch64_frame &frame = cfun->machine->frame;
    rtx_insn *insn;
    unsigned regno;
    unsigned regno2;
*************** aarch64_save_callee_saves (poly_int64 st
*** 8008,8015 ****
        bool frame_related_p = aarch64_emit_cfi_for_reg_p (regno);
  
        if (skip_wb
! 	  && (regno == cfun->machine->frame.wb_candidate1
! 	      || regno == cfun->machine->frame.wb_candidate2))
  	continue;
  
        if (cfun->machine->reg_is_wrapped_separately[regno])
--- 8089,8096 ----
        bool frame_related_p = aarch64_emit_cfi_for_reg_p (regno);
  
        if (skip_wb
! 	  && (regno == frame.wb_candidate1
! 	      || regno == frame.wb_candidate2))
  	continue;
  
        if (cfun->machine->reg_is_wrapped_separately[regno])
*************** aarch64_save_callee_saves (poly_int64 st
*** 8017,8023 ****
  
        machine_mode mode = aarch64_reg_save_mode (regno);
        reg = gen_rtx_REG (mode, regno);
!       offset = start_offset + cfun->machine->frame.reg_offset[regno];
        rtx base_rtx = stack_pointer_rtx;
        poly_int64 sp_offset = offset;
  
--- 8098,8104 ----
  
        machine_mode mode = aarch64_reg_save_mode (regno);
        reg = gen_rtx_REG (mode, regno);
!       offset = frame.reg_offset[regno] - bytes_below_sp;
        rtx base_rtx = stack_pointer_rtx;
        poly_int64 sp_offset = offset;
  
*************** aarch64_save_callee_saves (poly_int64 st
*** 8028,8036 ****
        else if (GP_REGNUM_P (regno)
  	       && (!offset.is_constant (&const_offset) || const_offset >= 512))
  	{
! 	  gcc_assert (known_eq (start_offset, 0));
! 	  poly_int64 fp_offset
! 	    = cfun->machine->frame.below_hard_fp_saved_regs_size;
  	  if (hard_fp_valid_p)
  	    base_rtx = hard_frame_pointer_rtx;
  	  else
--- 8109,8115 ----
        else if (GP_REGNUM_P (regno)
  	       && (!offset.is_constant (&const_offset) || const_offset >= 512))
  	{
! 	  poly_int64 fp_offset = frame.bytes_below_hard_fp - bytes_below_sp;
  	  if (hard_fp_valid_p)
  	    base_rtx = hard_frame_pointer_rtx;
  	  else
*************** aarch64_save_callee_saves (poly_int64 st
*** 8052,8059 ****
  	  && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit
  	  && !cfun->machine->reg_is_wrapped_separately[regno2]
  	  && known_eq (GET_MODE_SIZE (mode),
! 		       cfun->machine->frame.reg_offset[regno2]
! 		       - cfun->machine->frame.reg_offset[regno]))
  	{
  	  rtx reg2 = gen_rtx_REG (mode, regno2);
  	  rtx mem2;
--- 8131,8137 ----
  	  && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit
  	  && !cfun->machine->reg_is_wrapped_separately[regno2]
  	  && known_eq (GET_MODE_SIZE (mode),
! 		       frame.reg_offset[regno2] - frame.reg_offset[regno]))
  	{
  	  rtx reg2 = gen_rtx_REG (mode, regno2);
  	  rtx mem2;
*************** aarch64_save_callee_saves (poly_int64 st
*** 8095,8108 ****
  }
  
  /* Emit code to restore the callee registers from register number START
!    up to and including LIMIT.  Restore from the stack offset START_OFFSET,
!    skipping any write-back candidates if SKIP_WB is true.  Write the
!    appropriate REG_CFA_RESTORE notes into CFI_OPS.  */
  
  static void
! aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start,
  			      unsigned limit, bool skip_wb, rtx *cfi_ops)
  {
    unsigned regno;
    unsigned regno2;
    poly_int64 offset;
--- 8173,8188 ----
  }
  
  /* Emit code to restore the callee registers from register number START
!    up to and including LIMIT.  The stack pointer is currently BYTES_BELOW_SP
!    bytes above the bottom of the static frame.  Skip any write-back
!    candidates if SKIP_WB is true.  Write the appropriate REG_CFA_RESTORE
!    notes into CFI_OPS.  */
  
  static void
! aarch64_restore_callee_saves (poly_int64 bytes_below_sp, unsigned start,
  			      unsigned limit, bool skip_wb, rtx *cfi_ops)
  {
+   aarch64_frame &frame = cfun->machine->frame;
    unsigned regno;
    unsigned regno2;
    poly_int64 offset;
*************** aarch64_restore_callee_saves (poly_int64
*** 8119,8131 ****
        rtx reg, mem;
  
        if (skip_wb
! 	  && (regno == cfun->machine->frame.wb_candidate1
! 	      || regno == cfun->machine->frame.wb_candidate2))
  	continue;
  
        machine_mode mode = aarch64_reg_save_mode (regno);
        reg = gen_rtx_REG (mode, regno);
!       offset = start_offset + cfun->machine->frame.reg_offset[regno];
        rtx base_rtx = stack_pointer_rtx;
        if (mode == VNx2DImode && BYTES_BIG_ENDIAN)
  	aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg,
--- 8199,8211 ----
        rtx reg, mem;
  
        if (skip_wb
! 	  && (regno == frame.wb_candidate1
! 	      || regno == frame.wb_candidate2))
  	continue;
  
        machine_mode mode = aarch64_reg_save_mode (regno);
        reg = gen_rtx_REG (mode, regno);
!       offset = frame.reg_offset[regno] - bytes_below_sp;
        rtx base_rtx = stack_pointer_rtx;
        if (mode == VNx2DImode && BYTES_BIG_ENDIAN)
  	aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg,
*************** aarch64_restore_callee_saves (poly_int64
*** 8136,8143 ****
  	  && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit
  	  && !cfun->machine->reg_is_wrapped_separately[regno2]
  	  && known_eq (GET_MODE_SIZE (mode),
! 		       cfun->machine->frame.reg_offset[regno2]
! 		       - cfun->machine->frame.reg_offset[regno]))
  	{
  	  rtx reg2 = gen_rtx_REG (mode, regno2);
  	  rtx mem2;
--- 8216,8222 ----
  	  && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit
  	  && !cfun->machine->reg_is_wrapped_separately[regno2]
  	  && known_eq (GET_MODE_SIZE (mode),
! 		       frame.reg_offset[regno2] - frame.reg_offset[regno]))
  	{
  	  rtx reg2 = gen_rtx_REG (mode, regno2);
  	  rtx mem2;
*************** offset_12bit_unsigned_scaled_p (machine_
*** 8242,8247 ****
--- 8321,8327 ----
  static sbitmap
  aarch64_get_separate_components (void)
  {
+   aarch64_frame &frame = cfun->machine->frame;
    sbitmap components = sbitmap_alloc (LAST_SAVED_REGNUM + 1);
    bitmap_clear (components);
  
*************** aarch64_get_separate_components (void)
*** 8258,8277 ****
  	if (mode == VNx2DImode && BYTES_BIG_ENDIAN)
  	  continue;
  
! 	poly_int64 offset = cfun->machine->frame.reg_offset[regno];
! 
! 	/* If the register is saved in the first SVE save slot, we use
! 	   it as a stack probe for -fstack-clash-protection.  */
! 	if (flag_stack_clash_protection
! 	    && maybe_ne (cfun->machine->frame.below_hard_fp_saved_regs_size, 0)
! 	    && known_eq (offset, 0))
! 	  continue;
  
  	/* Get the offset relative to the register we'll use.  */
  	if (frame_pointer_needed)
! 	  offset -= cfun->machine->frame.below_hard_fp_saved_regs_size;
! 	else
! 	  offset += crtl->outgoing_args_size;
  
  	/* Check that we can access the stack slot of the register with one
  	   direct load with no adjustments needed.  */
--- 8338,8348 ----
  	if (mode == VNx2DImode && BYTES_BIG_ENDIAN)
  	  continue;
  
! 	poly_int64 offset = frame.reg_offset[regno];
  
  	/* Get the offset relative to the register we'll use.  */
  	if (frame_pointer_needed)
! 	  offset -= frame.bytes_below_hard_fp;
  
  	/* Check that we can access the stack slot of the register with one
  	   direct load with no adjustments needed.  */
*************** aarch64_get_separate_components (void)
*** 8288,8298 ****
    /* If the spare predicate register used by big-endian SVE code
       is call-preserved, it must be saved in the main prologue
       before any saves that use it.  */
!   if (cfun->machine->frame.spare_pred_reg != INVALID_REGNUM)
!     bitmap_clear_bit (components, cfun->machine->frame.spare_pred_reg);
  
!   unsigned reg1 = cfun->machine->frame.wb_candidate1;
!   unsigned reg2 = cfun->machine->frame.wb_candidate2;
    /* If registers have been chosen to be stored/restored with
       writeback don't interfere with them to avoid having to output explicit
       stack adjustment instructions.  */
--- 8359,8369 ----
    /* If the spare predicate register used by big-endian SVE code
       is call-preserved, it must be saved in the main prologue
       before any saves that use it.  */
!   if (frame.spare_pred_reg != INVALID_REGNUM)
!     bitmap_clear_bit (components, frame.spare_pred_reg);
  
!   unsigned reg1 = frame.wb_candidate1;
!   unsigned reg2 = frame.wb_candidate2;
    /* If registers have been chosen to be stored/restored with
       writeback don't interfere with them to avoid having to output explicit
       stack adjustment instructions.  */
*************** aarch64_get_separate_components (void)
*** 8303,8308 ****
--- 8374,8386 ----
  
    bitmap_clear_bit (components, LR_REGNUM);
    bitmap_clear_bit (components, SP_REGNUM);
+   if (flag_stack_clash_protection)
+     {
+       if (frame.sve_save_and_probe != INVALID_REGNUM)
+ 	bitmap_clear_bit (components, frame.sve_save_and_probe);
+       if (frame.hard_fp_save_and_probe != INVALID_REGNUM)
+ 	bitmap_clear_bit (components, frame.hard_fp_save_and_probe);
+     }
  
    return components;
  }
*************** aarch64_get_next_set_bit (sbitmap bmp, u
*** 8401,8406 ****
--- 8479,8485 ----
  static void
  aarch64_process_components (sbitmap components, bool prologue_p)
  {
+   aarch64_frame &frame = cfun->machine->frame;
    rtx ptr_reg = gen_rtx_REG (Pmode, frame_pointer_needed
  			     ? HARD_FRAME_POINTER_REGNUM
  			     : STACK_POINTER_REGNUM);
*************** aarch64_process_components (sbitmap comp
*** 8415,8425 ****
        machine_mode mode = aarch64_reg_save_mode (regno);
        
        rtx reg = gen_rtx_REG (mode, regno);
!       poly_int64 offset = cfun->machine->frame.reg_offset[regno];
        if (frame_pointer_needed)
! 	offset -= cfun->machine->frame.below_hard_fp_saved_regs_size;
!       else
! 	offset += crtl->outgoing_args_size;
  
        rtx addr = plus_constant (Pmode, ptr_reg, offset);
        rtx mem = gen_frame_mem (mode, addr);
--- 8494,8502 ----
        machine_mode mode = aarch64_reg_save_mode (regno);
        
        rtx reg = gen_rtx_REG (mode, regno);
!       poly_int64 offset = frame.reg_offset[regno];
        if (frame_pointer_needed)
! 	offset -= frame.bytes_below_hard_fp;
  
        rtx addr = plus_constant (Pmode, ptr_reg, offset);
        rtx mem = gen_frame_mem (mode, addr);
*************** aarch64_process_components (sbitmap comp
*** 8442,8455 ****
  	  break;
  	}
  
!       poly_int64 offset2 = cfun->machine->frame.reg_offset[regno2];
        /* The next register is not of the same class or its offset is not
  	 mergeable with the current one into a pair.  */
        if (aarch64_sve_mode_p (mode)
  	  || !satisfies_constraint_Ump (mem)
  	  || GP_REGNUM_P (regno) != GP_REGNUM_P (regno2)
  	  || (crtl->abi->id () == ARM_PCS_SIMD && FP_REGNUM_P (regno))
! 	  || maybe_ne ((offset2 - cfun->machine->frame.reg_offset[regno]),
  		       GET_MODE_SIZE (mode)))
  	{
  	  insn = emit_insn (set);
--- 8519,8532 ----
  	  break;
  	}
  
!       poly_int64 offset2 = frame.reg_offset[regno2];
        /* The next register is not of the same class or its offset is not
  	 mergeable with the current one into a pair.  */
        if (aarch64_sve_mode_p (mode)
  	  || !satisfies_constraint_Ump (mem)
  	  || GP_REGNUM_P (regno) != GP_REGNUM_P (regno2)
  	  || (crtl->abi->id () == ARM_PCS_SIMD && FP_REGNUM_P (regno))
! 	  || maybe_ne ((offset2 - frame.reg_offset[regno]),
  		       GET_MODE_SIZE (mode)))
  	{
  	  insn = emit_insn (set);
*************** aarch64_process_components (sbitmap comp
*** 8471,8479 ****
        /* REGNO2 can be saved/restored in a pair with REGNO.  */
        rtx reg2 = gen_rtx_REG (mode, regno2);
        if (frame_pointer_needed)
! 	offset2 -= cfun->machine->frame.below_hard_fp_saved_regs_size;
!       else
! 	offset2 += crtl->outgoing_args_size;
        rtx addr2 = plus_constant (Pmode, ptr_reg, offset2);
        rtx mem2 = gen_frame_mem (mode, addr2);
        rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2)
--- 8548,8554 ----
        /* REGNO2 can be saved/restored in a pair with REGNO.  */
        rtx reg2 = gen_rtx_REG (mode, regno2);
        if (frame_pointer_needed)
! 	offset2 -= frame.bytes_below_hard_fp;
        rtx addr2 = plus_constant (Pmode, ptr_reg, offset2);
        rtx mem2 = gen_frame_mem (mode, addr2);
        rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2)
*************** aarch64_stack_clash_protection_alloca_pr
*** 8547,8556 ****
     registers.  If POLY_SIZE is not large enough to require a probe this function
     will only adjust the stack.  When allocating the stack space
     FRAME_RELATED_P is then used to indicate if the allocation is frame related.
!    FINAL_ADJUSTMENT_P indicates whether we are allocating the outgoing
!    arguments.  If we are then we ensure that any allocation larger than the ABI
!    defined buffer needs a probe so that the invariant of having a 1KB buffer is
!    maintained.
  
     We emit barriers after each stack adjustment to prevent optimizations from
     breaking the invariant that we never drop the stack more than a page.  This
--- 8622,8631 ----
     registers.  If POLY_SIZE is not large enough to require a probe this function
     will only adjust the stack.  When allocating the stack space
     FRAME_RELATED_P is then used to indicate if the allocation is frame related.
!    FINAL_ADJUSTMENT_P indicates whether we are allocating the area below
!    the saved registers.  If we are then we ensure that any allocation
!    larger than the ABI defined buffer needs a probe so that the
!    invariant of having a 1KB buffer is maintained.
  
     We emit barriers after each stack adjustment to prevent optimizations from
     breaking the invariant that we never drop the stack more than a page.  This
*************** aarch64_allocate_and_probe_stack_space (
*** 8566,8610 ****
  					bool frame_related_p,
  					bool final_adjustment_p)
  {
    HOST_WIDE_INT guard_size
      = 1 << param_stack_clash_protection_guard_size;
    HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD;
    HOST_WIDE_INT min_probe_threshold
      = (final_adjustment_p
!        ? guard_used_by_caller
         : guard_size - guard_used_by_caller);
!   /* When doing the final adjustment for the outgoing arguments, take into
!      account any unprobed space there is above the current SP.  There are
!      two cases:
! 
!      - When saving SVE registers below the hard frame pointer, we force
!        the lowest save to take place in the prologue before doing the final
!        adjustment (i.e. we don't allow the save to be shrink-wrapped).
!        This acts as a probe at SP, so there is no unprobed space.
! 
!      - When there are no SVE register saves, we use the store of the link
!        register as a probe.  We can't assume that LR was saved at position 0
!        though, so treat any space below it as unprobed.  */
!   if (final_adjustment_p
!       && known_eq (cfun->machine->frame.below_hard_fp_saved_regs_size, 0))
!     {
!       poly_int64 lr_offset = cfun->machine->frame.reg_offset[LR_REGNUM];
!       if (known_ge (lr_offset, 0))
! 	min_probe_threshold -= lr_offset.to_constant ();
!       else
! 	gcc_assert (!flag_stack_clash_protection || known_eq (poly_size, 0));
!     }
! 
!   poly_int64 frame_size = cfun->machine->frame.frame_size;
  
    /* We should always have a positive probe threshold.  */
    gcc_assert (min_probe_threshold > 0);
  
    if (flag_stack_clash_protection && !final_adjustment_p)
      {
!       poly_int64 initial_adjust = cfun->machine->frame.initial_adjust;
!       poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust;
!       poly_int64 final_adjust = cfun->machine->frame.final_adjust;
  
        if (known_eq (frame_size, 0))
  	{
--- 8641,8666 ----
  					bool frame_related_p,
  					bool final_adjustment_p)
  {
+   aarch64_frame &frame = cfun->machine->frame;
    HOST_WIDE_INT guard_size
      = 1 << param_stack_clash_protection_guard_size;
    HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD;
+   HOST_WIDE_INT byte_sp_alignment = STACK_BOUNDARY / BITS_PER_UNIT;
+   gcc_assert (multiple_p (poly_size, byte_sp_alignment));
    HOST_WIDE_INT min_probe_threshold
      = (final_adjustment_p
!        ? guard_used_by_caller + byte_sp_alignment
         : guard_size - guard_used_by_caller);
!   poly_int64 frame_size = frame.frame_size;
  
    /* We should always have a positive probe threshold.  */
    gcc_assert (min_probe_threshold > 0);
  
    if (flag_stack_clash_protection && !final_adjustment_p)
      {
!       poly_int64 initial_adjust = frame.initial_adjust;
!       poly_int64 sve_callee_adjust = frame.sve_callee_adjust;
!       poly_int64 final_adjust = frame.final_adjust;
  
        if (known_eq (frame_size, 0))
  	{
*************** aarch64_allocate_and_probe_stack_space (
*** 8758,8764 ****
    /* Handle any residuals.  Residuals of at least MIN_PROBE_THRESHOLD have to
       be probed.  This maintains the requirement that each page is probed at
       least once.  For initial probing we probe only if the allocation is
!      more than GUARD_SIZE - buffer, and for the outgoing arguments we probe
       if the amount is larger than buffer.  GUARD_SIZE - buffer + buffer ==
       GUARD_SIZE.  This works that for any allocation that is large enough to
       trigger a probe here, we'll have at least one, and if they're not large
--- 8814,8820 ----
    /* Handle any residuals.  Residuals of at least MIN_PROBE_THRESHOLD have to
       be probed.  This maintains the requirement that each page is probed at
       least once.  For initial probing we probe only if the allocation is
!      more than GUARD_SIZE - buffer, and below the saved registers we probe
       if the amount is larger than buffer.  GUARD_SIZE - buffer + buffer ==
       GUARD_SIZE.  This works that for any allocation that is large enough to
       trigger a probe here, we'll have at least one, and if they're not large
*************** aarch64_allocate_and_probe_stack_space (
*** 8768,8783 ****
       are still safe.  */
    if (residual)
      {
!       HOST_WIDE_INT residual_probe_offset = guard_used_by_caller;
        /* If we're doing final adjustments, and we've done any full page
  	 allocations then any residual needs to be probed.  */
        if (final_adjustment_p && rounded_size != 0)
  	min_probe_threshold = 0;
-       /* If doing a small final adjustment, we always probe at offset 0.
- 	 This is done to avoid issues when LR is not at position 0 or when
- 	 the final adjustment is smaller than the probing offset.  */
-       else if (final_adjustment_p && rounded_size == 0)
- 	residual_probe_offset = 0;
  
        aarch64_sub_sp (temp1, temp2, residual, frame_related_p);
        if (residual >= min_probe_threshold)
--- 8824,8835 ----
       are still safe.  */
    if (residual)
      {
!       gcc_assert (guard_used_by_caller + byte_sp_alignment <= size);
! 
        /* If we're doing final adjustments, and we've done any full page
  	 allocations then any residual needs to be probed.  */
        if (final_adjustment_p && rounded_size != 0)
  	min_probe_threshold = 0;
  
        aarch64_sub_sp (temp1, temp2, residual, frame_related_p);
        if (residual >= min_probe_threshold)
*************** aarch64_allocate_and_probe_stack_space (
*** 8788,8795 ****
  		     HOST_WIDE_INT_PRINT_DEC " bytes, probing will be required."
  		     "\n", residual);
  
! 	    emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx,
! 					     residual_probe_offset));
  	  emit_insn (gen_blockage ());
  	}
      }
--- 8840,8847 ----
  		     HOST_WIDE_INT_PRINT_DEC " bytes, probing will be required."
  		     "\n", residual);
  
! 	  emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx,
! 					   guard_used_by_caller));
  	  emit_insn (gen_blockage ());
  	}
      }
*************** aarch64_epilogue_uses (int regno)
*** 8827,8846 ****
  	|  for register varargs         |
  	|                               |
  	+-------------------------------+
! 	|  local variables              | <-- frame_pointer_rtx
  	|                               |
  	+-------------------------------+
! 	|  padding                      | \
! 	+-------------------------------+  |
! 	|  callee-saved registers       |  | frame.saved_regs_size
! 	+-------------------------------+  |
! 	|  LR'                          |  |
! 	+-------------------------------+  |
! 	|  FP'                          |  |
! 	+-------------------------------+  |<- hard_frame_pointer_rtx (aligned)
! 	|  SVE vector registers         |  | \
! 	+-------------------------------+  |  | below_hard_fp_saved_regs_size
! 	|  SVE predicate registers      | /  /
  	+-------------------------------+
  	|  dynamic allocation           |
  	+-------------------------------+
--- 8879,8902 ----
  	|  for register varargs         |
  	|                               |
  	+-------------------------------+
! 	|  local variables (1)          | <-- frame_pointer_rtx
  	|                               |
  	+-------------------------------+
! 	|  padding (1)                  |
! 	+-------------------------------+
! 	|  callee-saved registers       |
! 	+-------------------------------+
! 	|  LR'                          |
! 	+-------------------------------+
! 	|  FP'                          |
! 	+-------------------------------+ <-- hard_frame_pointer_rtx (aligned)
! 	|  SVE vector registers         |
! 	+-------------------------------+
! 	|  SVE predicate registers      |
! 	+-------------------------------+
! 	|  local variables (2)          |
! 	+-------------------------------+
! 	|  padding (2)                  |
  	+-------------------------------+
  	|  dynamic allocation           |
  	+-------------------------------+
*************** aarch64_epilogue_uses (int regno)
*** 8851,8856 ****
--- 8907,8915 ----
  	+-------------------------------+
  	|                               | <-- stack_pointer_rtx (aligned)
  
+    The regions marked (1) and (2) are mutually exclusive.  (2) is used
+    when aarch64_save_regs_above_locals_p is true.
+ 
     Dynamic stack allocations via alloca() decrease stack_pointer_rtx
     but leave frame_pointer_rtx and hard_frame_pointer_rtx
     unchanged.
*************** aarch64_epilogue_uses (int regno)
*** 8865,8872 ****
     When probing is needed, we emit a probe at the start of the prologue
     and every PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE bytes thereafter.
  
!    We have to track how much space has been allocated and the only stores
!    to the stack we track as implicit probes are the FP/LR stores.
  
     For outgoing arguments we probe if the size is larger than 1KB, such that
     the ABI specified buffer is maintained for the next callee.
--- 8924,8931 ----
     When probing is needed, we emit a probe at the start of the prologue
     and every PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE bytes thereafter.
  
!    We can also use register saves as probes.  These are stored in
!    sve_save_and_probe and hard_fp_save_and_probe.
  
     For outgoing arguments we probe if the size is larger than 1KB, such that
     the ABI specified buffer is maintained for the next callee.
*************** aarch64_epilogue_uses (int regno)
*** 8893,8909 ****
  void
  aarch64_expand_prologue (void)
  {
!   poly_int64 frame_size = cfun->machine->frame.frame_size;
!   poly_int64 initial_adjust = cfun->machine->frame.initial_adjust;
!   HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust;
!   poly_int64 final_adjust = cfun->machine->frame.final_adjust;
!   poly_int64 callee_offset = cfun->machine->frame.callee_offset;
!   poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust;
!   poly_int64 below_hard_fp_saved_regs_size
!     = cfun->machine->frame.below_hard_fp_saved_regs_size;
!   unsigned reg1 = cfun->machine->frame.wb_candidate1;
!   unsigned reg2 = cfun->machine->frame.wb_candidate2;
!   bool emit_frame_chain = cfun->machine->frame.emit_frame_chain;
    rtx_insn *insn;
  
    if (flag_stack_clash_protection && known_eq (callee_adjust, 0))
--- 8952,8966 ----
  void
  aarch64_expand_prologue (void)
  {
!   aarch64_frame &frame = cfun->machine->frame;
!   poly_int64 frame_size = frame.frame_size;
!   poly_int64 initial_adjust = frame.initial_adjust;
!   HOST_WIDE_INT callee_adjust = frame.callee_adjust;
!   poly_int64 final_adjust = frame.final_adjust;
!   poly_int64 sve_callee_adjust = frame.sve_callee_adjust;
!   unsigned reg1 = frame.wb_candidate1;
!   unsigned reg2 = frame.wb_candidate2;
!   bool emit_frame_chain = frame.emit_frame_chain;
    rtx_insn *insn;
  
    if (flag_stack_clash_protection && known_eq (callee_adjust, 0))
*************** aarch64_expand_prologue (void)
*** 8967,8987 ****
    if (callee_adjust != 0)
      aarch64_push_regs (reg1, reg2, callee_adjust);
  
!   /* The offset of the frame chain record (if any) from the current SP.  */
!   poly_int64 chain_offset = (initial_adjust + callee_adjust
! 			     - cfun->machine->frame.hard_fp_offset);
!   gcc_assert (known_ge (chain_offset, 0));
! 
!   /* The offset of the bottom of the save area from the current SP.  */
!   poly_int64 saved_regs_offset = chain_offset - below_hard_fp_saved_regs_size;
  
    if (emit_frame_chain)
      {
        if (callee_adjust == 0)
  	{
  	  reg1 = R29_REGNUM;
  	  reg2 = R30_REGNUM;
! 	  aarch64_save_callee_saves (saved_regs_offset, reg1, reg2,
  				     false, false);
  	}
        else
--- 9024,9044 ----
    if (callee_adjust != 0)
      aarch64_push_regs (reg1, reg2, callee_adjust);
  
!   /* The offset of the current SP from the bottom of the static frame.  */
!   poly_int64 bytes_below_sp = frame_size - initial_adjust - callee_adjust;
  
    if (emit_frame_chain)
      {
+       /* The offset of the frame chain record (if any) from the current SP.  */
+       poly_int64 chain_offset = (initial_adjust + callee_adjust
+ 				 - frame.bytes_above_hard_fp);
+       gcc_assert (known_ge (chain_offset, 0));
+ 
        if (callee_adjust == 0)
  	{
  	  reg1 = R29_REGNUM;
  	  reg2 = R30_REGNUM;
! 	  aarch64_save_callee_saves (bytes_below_sp, reg1, reg2,
  				     false, false);
  	}
        else
*************** aarch64_expand_prologue (void)
*** 9006,9013 ****
  	     implicit.  */
  	  if (!find_reg_note (insn, REG_CFA_ADJUST_CFA, NULL_RTX))
  	    {
! 	      rtx src = plus_constant (Pmode, stack_pointer_rtx,
! 				       callee_offset);
  	      add_reg_note (insn, REG_CFA_ADJUST_CFA,
  			    gen_rtx_SET (hard_frame_pointer_rtx, src));
  	    }
--- 9063,9069 ----
  	     implicit.  */
  	  if (!find_reg_note (insn, REG_CFA_ADJUST_CFA, NULL_RTX))
  	    {
! 	      rtx src = plus_constant (Pmode, stack_pointer_rtx, chain_offset);
  	      add_reg_note (insn, REG_CFA_ADJUST_CFA,
  			    gen_rtx_SET (hard_frame_pointer_rtx, src));
  	    }
*************** aarch64_expand_prologue (void)
*** 9022,9028 ****
        emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx));
      }
  
!   aarch64_save_callee_saves (saved_regs_offset, R0_REGNUM, R30_REGNUM,
  			     callee_adjust != 0 || emit_frame_chain,
  			     emit_frame_chain);
    if (maybe_ne (sve_callee_adjust, 0))
--- 9078,9084 ----
        emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx));
      }
  
!   aarch64_save_callee_saves (bytes_below_sp, R0_REGNUM, R30_REGNUM,
  			     callee_adjust != 0 || emit_frame_chain,
  			     emit_frame_chain);
    if (maybe_ne (sve_callee_adjust, 0))
*************** aarch64_expand_prologue (void)
*** 9032,9049 ****
        aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx,
  					      sve_callee_adjust,
  					      !frame_pointer_needed, false);
!       saved_regs_offset += sve_callee_adjust;
      }
!   aarch64_save_callee_saves (saved_regs_offset, P0_REGNUM, P15_REGNUM,
  			     false, emit_frame_chain);
!   aarch64_save_callee_saves (saved_regs_offset, V0_REGNUM, V31_REGNUM,
  			     callee_adjust != 0 || emit_frame_chain,
  			     emit_frame_chain);
  
    /* We may need to probe the final adjustment if it is larger than the guard
       that is assumed by the called.  */
    aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust,
  					  !frame_pointer_needed, true);
  }
  
  /* Return TRUE if we can use a simple_return insn.
--- 9088,9108 ----
        aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx,
  					      sve_callee_adjust,
  					      !frame_pointer_needed, false);
!       bytes_below_sp -= sve_callee_adjust;
      }
!   aarch64_save_callee_saves (bytes_below_sp, P0_REGNUM, P15_REGNUM,
  			     false, emit_frame_chain);
!   aarch64_save_callee_saves (bytes_below_sp, V0_REGNUM, V31_REGNUM,
  			     callee_adjust != 0 || emit_frame_chain,
  			     emit_frame_chain);
  
    /* We may need to probe the final adjustment if it is larger than the guard
       that is assumed by the called.  */
+   gcc_assert (known_eq (bytes_below_sp, final_adjust));
    aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust,
  					  !frame_pointer_needed, true);
+   if (emit_frame_chain && maybe_ne (final_adjust, 0))
+     emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx));
  }
  
  /* Return TRUE if we can use a simple_return insn.
*************** aarch64_use_return_insn_p (void)
*** 9072,9086 ****
  void
  aarch64_expand_epilogue (bool for_sibcall)
  {
!   poly_int64 initial_adjust = cfun->machine->frame.initial_adjust;
!   HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust;
!   poly_int64 final_adjust = cfun->machine->frame.final_adjust;
!   poly_int64 callee_offset = cfun->machine->frame.callee_offset;
!   poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust;
!   poly_int64 below_hard_fp_saved_regs_size
!     = cfun->machine->frame.below_hard_fp_saved_regs_size;
!   unsigned reg1 = cfun->machine->frame.wb_candidate1;
!   unsigned reg2 = cfun->machine->frame.wb_candidate2;
    rtx cfi_ops = NULL;
    rtx_insn *insn;
    /* A stack clash protection prologue may not have left EP0_REGNUM or
--- 9131,9144 ----
  void
  aarch64_expand_epilogue (bool for_sibcall)
  {
!   aarch64_frame &frame = cfun->machine->frame;
!   poly_int64 initial_adjust = frame.initial_adjust;
!   HOST_WIDE_INT callee_adjust = frame.callee_adjust;
!   poly_int64 final_adjust = frame.final_adjust;
!   poly_int64 sve_callee_adjust = frame.sve_callee_adjust;
!   poly_int64 bytes_below_hard_fp = frame.bytes_below_hard_fp;
!   unsigned reg1 = frame.wb_candidate1;
!   unsigned reg2 = frame.wb_candidate2;
    rtx cfi_ops = NULL;
    rtx_insn *insn;
    /* A stack clash protection prologue may not have left EP0_REGNUM or
*************** aarch64_expand_epilogue (bool for_sibcal
*** 9113,9119 ****
    /* We need to add memory barrier to prevent read from deallocated stack.  */
    bool need_barrier_p
      = maybe_ne (get_frame_size ()
! 		+ cfun->machine->frame.saved_varargs_size, 0);
  
    /* Emit a barrier to prevent loads from a deallocated stack.  */
    if (maybe_gt (final_adjust, crtl->outgoing_args_size)
--- 9171,9177 ----
    /* We need to add memory barrier to prevent read from deallocated stack.  */
    bool need_barrier_p
      = maybe_ne (get_frame_size ()
! 		+ frame.saved_varargs_size, 0);
  
    /* Emit a barrier to prevent loads from a deallocated stack.  */
    if (maybe_gt (final_adjust, crtl->outgoing_args_size)
*************** aarch64_expand_epilogue (bool for_sibcal
*** 9134,9140 ****
         is restored on the instruction doing the writeback.  */
      aarch64_add_offset (Pmode, stack_pointer_rtx,
  			hard_frame_pointer_rtx,
! 			-callee_offset - below_hard_fp_saved_regs_size,
  			tmp1_rtx, tmp0_rtx, callee_adjust == 0);
    else
       /* The case where we need to re-use the register here is very rare, so
--- 9192,9198 ----
         is restored on the instruction doing the writeback.  */
      aarch64_add_offset (Pmode, stack_pointer_rtx,
  			hard_frame_pointer_rtx,
! 			-bytes_below_hard_fp + final_adjust,
  			tmp1_rtx, tmp0_rtx, callee_adjust == 0);
    else
       /* The case where we need to re-use the register here is very rare, so
*************** aarch64_expand_epilogue (bool for_sibcal
*** 9144,9156 ****
  
    /* Restore the vector registers before the predicate registers,
       so that we can use P4 as a temporary for big-endian SVE frames.  */
!   aarch64_restore_callee_saves (callee_offset, V0_REGNUM, V31_REGNUM,
  				callee_adjust != 0, &cfi_ops);
!   aarch64_restore_callee_saves (callee_offset, P0_REGNUM, P15_REGNUM,
  				false, &cfi_ops);
    if (maybe_ne (sve_callee_adjust, 0))
      aarch64_add_sp (NULL_RTX, NULL_RTX, sve_callee_adjust, true);
!   aarch64_restore_callee_saves (callee_offset - sve_callee_adjust,
  				R0_REGNUM, R30_REGNUM,
  				callee_adjust != 0, &cfi_ops);
  
--- 9202,9214 ----
  
    /* Restore the vector registers before the predicate registers,
       so that we can use P4 as a temporary for big-endian SVE frames.  */
!   aarch64_restore_callee_saves (final_adjust, V0_REGNUM, V31_REGNUM,
  				callee_adjust != 0, &cfi_ops);
!   aarch64_restore_callee_saves (final_adjust, P0_REGNUM, P15_REGNUM,
  				false, &cfi_ops);
    if (maybe_ne (sve_callee_adjust, 0))
      aarch64_add_sp (NULL_RTX, NULL_RTX, sve_callee_adjust, true);
!   aarch64_restore_callee_saves (final_adjust + sve_callee_adjust,
  				R0_REGNUM, R30_REGNUM,
  				callee_adjust != 0, &cfi_ops);
  
*************** aarch64_can_eliminate (const int from AT
*** 11744,11767 ****
  poly_int64
  aarch64_initial_elimination_offset (unsigned from, unsigned to)
  {
    if (to == HARD_FRAME_POINTER_REGNUM)
      {
        if (from == ARG_POINTER_REGNUM)
! 	return cfun->machine->frame.hard_fp_offset;
  
        if (from == FRAME_POINTER_REGNUM)
! 	return cfun->machine->frame.hard_fp_offset
! 	       - cfun->machine->frame.locals_offset;
      }
  
    if (to == STACK_POINTER_REGNUM)
      {
        if (from == FRAME_POINTER_REGNUM)
! 	  return cfun->machine->frame.frame_size
! 		 - cfun->machine->frame.locals_offset;
      }
  
!   return cfun->machine->frame.frame_size;
  }
  
  
--- 11802,11825 ----
  poly_int64
  aarch64_initial_elimination_offset (unsigned from, unsigned to)
  {
+   aarch64_frame &frame = cfun->machine->frame;
+ 
    if (to == HARD_FRAME_POINTER_REGNUM)
      {
        if (from == ARG_POINTER_REGNUM)
! 	return frame.bytes_above_hard_fp;
  
        if (from == FRAME_POINTER_REGNUM)
! 	return frame.bytes_above_hard_fp - frame.bytes_above_locals;
      }
  
    if (to == STACK_POINTER_REGNUM)
      {
        if (from == FRAME_POINTER_REGNUM)
! 	return frame.frame_size - frame.bytes_above_locals;
      }
  
!   return frame.frame_size;
  }
  
  
*************** aarch64_expand_compare_and_swap (rtx ope
*** 21821,21826 ****
--- 21879,21886 ----
          rval = copy_to_mode_reg (r_mode, oldval);
        else
  	emit_move_insn (rval, gen_lowpart (r_mode, oldval));
+       if (mode == TImode)
+ 	newval = force_reg (mode, newval);
  
        emit_insn (gen_aarch64_compare_and_swap_lse (mode, rval, mem,
  						   newval, mod_s));
*************** aarch64_simd_clone_compute_vecsize_and_s
*** 25498,25504 ****
  					tree base_type, int num)
  {
    tree t, ret_type;
!   unsigned int elt_bits, count;
    unsigned HOST_WIDE_INT const_simdlen;
    poly_uint64 vec_bits;
  
--- 25558,25564 ----
  					tree base_type, int num)
  {
    tree t, ret_type;
!   unsigned int elt_bits, count = 0;
    unsigned HOST_WIDE_INT const_simdlen;
    poly_uint64 vec_bits;
  
*************** aarch64_simd_clone_compute_vecsize_and_s
*** 25566,25576 ****
    elt_bits = GET_MODE_BITSIZE (SCALAR_TYPE_MODE (base_type));
    if (known_eq (clonei->simdlen, 0U))
      {
!       count = 2;
!       vec_bits = (num == 0 ? 64 : 128);
        clonei->simdlen = exact_div (vec_bits, elt_bits);
      }
!   else
      {
        count = 1;
        vec_bits = clonei->simdlen * elt_bits;
--- 25626,25645 ----
    elt_bits = GET_MODE_BITSIZE (SCALAR_TYPE_MODE (base_type));
    if (known_eq (clonei->simdlen, 0U))
      {
!       /* We don't support simdlen == 1.  */
!       if (known_eq (elt_bits, 64))
! 	{
! 	  count = 1;
! 	  vec_bits = 128;
! 	}
!       else
! 	{
! 	  count = 2;
! 	  vec_bits = (num == 0 ? 64 : 128);
! 	}
        clonei->simdlen = exact_div (vec_bits, elt_bits);
      }
!   else if (maybe_ne (clonei->simdlen, 1U))
      {
        count = 1;
        vec_bits = clonei->simdlen * elt_bits;
*************** aarch64_simd_clone_compute_vecsize_and_s
*** 25585,25590 ****
--- 25654,25660 ----
  	  return 0;
  	}
      }
+ 
    clonei->vecsize_int = vec_bits;
    clonei->vecsize_float = vec_bits;
    return count;
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64.h gcc-11.5.0/gcc/config/aarch64/aarch64.h
*** gcc-11.4.0/gcc/config/aarch64/aarch64.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64.h	Fri Jul 19 05:52:43 2024
*************** extern enum aarch64_processor aarch64_tu
*** 826,831 ****
--- 826,834 ----
  #ifdef HAVE_POLY_INT_H
  struct GTY (()) aarch64_frame
  {
+   /* The offset from the bottom of the static frame (the bottom of the
+      outgoing arguments) of each register save slot, or -2 if no save is
+      needed.  */
    poly_int64 reg_offset[LAST_SAVED_REGNUM + 1];
  
    /* The number of extra stack bytes taken up by register varargs.
*************** struct GTY (()) aarch64_frame
*** 834,858 ****
       STACK_BOUNDARY.  */
    HOST_WIDE_INT saved_varargs_size;
  
!   /* The size of the callee-save registers with a slot in REG_OFFSET.  */
!   poly_int64 saved_regs_size;
  
!   /* The size of the callee-save registers with a slot in REG_OFFSET that
!      are saved below the hard frame pointer.  */
!   poly_int64 below_hard_fp_saved_regs_size;
  
!   /* Offset from the base of the frame (incomming SP) to the
!      top of the locals area.  This value is always a multiple of
       STACK_BOUNDARY.  */
!   poly_int64 locals_offset;
  
!   /* Offset from the base of the frame (incomming SP) to the
!      hard_frame_pointer.  This value is always a multiple of
       STACK_BOUNDARY.  */
!   poly_int64 hard_fp_offset;
  
!   /* The size of the frame.  This value is the offset from base of the
!      frame (incomming SP) to the stack_pointer.  This value is always
       a multiple of STACK_BOUNDARY.  */
    poly_int64 frame_size;
  
--- 837,864 ----
       STACK_BOUNDARY.  */
    HOST_WIDE_INT saved_varargs_size;
  
!   /* The number of bytes between the bottom of the static frame (the bottom
!      of the outgoing arguments) and the bottom of the register save area.
!      This value is always a multiple of STACK_BOUNDARY.  */
!   poly_int64 bytes_below_saved_regs;
  
!   /* The number of bytes between the bottom of the static frame (the bottom
!      of the outgoing arguments) and the hard frame pointer.  This value is
!      always a multiple of STACK_BOUNDARY.  */
!   poly_int64 bytes_below_hard_fp;
  
!   /* The number of bytes between the top of the locals area and the top
!      of the frame (the incomming SP).  This value is always a multiple of
       STACK_BOUNDARY.  */
!   poly_int64 bytes_above_locals;
  
!   /* The number of bytes between the hard_frame_pointer and the top of
!      the frame (the incomming SP).  This value is always a multiple of
       STACK_BOUNDARY.  */
!   poly_int64 bytes_above_hard_fp;
  
!   /* The size of the frame, i.e. the number of bytes between the bottom
!      of the outgoing arguments and the incoming SP.  This value is always
       a multiple of STACK_BOUNDARY.  */
    poly_int64 frame_size;
  
*************** struct GTY (()) aarch64_frame
*** 863,872 ****
       It is zero when no push is used.  */
    HOST_WIDE_INT callee_adjust;
  
-   /* The offset from SP to the callee-save registers after initial_adjust.
-      It may be non-zero if no push is used (ie. callee_adjust == 0).  */
-   poly_int64 callee_offset;
- 
    /* The size of the stack adjustment before saving or after restoring
       SVE registers.  */
    poly_int64 sve_callee_adjust;
--- 869,874 ----
*************** struct GTY (()) aarch64_frame
*** 902,907 ****
--- 904,917 ----
       This is the register they should use.  */
    unsigned spare_pred_reg;
  
+   /* An SVE register that is saved below the hard frame pointer and that acts
+      as a probe for later allocations, or INVALID_REGNUM if none.  */
+   unsigned sve_save_and_probe;
+ 
+   /* A register that is saved at the hard frame pointer and that acts
+      as a probe for later allocations, or INVALID_REGNUM if none.  */
+   unsigned hard_fp_save_and_probe;
+ 
    bool laid_out;
  };
  
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/aarch64.md gcc-11.5.0/gcc/config/aarch64/aarch64.md
*** gcc-11.4.0/gcc/config/aarch64/aarch64.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/aarch64.md	Fri Jul 19 05:52:43 2024
***************
*** 1737,1753 ****
    [(set_attr "type" "neon_load1_2reg")]
  )
  
! (define_insn "loadwb_pair<TX:mode>_<P:mode>"
    [(parallel
      [(set (match_operand:P 0 "register_operand" "=k")
!           (plus:P (match_operand:P 1 "register_operand" "0")
!                   (match_operand:P 4 "aarch64_mem_pair_offset" "n")))
!      (set (match_operand:TX 2 "register_operand" "=w")
!           (mem:TX (match_dup 1)))
!      (set (match_operand:TX 3 "register_operand" "=w")
!           (mem:TX (plus:P (match_dup 1)
  			  (match_operand:P 5 "const_int_operand" "n"))))])]
!   "TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (<TX:MODE>mode)"
    "ldp\\t%q2, %q3, [%1], %4"
    [(set_attr "type" "neon_ldp_q")]
  )
--- 1737,1754 ----
    [(set_attr "type" "neon_load1_2reg")]
  )
  
! (define_insn "loadwb_pair<TX_V16QI:mode>_<P:mode>"
    [(parallel
      [(set (match_operand:P 0 "register_operand" "=k")
! 	  (plus:P (match_operand:P 1 "register_operand" "0")
! 		  (match_operand:P 4 "aarch64_mem_pair_offset" "n")))
!      (set (match_operand:TX_V16QI 2 "register_operand" "=w")
! 	  (mem:TX_V16QI (match_dup 1)))
!      (set (match_operand:TX_V16QI 3 "register_operand" "=w")
! 	  (mem:TX_V16QI (plus:P (match_dup 1)
  			  (match_operand:P 5 "const_int_operand" "n"))))])]
!   "TARGET_SIMD
!    && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (<TX_V16QI:MODE>mode))"
    "ldp\\t%q2, %q3, [%1], %4"
    [(set_attr "type" "neon_ldp_q")]
  )
***************
*** 1786,1805 ****
    [(set_attr "type" "neon_store1_2reg<q>")]
  )
  
! (define_insn "storewb_pair<TX:mode>_<P:mode>"
    [(parallel
      [(set (match_operand:P 0 "register_operand" "=&k")
!           (plus:P (match_operand:P 1 "register_operand" "0")
!                   (match_operand:P 4 "aarch64_mem_pair_offset" "n")))
!      (set (mem:TX (plus:P (match_dup 0)
  			  (match_dup 4)))
!           (match_operand:TX 2 "register_operand" "w"))
!      (set (mem:TX (plus:P (match_dup 0)
  			  (match_operand:P 5 "const_int_operand" "n")))
!           (match_operand:TX 3 "register_operand" "w"))])]
    "TARGET_SIMD
!    && INTVAL (operands[5])
!       == INTVAL (operands[4]) + GET_MODE_SIZE (<TX:MODE>mode)"
    "stp\\t%q2, %q3, [%0, %4]!"
    [(set_attr "type" "neon_stp_q")]
  )
--- 1787,1806 ----
    [(set_attr "type" "neon_store1_2reg<q>")]
  )
  
! (define_insn "storewb_pair<TX_V16QI:mode>_<P:mode>"
    [(parallel
      [(set (match_operand:P 0 "register_operand" "=&k")
! 	  (plus:P (match_operand:P 1 "register_operand" "0")
! 		  (match_operand:P 4 "aarch64_mem_pair_offset" "n")))
!      (set (mem:TX_V16QI (plus:P (match_dup 0)
  			  (match_dup 4)))
! 	  (match_operand:TX_V16QI 2 "register_operand" "w"))
!      (set (mem:TX_V16QI (plus:P (match_dup 0)
  			  (match_operand:P 5 "const_int_operand" "n")))
! 	  (match_operand:TX_V16QI 3 "register_operand" "w"))])]
    "TARGET_SIMD
!    && known_eq (INTVAL (operands[5]),
! 		INTVAL (operands[4]) + GET_MODE_SIZE (<TX_V16QI:MODE>mode))"
    "stp\\t%q2, %q3, [%0, %4]!"
    [(set_attr "type" "neon_stp_q")]
  )
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/arm_neon.h gcc-11.5.0/gcc/config/aarch64/arm_neon.h
*** gcc-11.4.0/gcc/config/aarch64/arm_neon.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/arm_neon.h	Fri Jul 19 05:52:43 2024
*************** __extension__ extern __inline int8x8x4_t
*** 16498,16507 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s8_x4 (const int8_t *__a)
  {
!   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline int8x16x4_t
--- 16498,16511 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s8_x4 (const int8_t *__a)
  {
!   int8x8x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
!   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
!   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
!   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline int8x16x4_t
*************** __extension__ extern __inline int16x4x4_
*** 16518,16527 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s16_x4 (const int16_t *__a)
  {
!   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline int16x8x4_t
--- 16522,16535 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s16_x4 (const int16_t *__a)
  {
!   int16x4x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
!   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
!   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
!   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline int16x8x4_t
*************** __extension__ extern __inline int32x2x4_
*** 16538,16547 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s32_x4 (const int32_t *__a)
  {
!   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!   = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline int32x4x4_t
--- 16546,16559 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s32_x4 (const int32_t *__a)
  {
!   int32x2x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
!   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
!   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
!   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
!   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline int32x4x4_t
*************** __extension__ extern __inline uint8x8x4_
*** 16558,16567 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u8_x4 (const uint8_t *__a)
  {
!   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline uint8x16x4_t
--- 16570,16583 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u8_x4 (const uint8_t *__a)
  {
!   uint8x8x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
!   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
!   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
!   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline uint8x16x4_t
*************** __extension__ extern __inline uint16x4x4
*** 16578,16587 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u16_x4 (const uint16_t *__a)
  {
!   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline uint16x8x4_t
--- 16594,16607 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u16_x4 (const uint16_t *__a)
  {
!   uint16x4x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
!   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
!   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
!   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline uint16x8x4_t
*************** __extension__ extern __inline uint32x2x4
*** 16598,16607 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u32_x4 (const uint32_t *__a)
  {
!   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline uint32x4x4_t
--- 16618,16631 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u32_x4 (const uint32_t *__a)
  {
!   uint32x2x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
!   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
!   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
!   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
!   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline uint32x4x4_t
*************** __extension__ extern __inline float16x4x
*** 16618,16627 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f16_x4 (const float16_t *__a)
  {
!   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline float16x8x4_t
--- 16642,16655 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f16_x4 (const float16_t *__a)
  {
!   float16x4x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v4hf (__a);
!   ret.val[0] = __builtin_aarch64_get_dregxiv4hf (__o, 0);
!   ret.val[1] = __builtin_aarch64_get_dregxiv4hf (__o, 1);
!   ret.val[2] = __builtin_aarch64_get_dregxiv4hf (__o, 2);
!   ret.val[3] = __builtin_aarch64_get_dregxiv4hf (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline float16x8x4_t
*************** __extension__ extern __inline float32x2x
*** 16638,16647 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f32_x4 (const float32_t *__a)
  {
!   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline float32x4x4_t
--- 16666,16679 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f32_x4 (const float32_t *__a)
  {
!   float32x2x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
!   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
!   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
!   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
!   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline float32x4x4_t
*************** __extension__ extern __inline poly8x8x4_
*** 16658,16667 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p8_x4 (const poly8_t *__a)
  {
!   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline poly8x16x4_t
--- 16690,16703 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p8_x4 (const poly8_t *__a)
  {
!   poly8x8x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
!   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
!   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
!   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
!   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline poly8x16x4_t
*************** __extension__ extern __inline poly16x4x4
*** 16678,16687 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p16_x4 (const poly16_t *__a)
  {
!   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline poly16x8x4_t
--- 16714,16727 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p16_x4 (const poly16_t *__a)
  {
!   poly16x4x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
!   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
!   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
!   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
!   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline poly16x8x4_t
*************** __extension__ extern __inline int64x1x4_
*** 16698,16727 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s64_x4 (const int64_t *__a)
  {
!   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline uint64x1x4_t
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u64_x4 (const uint64_t *__a)
  {
!   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline poly64x1x4_t
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p64_x4 (const poly64_t *__a)
  {
!   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline int64x2x4_t
--- 16738,16779 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_s64_x4 (const int64_t *__a)
  {
!   int64x1x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
!   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
!   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
!   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline uint64x1x4_t
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_u64_x4 (const uint64_t *__a)
  {
!   uint64x1x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
!   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
!   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
!   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline poly64x1x4_t
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_p64_x4 (const poly64_t *__a)
  {
!   poly64x1x4_t  ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
!   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
!   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
!   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
!   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline int64x2x4_t
*************** __extension__ extern __inline float64x1x
*** 16758,16767 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f64_x4 (const float64_t *__a)
  {
!   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline float64x2x4_t
--- 16810,16823 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_f64_x4 (const float64_t *__a)
  {
!   float64x1x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
!   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
!   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
!   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
!   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
!   return ret;
  }
  
  __extension__ extern __inline float64x2x4_t
*************** vst1q_p64_x3 (poly64_t * __a, poly64x2x3
*** 27427,27651 ****
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s8_x4 (int8_t * __a, int8x8x4_t val)
  {
!   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s8_x4 (int8_t * __a, int8x16x4_t val)
  {
!   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s16_x4 (int16_t * __a, int16x4x4_t val)
  {
!   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s16_x4 (int16_t * __a, int16x8x4_t val)
  {
!   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s32_x4 (int32_t * __a, int32x2x4_t val)
  {
!   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s32_x4 (int32_t * __a, int32x4x4_t val)
  {
!   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u8_x4 (uint8_t * __a, uint8x8x4_t val)
  {
!   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t val)
  {
!   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u16_x4 (uint16_t * __a, uint16x4x4_t val)
  {
!   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t val)
  {
!   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u32_x4 (uint32_t * __a, uint32x2x4_t val)
  {
!   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t val)
  {
!   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f16_x4 (float16_t * __a, float16x4x4_t val)
  {
!   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f16_x4 (float16_t * __a, float16x8x4_t val)
  {
!   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f32_x4 (float32_t * __a, float32x2x4_t val)
  {
!   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f32_x4 (float32_t * __a, float32x4x4_t val)
  {
!   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p8_x4 (poly8_t * __a, poly8x8x4_t val)
  {
!   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t val)
  {
!   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p16_x4 (poly16_t * __a, poly16x4x4_t val)
  {
!   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t val)
  {
!   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s64_x4 (int64_t * __a, int64x1x4_t val)
  {
!   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u64_x4 (uint64_t * __a, uint64x1x4_t val)
  {
!   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p64_x4 (poly64_t * __a, poly64x1x4_t val)
  {
!   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s64_x4 (int64_t * __a, int64x2x4_t val)
  {
!   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t val)
  {
!   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t val)
  {
!   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f64_x4 (float64_t * __a, float64x1x4_t val)
  {
!   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f64_x4 (float64_t * __a, float64x2x4_t val)
  {
!   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __u.__o);
  }
  
--- 27483,27837 ----
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s8_x4 (int8_t * __a, int8x8x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   int8x16x4_t __temp;
!   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
!   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
!   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
!   __temp.val[3] = vcombine_s8 (__val.val[3], vcreate_s8 (__AARCH64_INT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s8_x4 (int8_t * __a, int8x16x4_t __val)
  {
!   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s16_x4 (int16_t * __a, int16x4x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   int16x8x4_t __temp;
!   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
!   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
!   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
!   __temp.val[3] = vcombine_s16 (__val.val[3], vcreate_s16 (__AARCH64_INT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s16_x4 (int16_t * __a, int16x8x4_t __val)
  {
!   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s32_x4 (int32_t * __a, int32x2x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   int32x4x4_t __temp;
!   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
!   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
!   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
!   __temp.val[3] = vcombine_s32 (__val.val[3], vcreate_s32 (__AARCH64_INT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s32_x4 (int32_t * __a, int32x4x4_t __val)
  {
!   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u8_x4 (uint8_t * __a, uint8x8x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   uint8x16x4_t __temp;
!   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_u8 (__val.val[3], vcreate_u8 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t __val)
  {
!   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u16_x4 (uint16_t * __a, uint16x4x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   uint16x8x4_t __temp;
!   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_u16 (__val.val[3], vcreate_u16 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t __val)
  {
!   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u32_x4 (uint32_t * __a, uint32x2x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   uint32x4x4_t __temp;
!   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_u32 (__val.val[3], vcreate_u32 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t __val)
  {
!   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f16_x4 (float16_t * __a, float16x4x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   float16x8x4_t __temp;
!   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_f16 (__val.val[3], vcreate_f16 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f16_x4 (float16_t * __a, float16x8x4_t __val)
  {
!   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f32_x4 (float32_t * __a, float32x2x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   float32x4x4_t __temp;
!   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_f32 (__val.val[3], vcreate_f32 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f32_x4 (float32_t * __a, float32x4x4_t __val)
  {
!   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p8_x4 (poly8_t * __a, poly8x8x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   poly8x16x4_t __temp;
!   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_p8 (__val.val[3], vcreate_p8 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t __val)
  {
!   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p16_x4 (poly16_t * __a, poly16x4x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   poly16x8x4_t __temp;
!   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_p16 (__val.val[3], vcreate_p16 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t __val)
  {
!   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_s64_x4 (int64_t * __a, int64x1x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   int64x2x4_t __temp;
!   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
!   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
!   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
!   __temp.val[3] = vcombine_s64 (__val.val[3], vcreate_s64 (__AARCH64_INT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_u64_x4 (uint64_t * __a, uint64x1x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   uint64x2x4_t __temp;
!   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_u64 (__val.val[3], vcreate_u64 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_p64_x4 (poly64_t * __a, poly64x1x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   poly64x2x4_t __temp;
!   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_p64 (__val.val[3], vcreate_p64 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
! 					       (poly64x2_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
! 					       (poly64x2_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
! 					       (poly64x2_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
! 					       (poly64x2_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_s64_x4 (int64_t * __a, int64x2x4_t __val)
  {
!   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t __val)
  {
!   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t __val)
  {
!   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_f64_x4 (float64_t * __a, float64x1x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   float64x2x4_t __temp;
!   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_f64 (__val.val[3], vcreate_f64 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_f64_x4 (float64_t * __a, float64x2x4_t __val)
  {
!   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __u.__o);
  }
  
*************** __extension__ extern __inline bfloat16x4
*** 33380,33389 ****
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_bf16_x4 (const bfloat16_t *__a)
  {
!   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
!   __au.__o
!     = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
!   return __au.__i;
  }
  
  __extension__ extern __inline bfloat16x8x4_t
--- 33566,33579 ----
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
  vld1_bf16_x4 (const bfloat16_t *__a)
  {
!   bfloat16x4x4_t ret;
!   __builtin_aarch64_simd_xi __o;
!   __o = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
!   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
!   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
!   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
!   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
!   return ret;
  }
  
  __extension__ extern __inline bfloat16x8x4_t
*************** vst1q_bf16_x3 (bfloat16_t * __a, bfloat1
*** 33640,33656 ****
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t val)
  {
!   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
!   __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t val)
  {
!   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
    __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
  }
  
--- 33830,33855 ----
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t __val)
  {
!   __builtin_aarch64_simd_xi __o;
!   bfloat16x8x4_t __temp;
!   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
!   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
!   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
!   __temp.val[3] = vcombine_bf16 (__val.val[3], vcreate_bf16 (__AARCH64_UINT64_C (0)));
!   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
!   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
!   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
!   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[3], 3);
!   __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
  }
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t __val)
  {
!   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { __val };
    __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
  }
  
diff -Nrcpad gcc-11.4.0/gcc/config/aarch64/iterators.md gcc-11.5.0/gcc/config/aarch64/iterators.md
*** gcc-11.4.0/gcc/config/aarch64/iterators.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/aarch64/iterators.md	Fri Jul 19 05:52:43 2024
***************
*** 289,294 ****
--- 289,297 ----
  
  (define_mode_iterator TX [TI TF])
  
+ ;; TX plus V16QImode.
+ (define_mode_iterator TX_V16QI [TI TF V16QI])
+ 
  ;; Advanced SIMD opaque structure modes.
  (define_mode_iterator VSTRUCT [OI CI XI])
  
diff -Nrcpad gcc-11.4.0/gcc/config/alpha/alpha.md gcc-11.5.0/gcc/config/alpha/alpha.md
*** gcc-11.4.0/gcc/config/alpha/alpha.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/alpha/alpha.md	Fri Jul 19 05:52:43 2024
***************
*** 756,762 ****
  	(sign_extend:DI (match_operand:SI 2 "nonimmediate_operand")))
     (parallel [(set (match_dup 5)
  		   (sign_extend:DI
! 		    (any_divmod:SI (match_dup 3) (match_dup 4))))
  	      (clobber (reg:DI 23))
  	      (clobber (reg:DI 28))])
     (set (match_operand:SI 0 "nonimmediate_operand")
--- 756,763 ----
  	(sign_extend:DI (match_operand:SI 2 "nonimmediate_operand")))
     (parallel [(set (match_dup 5)
  		   (sign_extend:DI
! 		    (any_divmod:SI (truncate:SI (match_dup 3))
! 				   (truncate:SI (match_dup 4)))))
  	      (clobber (reg:DI 23))
  	      (clobber (reg:DI 28))])
     (set (match_operand:SI 0 "nonimmediate_operand")
***************
*** 782,790 ****
  
  (define_insn_and_split "*divmodsi_internal_er"
    [(set (match_operand:DI 0 "register_operand" "=c")
! 	(sign_extend:DI (match_operator:SI 3 "divmod_operator"
! 			[(match_operand:DI 1 "register_operand" "a")
! 			 (match_operand:DI 2 "register_operand" "b")])))
     (clobber (reg:DI 23))
     (clobber (reg:DI 28))]
    "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
--- 783,792 ----
  
  (define_insn_and_split "*divmodsi_internal_er"
    [(set (match_operand:DI 0 "register_operand" "=c")
! 	(sign_extend:DI
! 	 (match_operator:SI 3 "divmod_operator"
! 	  [(truncate:SI (match_operand:DI 1 "register_operand" "a"))
! 	   (truncate:SI (match_operand:DI 2 "register_operand" "b"))])))
     (clobber (reg:DI 23))
     (clobber (reg:DI 28))]
    "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
***************
*** 826,833 ****
  (define_insn "*divmodsi_internal_er_1"
    [(set (match_operand:DI 0 "register_operand" "=c")
  	(sign_extend:DI (match_operator:SI 3 "divmod_operator"
!                         [(match_operand:DI 1 "register_operand" "a")
!                          (match_operand:DI 2 "register_operand" "b")])))
     (use (match_operand:DI 4 "register_operand" "c"))
     (use (match_operand 5 "const_int_operand"))
     (clobber (reg:DI 23))
--- 828,835 ----
  (define_insn "*divmodsi_internal_er_1"
    [(set (match_operand:DI 0 "register_operand" "=c")
  	(sign_extend:DI (match_operator:SI 3 "divmod_operator"
! 	 [(truncate:SI (match_operand:DI 1 "register_operand" "a"))
! 	  (truncate:SI (match_operand:DI 2 "register_operand" "b"))])))
     (use (match_operand:DI 4 "register_operand" "c"))
     (use (match_operand 5 "const_int_operand"))
     (clobber (reg:DI 23))
***************
*** 839,847 ****
  
  (define_insn "*divmodsi_internal"
    [(set (match_operand:DI 0 "register_operand" "=c")
! 	(sign_extend:DI (match_operator:SI 3 "divmod_operator"
! 			[(match_operand:DI 1 "register_operand" "a")
! 			 (match_operand:DI 2 "register_operand" "b")])))
     (clobber (reg:DI 23))
     (clobber (reg:DI 28))]
    "TARGET_ABI_OSF"
--- 841,850 ----
  
  (define_insn "*divmodsi_internal"
    [(set (match_operand:DI 0 "register_operand" "=c")
! 	(sign_extend:DI
! 	 (match_operator:SI 3 "divmod_operator"
! 	  [(truncate:SI (match_operand:DI 1 "register_operand" "a"))
! 	   (truncate:SI (match_operand:DI 2 "register_operand" "b"))])))
     (clobber (reg:DI 23))
     (clobber (reg:DI 28))]
    "TARGET_ABI_OSF"
diff -Nrcpad gcc-11.4.0/gcc/config/alpha/constraints.md gcc-11.5.0/gcc/config/alpha/constraints.md
*** gcc-11.4.0/gcc/config/alpha/constraints.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/alpha/constraints.md	Fri Jul 19 05:52:43 2024
***************
*** 27,33 ****
   "General register 24, input to division routine")
  
  (define_register_constraint "b" "R25_REG"
!  "General register 24, input to division routine")
  
  (define_register_constraint "c" "R27_REG"
   "General register 27, function call address")
--- 27,33 ----
   "General register 24, input to division routine")
  
  (define_register_constraint "b" "R25_REG"
!  "General register 25, input to division routine")
  
  (define_register_constraint "c" "R27_REG"
   "General register 27, function call address")
diff -Nrcpad gcc-11.4.0/gcc/config/arm/arm.c gcc-11.5.0/gcc/config/arm/arm.c
*** gcc-11.4.0/gcc/config/arm/arm.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/arm/arm.c	Fri Jul 19 05:52:43 2024
*************** cmse_nonsecure_call_inline_register_clea
*** 18864,18869 ****
--- 18864,18901 ----
  	  end_sequence ();
  	  emit_insn_before (seq, insn);
  
+ 	  /* The AAPCS requires the callee to widen integral types narrower
+ 	     than 32 bits to the full width of the register; but when handling
+ 	     calls to non-secure space, we cannot trust the callee to have
+ 	     correctly done so.  So forcibly re-widen the result here.  */
+ 	  tree ret_type = TREE_TYPE (fntype);
+ 	  if ((TREE_CODE (ret_type) == INTEGER_TYPE
+ 	      || TREE_CODE (ret_type) == ENUMERAL_TYPE
+ 	      || TREE_CODE (ret_type) == BOOLEAN_TYPE)
+ 	      && known_lt (GET_MODE_SIZE (TYPE_MODE (ret_type)), 4))
+ 	    {
+ 	      rtx ret_reg = gen_rtx_REG (TYPE_MODE (ret_type), R0_REGNUM);
+ 	      rtx si_reg = gen_rtx_REG (SImode, R0_REGNUM);
+ 	      rtx extend;
+ 	      if (TYPE_UNSIGNED (ret_type))
+ 		extend = gen_rtx_SET (si_reg, gen_rtx_ZERO_EXTEND (SImode,
+ 								   ret_reg));
+ 	      else
+ 		{
+ 		  /* Signed-extension is a special case because of
+ 		     thumb1_extendhisi2.  */
+ 		  if (TARGET_THUMB1
+ 		      && known_eq (GET_MODE_SIZE (TYPE_MODE (ret_type)), 2))
+ 		    extend = gen_thumb1_extendhisi2 (si_reg, ret_reg);
+ 		  else
+ 		    extend = gen_rtx_SET (si_reg,
+ 					  gen_rtx_SIGN_EXTEND (SImode,
+ 							       ret_reg));
+ 		}
+ 	      emit_insn_after (extend, insn);
+ 	    }
+ 
+ 
  	  if (TARGET_HAVE_FPCXT_CMSE)
  	    {
  	      rtx_insn *last, *pop_insn, *after = insn;
*************** arm_expand_prologue (void)
*** 23272,23277 ****
--- 23304,23354 ----
  
    ip_rtx = gen_rtx_REG (SImode, IP_REGNUM);
  
+   /* The AAPCS requires the callee to widen integral types narrower
+      than 32 bits to the full width of the register; but when handling
+      calls to non-secure space, we cannot trust the callee to have
+      correctly done so.  So forcibly re-widen the result here.  */
+   if (IS_CMSE_ENTRY (func_type))
+     {
+       function_args_iterator args_iter;
+       CUMULATIVE_ARGS args_so_far_v;
+       cumulative_args_t args_so_far;
+       bool first_param = true;
+       tree arg_type;
+       tree fndecl = current_function_decl;
+       tree fntype = TREE_TYPE (fndecl);
+       arm_init_cumulative_args (&args_so_far_v, fntype, NULL_RTX, fndecl);
+       args_so_far = pack_cumulative_args (&args_so_far_v);
+       FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
+ 	{
+ 	  rtx arg_rtx;
+ 
+ 	  if (VOID_TYPE_P (arg_type))
+ 	    break;
+ 
+ 	  function_arg_info arg (arg_type, /*named=*/true);
+ 	  if (!first_param)
+ 	    /* We should advance after processing the argument and pass
+ 	       the argument we're advancing past.  */
+ 	    arm_function_arg_advance (args_so_far, arg);
+ 	  first_param = false;
+ 	  arg_rtx = arm_function_arg (args_so_far, arg);
+ 	  gcc_assert (REG_P (arg_rtx));
+ 	  if ((TREE_CODE (arg_type) == INTEGER_TYPE
+ 	      || TREE_CODE (arg_type) == ENUMERAL_TYPE
+ 	      || TREE_CODE (arg_type) == BOOLEAN_TYPE)
+ 	      && known_lt (GET_MODE_SIZE (GET_MODE (arg_rtx)), 4))
+ 	    {
+ 	      if (TYPE_UNSIGNED (arg_type))
+ 		emit_set_insn (gen_rtx_REG (SImode, REGNO (arg_rtx)),
+ 			       gen_rtx_ZERO_EXTEND (SImode, arg_rtx));
+ 	      else
+ 		emit_set_insn (gen_rtx_REG (SImode, REGNO (arg_rtx)),
+ 			       gen_rtx_SIGN_EXTEND (SImode, arg_rtx));
+ 	    }
+ 	}
+     }
+ 
    if (IS_STACKALIGN (func_type))
      {
        rtx r0, r1;
*************** thumb1_expand_prologue (void)
*** 26746,26751 ****
--- 26823,26880 ----
    live_regs_mask = offsets->saved_regs_mask;
    lr_needs_saving = live_regs_mask & (1 << LR_REGNUM);
  
+   /* The AAPCS requires the callee to widen integral types narrower
+      than 32 bits to the full width of the register; but when handling
+      calls to non-secure space, we cannot trust the callee to have
+      correctly done so.  So forcibly re-widen the result here.  */
+   if (IS_CMSE_ENTRY (func_type))
+     {
+       function_args_iterator args_iter;
+       CUMULATIVE_ARGS args_so_far_v;
+       cumulative_args_t args_so_far;
+       bool first_param = true;
+       tree arg_type;
+       tree fndecl = current_function_decl;
+       tree fntype = TREE_TYPE (fndecl);
+       arm_init_cumulative_args (&args_so_far_v, fntype, NULL_RTX, fndecl);
+       args_so_far = pack_cumulative_args (&args_so_far_v);
+       FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
+ 	{
+ 	  rtx arg_rtx;
+ 
+ 	  if (VOID_TYPE_P (arg_type))
+ 	    break;
+ 
+ 	  function_arg_info arg (arg_type, /*named=*/true);
+ 	  if (!first_param)
+ 	    /* We should advance after processing the argument and pass
+ 	       the argument we're advancing past.  */
+ 	    arm_function_arg_advance (args_so_far, arg);
+ 	  first_param = false;
+ 	  arg_rtx = arm_function_arg (args_so_far, arg);
+ 	  gcc_assert (REG_P (arg_rtx));
+ 	  if ((TREE_CODE (arg_type) == INTEGER_TYPE
+ 	      || TREE_CODE (arg_type) == ENUMERAL_TYPE
+ 	      || TREE_CODE (arg_type) == BOOLEAN_TYPE)
+ 	      && known_lt (GET_MODE_SIZE (GET_MODE (arg_rtx)), 4))
+ 	    {
+ 	      rtx res_reg = gen_rtx_REG (SImode, REGNO (arg_rtx));
+ 	      if (TYPE_UNSIGNED (arg_type))
+ 		emit_set_insn (res_reg, gen_rtx_ZERO_EXTEND (SImode, arg_rtx));
+ 	      else
+ 		{
+ 		  /* Signed-extension is a special case because of
+ 		     thumb1_extendhisi2.  */
+ 		  if (known_eq (GET_MODE_SIZE (GET_MODE (arg_rtx)), 2))
+ 		    emit_insn (gen_thumb1_extendhisi2 (res_reg, arg_rtx));
+ 		  else
+ 		    emit_set_insn (res_reg,
+ 				   gen_rtx_SIGN_EXTEND (SImode, arg_rtx));
+ 		}
+ 	    }
+ 	}
+     }
+ 
    /* Extract a mask of the ones we can give to the Thumb's push instruction.  */
    l_mask = live_regs_mask & 0x40ff;
    /* Then count how many other high registers will need to be pushed.  */
diff -Nrcpad gcc-11.4.0/gcc/config/arm/arm.md gcc-11.5.0/gcc/config/arm/arm.md
*** gcc-11.4.0/gcc/config/arm/arm.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/arm/arm.md	Fri Jul 19 05:52:43 2024
***************
*** 7466,7472 ****
        && !arm_const_double_rtx (operands[1])
        && !(TARGET_VFP_DOUBLE && vfp3_const_double_rtx (operands[1])))
      {
!       rtx clobreg = gen_reg_rtx (DFmode);
        emit_insn (gen_no_literal_pool_df_immediate (operands[0], operands[1],
  						   clobreg));
        DONE;
--- 7466,7472 ----
        && !arm_const_double_rtx (operands[1])
        && !(TARGET_VFP_DOUBLE && vfp3_const_double_rtx (operands[1])))
      {
!       rtx clobreg = gen_reg_rtx (DImode);
        emit_insn (gen_no_literal_pool_df_immediate (operands[0], operands[1],
  						   clobreg));
        DONE;
diff -Nrcpad gcc-11.4.0/gcc/config/arm/mve.md gcc-11.5.0/gcc/config/arm/mve.md
*** gcc-11.4.0/gcc/config/arm/mve.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/arm/mve.md	Fri Jul 19 05:52:43 2024
***************
*** 10510,10516 ****
    if (elt == 0)
     return "vmov\t%e0, %Q1, %R1";
    else
!    return "vmov\t%f0, %J1, %K1";
  }
   [(set_attr "type" "mve_move")])
  
--- 10510,10516 ----
    if (elt == 0)
     return "vmov\t%e0, %Q1, %R1";
    else
!    return "vmov\t%f0, %Q1, %R1";
  }
   [(set_attr "type" "mve_move")])
  
diff -Nrcpad gcc-11.4.0/gcc/config/arm/neon.md gcc-11.5.0/gcc/config/arm/neon.md
*** gcc-11.4.0/gcc/config/arm/neon.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/arm/neon.md	Fri Jul 19 05:52:43 2024
***************
*** 513,523 ****
     Enabled with -funsafe-math-optimizations -freciprocal-math
     and disabled for -Os since it increases code size .  */
  
! (define_expand "div<mode>3"
    [(set (match_operand:VCVTF 0 "s_register_operand")
          (div:VCVTF (match_operand:VCVTF 1 "s_register_operand")
  		  (match_operand:VCVTF 2 "s_register_operand")))]
!   "TARGET_NEON && !optimize_size
     && flag_reciprocal_math"
    {
      rtx rec = gen_reg_rtx (<MODE>mode);
--- 513,523 ----
     Enabled with -funsafe-math-optimizations -freciprocal-math
     and disabled for -Os since it increases code size .  */
  
! (define_expand "div<VCVTF:mode>3"
    [(set (match_operand:VCVTF 0 "s_register_operand")
          (div:VCVTF (match_operand:VCVTF 1 "s_register_operand")
  		  (match_operand:VCVTF 2 "s_register_operand")))]
!   "ARM_HAVE_NEON_<MODE>_ARITH && !optimize_size
     && flag_reciprocal_math"
    {
      rtx rec = gen_reg_rtx (<MODE>mode);
diff -Nrcpad gcc-11.4.0/gcc/config/arm/vfp.md gcc-11.5.0/gcc/config/arm/vfp.md
*** gcc-11.4.0/gcc/config/arm/vfp.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/arm/vfp.md	Fri Jul 19 05:52:43 2024
***************
*** 2128,2134 ****
  (define_insn_and_split "no_literal_pool_df_immediate"
    [(set (match_operand:DF 0 "s_register_operand" "=w")
  	(match_operand:DF 1 "const_double_operand" "F"))
!    (clobber (match_operand:DF 2 "s_register_operand" "=r"))]
    "arm_disable_literal_pool
     && TARGET_VFP_BASE
     && !arm_const_double_rtx (operands[1])
--- 2128,2134 ----
  (define_insn_and_split "no_literal_pool_df_immediate"
    [(set (match_operand:DF 0 "s_register_operand" "=w")
  	(match_operand:DF 1 "const_double_operand" "F"))
!    (clobber (match_operand:DI 2 "s_register_operand" "=r"))]
    "arm_disable_literal_pool
     && TARGET_VFP_BASE
     && !arm_const_double_rtx (operands[1])
***************
*** 2143,2150 ****
    unsigned HOST_WIDE_INT ival = zext_hwi (buf[order], 32);
    ival |= (zext_hwi (buf[1 - order], 32) << 32);
    rtx cst = gen_int_mode (ival, DImode);
!   emit_move_insn (simplify_gen_subreg (DImode, operands[2], DFmode, 0), cst);
!   emit_move_insn (operands[0], operands[2]);
    DONE;
  }
  )
--- 2143,2151 ----
    unsigned HOST_WIDE_INT ival = zext_hwi (buf[order], 32);
    ival |= (zext_hwi (buf[1 - order], 32) << 32);
    rtx cst = gen_int_mode (ival, DImode);
!   emit_move_insn (operands[2], cst);
!   emit_move_insn (operands[0],
! 		  simplify_gen_subreg (DFmode, operands[2], DImode, 0));
    DONE;
  }
  )
diff -Nrcpad gcc-11.4.0/gcc/config/darwin-protos.h gcc-11.5.0/gcc/config/darwin-protos.h
*** gcc-11.4.0/gcc/config/darwin-protos.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/darwin-protos.h	Fri Jul 19 05:52:43 2024
*************** extern void darwin_patch_builtins (void)
*** 129,132 ****
--- 129,143 ----
  extern void darwin_rename_builtins (void);
  extern bool darwin_libc_has_function (enum function_class fn_class, tree);
  
+ /* For this port, there are several possible sources for external toolchain
+    components (e.g. as, ld, dsymutil) and we have to alter the allowable
+    output in response to which version and source is in use.  */
+ enum darwin_external_toolchain {
+   DET_UNKNOWN=0,
+   CCTOOLS,
+   DWARFUTILS,
+   LLVM,
+   CLANG
+ };
+ 
  #endif /* CONFIG_DARWIN_PROTOS_H */
diff -Nrcpad gcc-11.4.0/gcc/config/darwin-sections.def gcc-11.5.0/gcc/config/darwin-sections.def
*** gcc-11.4.0/gcc/config/darwin-sections.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/darwin-sections.def	Fri Jul 19 05:52:43 2024
*************** DEF_SECTION (mod_init_section, 0, ".mod_
*** 98,103 ****
--- 98,105 ----
  DEF_SECTION (mod_term_section, 0, ".mod_term_func", 0)
  DEF_SECTION (constructor_section, 0, ".constructor", 0)
  DEF_SECTION (destructor_section, 0, ".destructor", 0)
+ DEF_SECTION (static_init_section, SECTION_CODE,
+ 	     ".section\t__TEXT,__StaticInit,regular,pure_instructions", 0)
  
  /* Objective-C ABI=0 (Original version) sections.  */
  DEF_SECTION (objc_class_section, 0, ".objc_class", 1)
*************** DEF_SECTION (machopic_picsymbol_stub3_se
*** 157,163 ****
  
  /* Exception-related.  */
  DEF_SECTION (darwin_exception_section, SECTION_NO_ANCHOR,
! 	     ".section __DATA,__gcc_except_tab", 0)
  DEF_SECTION (darwin_eh_frame_section, SECTION_NO_ANCHOR,
  	     ".section " EH_FRAME_SECTION_NAME ",__eh_frame"
  	     EH_FRAME_SECTION_ATTR, 0)
--- 159,165 ----
  
  /* Exception-related.  */
  DEF_SECTION (darwin_exception_section, SECTION_NO_ANCHOR,
! 	     ".section __TEXT,__gcc_except_tab", 0)
  DEF_SECTION (darwin_eh_frame_section, SECTION_NO_ANCHOR,
  	     ".section " EH_FRAME_SECTION_NAME ",__eh_frame"
  	     EH_FRAME_SECTION_ATTR, 0)
diff -Nrcpad gcc-11.4.0/gcc/config/darwin.c gcc-11.5.0/gcc/config/darwin.c
*** gcc-11.4.0/gcc/config/darwin.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/darwin.c	Fri Jul 19 05:52:43 2024
*************** static bool ld_needs_eh_markers = false;
*** 111,116 ****
--- 111,129 ----
  /* Emit a section-start symbol for mod init and term sections.  */
  static bool ld_init_term_start_labels = false;
  
+ /* The source and version of dsymutil in use.  */
+ #ifndef DSYMUTIL_VERSION
+ # warning Darwin toolchain without a defined dsymutil.
+ # define DSYMUTIL_VERSION DET_UNKNOWN,0,0,0
+ #endif
+ 
+ struct {
+   darwin_external_toolchain kind; /* cctools, llvm, clang etc.  */
+   int major; /* version number.  */
+   int minor;
+   int tiny;
+ } dsymutil_version = {DSYMUTIL_VERSION};
+ 
  /* Section names.  */
  section * darwin_sections[NUM_DARWIN_SECTIONS];
  
*************** darwin_objc1_section (tree decl ATTRIBUT
*** 1583,1589 ****
    else if (!strncmp (p, "V1_CEXT", 7))
      return darwin_sections[objc1_class_ext_section];
  
!   else if (!strncmp (p, "V2_CSTR", 7))
      return darwin_sections[objc_constant_string_object_section];
  
    return base;
--- 1596,1602 ----
    else if (!strncmp (p, "V1_CEXT", 7))
      return darwin_sections[objc1_class_ext_section];
  
!   else if (!strncmp (p, "V1_CSTR", 7))
      return darwin_sections[objc_constant_string_object_section];
  
    return base;
*************** machopic_select_section (tree decl,
*** 1676,1682 ****
  	    base_section = darwin_sections[zobj_data_section];
  	}
        else if (ro)
! 	base_section = darwin_sections[const_data_section];
        else
  	base_section = data_section;
        break;
--- 1689,1704 ----
  	    base_section = darwin_sections[zobj_data_section];
  	}
        else if (ro)
! 	{
! 	  if (VAR_P (decl) && TREE_TYPE (decl)
! 	      && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE
! 	      && DECL_NAME (decl)
! 	      && strncmp (IDENTIFIER_POINTER (DECL_NAME (decl)),
! 			  "__anon_cfstring", 15) == 0)
! 	   base_section = darwin_sections[cfstring_constant_object_section];
! 	  else
! 	    base_section = darwin_sections[const_data_section];
! 	}
        else
  	base_section = data_section;
        break;
*************** machopic_select_section (tree decl,
*** 1718,1724 ****
  	return base_section; /* GNU runtime is happy with it all in one pot.  */
      }
  
!   /* b) Constant string objects.  */
    if (TREE_CODE (decl) == CONSTRUCTOR
        && TREE_TYPE (decl)
        && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE
--- 1740,1746 ----
  	return base_section; /* GNU runtime is happy with it all in one pot.  */
      }
  
!   /* b) Constructors for constant NSstring [but not CFString] objects.  */
    if (TREE_CODE (decl) == CONSTRUCTOR
        && TREE_TYPE (decl)
        && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE
*************** machopic_select_section (tree decl,
*** 1741,1747 ****
  	    return darwin_sections[objc_string_object_section];
  	}
        else if (!strcmp (IDENTIFIER_POINTER (name), "__builtin_CFString"))
! 	return darwin_sections[cfstring_constant_object_section];
        else
  	return base_section;
      }
--- 1763,1773 ----
  	    return darwin_sections[objc_string_object_section];
  	}
        else if (!strcmp (IDENTIFIER_POINTER (name), "__builtin_CFString"))
! 	{
! 	  /* We should have handled __anon_cfstrings above.  */
! 	  gcc_checking_assert (0);
! 	  return darwin_sections[cfstring_constant_object_section];
! 	}
        else
  	return base_section;
      }
*************** darwin_label_is_anonymous_local_objc_nam
*** 1933,1938 ****
--- 1959,1966 ----
      }
    else if (!strncmp ((const char *)p, "ClassMethods", 12))
      return false;
+   else if (!strncmp ((const char *)p, "ClassProtocols", 14))
+     return false;
    else if (!strncmp ((const char *)p, "Instance", 8))
      {
        if (p[8] == 'I' || p[8] == 'M')
*************** darwin_emit_except_table_label (FILE *fi
*** 2228,2233 ****
--- 2256,2262 ----
  {
    char section_start_label[30];
  
+   fputs ("\t.p2align\t2\n", file);
    ASM_GENERATE_INTERNAL_LABEL (section_start_label, "GCC_except_table",
  			       except_table_label_num++);
    ASM_OUTPUT_LABEL (file, section_start_label);
*************** darwin_asm_output_dwarf_offset (FILE *fi
*** 3016,3022 ****
  void
  darwin_file_start (void)
  {
!   /* Nothing to do.  */
  }
  
  /* Called for the TARGET_ASM_FILE_END hook.
--- 3045,3079 ----
  void
  darwin_file_start (void)
  {
! #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
!   /* This should not happen with a well-formed command line, but the user could
!      invoke cc1* directly without it.  */
!   if (!darwin_macosx_version_min)
!     return;
!   /* This assumes that the version passed has been validated in the driver.  */
!   unsigned maj, min, tiny;
!   int count = sscanf (darwin_macosx_version_min, "%u.%u.%u", &maj, &min, &tiny);
!   if (count < 0)
!     return;
!   if (count < 3)
!     tiny = 0;
!   if (count < 2)
!     min = 0;
!   const char *directive;
! #ifdef HAVE_AS_MACOS_BUILD_VERSION
!   /* We only handle macos, so far.  */
!   if (generating_for_darwin_version >= 18)
!     directive = "build_version macos, ";
!   else
! #endif
!     directive = "macosx_version_min ";
!   if (count > 2 && tiny != 0)
!     fprintf (asm_out_file, "\t.%s %u, %u, %u\n", directive, maj, min, tiny);
!   else if (count > 1)
!     fprintf (asm_out_file, "\t.%s %u, %u\n", directive, maj, min);
!   else
!      fprintf (asm_out_file, "\t.%s %u, 0\n", directive, maj);
! #endif
  }
  
  /* Called for the TARGET_ASM_FILE_END hook.
*************** darwin_override_options (void)
*** 3238,3244 ****
    /* Keep track of which (major) version we're generating code for.  */
    if (darwin_macosx_version_min)
      {
!       if (strverscmp (darwin_macosx_version_min, "10.7") >= 0)
  	generating_for_darwin_version = 11;
        else if (strverscmp (darwin_macosx_version_min, "10.6") >= 0)
  	generating_for_darwin_version = 10;
--- 3295,3305 ----
    /* Keep track of which (major) version we're generating code for.  */
    if (darwin_macosx_version_min)
      {
!       if (strverscmp (darwin_macosx_version_min, "10.14") >= 0)
! 	generating_for_darwin_version = 18;
!       else if (strverscmp (darwin_macosx_version_min, "10.8") >= 0)
! 	generating_for_darwin_version = 12;
!       else if (strverscmp (darwin_macosx_version_min, "10.7") >= 0)
  	generating_for_darwin_version = 11;
        else if (strverscmp (darwin_macosx_version_min, "10.6") >= 0)
  	generating_for_darwin_version = 10;
*************** darwin_override_options (void)
*** 3313,3326 ****
  		  global_options.x_flag_objc_abi);
      }
  
-   /* Don't emit DWARF3/4 unless specifically selected.  This is a
-      workaround for tool bugs.  */
-   if (!global_options_set.x_dwarf_strict)
-     dwarf_strict = 1;
    if (!global_options_set.x_dwarf_version)
!     dwarf_version = 2;
  
!   if (global_options_set.x_dwarf_split_debug_info)
      {
        inform (input_location,
  	      "%<-gsplit-dwarf%> is not supported on this platform, ignored");
--- 3374,3394 ----
  		  global_options.x_flag_objc_abi);
      }
  
    if (!global_options_set.x_dwarf_version)
!     {
!       /* External toolchains based on LLVM or clang 7+ have support for
! 	 dwarf-4.  */
!       if ((dsymutil_version.kind == LLVM && dsymutil_version.major >= 7)
! 	  || (dsymutil_version.kind == CLANG && dsymutil_version.major >= 700))
! 	dwarf_version = 4;
!       else if (dsymutil_version.kind == DWARFUTILS
! 	       && dsymutil_version.major >= 121)
! 	dwarf_version = 3;  /* From XC 6.4.  */
!       else
! 	dwarf_version = 2;  /* Older cannot safely exceed dwarf-2.  */
!     }
  
!   if (global_options_set.x_dwarf_split_debug_info && dwarf_split_debug_info)
      {
        inform (input_location,
  	      "%<-gsplit-dwarf%> is not supported on this platform, ignored");
*************** darwin_override_options (void)
*** 3328,3333 ****
--- 3396,3419 ----
        global_options_set.x_dwarf_split_debug_info = 0;
      }
  
+   /* Cases where dsymutil will exclude files with .macinfo sections; we are
+      better off forcing the debug level to 2 than completely excluding the
+      files.  If strict dwarf is set, then emit the macinfo anyway.  */
+   if (debug_info_level == DINFO_LEVEL_VERBOSE
+       && (!global_options_set.x_dwarf_strict || dwarf_strict == 0)
+       && ((dsymutil_version.kind == CLANG && dsymutil_version.major >= 1500)
+ 	  || (dsymutil_version.kind == LLVM && dsymutil_version.major >= 15)))
+     {
+       inform (input_location,
+ 	      "%<-g3%> is not supported by the debug linker in use (set to 2)");
+       debug_info_level = DINFO_LEVEL_NORMAL;
+     }
+ 
+   /* Limit DWARF to the chosen version, the linker and debug linker might not
+      be able to consume newer structures.  */
+   if (!global_options_set.x_dwarf_strict)
+     dwarf_strict = 1;
+ 
    /* Do not allow unwind tables to be generated by default for m32.
       fnon-call-exceptions will override this, regardless of what we do.  */
    if (generating_for_darwin_version < 10
*************** darwin_override_options (void)
*** 3395,3402 ****
        && write_symbols == DWARF2_DEBUG)
      flag_var_tracking_uninit = flag_var_tracking;
  
!   /* Final check on PCI options; for Darwin these are not dependent on the PIE
!      ones, although PIE does require PIC to support it.  */
    if (MACHO_DYNAMIC_NO_PIC_P)
      {
        if (flag_pic)
--- 3481,3497 ----
        && write_symbols == DWARF2_DEBUG)
      flag_var_tracking_uninit = flag_var_tracking;
  
!   if (global_options_set.x_flag_pie && flag_pie)
!     {
!       /* This is a little complicated, to match Xcode tools.
! 	 For Darwin, PIE requires PIC codegen, but otherwise is only a link-
! 	 time change.  For almost all Darwin, we do not report __PIE__; the
! 	 exception is Darwin12-17 and for 32b only.  */
!       flag_pie = generating_for_darwin_version >= 12 && !TARGET_64BIT ? 2 : 0;
!       flag_pic = 2; /* We always set this.  */
!     }
! 
!   /* Final check on PIC options.  */
    if (MACHO_DYNAMIC_NO_PIC_P)
      {
        if (flag_pic)
*************** darwin_patch_builtins (void)
*** 3501,3506 ****
--- 3596,3624 ----
  }
  #endif
  
+ void
+ darwin_rename_builtins (void)
+ {
+ }
+ 
+ /* Implementation for the TARGET_LIBC_HAS_FUNCTION hook.  */
+ 
+ bool
+ darwin_libc_has_function (enum function_class fn_class,
+ 			  tree type ATTRIBUTE_UNUSED)
+ {
+   if (fn_class == function_sincos && darwin_macosx_version_min)
+     return (strverscmp (darwin_macosx_version_min, "10.9") >= 0);
+ #if DARWIN_PPC && SUPPORT_DARWIN_LEGACY
+   if (fn_class == function_c99_math_complex
+       || fn_class == function_c99_misc)
+     return (TARGET_64BIT
+ 	    || (darwin_macosx_version_min &&
+ 		strverscmp (darwin_macosx_version_min, "10.3") >= 0));
+ #endif
+   return true;
+ }
+ 
  /*  CFStrings implementation.  */
  static GTY(()) tree cfstring_class_reference = NULL_TREE;
  static GTY(()) tree cfstring_type_node = NULL_TREE;
*************** typedef struct GTY ((for_user)) cfstring
*** 3518,3524 ****
    /* The string literal.  */
    tree literal;
    /* The resulting constant CFString.  */
!   tree constructor;
  } cfstring_descriptor;
  
  struct cfstring_hasher : ggc_ptr_hash<cfstring_descriptor>
--- 3636,3642 ----
    /* The string literal.  */
    tree literal;
    /* The resulting constant CFString.  */
!   tree ccf_str;
  } cfstring_descriptor;
  
  struct cfstring_hasher : ggc_ptr_hash<cfstring_descriptor>
*************** darwin_init_cfstring_builtins (unsigned
*** 3593,3599 ****
    /* Make a lang-specific section - dup_lang_specific_decl makes a new node
       in place of the existing, which may be NULL.  */
    DECL_LANG_SPECIFIC (cfsfun) = NULL;
!   (*lang_hooks.dup_lang_specific_decl) (cfsfun);
    set_decl_built_in_function (cfsfun, BUILT_IN_MD, darwin_builtin_cfstring);
    lang_hooks.builtin_function (cfsfun);
  
--- 3711,3717 ----
    /* Make a lang-specific section - dup_lang_specific_decl makes a new node
       in place of the existing, which may be NULL.  */
    DECL_LANG_SPECIFIC (cfsfun) = NULL;
!   lang_hooks.dup_lang_specific_decl (cfsfun);
    set_decl_built_in_function (cfsfun, BUILT_IN_MD, darwin_builtin_cfstring);
    lang_hooks.builtin_function (cfsfun);
  
*************** darwin_init_cfstring_builtins (unsigned
*** 3604,3610 ****
  
    TREE_PUBLIC (cfstring_class_reference) = 1;
    DECL_ARTIFICIAL (cfstring_class_reference) = 1;
!   (*lang_hooks.decls.pushdecl) (cfstring_class_reference);
    DECL_EXTERNAL (cfstring_class_reference) = 1;
    rest_of_decl_compilation (cfstring_class_reference, 0, 0);
  
--- 3722,3728 ----
  
    TREE_PUBLIC (cfstring_class_reference) = 1;
    DECL_ARTIFICIAL (cfstring_class_reference) = 1;
!   lang_hooks.decls.pushdecl (cfstring_class_reference);
    DECL_EXTERNAL (cfstring_class_reference) = 1;
    rest_of_decl_compilation (cfstring_class_reference, 0, 0);
  
*************** tree
*** 3618,3624 ****
  darwin_fold_builtin (tree fndecl, int n_args, tree *argp,
  		     bool ARG_UNUSED (ignore))
  {
!   unsigned int fcode = DECL_MD_FUNCTION_CODE (fndecl);
  
    if (fcode == darwin_builtin_cfstring)
      {
--- 3736,3742 ----
  darwin_fold_builtin (tree fndecl, int n_args, tree *argp,
  		     bool ARG_UNUSED (ignore))
  {
!   int fcode = DECL_MD_FUNCTION_CODE (fndecl);
  
    if (fcode == darwin_builtin_cfstring)
      {
*************** darwin_fold_builtin (tree fndecl, int n_
*** 3641,3666 ****
    return NULL_TREE;
  }
  
- void
- darwin_rename_builtins (void)
- {
- }
- 
- bool
- darwin_libc_has_function (enum function_class fn_class,
- 			  tree type ATTRIBUTE_UNUSED)
- {
-   if (fn_class == function_sincos)
-     return (strverscmp (darwin_macosx_version_min, "10.9") >= 0);
- 
-   if (fn_class == function_c99_math_complex
-       || fn_class == function_c99_misc)
-     return (TARGET_64BIT
- 	    || strverscmp (darwin_macosx_version_min, "10.3") >= 0);
- 
-   return true;
- }
- 
  hashval_t
  cfstring_hasher::hash (cfstring_descriptor *ptr)
  {
--- 3759,3764 ----
*************** darwin_build_constant_cfstring (tree str
*** 3758,3786 ****
  			     build_int_cst (TREE_TYPE (field), length));
  
        constructor = build_constructor (ccfstring_type_node, v);
!       TREE_READONLY (constructor) = 1;
!       TREE_CONSTANT (constructor) = 1;
!       TREE_STATIC (constructor) = 1;
  
!       /* Fromage: The C++ flavor of 'build_unary_op' expects constructor nodes
! 	 to have the TREE_HAS_CONSTRUCTOR (...) bit set.  However, this file is
! 	 being built without any knowledge of C++ tree accessors; hence, we shall
! 	 use the generic accessor that TREE_HAS_CONSTRUCTOR actually maps to!  */
        if (darwin_running_cxx)
  	TREE_LANG_FLAG_4 (constructor) = 1;  /* TREE_HAS_CONSTRUCTOR  */
  
        /* Create an anonymous global variable for this CFString.  */
!       var = build_decl (input_location, CONST_DECL,
  			NULL, TREE_TYPE (constructor));
!       DECL_ARTIFICIAL (var) = 1;
!       TREE_STATIC (var) = 1;
        DECL_INITIAL (var) = constructor;
!       /* FIXME: This should use a translation_unit_decl to indicate file scope.  */
        DECL_CONTEXT (var) = NULL_TREE;
!       desc->constructor = var;
      }
  
!   addr = build1 (ADDR_EXPR, pccfstring_type_node, desc->constructor);
    TREE_CONSTANT (addr) = 1;
  
    return addr;
--- 3856,3892 ----
  			     build_int_cst (TREE_TYPE (field), length));
  
        constructor = build_constructor (ccfstring_type_node, v);
!       TREE_READONLY (constructor) = true;
!       TREE_CONSTANT (constructor) = true;
!       TREE_STATIC (constructor) = true;
  
!       /* This file is being built without any knowledge of C++ tree accessors;
! 	 hence, we shall use the generic accessor to set TREE_HAS_CONSTRUCTOR.
! 	 ??? Is this actually used any more? */
        if (darwin_running_cxx)
  	TREE_LANG_FLAG_4 (constructor) = 1;  /* TREE_HAS_CONSTRUCTOR  */
  
        /* Create an anonymous global variable for this CFString.  */
!       var = build_decl (input_location, VAR_DECL,
  			NULL, TREE_TYPE (constructor));
!       char *name = xasprintf ("__anon_cfstring.%u", DECL_UID (var));
!       DECL_NAME (var) = get_identifier (name);
!       free (name);
!       DECL_ARTIFICIAL (var) = true;
!       TREE_STATIC (var) = true;
!       TREE_READONLY (var) = true;
!       TREE_CONSTANT (var) = true;
        DECL_INITIAL (var) = constructor;
!       /* global namespace.  */
        DECL_CONTEXT (var) = NULL_TREE;
!       DECL_INITIAL (var) = constructor;
!       DECL_USER_ALIGN (var) = 1;
!       lang_hooks.decls.pushdecl (var);
!       rest_of_decl_compilation (var, 1, 0);
!       desc->ccf_str = var;
      }
  
!   addr = build1 (ADDR_EXPR, pccfstring_type_node, desc->ccf_str);
    TREE_CONSTANT (addr) = 1;
  
    return addr;
*************** darwin_function_section (tree decl, enum
*** 3845,3855 ****
    if (decl && DECL_SECTION_NAME (decl) != NULL)
      return get_named_section (decl, NULL, 0);
  
!   /* We always put unlikely executed stuff in the cold section.  */
    if (freq == NODE_FREQUENCY_UNLIKELY_EXECUTED)
      return (use_coal) ? darwin_sections[text_cold_coal_section]
  		      : darwin_sections[text_cold_section];
  
    /* If we have LTO *and* feedback information, then let LTO handle
       the function ordering, it makes a better job (for normal, hot,
       startup and exit - hence the bailout for cold above).  */
--- 3951,3972 ----
    if (decl && DECL_SECTION_NAME (decl) != NULL)
      return get_named_section (decl, NULL, 0);
  
!   /* We always put unlikely executed stuff in the cold section; we have to put
!      this ahead of the global init section, since partitioning within a section
!      breaks some assumptions made in the DWARF handling.  */
    if (freq == NODE_FREQUENCY_UNLIKELY_EXECUTED)
      return (use_coal) ? darwin_sections[text_cold_coal_section]
  		      : darwin_sections[text_cold_section];
  
+   /* Intercept functions in global init; these are placed in separate sections.
+      FIXME: there should be some neater way to do this, FIXME we should be able
+      to partition within a section.  */
+   if (DECL_NAME (decl)
+       && (strncmp (IDENTIFIER_POINTER (DECL_NAME (decl)), "_GLOBAL__sub_I", 14) == 0
+ 	  || strncmp (IDENTIFIER_POINTER (DECL_NAME (decl)),
+ 			 "__static_initialization_and_destruction", 39) == 0))
+     return  darwin_sections[static_init_section];
+ 
    /* If we have LTO *and* feedback information, then let LTO handle
       the function ordering, it makes a better job (for normal, hot,
       startup and exit - hence the bailout for cold above).  */
diff -Nrcpad gcc-11.4.0/gcc/config/darwin.h gcc-11.5.0/gcc/config/darwin.h
*** gcc-11.4.0/gcc/config/darwin.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/darwin.h	Fri Jul 19 05:52:43 2024
*************** extern GTY(()) int darwin_ms_struct;
*** 131,140 ****
     cases where these driver opts are used multiple times, or to control
     operations on more than one command (e.g. dynamiclib).  These are handled
     specially and we then add %<xxxx specs for the commands that _don't_ need
!    them.  NOTE: the order of 'shared' and 'dynamiclib' is significant, hence
!    they are placed out of alphabetical order at the start.  Likewise, we keep
!    a couple of cases where a negative option originally appeared after the
!    positive alternate, potentially overriding it.
     When we report an error with %e, it seems necessary to strip the option
     before doing so, otherwise it survives to the cc1 command line (%e doesn't
     appear to abort the program before this).
--- 131,139 ----
     cases where these driver opts are used multiple times, or to control
     operations on more than one command (e.g. dynamiclib).  These are handled
     specially and we then add %<xxxx specs for the commands that _don't_ need
!    them.
!    We keep a couple of cases where a negative option originally appeared after
!    the positive alternate, potentially overriding it.
     When we report an error with %e, it seems necessary to strip the option
     before doing so, otherwise it survives to the cc1 command line (%e doesn't
     appear to abort the program before this).
*************** extern GTY(()) int darwin_ms_struct;
*** 145,153 ****
  
  #undef SUBTARGET_DRIVER_SELF_SPECS
  #define SUBTARGET_DRIVER_SELF_SPECS					\
!   "%{shared:%{!dynamiclib:-dynamiclib}} %<shared",			\
!   "%{static:%{dynamic|dynamiclib:%econflicting code generation switches}}",\
!   "%{dynamiclib:-Xlinker -dylib \
       %{allowable_client*:-Xlinker -allowable_client -Xlinker %*} \
         %<allowable_client* \
       %{bundle_loader*: %<bundle_loader* \
--- 144,152 ----
  
  #undef SUBTARGET_DRIVER_SELF_SPECS
  #define SUBTARGET_DRIVER_SELF_SPECS					\
!   "%{static|fapple-kext|mkernel:%{shared|dynamic|dynamiclib: \
!      %econflicting code generation switches}}",\
!   "%{shared|dynamiclib:-Xlinker -dylib \
       %{allowable_client*:-Xlinker -allowable_client -Xlinker %*} \
         %<allowable_client* \
       %{bundle_loader*: %<bundle_loader* \
*************** extern GTY(()) int darwin_ms_struct;
*** 165,172 ****
         %e-keep_private_externs not allowed with -dynamiclib} \
       %{private_bundle: %<private_bundle \
         %e-private_bundle not allowed with -dynamiclib} \
!     }",									\
!   "%{!dynamiclib: \
       %{bundle_loader*:-Xlinker -bundle_loader -Xlinker %*} \
         %<bundle_loader* \
       %{client_name*:-Xlinker -client_name -Xlinker %*} \
--- 164,171 ----
         %e-keep_private_externs not allowed with -dynamiclib} \
       %{private_bundle: %<private_bundle \
         %e-private_bundle not allowed with -dynamiclib} \
!     }",							\
!   "%{!dynamiclib:%{!shared: \
       %{bundle_loader*:-Xlinker -bundle_loader -Xlinker %*} \
         %<bundle_loader* \
       %{client_name*:-Xlinker -client_name -Xlinker %*} \
*************** extern GTY(()) int darwin_ms_struct;
*** 181,193 ****
         %<keep_private_externs \
       %{private_bundle:-Xlinker -private_bundle} \
         %<private_bundle \
!     }",									\
    "%{all_load:-Xlinker -all_load} %<all_load",				\
    "%{arch_errors_fatal:-Xlinker -arch_errors_fatal} \
      %<arch_errors_fatal",						\
    "%{bind_at_load:-Xlinker -bind_at_load} %<bind_at_load",		\
!   "%{bundle:%{!dynamiclib:-Xlinker -bundle; \
!               :%e-bundle not allowed with -dynamiclib}}",	\
    "%{dead_strip:-Xlinker -dead_strip} %<dead_strip",			\
    "%{dylib_file*:-Xlinker -dylib_file -Xlinker %*} %<dylib_file*",	\
    "%{dylinker:-Xlinker -dylinker} %<dylinker",				\
--- 180,193 ----
         %<keep_private_externs \
       %{private_bundle:-Xlinker -private_bundle} \
         %<private_bundle \
!     }}",									\
    "%{all_load:-Xlinker -all_load} %<all_load",				\
    "%{arch_errors_fatal:-Xlinker -arch_errors_fatal} \
      %<arch_errors_fatal",						\
    "%{bind_at_load:-Xlinker -bind_at_load} %<bind_at_load",		\
!   "%{bundle:%{!dynamiclib:%{!shared: -Xlinker -bundle; \
! 			    :%e-bundle not allowed with -shared}; \
! 	      :%e-bundle not allowed with -dynamiclib}}",		\
    "%{dead_strip:-Xlinker -dead_strip} %<dead_strip",			\
    "%{dylib_file*:-Xlinker -dylib_file -Xlinker %*} %<dylib_file*",	\
    "%{dylinker:-Xlinker -dylinker} %<dylinker",				\
*************** extern GTY(()) int darwin_ms_struct;
*** 288,294 ****
     %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) }"
  
  #define DARWIN_CC1_SPEC							\
!   "%<dynamic %<dynamiclib %<force_cpusubtype_ALL "
  
  #define SUBSUBTARGET_OVERRIDE_OPTIONS					\
    do {									\
--- 288,294 ----
     %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) }"
  
  #define DARWIN_CC1_SPEC							\
!   "%<dynamic %<force_cpusubtype_ALL %<multiply_defined* %<dynamiclib"
  
  #define SUBSUBTARGET_OVERRIDE_OPTIONS					\
    do {									\
*************** extern GTY(()) int darwin_ms_struct;
*** 351,357 ****
      %{e*} %{r} \
      %{o*}%{!o:-o a.out} \
      %{!r:%{!nostdlib:%{!nostartfiles:%S}}} \
!     %{L*} %(link_libgcc) %o \
      %{!r:%{!nostdlib:%{!nodefaultlibs:\
        %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \
        %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \
--- 351,359 ----
      %{e*} %{r} \
      %{o*}%{!o:-o a.out} \
      %{!r:%{!nostdlib:%{!nostartfiles:%S}}} \
!     %{L*} %(link_libgcc) \
!     %{!r:%{!nostdlib:%{!nodefaultlibs: " DARWIN_WEAK_CRTS "}}} \
!     %o \
      %{!r:%{!nostdlib:%{!nodefaultlibs:\
        %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \
        %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \
*************** extern GTY(()) int darwin_ms_struct;
*** 365,379 ****
        %(link_ssp) \
        %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \
        %(link_gcc_c_sequence) \
!       %{!nodefaultexport:%{dylib|dynamiclib|bundle: \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= -U) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= -U) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
! 	%:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
        }} \
      }}}\
      %{!r:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} "\
--- 367,381 ----
        %(link_ssp) \
        %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \
        %(link_gcc_c_sequence) \
!       %{!nodefaultexport: \
! 	%{%:version-compare(>= 10.11 asm_macosx_version_min= -U): \
! 	   ___emutls_get_address -exported_symbol ___emutls_get_address \
! 	  -U ___emutls_register_common \
! 	  -exported_symbol ___emutls_register_common \
! 	  -U ___gcc_nested_func_ptr_created \
! 	  -exported_symbol ___gcc_nested_func_ptr_created \
! 	  -U ___gcc_nested_func_ptr_deleted \
! 	  -exported_symbol ___gcc_nested_func_ptr_deleted \
        }} \
      }}}\
      %{!r:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} "\
*************** extern GTY(()) int darwin_ms_struct;
*** 500,522 ****
  #undef REAL_LIBGCC_SPEC
  #define REAL_LIBGCC_SPEC \
  "%{static-libgcc|static:						  \
!     %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh)		  \
!     %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w);		  \
     shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime:		  \
      %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1)	  \
-     %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w)		  \
      %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh)		  \
      %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
!     %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5);	  \
!    : -lemutls_w								  \
    } -lgcc "
  
  /* We specify crt0.o as -lcrt0.o so that ld will search the library path.  */
  
  #undef  STARTFILE_SPEC
  #define STARTFILE_SPEC							    \
! "%{dynamiclib: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}}			   \
!  %{!dynamiclib:%{bundle:%(darwin_bundle1)}				    \
       %{!bundle:%{pg:%{static:-lgcrt0.o}					    \
                       %{!static:%{object:-lgcrt0.o}			    \
                                 %{!object:%{preload:-lgcrt0.o}		    \
--- 502,529 ----
  #undef REAL_LIBGCC_SPEC
  #define REAL_LIBGCC_SPEC \
  "%{static-libgcc|static:						  \
!     %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh);		  \
     shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime:		  \
      %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1)	  \
      %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh)		  \
      %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
!     %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)	  \
    } -lgcc "
  
+ #define DARWIN_WEAK_CRTS \
+ "%{static-libgcc|static:						  \
+    %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w) ; \
+    shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \
+      %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w) ; \
+    : -lemutls_w \
+   }"
+ 
  /* We specify crt0.o as -lcrt0.o so that ld will search the library path.  */
  
  #undef  STARTFILE_SPEC
  #define STARTFILE_SPEC							    \
! "%{dynamiclib|shared: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}}		   \
!  %{!dynamiclib:%{!shared:%{bundle:%(darwin_bundle1)}			    \
       %{!bundle:%{pg:%{static:-lgcrt0.o}					    \
                       %{!static:%{object:-lgcrt0.o}			    \
                                 %{!object:%{preload:-lgcrt0.o}		    \
*************** extern GTY(()) int darwin_ms_struct;
*** 527,534 ****
                        %{!static:%{object:-lcrt0.o}			    \
                                  %{!object:%{preload:-lcrt0.o}		    \
                                    %{!preload: %(darwin_crt1)		    \
! 					      %(darwin_crt2)}}}}}}	    \
!  %(darwin_crt3) %<dynamiclib "
  
  /* We want a destructor last in the list.  */
  #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}"
--- 534,541 ----
                        %{!static:%{object:-lcrt0.o}			    \
                                  %{!object:%{preload:-lcrt0.o}		    \
                                    %{!preload: %(darwin_crt1)		    \
! 					      %(darwin_crt2)}}}}}}}	    \
!  %(darwin_crt3) "
  
  /* We want a destructor last in the list.  */
  #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}"
*************** int darwin_label_is_anonymous_local_objc
*** 839,845 ****
         else if (xname[0] == '+' || xname[0] == '-')			     \
           fprintf (FILE, "\"%s\"", xname);				     \
         else if (darwin_label_is_anonymous_local_objc_name (xname))	     \
!          fprintf (FILE, "L%s", xname);					     \
         else if (xname[0] != '"' && name_needs_quotes (xname))		     \
  	 asm_fprintf (FILE, "\"%U%s\"", xname);				     \
         else								     \
--- 846,854 ----
         else if (xname[0] == '+' || xname[0] == '-')			     \
           fprintf (FILE, "\"%s\"", xname);				     \
         else if (darwin_label_is_anonymous_local_objc_name (xname))	     \
! 	fprintf (FILE, "%c%s", flag_next_runtime ? 'L' : 'l', xname);	     \
!        else if (strncmp (xname, "__anon_cfstring", 15) == 0)		     \
! 	fprintf (FILE, "L%s", xname);					     \
         else if (xname[0] != '"' && name_needs_quotes (xname))		     \
  	 asm_fprintf (FILE, "\"%U%s\"", xname);				     \
         else								     \
*************** enum machopic_addr_class {
*** 1098,1104 ****
  
  #undef ASM_PREFERRED_EH_DATA_FORMAT
  #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL)  \
!   (((CODE) == 2 && (GLOBAL) == 1) \
     ? (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) : \
       ((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr)
  
--- 1107,1113 ----
  
  #undef ASM_PREFERRED_EH_DATA_FORMAT
  #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL)  \
!   (((CODE) == 2 && (GLOBAL) == 1) || ((CODE) == 0 && (GLOBAL) == 1) \
     ? (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) : \
       ((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr)
  
diff -Nrcpad gcc-11.4.0/gcc/config/darwin.opt gcc-11.5.0/gcc/config/darwin.opt
*** gcc-11.4.0/gcc/config/darwin.opt	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/darwin.opt	Fri Jul 19 05:52:43 2024
*************** fapple-kext
*** 33,38 ****
--- 33,42 ----
  Target C++ Var(flag_apple_kext)
  Generate code for darwin loadable kernel extensions.
  
+ fconstant-cfstrings
+ ObjC ObjC++ Alias(mconstant-cfstrings)
+ Generate compile-time CFString objects.
+ 
  iframework
  Target RejectNegative C ObjC C++ ObjC++ Joined Separate
  -iframework <dir>	Add <dir> to the end of the system framework include path.
diff -Nrcpad gcc-11.4.0/gcc/config/i386/amxtileintrin.h gcc-11.5.0/gcc/config/i386/amxtileintrin.h
*** gcc-11.4.0/gcc/config/i386/amxtileintrin.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/amxtileintrin.h	Fri Jul 19 05:52:43 2024
*************** extern __inline void
*** 39,52 ****
  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
  _tile_loadconfig (const void *__config)
  {
!   __asm__ volatile ("ldtilecfg\t%X0" :: "m" (*((const void **)__config)));
  }
  
  extern __inline void
  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
  _tile_storeconfig (void *__config)
  {
!   __asm__ volatile ("sttilecfg\t%X0" : "=m" (*((void **)__config)));
  }
  
  extern __inline void
--- 39,52 ----
  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
  _tile_loadconfig (const void *__config)
  {
!   __builtin_ia32_ldtilecfg (__config);
  }
  
  extern __inline void
  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
  _tile_storeconfig (void *__config)
  {
!   __builtin_ia32_sttilecfg (__config);
  }
  
  extern __inline void
diff -Nrcpad gcc-11.4.0/gcc/config/i386/driver-i386.c gcc-11.5.0/gcc/config/i386/driver-i386.c
*** gcc-11.4.0/gcc/config/i386/driver-i386.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/driver-i386.c	Fri Jul 19 05:52:43 2024
*************** const char *host_detect_local_cpu (int a
*** 464,469 ****
--- 464,471 ----
  	processor = PROCESSOR_GEODE;
        else if (has_feature (FEATURE_MOVBE) && family == 22)
  	processor = PROCESSOR_BTVER2;
+       else if (has_feature (FEATURE_AVX512F))
+ 	processor = PROCESSOR_ZNVER4;
        else if (has_feature (FEATURE_VAES))
  	processor = PROCESSOR_ZNVER3;
        else if (has_feature (FEATURE_CLWB))
*************** const char *host_detect_local_cpu (int a
*** 767,772 ****
--- 769,777 ----
      case PROCESSOR_ZNVER3:
        cpu = "znver3";
        break;
+     case PROCESSOR_ZNVER4:
+       cpu = "znver4";
+       break;
      case PROCESSOR_BTVER1:
        cpu = "btver1";
        break;
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386-builtin.def gcc-11.5.0/gcc/config/i386/i386-builtin.def
*** gcc-11.4.0/gcc/config/i386/i386-builtin.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386-builtin.def	Fri Jul 19 05:52:43 2024
*************** BDESC (OPTION_MASK_ISA_XSAVES | OPTION_M
*** 126,131 ****
--- 126,135 ----
  BDESC (OPTION_MASK_ISA_XSAVES | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_nothing, "__builtin_ia32_xrstors64", IX86_BUILTIN_XRSTORS64, UNKNOWN, (int) VOID_FTYPE_PVOID_INT64)
  BDESC (OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_nothing, "__builtin_ia32_xsavec64", IX86_BUILTIN_XSAVEC64, UNKNOWN, (int) VOID_FTYPE_PVOID_INT64)
  
+ /* LDFILECFG and STFILECFG.  */
+ BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AMX_TILE, CODE_FOR_nothing, "__builtin_ia32_ldtilecfg", IX86_BUILTIN_LDTILECFG, UNKNOWN, (int) VOID_FTYPE_PCVOID)
+ BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AMX_TILE, CODE_FOR_nothing, "__builtin_ia32_sttilecfg", IX86_BUILTIN_STTILECFG, UNKNOWN, (int) VOID_FTYPE_PVOID)
+ 
  /* SSE */
  BDESC (OPTION_MASK_ISA_SSE, 0, CODE_FOR_movv4sf_internal, "__builtin_ia32_storeups", IX86_BUILTIN_STOREUPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF)
  BDESC (OPTION_MASK_ISA_SSE, 0, CODE_FOR_sse_movntv4sf, "__builtin_ia32_movntps", IX86_BUILTIN_MOVNTPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF)
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386-c.c gcc-11.5.0/gcc/config/i386/i386-c.c
*** gcc-11.4.0/gcc/config/i386/i386-c.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386-c.c	Fri Jul 19 05:52:43 2024
*************** ix86_target_macros_internal (HOST_WIDE_I
*** 132,137 ****
--- 132,141 ----
        def_or_undef (parse_in, "__znver3");
        def_or_undef (parse_in, "__znver3__");
        break;
+     case PROCESSOR_ZNVER4:
+       def_or_undef (parse_in, "__znver4");
+       def_or_undef (parse_in, "__znver4__");
+       break;
      case PROCESSOR_BTVER1:
        def_or_undef (parse_in, "__btver1");
        def_or_undef (parse_in, "__btver1__");
*************** ix86_target_macros_internal (HOST_WIDE_I
*** 326,331 ****
--- 330,338 ----
      case PROCESSOR_ZNVER3:
        def_or_undef (parse_in, "__tune_znver3__");
        break;
+     case PROCESSOR_ZNVER4:
+       def_or_undef (parse_in, "__tune_znver4__");
+       break;
      case PROCESSOR_BTVER1:
        def_or_undef (parse_in, "__tune_btver1__");
        break;
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386-expand.c gcc-11.5.0/gcc/config/i386/i386-expand.c
*** gcc-11.4.0/gcc/config/i386/i386-expand.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386-expand.c	Fri Jul 19 05:52:43 2024
*************** ix86_expand_move (machine_mode mode, rtx
*** 272,277 ****
--- 272,294 ----
  
      default:
        break;
+ 
+     case SUBREG:
+       /* As not all values in XFmode are representable in real_value,
+ 	 we might be called with unfoldable SUBREGs of constants.  */
+       if (mode == XFmode
+ 	  && CONSTANT_P (SUBREG_REG (op1))
+ 	  && can_create_pseudo_p ())
+ 	{
+ 	  machine_mode imode = GET_MODE (SUBREG_REG (op1));
+ 	  rtx r = force_const_mem (imode, SUBREG_REG (op1));
+ 	  if (r)
+ 	    r = validize_mem (r);
+ 	  else
+ 	    r = force_reg (imode, SUBREG_REG (op1));
+ 	  op1 = simplify_gen_subreg (mode, r, imode, SUBREG_BYTE (op1));
+ 	}
+       break;
      }
  
    if ((flag_pic || MACHOPIC_INDIRECT)
*************** ix86_expand_set_or_cpymem (rtx dst, rtx
*** 7362,7367 ****
--- 7379,7386 ----
  
        if (TARGET_AVX256_SPLIT_REGS && GET_MODE_BITSIZE (move_mode) > 128)
  	move_mode = TImode;
+       if (TARGET_AVX512_SPLIT_REGS && GET_MODE_BITSIZE (move_mode) > 256)
+ 	move_mode = OImode;
  
        /* Find the corresponding vector mode with the same size as MOVE_MODE.
  	 MOVE_MODE is an integer mode at the moment (SI, DI, TI, etc.).  */
*************** ix86_expand_builtin (tree exp, rtx targe
*** 12024,12029 ****
--- 12043,12067 ----
  	emit_insn (pat);
        return 0;
  
+     case IX86_BUILTIN_LDTILECFG:
+     case IX86_BUILTIN_STTILECFG:
+       arg0 = CALL_EXPR_ARG (exp, 0);
+       op0 = expand_normal (arg0);
+ 
+       if (!address_operand (op0, VOIDmode))
+ 	{
+ 	  op0 = convert_memory_address (Pmode, op0);
+ 	  op0 = copy_addr_to_reg (op0);
+ 	}
+       op0 = gen_rtx_MEM (XImode, op0);
+       if (fcode == IX86_BUILTIN_LDTILECFG)
+ 	icode = CODE_FOR_ldtilecfg;
+       else
+ 	icode = CODE_FOR_sttilecfg;
+       pat = GEN_FCN (icode) (op0);
+       emit_insn (pat);
+       return 0;
+ 
      case IX86_BUILTIN_LLWPCB:
        arg0 = CALL_EXPR_ARG (exp, 0);
        op0 = expand_normal (arg0);
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386-features.c gcc-11.5.0/gcc/config/i386/i386-features.c
*** gcc-11.4.0/gcc/config/i386/i386-features.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386-features.c	Fri Jul 19 05:52:43 2024
*************** ix86_add_reg_usage_to_vzerouppers (void)
*** 1837,1845 ****
  static unsigned int
  rest_of_handle_insert_vzeroupper (void)
  {
!   if (TARGET_VZEROUPPER
!       && flag_expensive_optimizations
!       && !optimize_size)
      {
        /* vzeroupper instructions are inserted immediately after reload to
  	 account for possible spills from 256bit or 512bit registers.  The pass
--- 1837,1843 ----
  static unsigned int
  rest_of_handle_insert_vzeroupper (void)
  {
!   if (TARGET_VZEROUPPER)
      {
        /* vzeroupper instructions are inserted immediately after reload to
  	 account for possible spills from 256bit or 512bit registers.  The pass
*************** public:
*** 1883,1891 ****
    virtual bool gate (function *)
      {
        return TARGET_AVX
! 	     && ((TARGET_VZEROUPPER
! 		  && flag_expensive_optimizations
! 		  && !optimize_size)
  		 || cfun->machine->has_explicit_vzeroupper);
      }
  
--- 1881,1887 ----
    virtual bool gate (function *)
      {
        return TARGET_AVX
! 	     && (TARGET_VZEROUPPER
  		 || cfun->machine->has_explicit_vzeroupper);
      }
  
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386-options.c gcc-11.5.0/gcc/config/i386/i386-options.c
*** gcc-11.4.0/gcc/config/i386/i386-options.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386-options.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 137,142 ****
--- 137,147 ----
  #define m_GOLDMONT_PLUS (HOST_WIDE_INT_1U<<PROCESSOR_GOLDMONT_PLUS)
  #define m_TREMONT (HOST_WIDE_INT_1U<<PROCESSOR_TREMONT)
  #define m_INTEL (HOST_WIDE_INT_1U<<PROCESSOR_INTEL)
+ /* Gather Data Sampling / CVE-2022-40982 / INTEL-SA-00828.
+    Software mitigation.  */
+ #define m_GDS (m_SKYLAKE | m_SKYLAKE_AVX512 | m_CANNONLAKE \
+ 	       | m_ICELAKE_CLIENT | m_ICELAKE_SERVER | m_CASCADELAKE \
+ 	       | m_TIGERLAKE | m_COOPERLAKE | m_ROCKETLAKE)
  
  #define m_GEODE (HOST_WIDE_INT_1U<<PROCESSOR_GEODE)
  #define m_K6 (HOST_WIDE_INT_1U<<PROCESSOR_K6)
*************** along with GCC; see the file COPYING3.
*** 152,162 ****
  #define m_ZNVER1 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER1)
  #define m_ZNVER2 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER2)
  #define m_ZNVER3 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER3)
  #define m_BTVER1 (HOST_WIDE_INT_1U<<PROCESSOR_BTVER1)
  #define m_BTVER2 (HOST_WIDE_INT_1U<<PROCESSOR_BTVER2)
  #define m_BDVER	(m_BDVER1 | m_BDVER2 | m_BDVER3 | m_BDVER4)
  #define m_BTVER (m_BTVER1 | m_BTVER2)
! #define m_ZNVER	(m_ZNVER1 | m_ZNVER2 | m_ZNVER3)
  #define m_AMD_MULTIPLE (m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER \
  			| m_ZNVER)
  
--- 157,168 ----
  #define m_ZNVER1 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER1)
  #define m_ZNVER2 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER2)
  #define m_ZNVER3 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER3)
+ #define m_ZNVER4 (HOST_WIDE_INT_1U<<PROCESSOR_ZNVER4)
  #define m_BTVER1 (HOST_WIDE_INT_1U<<PROCESSOR_BTVER1)
  #define m_BTVER2 (HOST_WIDE_INT_1U<<PROCESSOR_BTVER2)
  #define m_BDVER	(m_BDVER1 | m_BDVER2 | m_BDVER3 | m_BDVER4)
  #define m_BTVER (m_BTVER1 | m_BTVER2)
! #define m_ZNVER	(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4)
  #define m_AMD_MULTIPLE (m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER \
  			| m_ZNVER)
  
*************** static const struct processor_costs *pro
*** 746,752 ****
    &btver2_cost,
    &znver1_cost,
    &znver2_cost,
!   &znver3_cost
  };
  
  /* Guarantee that the array is aligned with enum processor_type.  */
--- 752,759 ----
    &btver2_cost,
    &znver1_cost,
    &znver2_cost,
!   &znver3_cost,
!   &znver4_cost
  };
  
  /* Guarantee that the array is aligned with enum processor_type.  */
*************** ix86_option_override_internal (bool main
*** 2849,2855 ****
      sorry ("%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH");
  
    if (!(opts_set->x_target_flags & MASK_VZEROUPPER)
!       && TARGET_EMIT_VZEROUPPER)
      opts->x_target_flags |= MASK_VZEROUPPER;
    if (!(opts_set->x_target_flags & MASK_STV))
      opts->x_target_flags |= MASK_STV;
--- 2856,2864 ----
      sorry ("%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH");
  
    if (!(opts_set->x_target_flags & MASK_VZEROUPPER)
!       && TARGET_EMIT_VZEROUPPER
!       && flag_expensive_optimizations
!       && !optimize_size)
      opts->x_target_flags |= MASK_VZEROUPPER;
    if (!(opts_set->x_target_flags & MASK_STV))
      opts->x_target_flags |= MASK_STV;
*************** ix86_option_override_internal (bool main
*** 3057,3063 ****
        = (cf_protection_level) (opts->x_flag_cf_protection | CF_SET);
      }
  
!   if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS])
      SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 256);
    else if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS])
      SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 128);
--- 3066,3074 ----
        = (cf_protection_level) (opts->x_flag_cf_protection | CF_SET);
      }
  
!   if (ix86_tune_features [X86_TUNE_AVOID_512FMA_CHAINS])
!     SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 512);
!   else if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS])
      SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 256);
    else if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS])
      SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 128);
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386.c gcc-11.5.0/gcc/config/i386/i386.c
*** gcc-11.4.0/gcc/config/i386/i386.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386.c	Fri Jul 19 05:52:43 2024
*************** ix86_elim_entry_set_got (rtx reg)
*** 8058,8067 ****
        rtx pat = PATTERN (c_insn);
        if (GET_CODE (pat) == PARALLEL)
  	{
! 	  rtx vec = XVECEXP (pat, 0, 0);
! 	  if (GET_CODE (vec) == SET
! 	      && XINT (XEXP (vec, 1), 1) == UNSPEC_SET_GOT
! 	      && REGNO (XEXP (vec, 0)) == REGNO (reg))
  	    delete_insn (c_insn);
  	}
      }
--- 8058,8068 ----
        rtx pat = PATTERN (c_insn);
        if (GET_CODE (pat) == PARALLEL)
  	{
! 	  rtx set = XVECEXP (pat, 0, 0);
! 	  if (GET_CODE (set) == SET
! 	      && GET_CODE (SET_SRC (set)) == UNSPEC
! 	      && XINT (SET_SRC (set), 1) == UNSPEC_SET_GOT
! 	      && REGNO (SET_DEST (set)) == REGNO (reg))
  	    delete_insn (c_insn);
  	}
      }
*************** output_pic_addr_const (FILE *file, rtx x
*** 11978,11985 ****
        assemble_name (asm_out_file, buf);
        break;
  
!     case CONST_INT:
!       fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
        break;
  
      case CONST:
--- 11979,11986 ----
        assemble_name (asm_out_file, buf);
        break;
  
!     CASE_CONST_SCALAR_INT:
!       output_addr_const (file, x);
        break;
  
      case CONST:
*************** ix86_avx_u128_mode_needed (rtx_insn *ins
*** 14119,14126 ****
  	 modes wider than 256 bits.  It's only safe to issue a
  	 vzeroupper if all SSE registers are clobbered.  */
        const function_abi &abi = insn_callee_abi (insn);
!       if (!hard_reg_set_subset_p (reg_class_contents[SSE_REGS],
! 				  abi.mode_clobbers (V4DImode)))
  	return AVX_U128_ANY;
  
        return AVX_U128_CLEAN;
--- 14120,14131 ----
  	 modes wider than 256 bits.  It's only safe to issue a
  	 vzeroupper if all SSE registers are clobbered.  */
        const function_abi &abi = insn_callee_abi (insn);
!       /* Should be safe to issue an vzeroupper before sibling_call_p.
! 	 Also there not mode_exit for sibling_call, so there could be
! 	 missing vzeroupper for that.  */
!       if (!(SIBLING_CALL_P (insn)
! 	    || hard_reg_set_subset_p (reg_class_contents[SSE_REGS],
! 				      abi.mode_clobbers (V4DImode))))
  	return AVX_U128_ANY;
  
        return AVX_U128_CLEAN;
*************** ix86_avx_u128_mode_after (int mode, rtx_
*** 14244,14250 ****
        bool avx_upper_reg_found = false;
        note_stores (insn, ix86_check_avx_upper_stores, &avx_upper_reg_found);
  
!       return avx_upper_reg_found ? AVX_U128_DIRTY : AVX_U128_CLEAN;
      }
  
    /* Otherwise, return current mode.  Remember that if insn
--- 14249,14267 ----
        bool avx_upper_reg_found = false;
        note_stores (insn, ix86_check_avx_upper_stores, &avx_upper_reg_found);
  
!       if (avx_upper_reg_found)
! 	return AVX_U128_DIRTY;
! 
!       /* If the function desn't clobber any sse registers or only clobber
! 	 128-bit part, Then vzeroupper isn't issued before the function exit.
! 	 the status not CLEAN but ANY after the function.  */
!       const function_abi &abi = insn_callee_abi (insn);
!       if (!(SIBLING_CALL_P (insn)
! 	    || hard_reg_set_subset_p (reg_class_contents[SSE_REGS],
! 				      abi.mode_clobbers (V4DImode))))
! 	return AVX_U128_ANY;
! 
!       return AVX_U128_CLEAN;
      }
  
    /* Otherwise, return current mode.  Remember that if insn
*************** ix86_vec_cost (machine_mode mode, int co
*** 19635,19644 ****
  
    if (GET_MODE_BITSIZE (mode) == 128
        && TARGET_SSE_SPLIT_REGS)
!     return cost * 2;
!   if (GET_MODE_BITSIZE (mode) > 128
        && TARGET_AVX256_SPLIT_REGS)
      return cost * GET_MODE_BITSIZE (mode) / 128;
    return cost;
  }
  
--- 19652,19664 ----
  
    if (GET_MODE_BITSIZE (mode) == 128
        && TARGET_SSE_SPLIT_REGS)
!     return cost * GET_MODE_BITSIZE (mode) / 64;
!   else if (GET_MODE_BITSIZE (mode) > 128
        && TARGET_AVX256_SPLIT_REGS)
      return cost * GET_MODE_BITSIZE (mode) / 128;
+   else if (GET_MODE_BITSIZE (mode) > 256
+       && TARGET_AVX512_SPLIT_REGS)
+     return cost * GET_MODE_BITSIZE (mode) / 256;
    return cost;
  }
  
*************** x86_function_profiler (FILE *file, int l
*** 20828,20834 ****
    if (TARGET_64BIT)
      {
  #ifndef NO_PROFILE_COUNTERS
!       fprintf (file, "\tleaq\t%sP%d(%%rip),%%r11\n", LPREFIX, labelno);
  #endif
  
        if (!TARGET_PECOFF)
--- 20848,20857 ----
    if (TARGET_64BIT)
      {
  #ifndef NO_PROFILE_COUNTERS
!       if (ASSEMBLER_DIALECT == ASM_INTEL)
! 	fprintf (file, "\tlea\tr11, %sP%d[rip]\n", LPREFIX, labelno);
!       else
! 	fprintf (file, "\tleaq\t%sP%d(%%rip), %%r11\n", LPREFIX, labelno);
  #endif
  
        if (!TARGET_PECOFF)
*************** x86_function_profiler (FILE *file, int l
*** 20839,20850 ****
  	      /* NB: R10 is caller-saved.  Although it can be used as a
  		 static chain register, it is preserved when calling
  		 mcount for nested functions.  */
! 	      fprintf (file, "1:\tmovabsq\t$%s, %%r10\n\tcall\t*%%r10\n",
! 		       mcount_name);
  	      break;
  	    case CM_LARGE_PIC:
  #ifdef NO_PROFILE_COUNTERS
! 	      fprintf (file, "1:\tmovabsq\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\n");
  	      fprintf (file, "\tleaq\t1b(%%rip), %%r10\n");
  	      fprintf (file, "\taddq\t%%r11, %%r10\n");
  	      fprintf (file, "\tmovabsq\t$%s@PLTOFF, %%r11\n", mcount_name);
--- 20862,20890 ----
  	      /* NB: R10 is caller-saved.  Although it can be used as a
  		 static chain register, it is preserved when calling
  		 mcount for nested functions.  */
! 	      if (ASSEMBLER_DIALECT == ASM_INTEL)
! 		fprintf (file, "1:\tmovabs\tr10, OFFSET FLAT:%s\n"
! 			       "\tcall\tr10\n", mcount_name);
! 	      else
! 		fprintf (file, "1:\tmovabsq\t$%s, %%r10\n\tcall\t*%%r10\n",
! 			 mcount_name);
  	      break;
  	    case CM_LARGE_PIC:
  #ifdef NO_PROFILE_COUNTERS
! 	      if (ASSEMBLER_DIALECT == ASM_INTEL)
! 		{
! 		  fprintf (file, "1:movabs\tr11, "
! 				 "OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-1b\n");
! 		  fprintf (file, "\tlea\tr10, 1b[rip]\n");
! 		  fprintf (file, "\tadd\tr10, r11\n");
! 		  fprintf (file, "\tmovabs\tr11, OFFSET FLAT:%s@PLTOFF\n",
! 			   mcount_name);
! 		  fprintf (file, "\tadd\tr10, r11\n");
! 		  fprintf (file, "\tcall\tr10\n");
! 		  break;
! 		}
! 	      fprintf (file,
! 		       "1:\tmovabsq\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\n");
  	      fprintf (file, "\tleaq\t1b(%%rip), %%r10\n");
  	      fprintf (file, "\taddq\t%%r11, %%r10\n");
  	      fprintf (file, "\tmovabsq\t$%s@PLTOFF, %%r11\n", mcount_name);
*************** x86_function_profiler (FILE *file, int l
*** 20856,20862 ****
  	      break;
  	    case CM_SMALL_PIC:
  	    case CM_MEDIUM_PIC:
! 	      fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n", mcount_name);
  	      break;
  	    default:
  	      x86_print_call_or_nop (file, mcount_name);
--- 20896,20906 ----
  	      break;
  	    case CM_SMALL_PIC:
  	    case CM_MEDIUM_PIC:
! 	      if (ASSEMBLER_DIALECT == ASM_INTEL)
! 		fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]\n",
! 			 mcount_name);
! 	      else
! 		fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n", mcount_name);
  	      break;
  	    default:
  	      x86_print_call_or_nop (file, mcount_name);
*************** x86_function_profiler (FILE *file, int l
*** 20869,20891 ****
    else if (flag_pic)
      {
  #ifndef NO_PROFILE_COUNTERS
!       fprintf (file, "\tleal\t%sP%d@GOTOFF(%%ebx),%%" PROFILE_COUNT_REGISTER "\n",
! 	       LPREFIX, labelno);
  #endif
!       fprintf (file, "1:\tcall\t*%s@GOT(%%ebx)\n", mcount_name);
      }
    else
      {
  #ifndef NO_PROFILE_COUNTERS
!       fprintf (file, "\tmovl\t$%sP%d,%%" PROFILE_COUNT_REGISTER "\n",
! 	       LPREFIX, labelno);
  #endif
        x86_print_call_or_nop (file, mcount_name);
      }
  
    if (flag_record_mcount
! 	|| lookup_attribute ("fentry_section",
!                                 DECL_ATTRIBUTES (current_function_decl)))
      {
        const char *sname = "__mcount_loc";
  
--- 20913,20949 ----
    else if (flag_pic)
      {
  #ifndef NO_PROFILE_COUNTERS
!       if (ASSEMBLER_DIALECT == ASM_INTEL)
! 	fprintf (file,
! 		 "\tlea\t" PROFILE_COUNT_REGISTER ", %sP%d@GOTOFF[ebx]\n",
! 		 LPREFIX, labelno);
!       else
! 	fprintf (file,
! 		 "\tleal\t%sP%d@GOTOFF(%%ebx), %%" PROFILE_COUNT_REGISTER "\n",
! 		 LPREFIX, labelno);
  #endif
!       if (ASSEMBLER_DIALECT == ASM_INTEL)
! 	fprintf (file, "1:\tcall\t[DWORD PTR %s@GOT[ebx]]\n", mcount_name);
!       else
! 	fprintf (file, "1:\tcall\t*%s@GOT(%%ebx)\n", mcount_name);
      }
    else
      {
  #ifndef NO_PROFILE_COUNTERS
!       if (ASSEMBLER_DIALECT == ASM_INTEL)
! 	fprintf (file,
! 		 "\tmov\t" PROFILE_COUNT_REGISTER ", OFFSET FLAT:%sP%d\n",
! 		 LPREFIX, labelno);
!       else
! 	fprintf (file, "\tmovl\t$%sP%d, %%" PROFILE_COUNT_REGISTER "\n",
! 		 LPREFIX, labelno);
  #endif
        x86_print_call_or_nop (file, mcount_name);
      }
  
    if (flag_record_mcount
!       || lookup_attribute ("fentry_section",
! 			   DECL_ATTRIBUTES (current_function_decl)))
      {
        const char *sname = "__mcount_loc";
  
*************** ix86_reassociation_width (unsigned int o
*** 22049,22060 ****
        /* Integer vector instructions execute in FP unit
  	 and can execute 3 additions and one multiplication per cycle.  */
        if ((ix86_tune == PROCESSOR_ZNVER1 || ix86_tune == PROCESSOR_ZNVER2
! 	   || ix86_tune == PROCESSOR_ZNVER3)
     	  && INTEGRAL_MODE_P (mode) && op != PLUS && op != MINUS)
  	return 1;
  
        /* Account for targets that splits wide vectors into multiple parts.  */
!       if (TARGET_AVX256_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 128)
  	div = GET_MODE_BITSIZE (mode) / 128;
        else if (TARGET_SSE_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 64)
  	div = GET_MODE_BITSIZE (mode) / 64;
--- 22107,22120 ----
        /* Integer vector instructions execute in FP unit
  	 and can execute 3 additions and one multiplication per cycle.  */
        if ((ix86_tune == PROCESSOR_ZNVER1 || ix86_tune == PROCESSOR_ZNVER2
! 	   || ix86_tune == PROCESSOR_ZNVER3 || ix86_tune == PROCESSOR_ZNVER4)
     	  && INTEGRAL_MODE_P (mode) && op != PLUS && op != MINUS)
  	return 1;
  
        /* Account for targets that splits wide vectors into multiple parts.  */
!       if (TARGET_AVX512_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 256)
! 	div = GET_MODE_BITSIZE (mode) / 256;
!       else if (TARGET_AVX256_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 128)
  	div = GET_MODE_BITSIZE (mode) / 128;
        else if (TARGET_SSE_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 64)
  	div = GET_MODE_BITSIZE (mode) / 64;
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386.h gcc-11.5.0/gcc/config/i386/i386.h
*** gcc-11.4.0/gcc/config/i386/i386.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386.h	Fri Jul 19 05:52:43 2024
*************** extern unsigned char ix86_tune_features[
*** 625,630 ****
--- 625,632 ----
  	ix86_tune_features[X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL]
  #define TARGET_AVX256_SPLIT_REGS \
  	ix86_tune_features[X86_TUNE_AVX256_SPLIT_REGS]
+ #define TARGET_AVX512_SPLIT_REGS \
+ 	ix86_tune_features[X86_TUNE_AVX512_SPLIT_REGS]
  #define TARGET_GENERAL_REGS_SSE_SPILL \
  	ix86_tune_features[X86_TUNE_GENERAL_REGS_SSE_SPILL]
  #define TARGET_AVOID_MEM_OPND_FOR_CMOVE \
*************** enum processor_type
*** 2418,2423 ****
--- 2420,2426 ----
    PROCESSOR_ZNVER1,
    PROCESSOR_ZNVER2,
    PROCESSOR_ZNVER3,
+   PROCESSOR_ZNVER4,
    PROCESSOR_max
  };
  
*************** constexpr wide_int_bitmask PTA_ALDERLAKE
*** 2583,2588 ****
--- 2586,2606 ----
    | PTA_HRESET | PTA_KL | PTA_WIDEKL | PTA_AVXVNNI;
  constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW
    | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ;
+ constexpr wide_int_bitmask PTA_ZNVER1 = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2
+   | PTA_SSE3 | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
+   | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_AVX2 | PTA_BMI | PTA_BMI2
+   | PTA_F16C | PTA_FMA | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT
+   | PTA_FSGSBASE | PTA_RDRND | PTA_MOVBE | PTA_MWAITX | PTA_ADX | PTA_RDSEED
+   | PTA_CLZERO | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES | PTA_SHA | PTA_LZCNT
+   | PTA_POPCNT;
+ constexpr wide_int_bitmask PTA_ZNVER2 = PTA_ZNVER1 | PTA_CLWB | PTA_RDPID
+   | PTA_WBNOINVD;
+ constexpr wide_int_bitmask PTA_ZNVER3 = PTA_ZNVER2 | PTA_VAES | PTA_VPCLMULQDQ
+   | PTA_PKU;
+ constexpr wide_int_bitmask PTA_ZNVER4 = PTA_ZNVER3 | PTA_AVX512F | PTA_AVX512DQ
+   | PTA_AVX512IFMA | PTA_AVX512CD | PTA_AVX512BW | PTA_AVX512VL
+   | PTA_AVX512BF16 | PTA_AVX512VBMI | PTA_AVX512VBMI2 | PTA_GFNI
+   | PTA_AVX512VNNI | PTA_AVX512BITALG | PTA_AVX512VPOPCNTDQ;
  
  #ifndef GENERATOR_FILE
  
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386.md gcc-11.5.0/gcc/config/i386/i386.md
*** gcc-11.4.0/gcc/config/i386/i386.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386.md	Fri Jul 19 05:52:43 2024
***************
*** 319,324 ****
--- 319,328 ----
  
    ;; For HRESET support
    UNSPECV_HRESET
+ 
+   ;; For AMX-TILE
+   UNSPECV_LDTILECFG
+   UNSPECV_STTILECFG
  ])
  
  ;; Constants to represent rounding modes in the ROUND instruction
***************
*** 458,464 ****
  ;; Processor type.
  (define_attr "cpu" "none,pentium,pentiumpro,geode,k6,athlon,k8,core2,nehalem,
  		    atom,slm,glm,haswell,generic,amdfam10,bdver1,bdver2,bdver3,
! 		    bdver4,btver2,znver1,znver2,znver3"
    (const (symbol_ref "ix86_schedule")))
  
  ;; A basic instruction type.  Refinements due to arguments to be
--- 462,468 ----
  ;; Processor type.
  (define_attr "cpu" "none,pentium,pentiumpro,geode,k6,athlon,k8,core2,nehalem,
  		    atom,slm,glm,haswell,generic,amdfam10,bdver1,bdver2,bdver3,
! 		    bdver4,btver2,znver1,znver2,znver3,znver4"
    (const (symbol_ref "ix86_schedule")))
  
  ;; A basic instruction type.  Refinements due to arguments to be
***************
*** 1259,1265 ****
  (include "bdver1.md")
  (include "bdver3.md")
  (include "btver2.md")
! (include "znver1.md")
  (include "geode.md")
  (include "atom.md")
  (include "slm.md")
--- 1263,1270 ----
  (include "bdver1.md")
  (include "bdver3.md")
  (include "btver2.md")
! (include "znver.md")
! (include "znver4.md")
  (include "geode.md")
  (include "atom.md")
  (include "slm.md")
***************
*** 2300,2306 ****
  	      (clobber (reg:CC FLAGS_REG))])]
  {
    int shift = ctz_hwi (UINTVAL (operands[1]));
!   operands[1] = gen_int_mode (UINTVAL (operands[1]) >> shift, DImode);
    operands[2] = gen_int_mode (shift, QImode);
  })
  
--- 2305,2314 ----
  	      (clobber (reg:CC FLAGS_REG))])]
  {
    int shift = ctz_hwi (UINTVAL (operands[1]));
!   rtx op1 = gen_int_mode (UINTVAL (operands[1]) >> shift, DImode);
!   if (ix86_endbr_immediate_operand (op1, VOIDmode))
!     FAIL;
!   operands[1] = op1;
    operands[2] = gen_int_mode (shift, QImode);
  })
  
***************
*** 3361,3369 ****
  ;; Possible store forwarding (partial memory) stall in alternatives 4, 6 and 7.
  (define_insn "*movdf_internal"
    [(set (match_operand:DF 0 "nonimmediate_operand"
!     "=Yf*f,m   ,Yf*f,?r ,!o,?*r ,!o,!o,?r,?m,?r,?r,v,v,v,m,*x,*x,*x,m ,r ,v,r  ,o ,r  ,m")
  	(match_operand:DF 1 "general_operand"
!     "Yf*fm,Yf*f,G   ,roF,r ,*roF,*r,F ,rm,rC,C ,F ,C,v,m,v,C ,*x,m ,*x,v,r ,roF,rF,rmF,rC"))]
    "!(MEM_P (operands[0]) && MEM_P (operands[1]))
     && (lra_in_progress || reload_completed
         || !CONST_DOUBLE_P (operands[1])
--- 3369,3377 ----
  ;; Possible store forwarding (partial memory) stall in alternatives 4, 6 and 7.
  (define_insn "*movdf_internal"
    [(set (match_operand:DF 0 "nonimmediate_operand"
!     "=Yf*f,m   ,Yf*f,?r ,!o,?*r ,!o,!o,?r,?m,?r,?r,v,v,v,m,*x,*x,*x,m ,?r,?v,r  ,o ,r  ,m")
  	(match_operand:DF 1 "general_operand"
!     "Yf*fm,Yf*f,G   ,roF,r ,*roF,*r,F ,rm,rC,C ,F ,C,v,m,v,C ,*x,m ,*x, v, r,roF,rF,rmF,rC"))]
    "!(MEM_P (operands[0]) && MEM_P (operands[1]))
     && (lra_in_progress || reload_completed
         || !CONST_DOUBLE_P (operands[1])
***************
*** 12734,12740 ****
  			   (const_int 1)
  			   (and:SI
  			     (match_operand:SI 2 "register_operand")
! 			     (match_operand 3 "const_int_operand")))])
  		      (label_ref (match_operand 4))
  		      (pc)))
     (clobber (reg:CC FLAGS_REG))]
--- 12742,12749 ----
  			   (const_int 1)
  			   (and:SI
  			     (match_operand:SI 2 "register_operand")
! 			     (match_operand 3 "const_int_operand")))
! 			 (const_int 0)])
  		      (label_ref (match_operand 4))
  		      (pc)))
     (clobber (reg:CC FLAGS_REG))]
***************
*** 15315,15322 ****
    "! TARGET_POPCNT"
  {
    rtx scratch = gen_reg_rtx (QImode);
  
!   emit_insn (gen_parityhi2_cmp (operands[1]));
  
    ix86_expand_setcc (scratch, ORDERED,
  		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);
--- 15324,15333 ----
    "! TARGET_POPCNT"
  {
    rtx scratch = gen_reg_rtx (QImode);
+   rtx tmp = gen_reg_rtx (HImode);
  
!   emit_move_insn (tmp, operands[1]);
!   emit_insn (gen_parityhi2_cmp (tmp));
  
    ix86_expand_setcc (scratch, ORDERED,
  		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);
***************
*** 21901,21906 ****
--- 21912,21937 ----
    [(set_attr "type" "other")
     (set_attr "length" "4")])
  
+ (define_insn "ldtilecfg"
+   [(unspec_volatile [(match_operand:XI 0 "memory_operand" "m")]
+             UNSPECV_LDTILECFG)]
+   "TARGET_AMX_TILE"
+   "ldtilecfg\t%0"
+   [(set_attr "type" "other")
+    (set_attr "prefix" "maybe_evex")
+    (set_attr "memory" "load")
+    (set_attr "mode" "XI")])
+ 
+ (define_insn "sttilecfg"
+   [(set (match_operand:XI 0 "memory_operand" "=m")
+         (unspec_volatile:XI [(const_int 0)] UNSPECV_STTILECFG))]
+   "TARGET_AMX_TILE"
+   "sttilecfg\t%0"
+   [(set_attr "type" "other")
+    (set_attr "prefix" "maybe_evex")
+    (set_attr "memory" "store")
+    (set_attr "mode" "XI")])
+ 
  (include "mmx.md")
  (include "sse.md")
  (include "sync.md")
diff -Nrcpad gcc-11.4.0/gcc/config/i386/i386.opt gcc-11.5.0/gcc/config/i386/i386.opt
*** gcc-11.4.0/gcc/config/i386/i386.opt	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/i386.opt	Fri Jul 19 05:52:43 2024
*************** Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU p
*** 1194,1196 ****
--- 1194,1200 ----
  mmwait
  Target Mask(ISA2_MWAIT) Var(ix86_isa_flags2) Save
  Support MWAIT and MONITOR built-in functions and code generation.
+ 
+ mgather
+ Target Alias(mtune-ctrl=, use_gather, ^use_gather)
+ Enable vectorization for gather instruction.
diff -Nrcpad gcc-11.4.0/gcc/config/i386/mmx.md gcc-11.5.0/gcc/config/i386/mmx.md
*** gcc-11.4.0/gcc/config/i386/mmx.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/mmx.md	Fri Jul 19 05:52:43 2024
***************
*** 787,793 ****
  	    (match_operand:V2SF 1 "register_operand") 0)
  	  (match_dup 2)))]
    "TARGET_MMX_WITH_SSE"
!   "operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V2SFmode)-1);")
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;
--- 787,796 ----
  	    (match_operand:V2SF 1 "register_operand") 0)
  	  (match_dup 2)))]
    "TARGET_MMX_WITH_SSE"
! {
!   operands[1] = force_reg (V2SFmode, operands[1]);
!   operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V2SFmode)-1);
! })
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;
diff -Nrcpad gcc-11.4.0/gcc/config/i386/sse.md gcc-11.5.0/gcc/config/i386/sse.md
*** gcc-11.4.0/gcc/config/i386/sse.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/sse.md	Fri Jul 19 05:52:43 2024
***************
*** 1293,1299 ****
     (set_attr "prefix" "evex")
     (set_attr "mode" "<sseinsnmode>")])
  
! (define_insn "<avx512>_store<mode>_mask"
    [(set (match_operand:V48_AVX512VL 0 "memory_operand" "=m")
  	(vec_merge:V48_AVX512VL
  	  (match_operand:V48_AVX512VL 1 "register_operand" "v")
--- 1293,1299 ----
     (set_attr "prefix" "evex")
     (set_attr "mode" "<sseinsnmode>")])
  
! (define_insn "*<avx512>_store<mode>_mask"
    [(set (match_operand:V48_AVX512VL 0 "memory_operand" "=m")
  	(vec_merge:V48_AVX512VL
  	  (match_operand:V48_AVX512VL 1 "register_operand" "v")
***************
*** 1321,1327 ****
     (set_attr "memory" "store")
     (set_attr "mode" "<sseinsnmode>")])
  
! (define_insn "<avx512>_store<mode>_mask"
    [(set (match_operand:VI12_AVX512VL 0 "memory_operand" "=m")
  	(vec_merge:VI12_AVX512VL
  	  (match_operand:VI12_AVX512VL 1 "register_operand" "v")
--- 1321,1327 ----
     (set_attr "memory" "store")
     (set_attr "mode" "<sseinsnmode>")])
  
! (define_insn "*<avx512>_store<mode>_mask"
    [(set (match_operand:VI12_AVX512VL 0 "memory_operand" "=m")
  	(vec_merge:VI12_AVX512VL
  	  (match_operand:VI12_AVX512VL 1 "register_operand" "v")
***************
*** 3913,3919 ****
  	    (match_operand:VF1_AVX2 1 "register_operand") 0)
  	  (match_dup 2)))]
    "TARGET_SSE2"
!   "operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (<MODE>mode)-1);")
  
  ;; Also define scalar versions.  These are used for abs, neg, and
  ;; conditional move.  Using subregs into vector modes causes register
--- 3913,3922 ----
  	    (match_operand:VF1_AVX2 1 "register_operand") 0)
  	  (match_dup 2)))]
    "TARGET_SSE2"
! {
!   operands[1] = force_reg (<MODE>mode, operands[1]);
!   operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (<MODE>mode)-1);
! })
  
  ;; Also define scalar versions.  These are used for abs, neg, and
  ;; conditional move.  Using subregs into vector modes causes register
***************
*** 21857,21863 ****
  (define_expand "maskload<mode><avx512fmaskmodelower>"
    [(set (match_operand:V48_AVX512VL 0 "register_operand")
  	(vec_merge:V48_AVX512VL
! 	  (match_operand:V48_AVX512VL 1 "memory_operand")
  	  (match_dup 0)
  	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512F")
--- 21860,21868 ----
  (define_expand "maskload<mode><avx512fmaskmodelower>"
    [(set (match_operand:V48_AVX512VL 0 "register_operand")
  	(vec_merge:V48_AVX512VL
! 	  (unspec:V48_AVX512VL
! 	    [(match_operand:V48_AVX512VL 1 "memory_operand")]
! 	    UNSPEC_MASKLOAD)
  	  (match_dup 0)
  	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512F")
***************
*** 21865,21871 ****
  (define_expand "maskload<mode><avx512fmaskmodelower>"
    [(set (match_operand:VI12_AVX512VL 0 "register_operand")
  	(vec_merge:VI12_AVX512VL
! 	  (match_operand:VI12_AVX512VL 1 "memory_operand")
  	  (match_dup 0)
  	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512BW")
--- 21870,21878 ----
  (define_expand "maskload<mode><avx512fmaskmodelower>"
    [(set (match_operand:VI12_AVX512VL 0 "register_operand")
  	(vec_merge:VI12_AVX512VL
! 	  (unspec:VI12_AVX512VL
! 	    [(match_operand:VI12_AVX512VL 1 "memory_operand")]
! 	    UNSPEC_MASKLOAD)
  	  (match_dup 0)
  	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512BW")
***************
*** 21881,21900 ****
  
  (define_expand "maskstore<mode><avx512fmaskmodelower>"
    [(set (match_operand:V48_AVX512VL 0 "memory_operand")
! 	(vec_merge:V48_AVX512VL
! 	  (match_operand:V48_AVX512VL 1 "register_operand")
! 	  (match_dup 0)
! 	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512F")
  
  (define_expand "maskstore<mode><avx512fmaskmodelower>"
    [(set (match_operand:VI12_AVX512VL 0 "memory_operand")
! 	(vec_merge:VI12_AVX512VL
! 	  (match_operand:VI12_AVX512VL 1 "register_operand")
! 	  (match_dup 0)
! 	  (match_operand:<avx512fmaskmode> 2 "register_operand")))]
    "TARGET_AVX512BW")
  
  (define_expand "cbranch<mode>4"
    [(set (reg:CC FLAGS_REG)
  	(compare:CC (match_operand:VI48_AVX 1 "register_operand")
--- 21888,21952 ----
  
  (define_expand "maskstore<mode><avx512fmaskmodelower>"
    [(set (match_operand:V48_AVX512VL 0 "memory_operand")
! 	(unspec:V48_AVX512VL
! 	  [(match_operand:V48_AVX512VL 1 "register_operand")
! 	   (match_dup 0)
! 	   (match_operand:<avx512fmaskmode> 2 "register_operand")]
! 	  UNSPEC_MASKMOV))]
    "TARGET_AVX512F")
  
  (define_expand "maskstore<mode><avx512fmaskmodelower>"
    [(set (match_operand:VI12_AVX512VL 0 "memory_operand")
! 	(unspec:VI12_AVX512VL
! 	  [(match_operand:VI12_AVX512VL 1 "register_operand")
! 	   (match_dup 0)
! 	   (match_operand:<avx512fmaskmode> 2 "register_operand")]
! 	  UNSPEC_MASKMOV))]
    "TARGET_AVX512BW")
  
+ (define_insn "<avx512>_store<mode>_mask"
+   [(set (match_operand:V48_AVX512VL 0 "memory_operand" "=m")
+ 	(unspec:V48_AVX512VL
+ 	  [(match_operand:V48_AVX512VL 1 "register_operand" "v")
+ 	   (match_dup 0)
+ 	   (match_operand:<avx512fmaskmode> 2 "register_operand" "Yk")]
+ 	  UNSPEC_MASKMOV))]
+   "TARGET_AVX512F"
+ {
+   if (FLOAT_MODE_P (GET_MODE_INNER (<MODE>mode)))
+     {
+       if (misaligned_operand (operands[0], <MODE>mode))
+ 	return "vmovu<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+       else
+ 	return "vmova<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+     }
+   else
+     {
+       if (misaligned_operand (operands[0], <MODE>mode))
+ 	return "vmovdqu<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+       else
+ 	return "vmovdqa<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+     }
+ }
+   [(set_attr "type" "ssemov")
+    (set_attr "prefix" "evex")
+    (set_attr "memory" "store")
+    (set_attr "mode" "<sseinsnmode>")])
+ 
+ (define_insn "<avx512>_store<mode>_mask"
+   [(set (match_operand:VI12_AVX512VL 0 "memory_operand" "=m")
+ 	(unspec:VI12_AVX512VL
+ 	  [(match_operand:VI12_AVX512VL 1 "register_operand" "v")
+ 	   (match_dup 0)
+ 	   (match_operand:<avx512fmaskmode> 2 "register_operand" "Yk")]
+ 	   UNSPEC_MASKMOV))]
+   "TARGET_AVX512BW"
+   "vmovdqu<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}"
+   [(set_attr "type" "ssemov")
+    (set_attr "prefix" "evex")
+    (set_attr "memory" "store")
+    (set_attr "mode" "<sseinsnmode>")])
+ 
  (define_expand "cbranch<mode>4"
    [(set (reg:CC FLAGS_REG)
  	(compare:CC (match_operand:VI48_AVX 1 "register_operand")
diff -Nrcpad gcc-11.4.0/gcc/config/i386/x86-tune-costs.h gcc-11.5.0/gcc/config/i386/x86-tune-costs.h
*** gcc-11.4.0/gcc/config/i386/x86-tune-costs.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/x86-tune-costs.h	Fri Jul 19 05:52:43 2024
*************** struct processor_costs znver3_cost = {
*** 1820,1825 ****
--- 1820,1959 ----
    "16",					/* Func alignment.  */
  };
  
+ /* This table currently replicates znver3_cost table. */
+ struct processor_costs znver4_cost = {
+   {
+   /* Start of register allocator costs.  integer->integer move cost is 2. */
+ 
+   /* reg-reg moves are done by renaming and thus they are even cheaper than
+      1 cycle.  Because reg-reg move cost is 2 and following tables correspond
+      to doubles of latencies, we do not model this correctly.  It does not
+      seem to make practical difference to bump prices up even more.  */
+   6,					/* cost for loading QImode using
+ 					   movzbl.  */
+   {6, 6, 6},				/* cost of loading integer registers
+ 					   in QImode, HImode and SImode.
+ 					   Relative to reg-reg move (2).  */
+   {8, 8, 8},				/* cost of storing integer
+ 					   registers.  */
+   2,					/* cost of reg,reg fld/fst.  */
+   {14, 14, 17},				/* cost of loading fp registers
+ 					   in SFmode, DFmode and XFmode.  */
+   {12, 12, 16},				/* cost of storing fp registers
+ 					   in SFmode, DFmode and XFmode.  */
+   2,					/* cost of moving MMX register.  */
+   {6, 6},				/* cost of loading MMX registers
+ 					   in SImode and DImode.  */
+   {8, 8},				/* cost of storing MMX registers
+ 					   in SImode and DImode.  */
+   2, 2, 3,				/* cost of moving XMM,YMM,ZMM
+ 					   register.  */
+   {6, 6, 10, 10, 12},			/* cost of loading SSE registers
+ 					   in 32,64,128,256 and 512-bit.  */
+   {8, 8, 8, 12, 12},			/* cost of storing SSE registers
+ 					   in 32,64,128,256 and 512-bit.  */
+   6, 8,					/* SSE->integer and integer->SSE
+ 					   moves.  */
+   8, 8,					/* mask->integer and integer->mask moves */
+   {6, 6, 6},				/* cost of loading mask register
+ 					   in QImode, HImode, SImode.  */
+   {8, 8, 8},				/* cost if storing mask register
+ 					   in QImode, HImode, SImode.  */
+   2,					/* cost of moving mask register.  */
+   /* End of register allocator costs.  */
+   },
+ 
+   COSTS_N_INSNS (1),			/* cost of an add instruction.  */
+   /* TODO: Lea with 3 components has cost 2.  */
+   COSTS_N_INSNS (1),			/* cost of a lea instruction.  */
+   COSTS_N_INSNS (1),			/* variable shift costs.  */
+   COSTS_N_INSNS (1),			/* constant shift costs.  */
+   {COSTS_N_INSNS (3),			/* cost of starting multiply for QI.  */
+    COSTS_N_INSNS (3),			/* 				 HI.  */
+    COSTS_N_INSNS (3),			/*				 SI.  */
+    COSTS_N_INSNS (3),			/*				 DI.  */
+    COSTS_N_INSNS (3)},			/*			other.  */
+   0,					/* cost of multiply per each bit
+ 					   set.  */
+   {COSTS_N_INSNS (12),			/* cost of a divide/mod for QI.  */
+    COSTS_N_INSNS (13),			/* 			    HI.  */
+    COSTS_N_INSNS (13),			/*			    SI.  */
+    COSTS_N_INSNS (18),			/*			    DI.  */
+    COSTS_N_INSNS (18)},			/*			    other.  */
+   COSTS_N_INSNS (1),			/* cost of movsx.  */
+   COSTS_N_INSNS (1),			/* cost of movzx.  */
+   8,					/* "large" insn.  */
+   9,					/* MOVE_RATIO.  */
+   6,					/* CLEAR_RATIO */
+   {6, 6, 6},				/* cost of loading integer registers
+ 					   in QImode, HImode and SImode.
+ 					   Relative to reg-reg move (2).  */
+   {8, 8, 8},				/* cost of storing integer
+ 					   registers.  */
+   {6, 6, 10, 10, 12},			/* cost of loading SSE registers
+ 					   in 32bit, 64bit, 128bit, 256bit and 512bit */
+   {8, 8, 8, 12, 12},			/* cost of storing SSE register
+ 					   in 32bit, 64bit, 128bit, 256bit and 512bit */
+   {6, 6, 10, 10, 12},			/* cost of unaligned loads.  */
+   {8, 8, 8, 12, 12},			/* cost of unaligned stores.  */
+   2, 2, 2,				/* cost of moving XMM,YMM,ZMM
+ 					   register.  */
+   6,					/* cost of moving SSE register to integer.  */
+   /* VGATHERDPD is 17 uops and throughput is 4, VGATHERDPS is 24 uops,
+      throughput 5.  Approx 7 uops do not depend on vector size and every load
+      is 5 uops.  */
+   14, 10,				/* Gather load static, per_elt.  */
+   14, 20,				/* Gather store static, per_elt.  */
+   32,					/* size of l1 cache.  */
+   1024,					/* size of l2 cache.  */
+   64,					/* size of prefetch block.  */
+   /* New AMD processors never drop prefetches; if they cannot be performed
+      immediately, they are queued.  We set number of simultaneous prefetches
+      to a large constant to reflect this (it probably is not a good idea not
+      to limit number of prefetches at all, as their execution also takes some
+      time).  */
+   100,					/* number of parallel prefetches.  */
+   3,					/* Branch cost.  */
+   COSTS_N_INSNS (7),			/* cost of FADD and FSUB insns.  */
+   COSTS_N_INSNS (7),			/* cost of FMUL instruction.  */
+   /* Latency of fdiv is 8-15.  */
+   COSTS_N_INSNS (15),			/* cost of FDIV instruction.  */
+   COSTS_N_INSNS (1),			/* cost of FABS instruction.  */
+   COSTS_N_INSNS (1),			/* cost of FCHS instruction.  */
+   /* Latency of fsqrt is 4-10.  */
+   COSTS_N_INSNS (25),			/* cost of FSQRT instruction.  */
+ 
+   COSTS_N_INSNS (1),			/* cost of cheap SSE instruction.  */
+   COSTS_N_INSNS (3),			/* cost of ADDSS/SD SUBSS/SD insns.  */
+   COSTS_N_INSNS (3),			/* cost of MULSS instruction.  */
+   COSTS_N_INSNS (3),			/* cost of MULSD instruction.  */
+   COSTS_N_INSNS (4),			/* cost of FMA SS instruction.  */
+   COSTS_N_INSNS (4),			/* cost of FMA SD instruction.  */
+   COSTS_N_INSNS (13),			/* cost of DIVSS instruction.  */
+   /* 9-13.  */
+   COSTS_N_INSNS (13),			/* cost of DIVSD instruction.  */
+   COSTS_N_INSNS (15),			/* cost of SQRTSS instruction.  */
+   COSTS_N_INSNS (21),			/* cost of SQRTSD instruction.  */
+   /* Zen can execute 4 integer operations per cycle.  FP operations
+      take 3 cycles and it can execute 2 integer additions and 2
+      multiplications thus reassociation may make sense up to with of 6.
+      SPEC2k6 bencharks suggests
+      that 4 works better than 6 probably due to register pressure.
+ 
+      Integer vector operations are taken by FP unit and execute 3 vector
+      plus/minus operations per cycle but only one multiply.  This is adjusted
+      in ix86_reassociation_width.  */
+   4, 4, 3, 6,				/* reassoc int, fp, vec_int, vec_fp.  */
+   znver2_memcpy,
+   znver2_memset,
+   COSTS_N_INSNS (4),			/* cond_taken_branch_cost.  */
+   COSTS_N_INSNS (2),			/* cond_not_taken_branch_cost.  */
+   "16",					/* Loop alignment.  */
+   "16",					/* Jump alignment.  */
+   "0:0:8",				/* Label alignment.  */
+   "16",					/* Func alignment.  */
+ };
+ 
  /* skylake_cost should produce code tuned for Skylake familly of CPUs.  */
  static stringop_algs skylake_memcpy[2] =   {
    {libcall,
diff -Nrcpad gcc-11.4.0/gcc/config/i386/x86-tune-sched.c gcc-11.5.0/gcc/config/i386/x86-tune-sched.c
*** gcc-11.4.0/gcc/config/i386/x86-tune-sched.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/x86-tune-sched.c	Fri Jul 19 05:52:43 2024
*************** ix86_issue_rate (void)
*** 67,72 ****
--- 67,73 ----
      case PROCESSOR_ZNVER1:
      case PROCESSOR_ZNVER2:
      case PROCESSOR_ZNVER3:
+     case PROCESSOR_ZNVER4:
      case PROCESSOR_CORE2:
      case PROCESSOR_NEHALEM:
      case PROCESSOR_SANDYBRIDGE:
*************** ix86_adjust_cost (rtx_insn *insn, int de
*** 398,403 ****
--- 399,405 ----
      case PROCESSOR_ZNVER1:
      case PROCESSOR_ZNVER2:
      case PROCESSOR_ZNVER3:
+     case PROCESSOR_ZNVER4:
        /* Stack engine allows to execute push&pop instructions in parall.  */
        if ((insn_type == TYPE_PUSH || insn_type == TYPE_POP)
  	  && (dep_insn_type == TYPE_PUSH || dep_insn_type == TYPE_POP))
diff -Nrcpad gcc-11.4.0/gcc/config/i386/x86-tune.def gcc-11.5.0/gcc/config/i386/x86-tune.def
*** gcc-11.4.0/gcc/config/i386/x86-tune.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/x86-tune.def	Fri Jul 19 05:52:43 2024
*************** DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES,
*** 442,448 ****
  
  /* X86_TUNE_USE_GATHER: Use gather instructions.  */
  DEF_TUNE (X86_TUNE_USE_GATHER, "use_gather",
! 	  ~(m_ZNVER1 | m_ZNVER2 | m_GENERIC))
  
  /* X86_TUNE_AVOID_128FMA_CHAINS: Avoid creating loops with tight 128bit or
     smaller FMA chain.  */
--- 442,448 ----
  
  /* X86_TUNE_USE_GATHER: Use gather instructions.  */
  DEF_TUNE (X86_TUNE_USE_GATHER, "use_gather",
! 	  ~(m_ZNVER1 | m_ZNVER2 | m_GENERIC | m_GDS))
  
  /* X86_TUNE_AVOID_128FMA_CHAINS: Avoid creating loops with tight 128bit or
     smaller FMA chain.  */
*************** DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS,
*** 450,456 ****
  
  /* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or
     smaller FMA chain.  */
! DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3)
  
  /*****************************************************************************/
  /* AVX instruction selection tuning (some of SSE flags affects AVX, too)     */
--- 450,461 ----
  
  /* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or
     smaller FMA chain.  */
! DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3 | m_ZNVER4)
! 
! /* X86_TUNE_AVOID_512FMA_CHAINS: Avoid creating loops with tight 512bit or
!    smaller FMA chain.  */
! DEF_TUNE (X86_TUNE_AVOID_512FMA_CHAINS, "avoid_fma512_chains", m_ZNVER4)
! 
  
  /*****************************************************************************/
  /* AVX instruction selection tuning (some of SSE flags affects AVX, too)     */
*************** DEF_TUNE (X86_TUNE_AVX128_OPTIMAL, "avx1
*** 477,483 ****
  
  /* X86_TUNE_AVX256_OPTIMAL: Use 256-bit AVX instructions instead of 512-bit AVX
     instructions in the auto-vectorizer.  */
! DEF_TUNE (X86_TUNE_AVX256_OPTIMAL, "avx256_optimal", m_CORE_AVX512)
  
  /*****************************************************************************/
  /* Historical relics: tuning flags that helps a specific old CPU designs     */
--- 482,491 ----
  
  /* X86_TUNE_AVX256_OPTIMAL: Use 256-bit AVX instructions instead of 512-bit AVX
     instructions in the auto-vectorizer.  */
! DEF_TUNE (X86_TUNE_AVX256_OPTIMAL, "avx256_optimal", m_CORE_AVX512 | m_ZNVER4)
! 
! /* X86_TUNE_AVX256_SPLIT_REGS: if true, AVX512 ops are split into two AVX256 ops.  */
! DEF_TUNE (X86_TUNE_AVX512_SPLIT_REGS, "avx512_split_regs", m_ZNVER4)
  
  /*****************************************************************************/
  /* Historical relics: tuning flags that helps a specific old CPU designs     */
diff -Nrcpad gcc-11.4.0/gcc/config/i386/znver.md gcc-11.5.0/gcc/config/i386/znver.md
*** gcc-11.4.0/gcc/config/i386/znver.md	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/config/i386/znver.md	Fri Jul 19 05:52:43 2024
***************
*** 0 ****
--- 1,1350 ----
+ ;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
+ ;;
+ ;; This file is part of GCC.
+ ;;
+ ;; GCC is free software; you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation; either version 3, or (at your option)
+ ;; any later version.
+ ;;
+ ;; GCC is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ ;; GNU General Public License for more details.
+ ;;
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GCC; see the file COPYING3.  If not see
+ ;; <http://www.gnu.org/licenses/>.
+ ;;
+ 
+ 
+ (define_attr "znver1_decode" "direct,vector,double"
+   (const_string "direct"))
+ 
+ ;; AMD znver1, znver2 and znver3 Scheduling
+ ;; Modeling automatons for zen decoders, integer execution pipes,
+ ;; AGU pipes and floating point execution units.
+ (define_automaton "znver1, znver1_ieu, znver1_fp, znver1_agu")
+ 
+ ;; Decoders unit has 4 decoders and all of them can decode fast path
+ ;; and vector type instructions.
+ (define_cpu_unit "znver1-decode0" "znver1")
+ (define_cpu_unit "znver1-decode1" "znver1")
+ (define_cpu_unit "znver1-decode2" "znver1")
+ (define_cpu_unit "znver1-decode3" "znver1")
+ 
+ ;; Currently blocking all decoders for vector path instructions as
+ ;; they are dispatched separetely as microcode sequence.
+ ;; Fix me: Need to revisit this.
+ (define_reservation "znver1-vector" "znver1-decode0+znver1-decode1+znver1-decode2+znver1-decode3")
+ 
+ ;; Direct instructions can be issued to any of the four decoders.
+ (define_reservation "znver1-direct" "znver1-decode0|znver1-decode1|znver1-decode2|znver1-decode3")
+ 
+ ;; Fix me: Need to revisit this later to simulate fast path double behavior.
+ (define_reservation "znver1-double" "znver1-direct")
+ 
+ 
+ ;; Integer unit 4 ALU pipes.
+ (define_cpu_unit "znver1-ieu0" "znver1_ieu")
+ (define_cpu_unit "znver1-ieu1" "znver1_ieu")
+ (define_cpu_unit "znver1-ieu2" "znver1_ieu")
+ (define_cpu_unit "znver1-ieu3" "znver1_ieu")
+ (define_reservation "znver1-ieu" "znver1-ieu0|znver1-ieu1|znver1-ieu2|znver1-ieu3")
+ 
+ ;; 2 AGU pipes in znver1 and 3 AGU pipes in znver2 and znver3
+ ;; According to CPU diagram last AGU unit is used only for stores.
+ (define_cpu_unit "znver1-agu0" "znver1_agu")
+ (define_cpu_unit "znver1-agu1" "znver1_agu")
+ (define_cpu_unit "znver2-agu2" "znver1_agu")
+ (define_reservation "znver1-agu-reserve" "znver1-agu0|znver1-agu1")
+ (define_reservation "znver2-store-agu-reserve" "znver1-agu0|znver1-agu1|znver2-agu2")
+ 
+ ;; Load is 4 cycles. We do not model reservation of load unit.
+ ;;(define_reservation "znver1-load" "znver1-agu-reserve, nothing, nothing, nothing")
+ (define_reservation "znver1-load" "znver1-agu-reserve")
+ ;; Store operations differs between znver1, znver2 and znver3 because extra AGU
+ ;; was added.
+ (define_reservation "znver1-store" "znver1-agu-reserve")
+ (define_reservation "znver2-store" "znver2-store-agu-reserve")
+ 
+ ;; vectorpath (microcoded) instructions are single issue instructions.
+ ;; So, they occupy all the integer units.
+ (define_reservation "znver1-ivector" "znver1-ieu0+znver1-ieu1
+ 				      +znver1-ieu2+znver1-ieu3
+ 				      +znver1-agu0+znver1-agu1")
+ 
+ (define_reservation "znver2-ivector" "znver1-ieu0+znver1-ieu1
+ 				      +znver1-ieu2+znver1-ieu3
+ 				      +znver1-agu0+znver1-agu1+znver2-agu2")
+ 
+ ;; Floating point unit 4 FP pipes.
+ (define_cpu_unit "znver1-fp0" "znver1_fp")
+ (define_cpu_unit "znver1-fp1" "znver1_fp")
+ (define_cpu_unit "znver1-fp2" "znver1_fp")
+ (define_cpu_unit "znver1-fp3" "znver1_fp")
+ 
+ (define_reservation "znver1-fpu" "znver1-fp0|znver1-fp1|znver1-fp2|znver1-fp3")
+ 
+ (define_reservation "znver1-fvector" "znver1-fp0+znver1-fp1
+ 				      +znver1-fp2+znver1-fp3
+ 				      +znver1-agu0+znver1-agu1")
+ (define_reservation "znver2-fvector" "znver1-fp0+znver1-fp1
+ 				      +znver1-fp2+znver1-fp3
+ 				      +znver1-agu0+znver1-agu1+znver2-agu2")
+ 
+ ;; Call instruction
+ (define_insn_reservation "znver1_call" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (eq_attr "type" "call,callv"))
+ 			 "znver1-double,znver1-store,znver1-ieu0|znver1-ieu3")
+ 
+ (define_insn_reservation "znver2_call" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (eq_attr "type" "call,callv"))
+ 			 "znver1-double,znver2-store,znver1-ieu0|znver1-ieu3")
+ 
+ ;; General instructions
+ (define_insn_reservation "znver1_push" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "push")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver1-direct,znver1-store")
+ (define_insn_reservation "znver2_push" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "push")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver1-direct,znver2-store")
+ 
+ (define_insn_reservation "znver1_push_load" 4
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "push")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver1-store")
+ (define_insn_reservation "znver2_push_load" 4
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "push")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver2-store")
+ 
+ (define_insn_reservation "znver1_pop" 4
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "pop")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load")
+ 
+ (define_insn_reservation "znver1_pop_mem" 4
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "pop")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver1-store")
+ (define_insn_reservation "znver2_pop_mem" 4
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "pop")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver2-store")
+ 
+ ;; Leave
+ (define_insn_reservation "znver1_leave" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (eq_attr "type" "leave"))
+ 			 "znver1-double,znver1-ieu, znver1-store")
+ (define_insn_reservation "znver2_leave" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (eq_attr "type" "leave"))
+ 			 "znver1-double,znver1-ieu, znver2-store")
+ 
+ ;; Integer Instructions or General instructions
+ ;; Multiplications
+ ;; Reg operands
+ (define_insn_reservation "znver1_imul" 3
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "imul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-ieu1")
+ 
+ (define_insn_reservation "znver1_imul_mem" 7
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "imul")
+ 				   (eq_attr "memory" "!none")))
+ 			 "znver1-direct,znver1-load, znver1-ieu1")
+ 
+ ;; Divisions
+ ;; Reg operands
+ (define_insn_reservation "znver1_idiv_DI" 41
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "DI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*41")
+ 
+ (define_insn_reservation "znver1_idiv_SI" 25
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "SI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*25")
+ 
+ (define_insn_reservation "znver1_idiv_HI" 17
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "HI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*17")
+ 
+ (define_insn_reservation "znver1_idiv_QI" 12
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "QI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-direct,znver1-ieu2*12")
+ 
+ ;; Mem operands
+ (define_insn_reservation "znver1_idiv_mem_DI" 45
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "DI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-load,znver1-ieu2*41")
+ 
+ (define_insn_reservation "znver1_idiv_mem_SI" 29
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "SI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-load,znver1-ieu2*25")
+ 
+ (define_insn_reservation "znver1_idiv_mem_HI" 21
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "HI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-load,znver1-ieu2*17")
+ 
+ (define_insn_reservation "znver1_idiv_mem_QI" 16
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "QI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-direct,znver1-load,znver1-ieu2*12")
+ 
+ (define_insn_reservation "znver3_idiv_DI" 18
+ 			 (and (eq_attr "cpu" "znver3")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "DI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*18")
+ 
+ (define_insn_reservation "znver3_idiv_SI" 12
+ 			 (and (eq_attr "cpu" "znver3")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "SI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*12")
+ 
+ (define_insn_reservation "znver3_idiv_HI" 10
+ 			 (and (eq_attr "cpu" "znver3")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "HI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu2*10")
+ 
+ (define_insn_reservation "znver3_idiv_QI" 9
+ 			 (and (eq_attr "cpu" "znver3")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "QI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-direct,znver1-ieu2*9")
+ 
+ (define_insn_reservation "znver3_idiv_mem_DI" 22
+                          (and (eq_attr "cpu" "znver3")
+                               (and (eq_attr "type" "idiv")
+                                    (and (eq_attr "mode" "DI")
+                                         (eq_attr "memory" "load"))))
+                          "znver1-double,znver1-load,znver1-ieu2*22")
+ 
+ (define_insn_reservation "znver3_idiv_mem_SI" 16
+                          (and (eq_attr "cpu" "znver3")
+                               (and (eq_attr "type" "idiv")
+                                    (and (eq_attr "mode" "SI")
+                                         (eq_attr "memory" "load"))))
+                          "znver1-double,znver1-load,znver1-ieu2*16")
+ 
+ (define_insn_reservation "znver3_idiv_mem_HI" 14
+                          (and (eq_attr "cpu" "znver3")
+                               (and (eq_attr "type" "idiv")
+                                    (and (eq_attr "mode" "HI")
+                                         (eq_attr "memory" "load"))))
+                          "znver1-double,znver1-load,znver1-ieu2*10")
+ 
+ (define_insn_reservation "znver3_idiv_mem_QI" 13
+                          (and (eq_attr "cpu" "znver3")
+                               (and (eq_attr "type" "idiv")
+                                    (and (eq_attr "mode" "QI")
+                                         (eq_attr "memory" "load"))))
+                          "znver1-direct,znver1-load,znver1-ieu2*9")
+ 
+ ;; STR ISHIFT which are micro coded.
+ ;; Fix me: Latency need to be rechecked.
+ (define_insn_reservation "znver1_str_ishift" 6
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "str,ishift")
+ 				   (eq_attr "memory" "both,store")))
+ 			 "znver1-vector,znver1-ivector")
+ 
+ (define_insn_reservation "znver2_str_ishift" 3
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ishift")
+ 				   (eq_attr "memory" "both,store")))
+ 			 "znver1-vector,znver1-ivector")
+ (define_insn_reservation "znver2_str_istr" 19
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "str")
+ 				   (eq_attr "memory" "both,store")))
+ 			 "znver1-vector,znver1-ivector")
+ 
+ ;; MOV - integer moves
+ (define_insn_reservation "znver1_load_imov_double" 2
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu|znver1-ieu")
+ 
+ (define_insn_reservation "znver2_load_imov_double" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-ieu|znver1-ieu")
+ 
+ (define_insn_reservation "znver1_load_imov_direct" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "imov,imovx")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-ieu")
+ 
+ (define_insn_reservation "znver1_load_imov_double_store" 2
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver1-double,znver1-ieu|znver1-ieu,znver1-store")
+ 
+ (define_insn_reservation "znver2_load_imov_double_store" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver1-double,znver1-ieu|znver1-ieu,znver2-store")
+ 
+ (define_insn_reservation "znver1_load_imov_direct_store" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "imov,imovx")
+ 				   (eq_attr "memory" "store")))
+ 				   "znver1-direct,znver1-ieu,znver1-store")
+ 
+ (define_insn_reservation "znver2_load_imov_direct_store" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "imov,imovx")
+ 				   (eq_attr "memory" "store")))
+ 				   "znver1-direct,znver1-ieu,znver2-store")
+ 
+ (define_insn_reservation "znver1_load_imov_double_load" 5
+ 			 (and (eq_attr "cpu" "znver1,znver2")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-ieu|znver1-ieu")
+ 
+ (define_insn_reservation "znver2_load_imov_double_load" 4
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "imovx")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-ieu|znver1-ieu")
+ 
+ (define_insn_reservation "znver1_load_imov_direct_load" 4
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "imov,imovx")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load")
+ 
+ ;; INTEGER/GENERAL instructions
+ ;; register/imm operands only: ALU, ICMP, NEG, NOT, ROTATE, ISHIFT, TEST
+ (define_insn_reservation "znver1_insn" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver1-direct,znver1-ieu")
+ 
+ (define_insn_reservation "znver1_insn_load" 5
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-ieu")
+ 
+ (define_insn_reservation "znver1_insn_store" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver1-direct,znver1-ieu,znver1-store")
+ 
+ (define_insn_reservation "znver2_insn_store" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver1-direct,znver1-ieu,znver2-store")
+ 
+ (define_insn_reservation "znver1_insn_both" 5
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver1-ieu,znver1-store")
+ 
+ (define_insn_reservation "znver2_insn_both" 5
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver1-direct,znver1-load,znver1-ieu,znver2-store")
+ 
+ ;; Fix me: Other vector type insns keeping latency 6 as of now.
+ (define_insn_reservation "znver1_ieu_vector" 6
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (eq_attr "type" "other,str,multi"))
+ 			 "znver1-vector,znver1-ivector")
+ 
+ (define_insn_reservation "znver2_ieu_vector" 5
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (eq_attr "type" "other,str,multi"))
+ 			 "znver1-vector,znver2-ivector")
+ 
+ ;; ALU1 register operands.
+ (define_insn_reservation "znver1_alu1_vector" 3
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "none,unknown"))))
+ 			 "znver1-vector,znver1-ivector")
+ 
+ (define_insn_reservation "znver2_alu1_vector" 3
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "none,unknown"))))
+ 			 "znver1-vector,znver2-ivector")
+ 
+ (define_insn_reservation "znver1_alu1_double" 2
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "none,unknown"))))
+ 			 "znver1-double,znver1-ieu")
+ 
+ (define_insn_reservation "znver1_alu1_direct" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "none,unknown"))))
+ 			 "znver1-direct,znver1-ieu")
+ 
+ ;; Branches : Fix me need to model conditional branches.
+ (define_insn_reservation "znver1_branch" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "none")))
+ 			  "znver1-direct")
+ 
+ ;; Indirect branches check latencies.
+ (define_insn_reservation "znver1_indirect_branch_mem" 6
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "load")))
+ 			 "znver1-vector,znver1-ivector")
+ 
+ (define_insn_reservation "znver2_indirect_branch_mem" 6
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "load")))
+ 			 "znver1-vector,znver2-ivector")
+ 
+ ;; LEA executes in ALU units with 1 cycle latency.
+ (define_insn_reservation "znver1_lea" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (eq_attr "type" "lea"))
+ 			 "znver1-direct,znver1-ieu")
+ 
+ ;; Other integer instrucions
+ (define_insn_reservation "znver1_idirect" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "unit" "integer,unknown")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver1-direct,znver1-ieu")
+ 
+ ;;  Floating point
+ (define_insn_reservation "znver1_fp_cmov" 6
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (eq_attr "type" "fcmov"))
+ 			 "znver1-vector,znver1-fvector")
+ 
+ (define_insn_reservation "znver1_fp_mov_direct_load" 8 
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-direct,znver1-load,znver1-fp3|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_fp_mov_direct_store" 5
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver1-direct,znver1-fp2|znver1-fp3,znver1-store")
+ (define_insn_reservation "znver2_fp_mov_direct_store" 5
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver1-direct,znver1-fp2|znver1-fp3,znver2-store")
+ 
+ (define_insn_reservation "znver1_fp_mov_double" 4
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp3")
+ 
+ (define_insn_reservation "znver1_fp_mov_double_load" 12
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp3")
+ 
+ (define_insn_reservation "znver1_fp_mov_direct" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (eq_attr "type" "fmov"))
+ 			 "znver1-direct,znver1-fp3")
+ 
+ ;; TODO: AGU?
+ (define_insn_reservation "znver1_fp_spc_direct" 5
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fpspc")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver1-direct,znver1-fp3,znver1-fp2")
+ 
+ (define_insn_reservation "znver1_fp_insn_vector" 6
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (eq_attr "type" "fpspc,mmxcvt,sselog1,ssemul,ssemov")))
+ 			 "znver1-vector,znver1-fvector")
+ (define_insn_reservation "znver2_fp_insn_vector" 6
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (eq_attr "type" "fpspc,mmxcvt,sselog1,ssemul,ssemov")))
+ 			 "znver1-vector,znver2-fvector")
+ 
+ ;; FABS
+ (define_insn_reservation "znver1_fp_fsgn" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (eq_attr "type" "fsgn"))
+ 			 "znver1-direct,znver1-fp3")
+ 
+ (define_insn_reservation "znver1_fp_fcmp" 2
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "memory" "none")
+ 				   (and (eq_attr "znver1_decode" "double")
+ 					(eq_attr "type" "fcmp"))))
+ 			 "znver1-double,znver1-fp0,znver1-fp2")
+ 
+ (define_insn_reservation "znver1_fp_fcmp_load" 9
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "memory" "none")
+ 				   (and (eq_attr "znver1_decode" "double")
+ 					(eq_attr "type" "fcmp"))))
+ 			 "znver1-double,znver1-load, znver1-fp0,znver1-fp2")
+ 
+ ;;FADD FSUB FMUL
+ (define_insn_reservation "znver1_fp_op_mul" 5
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fop,fmul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0*5")
+ 
+ (define_insn_reservation "znver1_fp_op_mul_load" 12 
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fop,fmul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0*5")
+ 
+ (define_insn_reservation "znver1_fp_op_imul_load" 16
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fop,fmul")
+ 				   (and (eq_attr "fp_int_src" "true")
+ 					(eq_attr "memory" "load"))))
+ 			"znver1-double,znver1-load,znver1-fp3,znver1-fp0")
+ 
+ (define_insn_reservation "znver1_fp_op_div" 15
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp3*15")
+ 
+ (define_insn_reservation "znver1_fp_op_div_load" 22
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp3*15")
+ 
+ (define_insn_reservation "znver1_fp_op_idiv_load" 27
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (and (eq_attr "fp_int_src" "true")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp3*19")
+ 
+ (define_insn_reservation "znver2_fp_op_idiv_load" 26
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (and (eq_attr "fp_int_src" "true")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp3*19")
+ 
+ 
+ ;; MMX, SSE, SSEn.n, AVX, AVX2 instructions
+ (define_insn_reservation "znver1_fp_insn" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (eq_attr "type" "mmx"))
+ 			 "znver1-direct,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_mmx_add" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxadd")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_mmx_add_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxadd")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_mmx_cmp" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxcmp")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_mmx_cmp_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxcmp")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_mmx_cvt_pck_shuf" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_mmx_cvt_pck_shuf_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_mmx_shift_move" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxshft,mmxmov")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp2")
+ 
+ (define_insn_reservation "znver1_mmx_shift_move_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxshft,mmxmov")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp2")
+ 
+ (define_insn_reservation "znver1_mmx_move_store" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "mmxshft,mmxmov")
+ 				   (eq_attr "memory" "store,both")))
+ 			  "znver1-direct,znver1-fp2,znver1-store")
+ (define_insn_reservation "znver2_mmx_move_store" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "mmxshft,mmxmov")
+ 				   (eq_attr "memory" "store,both")))
+ 			  "znver1-direct,znver1-fp2,znver2-store")
+ 
+ (define_insn_reservation "znver1_mmx_mul" 3
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxmul")
+ 				   (eq_attr "memory" "none")))
+ 			  "znver1-direct,znver1-fp0*3")
+ 
+ (define_insn_reservation "znver1_mmx_load" 10
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "mmxmul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0*3")
+ 
+ ;; TODO
+ (define_insn_reservation "znver1_avx256_log" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+  				   (and (eq_attr "type" "sselog")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_avx256_log_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "sselog")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_sse_log" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_sse_log_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_avx256_log1" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "sselog1")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_avx256_log1_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "sselog1")
+ 					(eq_attr "memory" "!none"))))
+ 			 "znver1-double,znver1-load,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_sse_log1" 1
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_sse_log1_load" 8
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (eq_attr "memory" "!none")))
+ 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_sse_comi" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "SF,DF,V4SF,V2DF")
+ 				   (and (eq_attr "prefix" "!vex")
+ 					(and (eq_attr "prefix_extra" "0")
+ 					     (and (eq_attr "type" "ssecomi")
+ 						  (eq_attr "memory" "none"))))))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_comi_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "prefix_extra" "0")
+ 				   (and (eq_attr "type" "ssecomi")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_comi_double" 2
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "prefix" "vex")
+ 				   (and (eq_attr "prefix_extra" "0")
+ 					(and (eq_attr "type" "ssecomi")
+ 					     (eq_attr "memory" "none")))))
+ 			 "znver1-double,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_comi_double_load" 10
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "prefix" "vex")
+ 				   (and (eq_attr "prefix_extra" "0")
+ 					(and (eq_attr "type" "ssecomi")
+ 					     (eq_attr "memory" "load")))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_test" 1
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "prefix_extra" "1")
+ 				   (and (eq_attr "type" "ssecomi")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-direct,znver1-fp1|znver1-fp2")
+ 
+ (define_insn_reservation "znver1_sse_test_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "prefix_extra" "1")
+ 				   (and (eq_attr "type" "ssecomi")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
+ 
+ ;; SSE moves
+ ;; Fix me:  Need to revist this again some of the moves may be restricted
+ ;; to some fpu pipes.
+ (define_insn_reservation "znver1_sse_mov" 2
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (eq_attr "isa" "avx")
+ 					(and (eq_attr "type" "ssemov")
+ 					     (eq_attr "memory" "none")))))
+ 			 "znver1-direct,znver1-ieu0")
+ 
+ (define_insn_reservation "znver2_sse_mov" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (eq_attr "isa" "avx")
+ 					(and (eq_attr "type" "ssemov")
+ 					     (eq_attr "memory" "none")))))
+ 			 "znver1-direct,znver1-ieu0")
+ 
+ (define_insn_reservation "znver1_avx_mov" 2
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "TI")
+ 				   (and (eq_attr "isa" "avx")
+ 					(and (eq_attr "type" "ssemov")
+ 					     (and (match_operand:SI 1 "register_operand")
+ 						  (eq_attr "memory" "none"))))))
+ 			 "znver1-direct,znver1-ieu2")
+ 
+ (define_insn_reservation "znver2_avx_mov" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "mode" "TI")
+ 				   (and (eq_attr "isa" "avx")
+ 					(and (eq_attr "type" "ssemov")
+ 					     (and (match_operand:SI 1 "register_operand")
+ 						  (eq_attr "memory" "none"))))))
+ 			 "znver1-direct,znver1-ieu2")
+ 
+ (define_insn_reservation "znver1_sseavx_mov" 1
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					      (eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_sseavx_mov_store" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "SF,DF,V4SF,V2DF,TI")
+ 				   (and (eq_attr "type" "ssemov")
+ 					(eq_attr "memory" "store"))))
+ 			"znver1-direct,znver1-fpu,znver1-store")
+ (define_insn_reservation "znver2_sseavx_mov_store" 1
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (eq_attr "memory" "store")))
+ 			"znver1-direct,znver1-fpu,znver2-store")
+ 
+ (define_insn_reservation "znver1_sseavx_mov_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			       (and (eq_attr "type" "ssemov")
+ 				    (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_avx256_mov" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "ssemov")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fpu")
+ 
+ (define_insn_reservation "znver1_avx256_mov_store" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "ssemov")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver1-double,znver1-fpu,znver1-store")
+ 
+ (define_insn_reservation "znver1_avx256_mov_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "ssemov")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fpu")
+ 
+ ;; SSE add
+ (define_insn_reservation "znver1_sseavx_add" 3
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp2|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sseavx_add_load" 10
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp2|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_avx256_add" 3
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "sseadd")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp2|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_avx256_add_load" 10
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
+ 				   (and (eq_attr "type" "sseadd")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp2|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sseavx_fma" 5
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (eq_attr "cpu" "znver2"))
+ 			      (and (eq_attr "type" "ssemuladd")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sseavx_fma_load" 12
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (eq_attr "cpu" "znver2"))
+ 			      (and (eq_attr "type" "ssemuladd")
+ 				   (eq_attr "memory" "load")))
+ 			"znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_avx256_fma" 5
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF")
+ 				   (and (eq_attr "type" "ssemuladd")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_avx256_fma_load" 12
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF")
+ 				   (and (eq_attr "type" "ssemuladd")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver3_sseavx_fma" 4
+ 			 (and (and (eq_attr "cpu" "znver3")
+ 			      (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (and (eq_attr "type" "ssemuladd")
+ 					(eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver3_sseavx_fma_load" 11
+ 			 (and (and (eq_attr "cpu" "znver3")
+ 			       (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				     (and (eq_attr "type" "ssemuladd")
+ 					  (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver3_avx256_fma" 4
+ 			 (and (eq_attr "cpu" "znver3")
+ 			      (and (eq_attr "mode" "V8SF,V4DF")
+ 			           (and (eq_attr "type" "ssemuladd")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver3_avx256_fma_load" 11
+ 			  (and (eq_attr "cpu" "znver3")
+ 			       (and (eq_attr "mode" "V8SF,V4DF")
+ 			            (and (eq_attr "type" "ssemuladd")
+ 					 (eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sseavx_iadd" 1
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "DI,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sseavx_iadd_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "DI,TI"))
+ 				   (ior (eq_attr "cpu" "znver2")
+ 					(eq_attr "cpu" "znver3")))
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_avx256_iadd" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "sseiadd")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_avx256_iadd_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "sseiadd")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
+ 
+ ;; SSE conversions.
+ (define_insn_reservation "znver1_ssecvtsf_si_load" 12
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (eq_attr "type" "sseicvt")
+ 					(and (match_operand:SF 1 "memory_operand")
+ 					     (eq_attr "memory" "load")))))
+ 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
+ 
+ (define_insn_reservation "znver1_ssecvtdf_si" 5
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (match_operand:DF 1 "register_operand")
+ 					(and (eq_attr "type" "sseicvt")
+ 					     (eq_attr "memory" "none")))))
+ 			 "znver1-double,znver1-fp3,znver1-ieu0")
+ (define_insn_reservation "znver2_ssecvtdf_si" 4
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (match_operand:DF 1 "register_operand")
+ 					(and (eq_attr "type" "sseicvt")
+ 					     (eq_attr "memory" "none")))))
+ 			 "znver1-double,znver1-fp3,znver1-ieu0")
+ 
+ (define_insn_reservation "znver1_ssecvtdf_si_load" 12
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (eq_attr "type" "sseicvt")
+ 					(and (match_operand:DF 1 "memory_operand")
+ 					     (eq_attr "memory" "load")))))
+ 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
+ 
+ (define_insn_reservation "znver2_ssecvtdf_si_load" 11
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "mode" "SI")
+ 				   (and (eq_attr "type" "sseicvt")
+ 					(and (match_operand:DF 1 "memory_operand")
+ 					     (eq_attr "memory" "load")))))
+ 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
+ 
+ 
+ ;; All other used ssecvt fp3 pipes
+ ;; Check: Need to revisit this again.
+ ;; Some SSE converts may use different pipe combinations.
+ (define_insn_reservation "znver1_ssecvt" 4
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp3")
+ 
+ (define_insn_reservation "znver2_ssecvt" 3
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp3")
+ 
+ (define_insn_reservation "znver1_ssecvt_load" 11
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp3")
+ 
+ ;; SSE div
+ (define_insn_reservation "znver1_ssediv_ss_ps" 10
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF")))
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp3*10")
+ 
+ (define_insn_reservation "znver1_ssediv_ss_ps_load" 17
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF")))
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp3*10")
+ 
+ (define_insn_reservation "znver1_ssediv_sd_pd" 13
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V2DF,DF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V4DF,V2DF,DF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V4DF,V2DF,DF")))
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp3*13")
+ 
+ (define_insn_reservation "znver1_ssediv_sd_pd_load" 20
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 					       (eq_attr "mode" "V2DF,DF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V4DF,V2DF,DF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V4DF,V2DF,DF")))
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp3*13")
+ 
+ (define_insn_reservation "znver1_ssediv_avx256_ps" 12
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF")
+ 				   (and (eq_attr "memory" "none")
+ 					(eq_attr "type" "ssediv"))))
+ 			 "znver1-double,znver1-fp3*12")
+ 
+ (define_insn_reservation "znver1_ssediv_avx256_ps_load" 19
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF")
+ 				   (and (eq_attr "type" "ssediv")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp3*12")
+ 
+ (define_insn_reservation "znver1_ssediv_avx256_pd" 15
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V4DF")
+ 				   (and (eq_attr "type" "ssediv")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp3*15")
+ 
+ (define_insn_reservation "znver1_ssediv_avx256_pd_load" 22 
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V4DF")
+ 				   (and (eq_attr "type" "ssediv")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp3*15")
+ ;; SSE MUL
+ (define_insn_reservation "znver1_ssemul_ss_ps" 3
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF,V4DF,V2DF,DF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF,V4DF,V2DF,DF")))
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,(znver1-fp0|znver1-fp1)*3")
+ 
+ (define_insn_reservation "znver1_ssemul_ss_ps_load" 10 
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "V8SF,V4SF,SF")))
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*3")
+ 
+ (define_insn_reservation "znver1_ssemul_avx256_ps" 3
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,(znver1-fp0|znver1-fp1)*3")
+ 
+ (define_insn_reservation "znver1_ssemul_avx256_ps_load" 10
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,(znver1-fp0|znver1-fp1)*3")
+ 
+ (define_insn_reservation "znver1_ssemul_sd_pd" 4
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V2DF,DF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-direct,(znver1-fp0|znver1-fp1)*4")
+ 
+ (define_insn_reservation "znver1_ssemul_sd_pd_load" 11
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V2DF,DF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*4")
+ 
+ (define_insn_reservation "znver2_ssemul_sd_pd" 3
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,(znver1-fp0|znver1-fp1)*3")
+ 
+ (define_insn_reservation "znver2_ssemul_sd_pd_load" 10
+ 			 (and (eq_attr "cpu" "znver2,znver3")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*3")
+ 
+ 
+ (define_insn_reservation "znver1_ssemul_avx256_pd" 5
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V4DF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,(znver1-fp0|znver1-fp1)*4")
+ 
+ (define_insn_reservation "znver1_ssemul_avx256_pd_load" 12
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V4DF")
+ 				   (and (eq_attr "type" "ssemul")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,(znver1-fp0|znver1-fp1)*4")
+ 
+ ;;SSE imul
+ (define_insn_reservation "znver1_sseimul" 3
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "TI"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "TI,OI"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "TI,OI")))
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0*3")
+ 
+ (define_insn_reservation "znver1_sseimul_avx256" 4
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "sseimul")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp0*4")
+ 
+ (define_insn_reservation "znver1_sseimul_load" 10
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "TI"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 			                (eq_attr "mode" "TI,OI"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 			                (eq_attr "mode" "TI,OI")))
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0*3")
+ 
+ (define_insn_reservation "znver1_sseimul_avx256_load" 11
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "sseimul")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0*4")
+ 
+ (define_insn_reservation "znver1_sseimul_di" 3 
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "mode" "DI")
+ 				   (and (eq_attr "memory" "none")
+ 					(eq_attr "type" "sseimul"))))
+ 			 "znver1-direct,znver1-fp0*3")
+ 
+ (define_insn_reservation "znver1_sseimul_load_di" 10 
+ 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
+ 			      (and (eq_attr "mode" "DI")
+ 				   (and (eq_attr "type" "sseimul")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-direct,znver1-load,znver1-fp0*3")
+ 
+ ;; SSE compares
+ (define_insn_reservation "znver1_sse_cmp" 1
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF")))
+ 			       (and (eq_attr "type" "ssecmp")
+ 				    (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_cmp_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 				         (eq_attr "mode" "SF,DF,V4SF,V2DF"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 				        (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF")))
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_cmp_avx256" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF")
+ 				   (and (eq_attr "type" "ssecmp")
+ 					(eq_attr "memory" "none"))))
+ 			"znver1-double,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_cmp_avx256_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "V8SF,V4DF")
+ 				   (and (eq_attr "type" "ssecmp")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
+ 
+ (define_insn_reservation "znver1_sse_icmp" 1
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 					       (eq_attr "mode" "QI,HI,SI,DI,TI"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI")))
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver1-direct,znver1-fp0|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sse_icmp_load" 8
+ 			 (and (ior (and (eq_attr "cpu" "znver1")
+ 			                (eq_attr "mode" "QI,HI,SI,DI,TI"))
+ 				   (and (eq_attr "cpu" "znver2")
+ 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI"))
+ 				   (and (eq_attr "cpu" "znver3")
+ 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI")))
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sse_icmp_avx256" 1
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "ssecmp")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver1-double,znver1-fp0|znver1-fp3")
+ 
+ (define_insn_reservation "znver1_sse_icmp_avx256_load" 8
+ 			 (and (eq_attr "cpu" "znver1")
+ 			      (and (eq_attr "mode" "OI")
+ 				   (and (eq_attr "type" "ssecmp")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp3")
diff -Nrcpad gcc-11.4.0/gcc/config/i386/znver1.md gcc-11.5.0/gcc/config/i386/znver1.md
*** gcc-11.4.0/gcc/config/i386/znver1.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/i386/znver1.md	Thu Jan  1 00:00:00 1970
***************
*** 1,1350 ****
- ;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
- ;;
- ;; This file is part of GCC.
- ;;
- ;; GCC is free software; you can redistribute it and/or modify
- ;; it under the terms of the GNU General Public License as published by
- ;; the Free Software Foundation; either version 3, or (at your option)
- ;; any later version.
- ;;
- ;; GCC is distributed in the hope that it will be useful,
- ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
- ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- ;; GNU General Public License for more details.
- ;;
- ;; You should have received a copy of the GNU General Public License
- ;; along with GCC; see the file COPYING3.  If not see
- ;; <http://www.gnu.org/licenses/>.
- ;;
- 
- 
- (define_attr "znver1_decode" "direct,vector,double"
-   (const_string "direct"))
- 
- ;; AMD znver1, znver2 and znver3 Scheduling
- ;; Modeling automatons for zen decoders, integer execution pipes,
- ;; AGU pipes and floating point execution units.
- (define_automaton "znver1, znver1_ieu, znver1_fp, znver1_agu")
- 
- ;; Decoders unit has 4 decoders and all of them can decode fast path
- ;; and vector type instructions.
- (define_cpu_unit "znver1-decode0" "znver1")
- (define_cpu_unit "znver1-decode1" "znver1")
- (define_cpu_unit "znver1-decode2" "znver1")
- (define_cpu_unit "znver1-decode3" "znver1")
- 
- ;; Currently blocking all decoders for vector path instructions as
- ;; they are dispatched separetely as microcode sequence.
- ;; Fix me: Need to revisit this.
- (define_reservation "znver1-vector" "znver1-decode0+znver1-decode1+znver1-decode2+znver1-decode3")
- 
- ;; Direct instructions can be issued to any of the four decoders.
- (define_reservation "znver1-direct" "znver1-decode0|znver1-decode1|znver1-decode2|znver1-decode3")
- 
- ;; Fix me: Need to revisit this later to simulate fast path double behavior.
- (define_reservation "znver1-double" "znver1-direct")
- 
- 
- ;; Integer unit 4 ALU pipes.
- (define_cpu_unit "znver1-ieu0" "znver1_ieu")
- (define_cpu_unit "znver1-ieu1" "znver1_ieu")
- (define_cpu_unit "znver1-ieu2" "znver1_ieu")
- (define_cpu_unit "znver1-ieu3" "znver1_ieu")
- (define_reservation "znver1-ieu" "znver1-ieu0|znver1-ieu1|znver1-ieu2|znver1-ieu3")
- 
- ;; 2 AGU pipes in znver1 and 3 AGU pipes in znver2 and znver3
- ;; According to CPU diagram last AGU unit is used only for stores.
- (define_cpu_unit "znver1-agu0" "znver1_agu")
- (define_cpu_unit "znver1-agu1" "znver1_agu")
- (define_cpu_unit "znver2-agu2" "znver1_agu")
- (define_reservation "znver1-agu-reserve" "znver1-agu0|znver1-agu1")
- (define_reservation "znver2-store-agu-reserve" "znver1-agu0|znver1-agu1|znver2-agu2")
- 
- ;; Load is 4 cycles. We do not model reservation of load unit.
- ;;(define_reservation "znver1-load" "znver1-agu-reserve, nothing, nothing, nothing")
- (define_reservation "znver1-load" "znver1-agu-reserve")
- ;; Store operations differs between znver1, znver2 and znver3 because extra AGU
- ;; was added.
- (define_reservation "znver1-store" "znver1-agu-reserve")
- (define_reservation "znver2-store" "znver2-store-agu-reserve")
- 
- ;; vectorpath (microcoded) instructions are single issue instructions.
- ;; So, they occupy all the integer units.
- (define_reservation "znver1-ivector" "znver1-ieu0+znver1-ieu1
- 				      +znver1-ieu2+znver1-ieu3
- 				      +znver1-agu0+znver1-agu1")
- 
- (define_reservation "znver2-ivector" "znver1-ieu0+znver1-ieu1
- 				      +znver1-ieu2+znver1-ieu3
- 				      +znver1-agu0+znver1-agu1+znver2-agu2")
- 
- ;; Floating point unit 4 FP pipes.
- (define_cpu_unit "znver1-fp0" "znver1_fp")
- (define_cpu_unit "znver1-fp1" "znver1_fp")
- (define_cpu_unit "znver1-fp2" "znver1_fp")
- (define_cpu_unit "znver1-fp3" "znver1_fp")
- 
- (define_reservation "znver1-fpu" "znver1-fp0|znver1-fp1|znver1-fp2|znver1-fp3")
- 
- (define_reservation "znver1-fvector" "znver1-fp0+znver1-fp1
- 				      +znver1-fp2+znver1-fp3
- 				      +znver1-agu0+znver1-agu1")
- (define_reservation "znver2-fvector" "znver1-fp0+znver1-fp1
- 				      +znver1-fp2+znver1-fp3
- 				      +znver1-agu0+znver1-agu1+znver2-agu2")
- 
- ;; Call instruction
- (define_insn_reservation "znver1_call" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (eq_attr "type" "call,callv"))
- 			 "znver1-double,znver1-store,znver1-ieu0|znver1-ieu3")
- 
- (define_insn_reservation "znver2_call" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (eq_attr "type" "call,callv"))
- 			 "znver1-double,znver2-store,znver1-ieu0|znver1-ieu3")
- 
- ;; General instructions
- (define_insn_reservation "znver1_push" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "push")
- 				   (eq_attr "memory" "store")))
- 			 "znver1-direct,znver1-store")
- (define_insn_reservation "znver2_push" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "push")
- 				   (eq_attr "memory" "store")))
- 			 "znver1-direct,znver2-store")
- 
- (define_insn_reservation "znver1_push_load" 4
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "push")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver1-store")
- (define_insn_reservation "znver2_push_load" 4
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "push")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver2-store")
- 
- (define_insn_reservation "znver1_pop" 4
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "pop")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load")
- 
- (define_insn_reservation "znver1_pop_mem" 4
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "pop")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver1-store")
- (define_insn_reservation "znver2_pop_mem" 4
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "pop")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver2-store")
- 
- ;; Leave
- (define_insn_reservation "znver1_leave" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (eq_attr "type" "leave"))
- 			 "znver1-double,znver1-ieu, znver1-store")
- (define_insn_reservation "znver2_leave" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (eq_attr "type" "leave"))
- 			 "znver1-double,znver1-ieu, znver2-store")
- 
- ;; Integer Instructions or General instructions
- ;; Multiplications
- ;; Reg operands
- (define_insn_reservation "znver1_imul" 3
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "imul")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-ieu1")
- 
- (define_insn_reservation "znver1_imul_mem" 7
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "imul")
- 				   (eq_attr "memory" "!none")))
- 			 "znver1-direct,znver1-load, znver1-ieu1")
- 
- ;; Divisions
- ;; Reg operands
- (define_insn_reservation "znver1_idiv_DI" 41
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "DI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*41")
- 
- (define_insn_reservation "znver1_idiv_SI" 25
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "SI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*25")
- 
- (define_insn_reservation "znver1_idiv_HI" 17
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "HI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*17")
- 
- (define_insn_reservation "znver1_idiv_QI" 12
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "QI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-direct,znver1-ieu2*12")
- 
- ;; Mem operands
- (define_insn_reservation "znver1_idiv_mem_DI" 45
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "DI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-load,znver1-ieu2*41")
- 
- (define_insn_reservation "znver1_idiv_mem_SI" 29
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "SI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-load,znver1-ieu2*25")
- 
- (define_insn_reservation "znver1_idiv_mem_HI" 21
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "HI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-load,znver1-ieu2*17")
- 
- (define_insn_reservation "znver1_idiv_mem_QI" 16
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "QI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-direct,znver1-load,znver1-ieu2*12")
- 
- (define_insn_reservation "znver3_idiv_DI" 18
- 			 (and (eq_attr "cpu" "znver3")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "DI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*18")
- 
- (define_insn_reservation "znver3_idiv_SI" 12
- 			 (and (eq_attr "cpu" "znver3")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "SI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*12")
- 
- (define_insn_reservation "znver3_idiv_HI" 10
- 			 (and (eq_attr "cpu" "znver3")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "HI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu2*10")
- 
- (define_insn_reservation "znver3_idiv_QI" 9
- 			 (and (eq_attr "cpu" "znver3")
- 			      (and (eq_attr "type" "idiv")
- 				   (and (eq_attr "mode" "QI")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-direct,znver1-ieu2*9")
- 
- (define_insn_reservation "znver3_idiv_mem_DI" 22
-                          (and (eq_attr "cpu" "znver3")
-                               (and (eq_attr "type" "idiv")
-                                    (and (eq_attr "mode" "DI")
-                                         (eq_attr "memory" "load"))))
-                          "znver1-double,znver1-load,znver1-ieu2*22")
- 
- (define_insn_reservation "znver3_idiv_mem_SI" 16
-                          (and (eq_attr "cpu" "znver3")
-                               (and (eq_attr "type" "idiv")
-                                    (and (eq_attr "mode" "SI")
-                                         (eq_attr "memory" "load"))))
-                          "znver1-double,znver1-load,znver1-ieu2*16")
- 
- (define_insn_reservation "znver3_idiv_mem_HI" 14
-                          (and (eq_attr "cpu" "znver3")
-                               (and (eq_attr "type" "idiv")
-                                    (and (eq_attr "mode" "HI")
-                                         (eq_attr "memory" "load"))))
-                          "znver1-double,znver1-load,znver1-ieu2*10")
- 
- (define_insn_reservation "znver3_idiv_mem_QI" 13
-                          (and (eq_attr "cpu" "znver3")
-                               (and (eq_attr "type" "idiv")
-                                    (and (eq_attr "mode" "QI")
-                                         (eq_attr "memory" "load"))))
-                          "znver1-direct,znver1-load,znver1-ieu2*9")
- 
- ;; STR ISHIFT which are micro coded.
- ;; Fix me: Latency need to be rechecked.
- (define_insn_reservation "znver1_str_ishift" 6
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "str,ishift")
- 				   (eq_attr "memory" "both,store")))
- 			 "znver1-vector,znver1-ivector")
- 
- (define_insn_reservation "znver2_str_ishift" 3
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ishift")
- 				   (eq_attr "memory" "both,store")))
- 			 "znver1-vector,znver1-ivector")
- (define_insn_reservation "znver2_str_istr" 19
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "str")
- 				   (eq_attr "memory" "both,store")))
- 			 "znver1-vector,znver1-ivector")
- 
- ;; MOV - integer moves
- (define_insn_reservation "znver1_load_imov_double" 2
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu|znver1-ieu")
- 
- (define_insn_reservation "znver2_load_imov_double" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-ieu|znver1-ieu")
- 
- (define_insn_reservation "znver1_load_imov_direct" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "imov,imovx")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-ieu")
- 
- (define_insn_reservation "znver1_load_imov_double_store" 2
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "store"))))
- 			 "znver1-double,znver1-ieu|znver1-ieu,znver1-store")
- 
- (define_insn_reservation "znver2_load_imov_double_store" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "store"))))
- 			 "znver1-double,znver1-ieu|znver1-ieu,znver2-store")
- 
- (define_insn_reservation "znver1_load_imov_direct_store" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "imov,imovx")
- 				   (eq_attr "memory" "store")))
- 				   "znver1-direct,znver1-ieu,znver1-store")
- 
- (define_insn_reservation "znver2_load_imov_direct_store" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "imov,imovx")
- 				   (eq_attr "memory" "store")))
- 				   "znver1-direct,znver1-ieu,znver2-store")
- 
- (define_insn_reservation "znver1_load_imov_double_load" 5
- 			 (and (eq_attr "cpu" "znver1,znver2")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-ieu|znver1-ieu")
- 
- (define_insn_reservation "znver2_load_imov_double_load" 4
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "imovx")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-ieu|znver1-ieu")
- 
- (define_insn_reservation "znver1_load_imov_direct_load" 4
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "imov,imovx")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load")
- 
- ;; INTEGER/GENERAL instructions
- ;; register/imm operands only: ALU, ICMP, NEG, NOT, ROTATE, ISHIFT, TEST
- (define_insn_reservation "znver1_insn" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov")
- 				   (eq_attr "memory" "none,unknown")))
- 			 "znver1-direct,znver1-ieu")
- 
- (define_insn_reservation "znver1_insn_load" 5
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-ieu")
- 
- (define_insn_reservation "znver1_insn_store" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
- 				   (eq_attr "memory" "store")))
- 			 "znver1-direct,znver1-ieu,znver1-store")
- 
- (define_insn_reservation "znver2_insn_store" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
- 				   (eq_attr "memory" "store")))
- 			 "znver1-direct,znver1-ieu,znver2-store")
- 
- (define_insn_reservation "znver1_insn_both" 5
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver1-ieu,znver1-store")
- 
- (define_insn_reservation "znver2_insn_both" 5
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift1,test,setcc,incdec")
- 				   (eq_attr "memory" "both")))
- 			 "znver1-direct,znver1-load,znver1-ieu,znver2-store")
- 
- ;; Fix me: Other vector type insns keeping latency 6 as of now.
- (define_insn_reservation "znver1_ieu_vector" 6
- 			 (and (eq_attr "cpu" "znver1")
- 			      (eq_attr "type" "other,str,multi"))
- 			 "znver1-vector,znver1-ivector")
- 
- (define_insn_reservation "znver2_ieu_vector" 5
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (eq_attr "type" "other,str,multi"))
- 			 "znver1-vector,znver2-ivector")
- 
- ;; ALU1 register operands.
- (define_insn_reservation "znver1_alu1_vector" 3
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "znver1_decode" "vector")
- 				   (and (eq_attr "type" "alu1")
- 					(eq_attr "memory" "none,unknown"))))
- 			 "znver1-vector,znver1-ivector")
- 
- (define_insn_reservation "znver2_alu1_vector" 3
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "vector")
- 				   (and (eq_attr "type" "alu1")
- 					(eq_attr "memory" "none,unknown"))))
- 			 "znver1-vector,znver2-ivector")
- 
- (define_insn_reservation "znver1_alu1_double" 2
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "alu1")
- 					(eq_attr "memory" "none,unknown"))))
- 			 "znver1-double,znver1-ieu")
- 
- (define_insn_reservation "znver1_alu1_direct" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "direct")
- 				   (and (eq_attr "type" "alu1")
- 					(eq_attr "memory" "none,unknown"))))
- 			 "znver1-direct,znver1-ieu")
- 
- ;; Branches : Fix me need to model conditional branches.
- (define_insn_reservation "znver1_branch" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "ibr")
- 					(eq_attr "memory" "none")))
- 			  "znver1-direct")
- 
- ;; Indirect branches check latencies.
- (define_insn_reservation "znver1_indirect_branch_mem" 6
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "ibr")
- 					(eq_attr "memory" "load")))
- 			 "znver1-vector,znver1-ivector")
- 
- (define_insn_reservation "znver2_indirect_branch_mem" 6
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ibr")
- 					(eq_attr "memory" "load")))
- 			 "znver1-vector,znver2-ivector")
- 
- ;; LEA executes in ALU units with 1 cycle latency.
- (define_insn_reservation "znver1_lea" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (eq_attr "type" "lea"))
- 			 "znver1-direct,znver1-ieu")
- 
- ;; Other integer instrucions
- (define_insn_reservation "znver1_idirect" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "unit" "integer,unknown")
- 				   (eq_attr "memory" "none,unknown")))
- 			 "znver1-direct,znver1-ieu")
- 
- ;;  Floating point
- (define_insn_reservation "znver1_fp_cmov" 6
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (eq_attr "type" "fcmov"))
- 			 "znver1-vector,znver1-fvector")
- 
- (define_insn_reservation "znver1_fp_mov_direct_load" 8 
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "direct")
- 				   (and (eq_attr "type" "fmov")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-direct,znver1-load,znver1-fp3|znver1-fp1")
- 
- (define_insn_reservation "znver1_fp_mov_direct_store" 5
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "znver1_decode" "direct")
- 				   (and (eq_attr "type" "fmov")
- 					(eq_attr "memory" "store"))))
- 			 "znver1-direct,znver1-fp2|znver1-fp3,znver1-store")
- (define_insn_reservation "znver2_fp_mov_direct_store" 5
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "direct")
- 				   (and (eq_attr "type" "fmov")
- 					(eq_attr "memory" "store"))))
- 			 "znver1-direct,znver1-fp2|znver1-fp3,znver2-store")
- 
- (define_insn_reservation "znver1_fp_mov_double" 4
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "fmov")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp3")
- 
- (define_insn_reservation "znver1_fp_mov_double_load" 12
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "double")
- 				   (and (eq_attr "type" "fmov")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp3")
- 
- (define_insn_reservation "znver1_fp_mov_direct" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (eq_attr "type" "fmov"))
- 			 "znver1-direct,znver1-fp3")
- 
- ;; TODO: AGU?
- (define_insn_reservation "znver1_fp_spc_direct" 5
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fpspc")
- 				   (eq_attr "memory" "store")))
- 			 "znver1-direct,znver1-fp3,znver1-fp2")
- 
- (define_insn_reservation "znver1_fp_insn_vector" 6
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "znver1_decode" "vector")
- 				   (eq_attr "type" "fpspc,mmxcvt,sselog1,ssemul,ssemov")))
- 			 "znver1-vector,znver1-fvector")
- (define_insn_reservation "znver2_fp_insn_vector" 6
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "znver1_decode" "vector")
- 				   (eq_attr "type" "fpspc,mmxcvt,sselog1,ssemul,ssemov")))
- 			 "znver1-vector,znver2-fvector")
- 
- ;; FABS
- (define_insn_reservation "znver1_fp_fsgn" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (eq_attr "type" "fsgn"))
- 			 "znver1-direct,znver1-fp3")
- 
- (define_insn_reservation "znver1_fp_fcmp" 2
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "memory" "none")
- 				   (and (eq_attr "znver1_decode" "double")
- 					(eq_attr "type" "fcmp"))))
- 			 "znver1-double,znver1-fp0,znver1-fp2")
- 
- (define_insn_reservation "znver1_fp_fcmp_load" 9
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "memory" "none")
- 				   (and (eq_attr "znver1_decode" "double")
- 					(eq_attr "type" "fcmp"))))
- 			 "znver1-double,znver1-load, znver1-fp0,znver1-fp2")
- 
- ;;FADD FSUB FMUL
- (define_insn_reservation "znver1_fp_op_mul" 5
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fop,fmul")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0*5")
- 
- (define_insn_reservation "znver1_fp_op_mul_load" 12 
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fop,fmul")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0*5")
- 
- (define_insn_reservation "znver1_fp_op_imul_load" 16
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fop,fmul")
- 				   (and (eq_attr "fp_int_src" "true")
- 					(eq_attr "memory" "load"))))
- 			"znver1-double,znver1-load,znver1-fp3,znver1-fp0")
- 
- (define_insn_reservation "znver1_fp_op_div" 15
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fdiv")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp3*15")
- 
- (define_insn_reservation "znver1_fp_op_div_load" 22
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "fdiv")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp3*15")
- 
- (define_insn_reservation "znver1_fp_op_idiv_load" 27
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "fdiv")
- 				   (and (eq_attr "fp_int_src" "true")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp3*19")
- 
- (define_insn_reservation "znver2_fp_op_idiv_load" 26
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "fdiv")
- 				   (and (eq_attr "fp_int_src" "true")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp3*19")
- 
- 
- ;; MMX, SSE, SSEn.n, AVX, AVX2 instructions
- (define_insn_reservation "znver1_fp_insn" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (eq_attr "type" "mmx"))
- 			 "znver1-direct,znver1-fpu")
- 
- (define_insn_reservation "znver1_mmx_add" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxadd")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- (define_insn_reservation "znver1_mmx_add_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxadd")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- (define_insn_reservation "znver1_mmx_cmp" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxcmp")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp3")
- 
- (define_insn_reservation "znver1_mmx_cmp_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxcmp")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp3")
- 
- (define_insn_reservation "znver1_mmx_cvt_pck_shuf" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_mmx_cvt_pck_shuf_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_mmx_shift_move" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxshft,mmxmov")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp2")
- 
- (define_insn_reservation "znver1_mmx_shift_move_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxshft,mmxmov")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp2")
- 
- (define_insn_reservation "znver1_mmx_move_store" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "mmxshft,mmxmov")
- 				   (eq_attr "memory" "store,both")))
- 			  "znver1-direct,znver1-fp2,znver1-store")
- (define_insn_reservation "znver2_mmx_move_store" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "mmxshft,mmxmov")
- 				   (eq_attr "memory" "store,both")))
- 			  "znver1-direct,znver1-fp2,znver2-store")
- 
- (define_insn_reservation "znver1_mmx_mul" 3
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxmul")
- 				   (eq_attr "memory" "none")))
- 			  "znver1-direct,znver1-fp0*3")
- 
- (define_insn_reservation "znver1_mmx_load" 10
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "mmxmul")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0*3")
- 
- ;; TODO
- (define_insn_reservation "znver1_avx256_log" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
-  				   (and (eq_attr "type" "sselog")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fpu")
- 
- (define_insn_reservation "znver1_avx256_log_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "sselog")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fpu")
- 
- (define_insn_reservation "znver1_sse_log" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "sselog")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fpu")
- 
- (define_insn_reservation "znver1_sse_log_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "sselog")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fpu")
- 
- (define_insn_reservation "znver1_avx256_log1" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "sselog1")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_avx256_log1_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "sselog1")
- 					(eq_attr "memory" "!none"))))
- 			 "znver1-double,znver1-load,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_sse_log1" 1
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "sselog1")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_sse_log1_load" 8
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "sselog1")
- 				   (eq_attr "memory" "!none")))
- 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_sse_comi" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "SF,DF,V4SF,V2DF")
- 				   (and (eq_attr "prefix" "!vex")
- 					(and (eq_attr "prefix_extra" "0")
- 					     (and (eq_attr "type" "ssecomi")
- 						  (eq_attr "memory" "none"))))))
- 			 "znver1-direct,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_comi_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "prefix_extra" "0")
- 				   (and (eq_attr "type" "ssecomi")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_comi_double" 2
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "prefix" "vex")
- 				   (and (eq_attr "prefix_extra" "0")
- 					(and (eq_attr "type" "ssecomi")
- 					     (eq_attr "memory" "none")))))
- 			 "znver1-double,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_comi_double_load" 10
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "prefix" "vex")
- 				   (and (eq_attr "prefix_extra" "0")
- 					(and (eq_attr "type" "ssecomi")
- 					     (eq_attr "memory" "load")))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_test" 1
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "prefix_extra" "1")
- 				   (and (eq_attr "type" "ssecomi")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-direct,znver1-fp1|znver1-fp2")
- 
- (define_insn_reservation "znver1_sse_test_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "prefix_extra" "1")
- 				   (and (eq_attr "type" "ssecomi")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-direct,znver1-load,znver1-fp1|znver1-fp2")
- 
- ;; SSE moves
- ;; Fix me:  Need to revist this again some of the moves may be restricted
- ;; to some fpu pipes.
- (define_insn_reservation "znver1_sse_mov" 2
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (eq_attr "isa" "avx")
- 					(and (eq_attr "type" "ssemov")
- 					     (eq_attr "memory" "none")))))
- 			 "znver1-direct,znver1-ieu0")
- 
- (define_insn_reservation "znver2_sse_mov" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (eq_attr "isa" "avx")
- 					(and (eq_attr "type" "ssemov")
- 					     (eq_attr "memory" "none")))))
- 			 "znver1-direct,znver1-ieu0")
- 
- (define_insn_reservation "znver1_avx_mov" 2
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "TI")
- 				   (and (eq_attr "isa" "avx")
- 					(and (eq_attr "type" "ssemov")
- 					     (and (match_operand:SI 1 "register_operand")
- 						  (eq_attr "memory" "none"))))))
- 			 "znver1-direct,znver1-ieu2")
- 
- (define_insn_reservation "znver2_avx_mov" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "mode" "TI")
- 				   (and (eq_attr "isa" "avx")
- 					(and (eq_attr "type" "ssemov")
- 					     (and (match_operand:SI 1 "register_operand")
- 						  (eq_attr "memory" "none"))))))
- 			 "znver1-direct,znver1-ieu2")
- 
- (define_insn_reservation "znver1_sseavx_mov" 1
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					      (eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "type" "ssemov")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fpu")
- 
- (define_insn_reservation "znver1_sseavx_mov_store" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "SF,DF,V4SF,V2DF,TI")
- 				   (and (eq_attr "type" "ssemov")
- 					(eq_attr "memory" "store"))))
- 			"znver1-direct,znver1-fpu,znver1-store")
- (define_insn_reservation "znver2_sseavx_mov_store" 1
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ssemov")
- 				   (eq_attr "memory" "store")))
- 			"znver1-direct,znver1-fpu,znver2-store")
- 
- (define_insn_reservation "znver1_sseavx_mov_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			       (and (eq_attr "type" "ssemov")
- 				    (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fpu")
- 
- (define_insn_reservation "znver1_avx256_mov" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "ssemov")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fpu")
- 
- (define_insn_reservation "znver1_avx256_mov_store" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "ssemov")
- 					(eq_attr "memory" "store"))))
- 			 "znver1-double,znver1-fpu,znver1-store")
- 
- (define_insn_reservation "znver1_avx256_mov_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "ssemov")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fpu")
- 
- ;; SSE add
- (define_insn_reservation "znver1_sseavx_add" 3
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "type" "sseadd")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp2|znver1-fp3")
- 
- (define_insn_reservation "znver1_sseavx_add_load" 10
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "type" "sseadd")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp2|znver1-fp3")
- 
- (define_insn_reservation "znver1_avx256_add" 3
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "sseadd")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp2|znver1-fp3")
- 
- (define_insn_reservation "znver1_avx256_add_load" 10
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF,OI")
- 				   (and (eq_attr "type" "sseadd")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp2|znver1-fp3")
- 
- (define_insn_reservation "znver1_sseavx_fma" 5
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (eq_attr "cpu" "znver2"))
- 			      (and (eq_attr "type" "ssemuladd")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sseavx_fma_load" 12
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (eq_attr "cpu" "znver2"))
- 			      (and (eq_attr "type" "ssemuladd")
- 				   (eq_attr "memory" "load")))
- 			"znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_avx256_fma" 5
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF")
- 				   (and (eq_attr "type" "ssemuladd")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_avx256_fma_load" 12
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF")
- 				   (and (eq_attr "type" "ssemuladd")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver3_sseavx_fma" 4
- 			 (and (and (eq_attr "cpu" "znver3")
- 			      (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (and (eq_attr "type" "ssemuladd")
- 					(eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver3_sseavx_fma_load" 11
- 			 (and (and (eq_attr "cpu" "znver3")
- 			       (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				     (and (eq_attr "type" "ssemuladd")
- 					  (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver3_avx256_fma" 4
- 			 (and (eq_attr "cpu" "znver3")
- 			      (and (eq_attr "mode" "V8SF,V4DF")
- 			           (and (eq_attr "type" "ssemuladd")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver3_avx256_fma_load" 11
- 			  (and (eq_attr "cpu" "znver3")
- 			       (and (eq_attr "mode" "V8SF,V4DF")
- 			            (and (eq_attr "type" "ssemuladd")
- 					 (eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sseavx_iadd" 1
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "DI,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "type" "sseiadd")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- (define_insn_reservation "znver1_sseavx_iadd_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "DI,TI"))
- 				   (ior (eq_attr "cpu" "znver2")
- 					(eq_attr "cpu" "znver3")))
- 			      (and (eq_attr "type" "sseiadd")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- (define_insn_reservation "znver1_avx256_iadd" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "sseiadd")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- (define_insn_reservation "znver1_avx256_iadd_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "sseiadd")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1|znver1-fp3")
- 
- ;; SSE conversions.
- (define_insn_reservation "znver1_ssecvtsf_si_load" 12
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (eq_attr "type" "sseicvt")
- 					(and (match_operand:SF 1 "memory_operand")
- 					     (eq_attr "memory" "load")))))
- 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
- 
- (define_insn_reservation "znver1_ssecvtdf_si" 5
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (match_operand:DF 1 "register_operand")
- 					(and (eq_attr "type" "sseicvt")
- 					     (eq_attr "memory" "none")))))
- 			 "znver1-double,znver1-fp3,znver1-ieu0")
- (define_insn_reservation "znver2_ssecvtdf_si" 4
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (match_operand:DF 1 "register_operand")
- 					(and (eq_attr "type" "sseicvt")
- 					     (eq_attr "memory" "none")))))
- 			 "znver1-double,znver1-fp3,znver1-ieu0")
- 
- (define_insn_reservation "znver1_ssecvtdf_si_load" 12
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (eq_attr "type" "sseicvt")
- 					(and (match_operand:DF 1 "memory_operand")
- 					     (eq_attr "memory" "load")))))
- 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
- 
- (define_insn_reservation "znver2_ssecvtdf_si_load" 11
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "mode" "SI")
- 				   (and (eq_attr "type" "sseicvt")
- 					(and (match_operand:DF 1 "memory_operand")
- 					     (eq_attr "memory" "load")))))
- 			 "znver1-double,znver1-load,znver1-fp3,znver1-ieu0")
- 
- 
- ;; All other used ssecvt fp3 pipes
- ;; Check: Need to revisit this again.
- ;; Some SSE converts may use different pipe combinations.
- (define_insn_reservation "znver1_ssecvt" 4
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "type" "ssecvt")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp3")
- 
- (define_insn_reservation "znver2_ssecvt" 3
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ssecvt")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp3")
- 
- (define_insn_reservation "znver1_ssecvt_load" 11
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "type" "ssecvt")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp3")
- 
- ;; SSE div
- (define_insn_reservation "znver1_ssediv_ss_ps" 10
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V8SF,V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V8SF,V4SF,SF")))
- 			      (and (eq_attr "type" "ssediv")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp3*10")
- 
- (define_insn_reservation "znver1_ssediv_ss_ps_load" 17
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V8SF,V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V8SF,V4SF,SF")))
- 			      (and (eq_attr "type" "ssediv")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp3*10")
- 
- (define_insn_reservation "znver1_ssediv_sd_pd" 13
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V2DF,DF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V4DF,V2DF,DF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V4DF,V2DF,DF")))
- 			      (and (eq_attr "type" "ssediv")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp3*13")
- 
- (define_insn_reservation "znver1_ssediv_sd_pd_load" 20
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 					       (eq_attr "mode" "V2DF,DF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V4DF,V2DF,DF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V4DF,V2DF,DF")))
- 			      (and (eq_attr "type" "ssediv")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp3*13")
- 
- (define_insn_reservation "znver1_ssediv_avx256_ps" 12
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF")
- 				   (and (eq_attr "memory" "none")
- 					(eq_attr "type" "ssediv"))))
- 			 "znver1-double,znver1-fp3*12")
- 
- (define_insn_reservation "znver1_ssediv_avx256_ps_load" 19
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF")
- 				   (and (eq_attr "type" "ssediv")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp3*12")
- 
- (define_insn_reservation "znver1_ssediv_avx256_pd" 15
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V4DF")
- 				   (and (eq_attr "type" "ssediv")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp3*15")
- 
- (define_insn_reservation "znver1_ssediv_avx256_pd_load" 22 
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V4DF")
- 				   (and (eq_attr "type" "ssediv")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp3*15")
- ;; SSE MUL
- (define_insn_reservation "znver1_ssemul_ss_ps" 3
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V8SF,V4SF,SF,V4DF,V2DF,DF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V8SF,V4SF,SF,V4DF,V2DF,DF")))
- 			      (and (eq_attr "type" "ssemul")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,(znver1-fp0|znver1-fp1)*3")
- 
- (define_insn_reservation "znver1_ssemul_ss_ps_load" 10 
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "V8SF,V4SF,SF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "V8SF,V4SF,SF")))
- 			      (and (eq_attr "type" "ssemul")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*3")
- 
- (define_insn_reservation "znver1_ssemul_avx256_ps" 3
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,(znver1-fp0|znver1-fp1)*3")
- 
- (define_insn_reservation "znver1_ssemul_avx256_ps_load" 10
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,(znver1-fp0|znver1-fp1)*3")
- 
- (define_insn_reservation "znver1_ssemul_sd_pd" 4
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V2DF,DF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-direct,(znver1-fp0|znver1-fp1)*4")
- 
- (define_insn_reservation "znver1_ssemul_sd_pd_load" 11
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V2DF,DF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*4")
- 
- (define_insn_reservation "znver2_ssemul_sd_pd" 3
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ssemul")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,(znver1-fp0|znver1-fp1)*3")
- 
- (define_insn_reservation "znver2_ssemul_sd_pd_load" 10
- 			 (and (eq_attr "cpu" "znver2,znver3")
- 			      (and (eq_attr "type" "ssemul")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,(znver1-fp0|znver1-fp1)*3")
- 
- 
- (define_insn_reservation "znver1_ssemul_avx256_pd" 5
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V4DF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,(znver1-fp0|znver1-fp1)*4")
- 
- (define_insn_reservation "znver1_ssemul_avx256_pd_load" 12
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V4DF")
- 				   (and (eq_attr "type" "ssemul")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,(znver1-fp0|znver1-fp1)*4")
- 
- ;;SSE imul
- (define_insn_reservation "znver1_sseimul" 3
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "TI"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "TI,OI"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "TI,OI")))
- 			      (and (eq_attr "type" "sseimul")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0*3")
- 
- (define_insn_reservation "znver1_sseimul_avx256" 4
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "sseimul")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp0*4")
- 
- (define_insn_reservation "znver1_sseimul_load" 10
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "TI"))
- 				   (and (eq_attr "cpu" "znver2")
- 			                (eq_attr "mode" "TI,OI"))
- 				   (and (eq_attr "cpu" "znver3")
- 			                (eq_attr "mode" "TI,OI")))
- 			      (and (eq_attr "type" "sseimul")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0*3")
- 
- (define_insn_reservation "znver1_sseimul_avx256_load" 11
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "sseimul")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0*4")
- 
- (define_insn_reservation "znver1_sseimul_di" 3 
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "mode" "DI")
- 				   (and (eq_attr "memory" "none")
- 					(eq_attr "type" "sseimul"))))
- 			 "znver1-direct,znver1-fp0*3")
- 
- (define_insn_reservation "znver1_sseimul_load_di" 10 
- 			 (and (eq_attr "cpu" "znver1,znver2,znver3")
- 			      (and (eq_attr "mode" "DI")
- 				   (and (eq_attr "type" "sseimul")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-direct,znver1-load,znver1-fp0*3")
- 
- ;; SSE compares
- (define_insn_reservation "znver1_sse_cmp" 1
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF")))
- 			       (and (eq_attr "type" "ssecmp")
- 				    (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_cmp_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 				         (eq_attr "mode" "SF,DF,V4SF,V2DF"))
- 				   (and (eq_attr "cpu" "znver2")
- 				        (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "SF,DF,V4SF,V2DF,V8SF,V4DF")))
- 			      (and (eq_attr "type" "ssecmp")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_cmp_avx256" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF")
- 				   (and (eq_attr "type" "ssecmp")
- 					(eq_attr "memory" "none"))))
- 			"znver1-double,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_cmp_avx256_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "V8SF,V4DF")
- 				   (and (eq_attr "type" "ssecmp")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp1")
- 
- (define_insn_reservation "znver1_sse_icmp" 1
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 					       (eq_attr "mode" "QI,HI,SI,DI,TI"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI")))
- 			      (and (eq_attr "type" "ssecmp")
- 				   (eq_attr "memory" "none")))
- 			 "znver1-direct,znver1-fp0|znver1-fp3")
- 
- (define_insn_reservation "znver1_sse_icmp_load" 8
- 			 (and (ior (and (eq_attr "cpu" "znver1")
- 			                (eq_attr "mode" "QI,HI,SI,DI,TI"))
- 				   (and (eq_attr "cpu" "znver2")
- 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI"))
- 				   (and (eq_attr "cpu" "znver3")
- 					      (eq_attr "mode" "QI,HI,SI,DI,TI,OI")))
- 			      (and (eq_attr "type" "ssecmp")
- 				   (eq_attr "memory" "load")))
- 			 "znver1-direct,znver1-load,znver1-fp0|znver1-fp3")
- 
- (define_insn_reservation "znver1_sse_icmp_avx256" 1
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "ssecmp")
- 					(eq_attr "memory" "none"))))
- 			 "znver1-double,znver1-fp0|znver1-fp3")
- 
- (define_insn_reservation "znver1_sse_icmp_avx256_load" 8
- 			 (and (eq_attr "cpu" "znver1")
- 			      (and (eq_attr "mode" "OI")
- 				   (and (eq_attr "type" "ssecmp")
- 					(eq_attr "memory" "load"))))
- 			 "znver1-double,znver1-load,znver1-fp0|znver1-fp3")
--- 0 ----
diff -Nrcpad gcc-11.4.0/gcc/config/i386/znver4.md gcc-11.5.0/gcc/config/i386/znver4.md
*** gcc-11.4.0/gcc/config/i386/znver4.md	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/config/i386/znver4.md	Fri Jul 19 05:52:43 2024
***************
*** 0 ****
--- 1,1068 ----
+ ;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ ;;
+ ;; This file is part of GCC.
+ ;;
+ ;; GCC is free software; you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation; either version 3, or (at your option)
+ ;; any later version.
+ ;;
+ ;; GCC is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ ;; GNU General Public License for more details.
+ ;;
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GCC; see the file COPYING3.  If not see
+ ;; <http://www.gnu.org/licenses/>.
+ ;;
+ 
+ 
+ (define_attr "znver4_decode" "direct,vector,double"
+   (const_string "direct"))
+ 
+ ;; AMD znver4 Scheduling
+ ;; Modeling automatons for zen decoders, integer execution pipes,
+ ;; AGU pipes, branch, floating point execution and fp store units.
+ (define_automaton "znver4, znver4_ieu, znver4_idiv, znver4_fdiv, znver4_agu, znver4_fpu, znver4_fp_store")
+ 
+ ;; Decoders unit has 4 decoders and all of them can decode fast path
+ ;; and vector type instructions.
+ (define_cpu_unit "znver4-decode0" "znver4")
+ (define_cpu_unit "znver4-decode1" "znver4")
+ (define_cpu_unit "znver4-decode2" "znver4")
+ (define_cpu_unit "znver4-decode3" "znver4")
+ 
+ ;; Currently blocking all decoders for vector path instructions as
+ ;; they are dispatched separetely as microcode sequence.
+ (define_reservation "znver4-vector" "znver4-decode0+znver4-decode1+znver4-decode2+znver4-decode3")
+ 
+ ;; Direct instructions can be issued to any of the four decoders.
+ (define_reservation "znver4-direct" "znver4-decode0|znver4-decode1|znver4-decode2|znver4-decode3")
+ 
+ ;; Fix me: Need to revisit this later to simulate fast path double behavior.
+ (define_reservation "znver4-double" "znver4-direct")
+ 
+ 
+ ;; Integer unit 4 ALU pipes.
+ (define_cpu_unit "znver4-ieu0" "znver4_ieu")
+ (define_cpu_unit "znver4-ieu1" "znver4_ieu")
+ (define_cpu_unit "znver4-ieu2" "znver4_ieu")
+ (define_cpu_unit "znver4-ieu3" "znver4_ieu")
+ ;; Znver4 has an additional branch unit.
+ (define_cpu_unit "znver4-bru0" "znver4_ieu")
+ (define_reservation "znver4-ieu" "znver4-ieu0|znver4-ieu1|znver4-ieu2|znver4-ieu3")
+ 
+ ;; 3 AGU pipes in znver4
+ (define_cpu_unit "znver4-agu0" "znver4_agu")
+ (define_cpu_unit "znver4-agu1" "znver4_agu")
+ (define_cpu_unit "znver4-agu2" "znver4_agu")
+ (define_reservation "znver4-agu-reserve" "znver4-agu0|znver4-agu1|znver4-agu2")
+ 
+ ;; Load is 4 cycles. We do not model reservation of load unit.
+ (define_reservation "znver4-load" "znver4-agu-reserve")
+ (define_reservation "znver4-store" "znver4-agu-reserve")
+ 
+ ;; vectorpath (microcoded) instructions are single issue instructions.
+ ;; So, they occupy all the integer units.
+ (define_reservation "znver4-ivector" "znver4-ieu0+znver4-ieu1
+ 				      +znver4-ieu2+znver4-ieu3+znver4-bru0
+ 				      +znver4-agu0+znver4-agu1+znver4-agu2")
+ 
+ ;; Floating point unit 4 FP pipes.
+ (define_cpu_unit "znver4-fpu0" "znver4_fpu")
+ (define_cpu_unit "znver4-fpu1" "znver4_fpu")
+ (define_cpu_unit "znver4-fpu2" "znver4_fpu")
+ (define_cpu_unit "znver4-fpu3" "znver4_fpu")
+ 
+ (define_reservation "znver4-fpu" "znver4-fpu0|znver4-fpu1|znver4-fpu2|znver4-fpu3")
+ 
+ (define_reservation "znver4-fvector" "znver4-fpu0+znver4-fpu1
+ 				      +znver4-fpu2+znver4-fpu3
+ 				      +znver4-agu0+znver4-agu1+znver4-agu2")
+ 
+ ;; DIV units
+ (define_cpu_unit "znver4-idiv" "znver4_idiv")
+ (define_cpu_unit "znver4-fdiv" "znver4_fdiv")
+ 
+ ;; Separate fp store and fp-to-int store. Although there are 2 store pipes, the
+ ;; throughput is limited to only one per cycle.
+ (define_cpu_unit "znver4-fp-store" "znver4_fp_store")
+ 
+ 
+ ;; Integer Instructions
+ ;; Move instructions
+ ;; XCHG
+ (define_insn_reservation "znver4_imov_double" 1
+ 			(and (eq_attr "cpu" "znver4")
+ 				 (and (eq_attr "znver1_decode" "double")
+ 				  (and (eq_attr "type" "imov")
+ 				   (eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-ieu")
+ 
+ (define_insn_reservation "znver4_imov_double_load" 5
+ 			(and (eq_attr "cpu" "znver4")
+ 				 (and (eq_attr "znver1_decode" "double")
+ 				  (and (eq_attr "type" "imov")
+ 				   (eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-ieu")
+ 
+ ;; imov, imovx
+ (define_insn_reservation "znver4_imov" 1
+             (and (eq_attr "cpu" "znver4")
+ 				 (and (eq_attr "type" "imov,imovx")
+ 				  (eq_attr "memory" "none")))
+              "znver4-direct,znver4-ieu")
+ 
+ (define_insn_reservation "znver4_imov_load" 5
+ 			(and (eq_attr "cpu" "znver4")
+ 				 (and (eq_attr "type" "imov,imovx")
+ 				  (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-ieu")
+ 
+ ;; Push Instruction
+ (define_insn_reservation "znver4_push" 1
+ 			(and (eq_attr "cpu" "znver4")
+ 			     (and (eq_attr "type" "push")
+ 				  (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-store")
+ 
+ (define_insn_reservation "znver4_push_mem" 5
+ 			(and (eq_attr "cpu" "znver4")
+ 				 (and (eq_attr "type" "push")
+ 				  (eq_attr "memory" "both")))
+ 			 "znver4-direct,znver4-load,znver4-store")
+ 
+ ;; Pop instruction
+ (define_insn_reservation "znver4_pop" 4
+ 			(and (eq_attr "cpu" "znver4")
+ 			     (and (eq_attr "type" "pop")
+ 				  (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load")
+ 
+ (define_insn_reservation "znver4_pop_mem" 5
+             (and (eq_attr "cpu" "znver4")
+                  (and (eq_attr "type" "pop")
+                   (eq_attr "memory" "both")))
+              "znver4-direct,znver4-load,znver4-store")
+ 
+ ;; Integer Instructions or General instructions
+ ;; Multiplications
+ (define_insn_reservation "znver4_imul" 3
+ 			(and (eq_attr "cpu" "znver4")
+ 			     (and (eq_attr "type" "imul")
+ 				  (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-ieu1")
+ 
+ (define_insn_reservation "znver4_imul_load" 7
+ 			(and (eq_attr "cpu" "znver4")
+ 			     (and (eq_attr "type" "imul")
+ 				  (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-ieu1")
+ 
+ ;; Divisions
+ (define_insn_reservation "znver4_idiv_DI" 18
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "DI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-idiv*10")
+ 
+ (define_insn_reservation "znver4_idiv_SI" 12
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "SI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-idiv*6")
+ 
+ (define_insn_reservation "znver4_idiv_HI" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "HI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-idiv*4")
+ 
+ (define_insn_reservation "znver4_idiv_QI" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "QI")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-idiv*4")
+ 
+ (define_insn_reservation "znver4_idiv_DI_load" 22
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "DI")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-idiv*10")
+ 
+ (define_insn_reservation "znver4_idiv_SI_load" 16
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "SI")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-idiv*6")
+ 
+ (define_insn_reservation "znver4_idiv_HI_load" 14
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "HI")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-idiv*4")
+ 
+ (define_insn_reservation "znver4_idiv_QI_load" 13
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "idiv")
+ 				   (and (eq_attr "mode" "QI")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-idiv*4")
+ 
+ ;; INTEGER/GENERAL Instructions
+ (define_insn_reservation "znver4_insn" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "alu,alu1,negnot,rotate1,ishift1,test,incdec,icmp")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver4-direct,znver4-ieu")
+ 
+ (define_insn_reservation "znver4_insn_load" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "alu,alu1,negnot,rotate1,ishift1,test,incdec,icmp")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-ieu")
+ 
+ (define_insn_reservation "znver4_insn2" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "icmov,setcc")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver4-direct,znver4-ieu0|znver4-ieu3")
+ 
+ (define_insn_reservation "znver4_insn2_load" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "icmov,setcc")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-ieu0|znver4-ieu3")
+ 
+ (define_insn_reservation "znver4_rotate" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "rotate")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver4-direct,znver4-ieu1|znver4-ieu2")
+ 
+ (define_insn_reservation "znver4_rotate_load" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "rotate")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-ieu1|znver4-ieu2")
+ 
+ (define_insn_reservation "znver4_insn_store" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "alu,alu1,negnot,rotate1,ishift1,test,incdec,icmp")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-ieu,znver4-store")
+ 
+ (define_insn_reservation "znver4_insn2_store" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "icmov,setcc")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-ieu0|znver4-ieu3,znver4-store")
+ 
+ (define_insn_reservation "znver4_rotate_store" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "rotate")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-ieu1|znver4-ieu2,znver4-store")
+ 
+ ;; alu1 instructions
+ (define_insn_reservation "znver4_alu1_vector" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "none,unknown"))))
+ 			 "znver4-vector,znver4-ivector*3")
+ 
+ (define_insn_reservation "znver4_alu1_vector_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (and (eq_attr "type" "alu1")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-vector,znver4-load,znver4-ivector*3")
+ 
+ ;; Call Instruction
+ (define_insn_reservation "znver4_call" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "call,callv"))
+ 			 "znver4-double,znver4-ieu0|znver4-bru0,znver4-store")
+ 
+ ;; Branches
+ (define_insn_reservation "znver4_branch" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "none")))
+ 			  "znver4-direct,znver4-ieu0|znver4-bru0")
+ 
+ (define_insn_reservation "znver4_branch_load" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "load")))
+ 			  "znver4-direct,znver4-load,znver4-ieu0|znver4-bru0")
+ 
+ (define_insn_reservation "znver4_branch_vector" 2
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "none,unknown")))
+ 			  "znver4-vector,znver4-ivector*2")
+ 
+ (define_insn_reservation "znver4_branch_vector_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ibr")
+ 					(eq_attr "memory" "load")))
+ 			  "znver4-vector,znver4-load,znver4-ivector*2")
+ 
+ ;; LEA instruction with simple addressing
+ (define_insn_reservation "znver4_lea" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "lea"))
+ 			 "znver4-direct,znver4-ieu")
+ 
+ ;; Leave
+ (define_insn_reservation "znver4_leave" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "leave"))
+ 			 "znver4-double,znver4-ieu,znver4-store")
+ 
+ ;; STR and ISHIFT are microcoded.
+ (define_insn_reservation "znver4_str" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "str")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-vector,znver4-ivector*3")
+ 
+ (define_insn_reservation "znver4_str_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "str")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-vector,znver4-load,znver4-ivector*3")
+ 
+ (define_insn_reservation "znver4_ishift" 2
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ishift")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-vector,znver4-ivector*2")
+ 
+ (define_insn_reservation "znver4_ishift_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ishift")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-vector,znver4-load,znver4-ivector*2")
+ 
+ ;; Other vector type
+ (define_insn_reservation "znver4_ieu_vector" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "other,multi")
+ 				   (eq_attr "memory" "none,unknown")))
+ 			 "znver4-vector,znver4-ivector*5")
+ 
+ (define_insn_reservation "znver4_ieu_vector_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "other,multi")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-vector,znver4-load,znver4-ivector*5")
+ 
+ ;; Floating Point
+ ;; FP movs
+ (define_insn_reservation "znver4_fp_cmov" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "fcmov"))
+ 			 "znver4-vector,znver4-fvector*3")
+ 
+ (define_insn_reservation "znver4_fp_mov_direct" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "fmov"))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu1")
+ 
+ ;;FLD
+ (define_insn_reservation "znver4_fp_mov_direct_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0|znver4-fpu1")
+ 
+ ;;FST
+ (define_insn_reservation "znver4_fp_mov_direct_store" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "direct")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu1,znver4-fp-store")
+ 
+ ;;FILD
+ (define_insn_reservation "znver4_fp_mov_double_load" 13
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1")
+ 
+ ;;FIST
+ (define_insn_reservation "znver4_fp_mov_double_store" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "double")
+ 				   (and (eq_attr "type" "fmov")
+ 					(eq_attr "memory" "store"))))
+ 			 "znver4-double,znver4-fpu1,znver4-fp-store")
+ 
+ ;; FSQRT
+ (define_insn_reservation "znver4_fsqrt" 22
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fpspc")
+ 				   (and (eq_attr "mode" "XF")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fdiv*10")
+ 
+ ;; FPSPC instructions
+ (define_insn_reservation "znver4_fp_spc" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fpspc")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-vector,znver4-fvector*6")
+ 
+ (define_insn_reservation "znver4_fp_insn_vector" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "znver1_decode" "vector")
+ 				   (eq_attr "type" "mmxcvt,sselog1,ssemov")))
+ 			 "znver4-vector,znver4-fvector*6")
+ 
+ ;; FADD, FSUB, FMUL
+ (define_insn_reservation "znver4_fp_op_mul" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fop,fmul")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu0")
+ 
+ (define_insn_reservation "znver4_fp_op_mul_load" 12
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fop,fmul")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-fpu0")
+ 
+ ;; FDIV
+ (define_insn_reservation "znver4_fp_div" 15
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fdiv*6")
+ 
+ (define_insn_reservation "znver4_fp_div_load" 20
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-fdiv*6")
+ 
+ (define_insn_reservation "znver4_fp_idiv_load" 24
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fdiv")
+ 				   (and (eq_attr "fp_int_src" "true")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-double,znver4-load,znver4-fdiv*6")
+ 
+ ;; FABS, FCHS
+ (define_insn_reservation "znver4_fp_fsgn" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "fsgn"))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu1")
+ 
+ ;; FCMP
+ (define_insn_reservation "znver4_fp_fcmp" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fcmp")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_fp_fcmp_double" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "fcmp")
+ 				   (and (eq_attr "znver1_decode" "double")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-double,znver4-fpu1,znver4-fpu2")
+ 
+ ;; MMX, SSE, SSEn.n instructions
+ (define_insn_reservation "znver4_fp_mmx	" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (eq_attr "type" "mmx"))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_mmx_add_cmp" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxadd,mmxcmp")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_mmx_add_cmp_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxadd,mmxcmp")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_mmx_insn" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1,mmxshft")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_mmx_insn_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxcvt,sseshuf,sseshuf1,mmxshft")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_mmx_mov" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxmov")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_mmx_mov_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxmov")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver4-direct,znver4-load,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_mmx_mul" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxmul")
+ 				   (eq_attr "memory" "none")))
+ 			  "znver4-direct,znver4-fpu0|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_mmx_mul_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mmxmul")
+ 				   (eq_attr "memory" "load")))
+ 			  "znver4-direct,znver4-load,znver4-fpu0|znver4-fpu3")
+ 
+ ;; AVX instructions
+ (define_insn_reservation "znver4_sse_log" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (and (eq_attr "mode" "V4SF,V8SF,V2DF,V4DF,QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_log_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (and (eq_attr "mode" "V4SF,V8SF,V2DF,V4DF,QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_log1" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (and (eq_attr "mode" "V4SF,V8SF,V2DF,V4DF,QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "store"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_log1_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (and (eq_attr "mode" "V4SF,V8SF,V2DF,V4DF,QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "both"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1|znver4-fpu2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_comi" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecomi")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-double,znver4-fpu2|znver4-fpu3,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_comi_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecomi")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver4-double,znver4-load,znver4-fpu2|znver4-fpu3,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_test" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "prefix_extra" "1")
+ 				   (and (eq_attr "type" "ssecomi")
+ 					(eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_test_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "prefix_extra" "1")
+ 				   (and (eq_attr "type" "ssecomi")
+ 					(eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_imul" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_imul_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0|znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_sse_mov" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_mov_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_mov_store" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "store"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_mov_fp" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_mov_fp_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_mov_fp_store" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "store"))))
+ 			 "znver4-direct,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_add" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu2|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_add_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu2|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_add1" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd1")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-vector,znver4-fvector*2")
+ 
+ (define_insn_reservation "znver4_sse_add1_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd1")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-vector,znver4-load,znver4-fvector*2")
+ 
+ (define_insn_reservation "znver4_sse_iadd" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_iadd_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (and (eq_attr "mode" "QI,HI,SI,DI,TI,OI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_mul" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_sse_mul_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0|znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_sse_div_pd" 13
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V4DF,V2DF,V1DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fdiv*5")
+ 
+ (define_insn_reservation "znver4_sse_div_ps" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V8SF,V4SF,V2SF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fdiv*3")
+ 
+ (define_insn_reservation "znver4_sse_div_pd_load" 18
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V4DF,V2DF,V1DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fdiv*5")
+ 
+ (define_insn_reservation "znver4_sse_div_ps_load" 15
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V8SF,V4SF,V2SF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fdiv*3")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "prefix" "vex")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0|znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "prefix" "vex")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0|znver4-fpu1")
+ 
+ (define_insn_reservation "znver4_sse_comi_avx" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecomi")
+ 				   (eq_attr "memory" "store")))
+ 			 "znver4-direct,znver4-fpu2+znver4-fpu3,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_comi_avx_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecomi")
+ 				   (eq_attr "memory" "both")))
+ 			 "znver4-direct,znver4-load,znver4-fpu2+znver4-fpu3,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_cvt" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu2|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_cvt_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu2|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_icvt" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "SI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu2|znver4-fpu3")
+ 
+ (define_insn_reservation "znver4_sse_icvt_store" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "SI")
+ 				    (eq_attr "memory" "store"))))
+ 			 "znver4-double,znver4-fpu2|znver4-fpu3,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_shuf" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_shuf_load" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu")
+ 
+ (define_insn_reservation "znver4_sse_ishuf" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "OI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1|znver4-fpu2")
+ 
+ (define_insn_reservation "znver4_sse_ishuf_load" 8
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "OI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1|znver4-fpu2")
+ 
+ ;; AVX512 instructions
+ (define_insn_reservation "znver4_sse_log_evex" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_log_evex_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_log1_evex" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1*2|znver4-fpu2*2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_log1_evex_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sselog1")
+ 				   (and (eq_attr "mode" "V16SF,V8DF,XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1*2|znver4-fpu2*2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_mul_evex" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_mul_evex_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemul")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_imul_evex" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_imul_evex_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseimul")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_mov_evex" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1*2|znver4-fpu2*2")
+ 
+ (define_insn_reservation "znver4_sse_mov_evex_load" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1*2|znver4-fpu2*2")
+ 
+ (define_insn_reservation "znver4_sse_mov_evex_store" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemov")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "store"))))
+ 			 "znver4-direct,znver4-fpu1*2|znver4-fpu2*2,znver4-fp-store")
+ 
+ (define_insn_reservation "znver4_sse_add_evex" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_add_evex_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseadd")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_iadd_evex" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_iadd_evex_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseiadd")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_div_pd_evex" 13
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V8DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fdiv*9")
+ 
+ (define_insn_reservation "znver4_sse_div_ps_evex" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V16SF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fdiv*6")
+ 
+ (define_insn_reservation "znver4_sse_div_pd_evex_load" 19
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V8DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fdiv*9")
+ 
+ (define_insn_reservation "znver4_sse_div_ps_evex_load" 16
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssediv")
+ 				   (and (eq_attr "mode" "V16SF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fdiv*6")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx128" 3
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "none")))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx128_load" 9
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V4SF,V2DF,V2SF,V1DF,SF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "load")))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx256" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V8SF,V4DF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "none")))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx256_load" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V8SF,V4DF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "load")))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx512" 5
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "none")))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cmp_avx512_load" 11
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecmp")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (and (eq_attr "prefix" "evex")
+ 					 (eq_attr "memory" "load")))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_cvt_evex" 6
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1*2|znver4-fpu2*2,znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_cvt_evex_load" 12
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssecvt")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1*2|znver4-fpu2*2,znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_shuf_evex" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_shuf_evex_load" 7
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "V16SF,V8DF")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2")
+ 
+ (define_insn_reservation "znver4_sse_ishuf_evex" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "none"))))
+ 			 "znver4-direct,znver4-fpu1*2|znver4-fpu2*2")
+ 
+ (define_insn_reservation "znver4_sse_ishuf_evex_load" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (and (eq_attr "mode" "XI")
+ 				    (eq_attr "memory" "load"))))
+ 			 "znver4-direct,znver4-load,znver4-fpu1*2|znver4-fpu2*2")
+ 
+ (define_insn_reservation "znver4_sse_muladd" 4
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "ssemuladd")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_muladd_load" 10
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "sseshuf")
+ 				   (eq_attr "memory" "load")))
+ 			 "znver4-direct,znver4-load,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ ;; AVX512 mask instructions
+ 
+ (define_insn_reservation "znver4_sse_mskmov" 2
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "mskmov")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu0*2|znver4-fpu1*2")
+ 
+ (define_insn_reservation "znver4_sse_msklog" 1
+ 			 (and (eq_attr "cpu" "znver4")
+ 			      (and (eq_attr "type" "msklog")
+ 				   (eq_attr "memory" "none")))
+ 			 "znver4-direct,znver4-fpu2*2|znver4-fpu3*2")
diff -Nrcpad gcc-11.4.0/gcc/config/mips/mips-msa.md gcc-11.5.0/gcc/config/mips/mips-msa.md
*** gcc-11.4.0/gcc/config/mips/mips-msa.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/mips/mips-msa.md	Fri Jul 19 05:52:43 2024
***************
*** 231,236 ****
--- 231,240 ----
     (V4SI  "uimm5")
     (V2DI  "uimm6")])
  
+ ;; The index of sign bit in FP vector elements.
+ (define_mode_attr elmsgnbit [(V2DF "63") (V4DF "63")
+ 			     (V4SF "31") (V8SF "31")])
+ 
  (define_expand "vec_init<mode><unitmode>"
    [(match_operand:MSA 0 "register_operand")
     (match_operand:MSA 1 "")]
***************
*** 597,605 ****
  })
  
  (define_expand "neg<mode>2"
!   [(set (match_operand:MSA 0 "register_operand")
! 	(minus:MSA (match_dup 2)
! 		   (match_operand:MSA 1 "register_operand")))]
    "ISA_HAS_MSA"
  {
    rtx reg = gen_reg_rtx (<MODE>mode);
--- 601,609 ----
  })
  
  (define_expand "neg<mode>2"
!   [(set (match_operand:IMSA 0 "register_operand")
! 	(minus:IMSA (match_dup 2)
! 		   (match_operand:IMSA 1 "register_operand")))]
    "ISA_HAS_MSA"
  {
    rtx reg = gen_reg_rtx (<MODE>mode);
***************
*** 607,612 ****
--- 611,624 ----
    operands[2] = reg;
  })
  
+ (define_insn "neg<mode>2"
+   [(set (match_operand:FMSA 0 "register_operand" "=f")
+ 	(neg:FMSA (match_operand:FMSA 1 "register_operand" "f")))]
+   "ISA_HAS_MSA"
+   "bnegi.<msafmt>\t%w0,%w1,<elmsgnbit>"
+   [(set_attr "type" "simd_bit")
+    (set_attr "mode" "<MODE>")])
+ 
  (define_expand "msa_ldi<mode>"
    [(match_operand:IMSA 0 "register_operand")
     (match_operand 1 "const_imm10_operand")]
diff -Nrcpad gcc-11.4.0/gcc/config/mips/mips.c gcc-11.5.0/gcc/config/mips/mips.c
*** gcc-11.4.0/gcc/config/mips/mips.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/mips/mips.c	Fri Jul 19 05:52:43 2024
*************** mips_emit_call_insn (rtx pattern, rtx or
*** 3138,3143 ****
--- 3138,3146 ----
      {
        rtx post_call_tmp_reg = gen_rtx_REG (word_mode, POST_CALL_TMP_REG);
        clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), post_call_tmp_reg);
+       clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), MIPS16_PIC_TEMP);
+       clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn),
+ 			MIPS_PROLOGUE_TEMP (word_mode));
      }
  
    return insn;
*************** mips16_gp_pseudo_reg (void)
*** 3234,3240 ****
        rtx set = gen_load_const_gp (cfun->machine->mips16_gp_pseudo_rtx);
        rtx_insn *insn = emit_insn_after (set, scan);
        INSN_LOCATION (insn) = 0;
! 
        pop_topmost_sequence ();
      }
  
--- 3237,3249 ----
        rtx set = gen_load_const_gp (cfun->machine->mips16_gp_pseudo_rtx);
        rtx_insn *insn = emit_insn_after (set, scan);
        INSN_LOCATION (insn) = 0;
!       /* NewABI support hasn't been implement.  NewABI should generate RTL
! 	 sequence instead of ASM sequence directly.  */
!       if (mips_current_loadgp_style () == LOADGP_OLDABI)
! 	{
! 	  emit_clobber (MIPS16_PIC_TEMP);
! 	  emit_clobber (MIPS_PROLOGUE_TEMP (Pmode));
! 	}
        pop_topmost_sequence ();
      }
  
diff -Nrcpad gcc-11.4.0/gcc/config/pa/pa.c gcc-11.5.0/gcc/config/pa/pa.c
*** gcc-11.4.0/gcc/config/pa/pa.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/pa/pa.c	Fri Jul 19 05:52:43 2024
*************** pa_asm_trampoline_template (FILE *f)
*** 10396,10402 ****
  	  fputs ("\tldw		0(%r22),%r21\n", f);
  	  fputs ("\tldw		4(%r22),%r19\n", f);
  	  fputs ("\tbve		(%r21)\n", f);
! 	  fputs ("\tldw		52(%r1),%r29\n", f);
  	  fputs ("\t.word	0\n", f);
  	  fputs ("\t.word	0\n", f);
  	  fputs ("\t.word	0\n", f);
--- 10396,10402 ----
  	  fputs ("\tldw		0(%r22),%r21\n", f);
  	  fputs ("\tldw		4(%r22),%r19\n", f);
  	  fputs ("\tbve		(%r21)\n", f);
! 	  fputs ("\tldw		52(%r20),%r29\n", f);
  	  fputs ("\t.word	0\n", f);
  	  fputs ("\t.word	0\n", f);
  	  fputs ("\t.word	0\n", f);
diff -Nrcpad gcc-11.4.0/gcc/config/pa/pa.md gcc-11.5.0/gcc/config/pa/pa.md
*** gcc-11.4.0/gcc/config/pa/pa.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/pa/pa.md	Fri Jul 19 05:52:43 2024
***************
*** 5494,5517 ****
     (set_attr "length" "4")])
  
  (define_insn ""
-   [(set (match_operand:DI 0 "register_operand" "=f")
- 	(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f"))
- 		 (match_operand:DI 2 "uint32_operand" "f")))]
-   "TARGET_PA_11 && ! TARGET_SOFT_FLOAT && ! TARGET_SOFT_MULT && !TARGET_64BIT"
-   "xmpyu %1,%R2,%0"
-   [(set_attr "type" "fpmuldbl")
-    (set_attr "length" "4")])
- 
- (define_insn ""
-   [(set (match_operand:DI 0 "register_operand" "=f")
- 	(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f"))
- 		 (match_operand:DI 2 "uint32_operand" "f")))]
-   "TARGET_PA_11 && ! TARGET_SOFT_FLOAT && ! TARGET_SOFT_MULT && TARGET_64BIT"
-   "xmpyu %1,%2R,%0"
-   [(set_attr "type" "fpmuldbl")
-    (set_attr "length" "4")])
- 
- (define_insn ""
    [(set (reg:SI 29) (mult:SI (reg:SI 26) (reg:SI 25)))
     (clobber (match_operand:SI 0 "register_operand" "=a"))
     (clobber (reg:SI 26))
--- 5494,5499 ----
*************** add,l %2,%3,%3\;bv,n %%r0(%3)"
*** 10488,10500 ****
  (define_insn "atomic_storedi_1"
    [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r"))
          (match_operand:DI 1 "reg_or_0_operand" "M,r"))
!    (clobber (match_scratch:DI 2 "=X,f"))]
    "!TARGET_64BIT && !TARGET_SOFT_FLOAT"
    "@
!    {fstds|fstd} %%fr0,0(%0)
     {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
    [(set_attr "type" "move,move")
!    (set_attr "length" "4,16")])
  
  ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so
  ;; we need memory barriers to enforce program order for memory references
--- 10470,10482 ----
  (define_insn "atomic_storedi_1"
    [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r"))
          (match_operand:DI 1 "reg_or_0_operand" "M,r"))
!    (clobber (match_scratch:DI 2 "=f,f"))]
    "!TARGET_64BIT && !TARGET_SOFT_FLOAT"
    "@
!    fcpy,dbl %%fr0,%2\n\t{fstds|fstd} %2,0(%0)
     {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
    [(set_attr "type" "move,move")
!    (set_attr "length" "8,16")])
  
  ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so
  ;; we need memory barriers to enforce program order for memory references
diff -Nrcpad gcc-11.4.0/gcc/config/riscv/sync.md gcc-11.5.0/gcc/config/riscv/sync.md
*** gcc-11.4.0/gcc/config/riscv/sync.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/riscv/sync.md	Fri Jul 19 05:52:43 2024
***************
*** 129,134 ****
--- 129,143 ----
     (match_operand:SI 7 "const_int_operand" "")] ;; mod_f
    "TARGET_ATOMIC"
  {
+   if (word_mode != <MODE>mode && operands[3] != const0_rtx)
+     {
+       /* We don't have SI mode compare on RV64, so we need to make sure expected
+ 	 value is sign-extended.  */
+       rtx tmp0 = gen_reg_rtx (word_mode);
+       emit_insn (gen_extend_insn (tmp0, operands[3], word_mode, <MODE>mode, 0));
+       operands[3] = simplify_gen_subreg (<MODE>mode, tmp0, word_mode, 0);
+     }
+ 
    emit_insn (gen_atomic_cas_value_strong<mode> (operands[1], operands[2],
  						operands[3], operands[4],
  						operands[6], operands[7]));
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/altivec.md gcc-11.5.0/gcc/config/rs6000/altivec.md
*** gcc-11.4.0/gcc/config/rs6000/altivec.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/altivec.md	Fri Jul 19 05:52:43 2024
***************
*** 3870,3876 ****
  		      (match_operand:QI 4 "u8bit_cint_operand" "n")]
  		     UNSPEC_XXEVAL))]
     "TARGET_POWER10"
!    "xxeval %0,%1,%2,%3,%4"
     [(set_attr "type" "vecperm")
      (set_attr "prefixed" "yes")])
  
--- 3870,3876 ----
  		      (match_operand:QI 4 "u8bit_cint_operand" "n")]
  		     UNSPEC_XXEVAL))]
     "TARGET_POWER10"
!    "xxeval %x0,%x1,%x2,%x3,%4"
     [(set_attr "type" "vecperm")
      (set_attr "prefixed" "yes")])
  
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/darwin.h gcc-11.5.0/gcc/config/rs6000/darwin.h
*** gcc-11.4.0/gcc/config/rs6000/darwin.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/darwin.h	Fri Jul 19 05:52:43 2024
***************
*** 98,104 ****
     Include libmx when targeting Darwin 7.0 and above, but before libSystem,
     since the functions are actually in libSystem but for 7.x compatibility
     we want them to be looked for in libmx first.
!    Include libSystemStubs when compiling against 10.3 - 10.5 SDKs (we assume
     this is the case when targetting these) - but not for 64-bit long double.
     Don't do either for m64, the library is either a dummy or non-existent.
  */
--- 98,104 ----
     Include libmx when targeting Darwin 7.0 and above, but before libSystem,
     since the functions are actually in libSystem but for 7.x compatibility
     we want them to be looked for in libmx first.
!    Include libSystemStubs when compiling against 10.3 - 10.6 SDKs (we assume
     this is the case when targetting these) - but not for 64-bit long double.
     Don't do either for m64, the library is either a dummy or non-existent.
  */
***************
*** 107,114 ****
  #define LIB_SPEC \
  "%{!static:								\
    %{!m64:%{!mlong-double-64:						\
!     %{pg:%:version-compare(>< 10.3 10.5 mmacosx-version-min= -lSystemStubs_profile)} \
!     %{!pg:%:version-compare(>< 10.3 10.5 mmacosx-version-min= -lSystemStubs)} \
       %:version-compare(>< 10.3 10.4 mmacosx-version-min= -lmx)}}	\
    -lSystem								\
  }"
--- 107,114 ----
  #define LIB_SPEC \
  "%{!static:								\
    %{!m64:%{!mlong-double-64:						\
!     %{pg:%:version-compare(>< 10.3 10.7 mmacosx-version-min= -lSystemStubs_profile)} \
!     %{!pg:%:version-compare(>< 10.3 10.7 mmacosx-version-min= -lSystemStubs)} \
       %:version-compare(>< 10.3 10.4 mmacosx-version-min= -lmx)}}	\
    -lSystem								\
  }"
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/fusion.md gcc-11.5.0/gcc/config/rs6000/fusion.md
*** gcc-11.4.0/gcc/config/rs6000/fusion.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/fusion.md	Fri Jul 19 05:52:43 2024
***************
*** 22,28 ****
  ;; load mode is DI result mode is clobber compare mode is CC extend is none
  (define_insn_and_split "*ld_cmpdi_cr0_DI_clobber_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:DI 1 "ds_form_mem_operand" "m")
                      (match_operand:DI 3 "const_m1_to_1_operand" "n")))
     (clobber (match_scratch:DI 0 "=r"))]
    "(TARGET_P10_FUSION)"
--- 22,28 ----
  ;; load mode is DI result mode is clobber compare mode is CC extend is none
  (define_insn_and_split "*ld_cmpdi_cr0_DI_clobber_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:DI 1 "non_update_memory_operand" "YZ")
                      (match_operand:DI 3 "const_m1_to_1_operand" "n")))
     (clobber (match_scratch:DI 0 "=r"))]
    "(TARGET_P10_FUSION)"
***************
*** 43,49 ****
  ;; load mode is DI result mode is clobber compare mode is CCUNS extend is none
  (define_insn_and_split "*ld_cmpldi_cr0_DI_clobber_CCUNS_none"
    [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x")
!         (compare:CCUNS (match_operand:DI 1 "ds_form_mem_operand" "m")
                         (match_operand:DI 3 "const_0_to_1_operand" "n")))
     (clobber (match_scratch:DI 0 "=r"))]
    "(TARGET_P10_FUSION)"
--- 43,49 ----
  ;; load mode is DI result mode is clobber compare mode is CCUNS extend is none
  (define_insn_and_split "*ld_cmpldi_cr0_DI_clobber_CCUNS_none"
    [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x")
!         (compare:CCUNS (match_operand:DI 1 "non_update_memory_operand" "YZ")
                         (match_operand:DI 3 "const_0_to_1_operand" "n")))
     (clobber (match_scratch:DI 0 "=r"))]
    "(TARGET_P10_FUSION)"
***************
*** 64,70 ****
  ;; load mode is DI result mode is DI compare mode is CC extend is none
  (define_insn_and_split "*ld_cmpdi_cr0_DI_DI_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:DI 1 "ds_form_mem_operand" "m")
                      (match_operand:DI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
--- 64,70 ----
  ;; load mode is DI result mode is DI compare mode is CC extend is none
  (define_insn_and_split "*ld_cmpdi_cr0_DI_DI_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:DI 1 "non_update_memory_operand" "YZ")
                      (match_operand:DI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
***************
*** 85,91 ****
  ;; load mode is DI result mode is DI compare mode is CCUNS extend is none
  (define_insn_and_split "*ld_cmpldi_cr0_DI_DI_CCUNS_none"
    [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x")
!         (compare:CCUNS (match_operand:DI 1 "ds_form_mem_operand" "m")
                         (match_operand:DI 3 "const_0_to_1_operand" "n")))
     (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
--- 85,91 ----
  ;; load mode is DI result mode is DI compare mode is CCUNS extend is none
  (define_insn_and_split "*ld_cmpldi_cr0_DI_DI_CCUNS_none"
    [(set (match_operand:CCUNS 2 "cc_reg_operand" "=x")
!         (compare:CCUNS (match_operand:DI 1 "non_update_memory_operand" "YZ")
                         (match_operand:DI 3 "const_0_to_1_operand" "n")))
     (set (match_operand:DI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
***************
*** 104,120 ****
  
  ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
  ;; load mode is SI result mode is clobber compare mode is CC extend is none
! (define_insn_and_split "*lwa_cmpdi_cr0_SI_clobber_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (clobber (match_scratch:SI 0 "=r"))]
    "(TARGET_P10_FUSION)"
!   "lwa%X1 %0,%1\;cmpdi %2,%0,%3"
    "&& reload_completed
     && (cc_reg_not_cr0_operand (operands[2], CCmode)
         || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),
!                                       SImode, NON_PREFIXED_DS))"
    [(set (match_dup 0) (match_dup 1))
     (set (match_dup 2)
          (compare:CC (match_dup 0) (match_dup 3)))]
--- 104,120 ----
  
  ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
  ;; load mode is SI result mode is clobber compare mode is CC extend is none
! (define_insn_and_split "*lwz_cmpwi_cr0_SI_clobber_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "non_update_memory_operand" "m")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (clobber (match_scratch:SI 0 "=r"))]
    "(TARGET_P10_FUSION)"
!   "lwz%X1 %0,%1\;cmpwi %2,%0,%3"
    "&& reload_completed
     && (cc_reg_not_cr0_operand (operands[2], CCmode)
         || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),
!                                       SImode, NON_PREFIXED_D))"
    [(set (match_dup 0) (match_dup 1))
     (set (match_dup 2)
          (compare:CC (match_dup 0) (match_dup 3)))]
***************
*** 146,162 ****
  
  ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
  ;; load mode is SI result mode is SI compare mode is CC extend is none
! (define_insn_and_split "*lwa_cmpdi_cr0_SI_SI_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:SI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
!   "lwa%X1 %0,%1\;cmpdi %2,%0,%3"
    "&& reload_completed
     && (cc_reg_not_cr0_operand (operands[2], CCmode)
         || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),
!                                       SImode, NON_PREFIXED_DS))"
    [(set (match_dup 0) (match_dup 1))
     (set (match_dup 2)
          (compare:CC (match_dup 0) (match_dup 3)))]
--- 146,162 ----
  
  ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
  ;; load mode is SI result mode is SI compare mode is CC extend is none
! (define_insn_and_split "*lwz_cmpwi_cr0_SI_SI_CC_none"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "non_update_memory_operand" "m")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:SI 0 "gpc_reg_operand" "=r") (match_dup 1))]
    "(TARGET_P10_FUSION)"
!   "lwz%X1 %0,%1\;cmpwi %2,%0,%3"
    "&& reload_completed
     && (cc_reg_not_cr0_operand (operands[2], CCmode)
         || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),
!                                       SImode, NON_PREFIXED_D))"
    [(set (match_dup 0) (match_dup 1))
     (set (match_dup 2)
          (compare:CC (match_dup 0) (match_dup 3)))]
***************
*** 190,196 ****
  ;; load mode is SI result mode is EXTSI compare mode is CC extend is sign
  (define_insn_and_split "*lwa_cmpdi_cr0_SI_EXTSI_CC_sign"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "ds_form_mem_operand" "m")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:EXTSI 0 "gpc_reg_operand" "=r") (sign_extend:EXTSI (match_dup 1)))]
    "(TARGET_P10_FUSION)"
--- 190,196 ----
  ;; load mode is SI result mode is EXTSI compare mode is CC extend is sign
  (define_insn_and_split "*lwa_cmpdi_cr0_SI_EXTSI_CC_sign"
    [(set (match_operand:CC 2 "cc_reg_operand" "=x")
!         (compare:CC (match_operand:SI 1 "non_update_memory_operand" "YZ")
                      (match_operand:SI 3 "const_m1_to_1_operand" "n")))
     (set (match_operand:EXTSI 0 "gpc_reg_operand" "=r") (sign_extend:EXTSI (match_dup 1)))]
    "(TARGET_P10_FUSION)"
***************
*** 205,210 ****
--- 205,211 ----
    ""
    [(set_attr "type" "fused_load_cmpi")
     (set_attr "cost" "8")
+    (set_attr "sign_extend" "yes")
     (set_attr "length" "8")])
  
  ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/genfusion.pl gcc-11.5.0/gcc/config/rs6000/genfusion.pl
*** gcc-11.4.0/gcc/config/rs6000/genfusion.pl	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/genfusion.pl	Fri Jul 19 05:52:43 2024
*************** sub mode_to_ldst_char
*** 53,144 ****
      return '?';
  }
  
  sub gen_ld_cmpi_p10
  {
!     my ($lmode, $ldst, $clobbermode, $result, $cmpl, $echr, $constpred,
! 	$mempred, $ccmode, $np, $extend, $resultmode);
!   LMODE: foreach $lmode ('DI','SI','HI','QI') {
!       $ldst = mode_to_ldst_char($lmode);
!       $clobbermode = $lmode;
!       # For clobber, we need a SI/DI reg in case we
!       # split because we have to sign/zero extend.
!       if ($lmode eq 'HI' || $lmode eq 'QI') { $clobbermode = "GPR"; }
!     RESULT: foreach $result ('clobber', $lmode,  "EXT".$lmode) {
! 	# EXTDI does not exist, and we cannot directly produce HI/QI results.
! 	next RESULT if $result eq "EXTDI" || $result eq "HI" || $result eq "QI";
! 	# Don't allow EXTQI because that would allow HI result which we can't do.
! 	$result = "GPR" if $result eq "EXTQI";
!       CCMODE: foreach $ccmode ('CC','CCUNS') {
! 	  $np = "NON_PREFIXED_D";
! 	  $mempred = "non_update_memory_operand";
! 	  if ( $ccmode eq 'CC' ) {
! 	      next CCMODE if $lmode eq 'QI';
! 	      if ( $lmode eq 'DI' || $lmode eq 'SI' ) {
! 		  # ld and lwa are both DS-FORM.
! 		  $np = "NON_PREFIXED_DS";
! 		  $mempred = "ds_form_mem_operand";
! 	      }
! 	      $cmpl = "";
! 	      $echr = "a";
! 	      $constpred = "const_m1_to_1_operand";
! 	  } else {
! 	      if ( $lmode eq 'DI' ) {
! 		  # ld is DS-form, but lwz is not.
! 		  $np = "NON_PREFIXED_DS";
! 		  $mempred = "ds_form_mem_operand";
! 	      }
! 	      $cmpl = "l";
! 	      $echr = "z";
! 	      $constpred = "const_0_to_1_operand";
! 	  }
! 	  if ($lmode eq 'DI') { $echr = ""; }
! 	  if ($result =~ m/^EXT/ || $result eq 'GPR' || $clobbermode eq 'GPR') {
! 	      # We always need extension if result > lmode.
! 	      if ( $ccmode eq 'CC' ) {
! 		  $extend = "sign";
! 	      } else {
! 		  $extend = "zero";
! 	      }
! 	  } else {
! 	      # Result of SI/DI does not need sign extension.
! 	      $extend = "none";
! 	  }
! 	  print ";; load-cmpi fusion pattern generated by gen_ld_cmpi_p10\n";
! 	  print ";; load mode is $lmode result mode is $result compare mode is $ccmode extend is $extend\n";
  
! 	  print "(define_insn_and_split \"*l${ldst}${echr}_cmp${cmpl}di_cr0_${lmode}_${result}_${ccmode}_${extend}\"\n";
! 	  print "  [(set (match_operand:${ccmode} 2 \"cc_reg_operand\" \"=x\")\n";
! 	  print "        (compare:${ccmode} (match_operand:${lmode} 1 \"${mempred}\" \"m\")\n";
! 	  if ($ccmode eq 'CCUNS') { print "   "; }
! 	  print "                    (match_operand:${lmode} 3 \"${constpred}\" \"n\")))\n";
! 	  if ($result eq 'clobber') {
! 	      print "   (clobber (match_scratch:${clobbermode} 0 \"=r\"))]\n";
! 	  } elsif ($result eq $lmode) {
! 	      print "   (set (match_operand:${result} 0 \"gpc_reg_operand\" \"=r\") (match_dup 1))]\n";
! 	  } else {
! 	      print "   (set (match_operand:${result} 0 \"gpc_reg_operand\" \"=r\") (${extend}_extend:${result} (match_dup 1)))]\n";
! 	  }
! 	  print "  \"(TARGET_P10_FUSION)\"\n";
! 	  print "  \"l${ldst}${echr}%X1 %0,%1\\;cmp${cmpl}di %2,%0,%3\"\n";
! 	  print "  \"&& reload_completed\n";
! 	  print "   && (cc_reg_not_cr0_operand (operands[2], CCmode)\n";
! 	  print "       || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),\n";
! 	  print "                                      ${lmode}mode, ${np}))\"\n";
  
! 	  if ($extend eq "none") {
! 	      print "  [(set (match_dup 0) (match_dup 1))\n";
! 	  } else {
! 	      $resultmode = $result;
! 	      if ( $result eq 'clobber' ) { $resultmode = $clobbermode }
! 	      print "  [(set (match_dup 0) (${extend}_extend:${resultmode} (match_dup 1)))\n";
! 	  }
! 	  print "   (set (match_dup 2)\n";
! 	  print "        (compare:${ccmode} (match_dup 0) (match_dup 3)))]\n";
! 	  print "  \"\"\n";
! 	  print "  [(set_attr \"type\" \"fused_load_cmpi\")\n";
! 	  print "   (set_attr \"cost\" \"8\")\n";
! 	  print "   (set_attr \"length\" \"8\")])\n";
! 	  print "\n";
        }
      }
    }
--- 53,188 ----
      return '?';
  }
  
+ sub gen_ld_cmpi_p10_one
+ {
+   my ($lmode, $result, $ccmode) = @_;
+ 
+   my $np = "NON_PREFIXED_D";
+   my $mempred = "non_update_memory_operand";
+   my $extend;
+ 
+   # We need to special case lwa.  The prefixed_load_p function in rs6000.cc
+   # (which determines if a load instruction is prefixed) uses the fact that the
+   # register mode is different from the memory mode, and that the sign_extend
+   # attribute is set to use DS-form rules for the address instead of D-form.
+   # If the register size is the same, prefixed_load_p assumes we are doing a
+   # lwz.  We change to use an lwz and word compare if we don't need to sign
+   # extend the SImode value.  Otherwise if we need the value, we need to
+   # make sure the insn is marked as ds-form.
+   my $cmp_size_char = ($lmode eq "SI"
+ 		       && $ccmode eq "CC"
+ 		       && $result !~ /^EXT|^DI$/) ? "w" : "d";
+ 
+   if ($ccmode eq "CC") {
+     # ld and lwa are both DS-FORM.
+     ($lmode eq "DI") and $np = "NON_PREFIXED_DS";
+     ($lmode eq "SI" && $cmp_size_char eq "d") and $np = "NON_PREFIXED_DS";
+   } else {
+     if ($lmode eq "DI") {
+       # ld is DS-form, but lwz is not.
+       $np = "NON_PREFIXED_DS";
+     }
+   }
+ 
+   my $cmpl = ($ccmode eq "CC") ? "" : "l";
+   my $echr = ($ccmode eq "CC" && $cmp_size_char eq "d") ? "a" : "z";
+   if ($lmode eq "DI") { $echr = ""; }
+   my $constpred = ($ccmode eq "CC") ? "const_m1_to_1_operand"
+   				    : "const_0_to_1_operand";
+ 
+   # For clobber, we need a SI/DI reg in case we
+   # split because we have to sign/zero extend.
+   my $clobbermode = ($lmode =~ /^[QH]I$/) ? "GPR" : $lmode;
+   if ($result =~ /^EXT/ || $result eq "GPR" || $clobbermode eq "GPR") {
+     # We always need extension if result > lmode.
+     $extend = ($ccmode eq "CC") ? "sign" : "zero";
+   } else {
+     # Result of SI/DI does not need sign extension.
+     $extend = "none";
+   }
+ 
+   my $ldst = mode_to_ldst_char($lmode);
+ 
+   # DS-form addresses need YZ, and not m.
+   my $constraint = ($np eq "NON_PREFIXED_DS") ? "YZ" : "m";
+   print <<HERE;
+ ;; load-cmpi fusion pattern generated by gen_ld_cmpi_p10
+ ;; load mode is $lmode result mode is $result compare mode is $ccmode extend is $extend
+ (define_insn_and_split "*l${ldst}${echr}_cmp${cmpl}${cmp_size_char}i_cr0_${lmode}_${result}_${ccmode}_${extend}"
+   [(set (match_operand:${ccmode} 2 "cc_reg_operand" "=x")
+         (compare:${ccmode} (match_operand:${lmode} 1 "${mempred}" "${constraint}")
+ HERE
+   print "   " if $ccmode eq "CCUNS";
+ print <<HERE;
+                     (match_operand:${lmode} 3 "${constpred}" "n")))
+ HERE
+ 
+   if ($result eq "clobber") {
+     print <<HERE;
+    (clobber (match_scratch:${clobbermode} 0 "=r"))]
+ HERE
+   } elsif ($result eq $lmode) {
+     print <<HERE;
+    (set (match_operand:${result} 0 "gpc_reg_operand" "=r") (match_dup 1))]
+ HERE
+   } else {
+     print <<HERE;
+    (set (match_operand:${result} 0 "gpc_reg_operand" "=r") (${extend}_extend:${result} (match_dup 1)))]
+ HERE
+   }
+ 
+   print <<HERE;
+   "(TARGET_P10_FUSION)"
+   "l${ldst}${echr}%X1 %0,%1\\;cmp${cmpl}${cmp_size_char}i %2,%0,%3"
+   "&& reload_completed
+    && (cc_reg_not_cr0_operand (operands[2], CCmode)
+        || !address_is_non_pfx_d_or_x (XEXP (operands[1], 0),
+                                       ${lmode}mode, ${np}))"
+ HERE
+ 
+   if ($extend eq "none") {
+     print "  [(set (match_dup 0) (match_dup 1))\n";
+   } elsif ($result eq "clobber") {
+     print "  [(set (match_dup 0) (${extend}_extend:${clobbermode} (match_dup 1)))\n";
+   } else {
+     print "  [(set (match_dup 0) (${extend}_extend:${result} (match_dup 1)))\n";
+   }
+ 
+   print <<HERE;
+    (set (match_dup 2)
+         (compare:${ccmode} (match_dup 0) (match_dup 3)))]
+   ""
+   [(set_attr "type" "fused_load_cmpi")
+    (set_attr "cost" "8")
+ HERE
+ 
+   if ($lmode eq "SI" && $ccmode eq "CC" && $cmp_size_char eq "d") {
+     # prefixed_load_p needs the sign_extend attribute to validate lwa as a
+     # DS-form instruction instead of D-form.
+     print "   (set_attr \"sign_extend\" \"yes\")\n";
+   }
+ 
+   print <<HERE
+    (set_attr "length" "8")])
+ 
+ HERE
+ }
+ 
  sub gen_ld_cmpi_p10
  {
!   foreach my $lmode (qw/DI SI HI QI/) {
!     foreach my $result ("clobber", $lmode,  "EXT$lmode") {
!       # EXTDI does not exist, and we cannot directly produce HI/QI results.
!       next if $result =~ /^(QI|HI|EXTDI)$/;
  
!       # Don't allow EXTQI because that would allow HI result which we can't do.
!       $result = "GPR" if $result eq "EXTQI";
  
!       foreach my $ccmode (qw/CC CCUNS/) {
! 	# We do not have signed single-byte loads.
! 	next if ($lmode eq "QI" and $ccmode eq "CC");
! 
! 	gen_ld_cmpi_p10_one($lmode, $result, $ccmode);
        }
      }
    }
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/mma.md gcc-11.5.0/gcc/config/rs6000/mma.md
*** gcc-11.4.0/gcc/config/rs6000/mma.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/mma.md	Fri Jul 19 05:52:43 2024
***************
*** 292,299 ****
  })
  
  (define_insn_and_split "*movoo"
!   [(set (match_operand:OO 0 "nonimmediate_operand" "=wa,m,wa")
! 	(match_operand:OO 1 "input_operand" "m,wa,wa"))]
    "TARGET_MMA
     && (gpc_reg_operand (operands[0], OOmode)
         || gpc_reg_operand (operands[1], OOmode))"
--- 292,299 ----
  })
  
  (define_insn_and_split "*movoo"
!   [(set (match_operand:OO 0 "nonimmediate_operand" "=wa,ZwO,wa")
! 	(match_operand:OO 1 "input_operand" "ZwO,wa,wa"))]
    "TARGET_MMA
     && (gpc_reg_operand (operands[0], OOmode)
         || gpc_reg_operand (operands[1], OOmode))"
***************
*** 339,346 ****
  })
  
  (define_insn_and_split "*movxo"
!   [(set (match_operand:XO 0 "nonimmediate_operand" "=d,m,d")
! 	(match_operand:XO 1 "input_operand" "m,d,d"))]
    "TARGET_MMA
     && (gpc_reg_operand (operands[0], XOmode)
         || gpc_reg_operand (operands[1], XOmode))"
--- 339,346 ----
  })
  
  (define_insn_and_split "*movxo"
!   [(set (match_operand:XO 0 "nonimmediate_operand" "=d,ZwO,d")
! 	(match_operand:XO 1 "input_operand" "ZwO,d,d"))]
    "TARGET_MMA
     && (gpc_reg_operand (operands[0], XOmode)
         || gpc_reg_operand (operands[1], XOmode))"
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/predicates.md gcc-11.5.0/gcc/config/rs6000/predicates.md
*** gcc-11.4.0/gcc/config/rs6000/predicates.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/predicates.md	Fri Jul 19 05:52:43 2024
***************
*** 780,786 ****
  (define_predicate "vsx_quad_dform_memory_operand"
    (match_code "mem")
  {
!   if (!TARGET_P9_VECTOR || !MEM_P (op) || GET_MODE_SIZE (mode) != 16)
      return false;
  
    return quad_address_p (XEXP (op, 0), mode, false);
--- 780,786 ----
  (define_predicate "vsx_quad_dform_memory_operand"
    (match_code "mem")
  {
!   if (!TARGET_P9_VECTOR)
      return false;
  
    return quad_address_p (XEXP (op, 0), mode, false);
***************
*** 992,1011 ****
    return INTVAL (offset) % 4 == 0;
  })
  
- ;; Return 1 if the operand is a memory operand that has a valid address for
- ;; a DS-form instruction. I.e. the address has to be either just a register,
- ;; or register + const where the two low order bits of const are zero.
- (define_predicate "ds_form_mem_operand"
-   (match_code "subreg,mem")
- {
-   if (!any_memory_operand (op, mode))
-     return false;
- 
-   rtx addr = XEXP (op, 0);
- 
-   return address_to_insn_form (addr, mode, NON_PREFIXED_DS) == INSN_FORM_DS;
- })
- 
  ;; Return 1 if the operand, used inside a MEM, is a SYMBOL_REF.
  (define_predicate "symbol_ref_operand"
    (and (match_code "symbol_ref")
--- 992,997 ----
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-builtin.def gcc-11.5.0/gcc/config/rs6000/rs6000-builtin.def
*** gcc-11.4.0/gcc/config/rs6000/rs6000-builtin.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-builtin.def	Fri Jul 19 05:52:43 2024
***************
*** 325,330 ****
--- 325,338 ----
  		     | RS6000_BTC_SPECIAL),				\
  		    CODE_FOR_nothing)			/* ICODE */
  
+ #define BU_VSX_MISC_2(ENUM, NAME, ATTR, ICODE)				\
+   RS6000_BUILTIN_2 (MISC_BUILTIN_ ## ENUM,		/* ENUM */	\
+ 		    "__builtin_" NAME,			/* NAME */	\
+ 		    RS6000_BTM_VSX,			/* MASK */	\
+ 		    (RS6000_BTC_ ## ATTR		/* ATTR */	\
+ 		     | RS6000_BTC_BINARY),				\
+ 		    CODE_FOR_ ## ICODE)			/* ICODE */
+ 
  /* VSX overloaded builtin function macros.  */
  #define BU_VSX_OVERLOAD_1(ENUM, NAME)					\
    RS6000_BUILTIN_1 (VSX_BUILTIN_VEC_ ## ENUM,		/* ENUM */	\
*************** BU_LDBL128_2 (UNPACK_TF,	"unpack_longdou
*** 2843,2850 ****
  BU_IBM128_2 (PACK_IF,		"pack_ibm128",		CONST,	packif)
  BU_IBM128_2 (UNPACK_IF,		"unpack_ibm128",	CONST,	unpackif)
  
! BU_P7_MISC_2 (PACK_V1TI,	"pack_vector_int128",	CONST,	packv1ti)
! BU_P7_MISC_2 (UNPACK_V1TI,	"unpack_vector_int128",	CONST,	unpackv1ti)
  
  /* 2 argument DFP (Decimal Floating Point) functions added in ISA 3.0.  */
  BU_P9_DFP_MISC_2 (TSTSFI_LT_DD, "dtstsfi_lt_dd", CONST, dfptstsfi_lt_dd)
--- 2851,2858 ----
  BU_IBM128_2 (PACK_IF,		"pack_ibm128",		CONST,	packif)
  BU_IBM128_2 (UNPACK_IF,		"unpack_ibm128",	CONST,	unpackif)
  
! BU_VSX_MISC_2 (PACK_V1TI,	"pack_vector_int128",	CONST,	packv1ti)
! BU_VSX_MISC_2 (UNPACK_V1TI,	"unpack_vector_int128",	CONST,	unpackv1ti)
  
  /* 2 argument DFP (Decimal Floating Point) functions added in ISA 3.0.  */
  BU_P9_DFP_MISC_2 (TSTSFI_LT_DD, "dtstsfi_lt_dd", CONST, dfptstsfi_lt_dd)
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-c.c gcc-11.5.0/gcc/config/rs6000/rs6000-c.c
*** gcc-11.4.0/gcc/config/rs6000/rs6000-c.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-c.c	Fri Jul 19 05:52:43 2024
*************** rs6000_target_modify_macros (bool define
*** 432,450 ****
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6");
    if ((flags & OPTION_MASK_POPCNTD) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7");
!   /* Note that the OPTION_MASK_DIRECT_MOVE flag is automatically
!      turned on in the following condition:
!      1. TARGET_P8_VECTOR is enabled and OPTION_MASK_DIRECT_MOVE is not
!         explicitly disabled.
!         Hereafter, the OPTION_MASK_DIRECT_MOVE flag is considered to
!         have been turned on explicitly.
!      Note that the OPTION_MASK_DIRECT_MOVE flag is automatically
!      turned off in any of the following conditions:
!      1. TARGET_HARD_FLOAT, TARGET_ALTIVEC, or TARGET_VSX is explicitly
! 	disabled and OPTION_MASK_DIRECT_MOVE was not explicitly
! 	enabled.
!      2. TARGET_VSX is off.  */
!   if ((flags & OPTION_MASK_DIRECT_MOVE) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8");
    if ((flags & OPTION_MASK_MODULO) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9");
--- 432,438 ----
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6");
    if ((flags & OPTION_MASK_POPCNTD) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7");
!   if ((flags & OPTION_MASK_POWER8) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8");
    if ((flags & OPTION_MASK_MODULO) != 0)
      rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9");
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-call.c gcc-11.5.0/gcc/config/rs6000/rs6000-call.c
*** gcc-11.4.0/gcc/config/rs6000/rs6000-call.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-call.c	Fri Jul 19 05:52:43 2024
*************** rs6000_gimple_fold_builtin (gimple_stmt_
*** 12658,12664 ****
  	tree lhs_type = TREE_TYPE (lhs);
  	/* In GIMPLE the type of the MEM_REF specifies the alignment.  The
  	  required alignment (power) is 4 bytes regardless of data type.  */
! 	tree align_ltype = build_aligned_type (lhs_type, 4);
  	/* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'.  Create
  	   the tree using the value from arg0.  The resulting type will match
  	   the type of arg1.  */
--- 12658,12664 ----
  	tree lhs_type = TREE_TYPE (lhs);
  	/* In GIMPLE the type of the MEM_REF specifies the alignment.  The
  	  required alignment (power) is 4 bytes regardless of data type.  */
! 	tree align_ltype = build_aligned_type (lhs_type, 32);
  	/* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'.  Create
  	   the tree using the value from arg0.  The resulting type will match
  	   the type of arg1.  */
*************** rs6000_gimple_fold_builtin (gimple_stmt_
*** 12702,12708 ****
  	tree arg2_type = ptr_type_node;
  	/* In GIMPLE the type of the MEM_REF specifies the alignment.  The
  	   required alignment (power) is 4 bytes regardless of data type.  */
! 	tree align_stype = build_aligned_type (arg0_type, 4);
  	/* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'.  Create
  	   the tree using the value from arg1.  */
  	gimple_seq stmts = NULL;
--- 12702,12708 ----
  	tree arg2_type = ptr_type_node;
  	/* In GIMPLE the type of the MEM_REF specifies the alignment.  The
  	   required alignment (power) is 4 bytes regardless of data type.  */
! 	tree align_stype = build_aligned_type (arg0_type, 32);
  	/* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'.  Create
  	   the tree using the value from arg1.  */
  	gimple_seq stmts = NULL;
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-cpus.def gcc-11.5.0/gcc/config/rs6000/rs6000-cpus.def
*** gcc-11.4.0/gcc/config/rs6000/rs6000-cpus.def	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-cpus.def	Fri Jul 19 05:52:43 2024
***************
*** 47,55 ****
     fusion here, instead set it in rs6000.c if we are tuning for a power8
     system.  */
  #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
  				 | OPTION_MASK_P8_VECTOR		\
  				 | OPTION_MASK_CRYPTO			\
- 				 | OPTION_MASK_DIRECT_MOVE		\
  				 | OPTION_MASK_EFFICIENT_UNALIGNED_VSX	\
  				 | OPTION_MASK_QUAD_MEMORY		\
  				 | OPTION_MASK_QUAD_MEMORY_ATOMIC)
--- 47,55 ----
     fusion here, instead set it in rs6000.c if we are tuning for a power8
     system.  */
  #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
+ 				 | OPTION_MASK_POWER8			\
  				 | OPTION_MASK_P8_VECTOR		\
  				 | OPTION_MASK_CRYPTO			\
  				 | OPTION_MASK_EFFICIENT_UNALIGNED_VSX	\
  				 | OPTION_MASK_QUAD_MEMORY		\
  				 | OPTION_MASK_QUAD_MEMORY_ATOMIC)
***************
*** 94,100 ****
  /* Flags that need to be turned off if -mno-power8-vector.  */
  #define OTHER_P8_VECTOR_MASKS	(OTHER_P9_VECTOR_MASKS			\
  				 | OPTION_MASK_P9_VECTOR		\
- 				 | OPTION_MASK_DIRECT_MOVE		\
  				 | OPTION_MASK_CRYPTO)
  
  /* Flags that need to be turned off if -mno-vsx.  */
--- 94,99 ----
***************
*** 125,131 ****
  				 | OPTION_MASK_CMPB			\
  				 | OPTION_MASK_CRYPTO			\
  				 | OPTION_MASK_DFP			\
- 				 | OPTION_MASK_DIRECT_MOVE		\
  				 | OPTION_MASK_DLMZB			\
  				 | OPTION_MASK_EFFICIENT_UNALIGNED_VSX	\
  				 | OPTION_MASK_FLOAT128_HW		\
--- 124,129 ----
***************
*** 140,145 ****
--- 138,144 ----
  				 | OPTION_MASK_MODULO			\
  				 | OPTION_MASK_MULHW			\
  				 | OPTION_MASK_NO_UPDATE		\
+ 				 | OPTION_MASK_POWER8			\
  				 | OPTION_MASK_P8_FUSION		\
  				 | OPTION_MASK_P8_VECTOR		\
  				 | OPTION_MASK_P9_MINMAX		\
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-logue.c gcc-11.5.0/gcc/config/rs6000/rs6000-logue.c
*** gcc-11.4.0/gcc/config/rs6000/rs6000-logue.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-logue.c	Fri Jul 19 05:52:43 2024
*************** rs6000_emit_epilogue (enum epilogue_type
*** 4283,4291 ****
  
    rs6000_stack_t *info = rs6000_stack_info ();
  
-   if (epilogue_type == EPILOGUE_TYPE_NORMAL && crtl->calls_eh_return)
-     epilogue_type = EPILOGUE_TYPE_EH_RETURN;
- 
    int strategy = info->savres_strategy;
    bool using_load_multiple = !!(strategy & REST_MULTIPLE);
    bool restoring_GPRs_inline = !!(strategy & REST_INLINE_GPRS);
--- 4283,4288 ----
*************** rs6000_emit_epilogue (enum epilogue_type
*** 4763,4769 ****
  
    /* In the ELFv2 ABI we need to restore all call-saved CR fields from
       *separate* slots if the routine calls __builtin_eh_return, so
!      that they can be independently restored by the unwinder.  */
    if (DEFAULT_ABI == ABI_ELFv2 && crtl->calls_eh_return)
      {
        int i, cr_off = info->ehcr_offset;
--- 4760,4768 ----
  
    /* In the ELFv2 ABI we need to restore all call-saved CR fields from
       *separate* slots if the routine calls __builtin_eh_return, so
!      that they can be independently restored by the unwinder.  Since
!      it is for CR fields restoring, it should be done for any epilogue
!      types (not EPILOGUE_TYPE_EH_RETURN specific).  */
    if (DEFAULT_ABI == ABI_ELFv2 && crtl->calls_eh_return)
      {
        int i, cr_off = info->ehcr_offset;
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000-string.c gcc-11.5.0/gcc/config/rs6000/rs6000-string.c
*** gcc-11.4.0/gcc/config/rs6000/rs6000-string.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000-string.c	Fri Jul 19 05:52:43 2024
*************** expand_block_move (rtx operands[], bool
*** 2811,2821 ****
  	  gen_func.mov = gen_vsx_movv2di_64bit;
  	}
        else if (TARGET_BLOCK_OPS_UNALIGNED_VSX
! 	       && TARGET_POWER10 && bytes < 16
  	       && orig_bytes > 16
! 	       && !(bytes == 1 || bytes == 2
! 		    || bytes == 4 || bytes == 8)
! 	       && (align >= 128 || !STRICT_ALIGNMENT))
  	{
  	  /* Only use lxvl/stxvl if it could replace multiple ordinary
  	     loads+stores.  Also don't use it unless we likely already
--- 2811,2827 ----
  	  gen_func.mov = gen_vsx_movv2di_64bit;
  	}
        else if (TARGET_BLOCK_OPS_UNALIGNED_VSX
! 	       /* Only use lxvl/stxvl on 64bit POWER10.  */
! 	       && TARGET_POWER10
! 	       && TARGET_64BIT
! 	       && bytes < 16
  	       && orig_bytes > 16
! 	       && !(bytes == 1
! 		    || bytes == 2
! 		    || bytes == 4
! 		    || bytes == 8)
! 	       && (align >= 128
! 		   || !STRICT_ALIGNMENT))
  	{
  	  /* Only use lxvl/stxvl if it could replace multiple ordinary
  	     loads+stores.  Also don't use it unless we likely already
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000.c gcc-11.5.0/gcc/config/rs6000/rs6000.c
*** gcc-11.4.0/gcc/config/rs6000/rs6000.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000.c	Fri Jul 19 05:52:43 2024
*************** rs6000_option_override_internal (bool gl
*** 3820,3830 ****
  		 "-mmultiple");
      }
  
!   /* If little-endian, default to -mstrict-align on older processors.
!      Testing for direct_move matches power8 and later.  */
    if (!BYTES_BIG_ENDIAN
        && !(processor_target_table[tune_index].target_enable
! 	   & OPTION_MASK_DIRECT_MOVE))
      rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN;
  
    if (!rs6000_fold_gimple)
--- 3820,3829 ----
  		 "-mmultiple");
      }
  
!   /* If little-endian, default to -mstrict-align on older processors.  */
    if (!BYTES_BIG_ENDIAN
        && !(processor_target_table[tune_index].target_enable
! 	   & OPTION_MASK_POWER8))
      rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN;
  
    if (!rs6000_fold_gimple)
*************** rs6000_option_override_internal (bool gl
*** 3870,3877 ****
        && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT
  				       | OPTION_MASK_ALTIVEC
  				       | OPTION_MASK_VSX)) != 0)
!     rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO
! 			   | OPTION_MASK_DIRECT_MOVE)
  		         & ~rs6000_isa_flags_explicit);
  
    if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
--- 3869,3875 ----
        && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT
  				       | OPTION_MASK_ALTIVEC
  				       | OPTION_MASK_VSX)) != 0)
!     rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO)
  		         & ~rs6000_isa_flags_explicit);
  
    if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
*************** rs6000_option_override_internal (bool gl
*** 3915,3921 ****
        else
  	rs6000_isa_flags |= ISA_3_0_MASKS_SERVER;
      }
!   else if (TARGET_P8_VECTOR || TARGET_DIRECT_MOVE || TARGET_CRYPTO)
      rs6000_isa_flags |= (ISA_2_7_MASKS_SERVER & ~ignore_masks);
    else if (TARGET_VSX)
      rs6000_isa_flags |= (ISA_2_6_MASKS_SERVER & ~ignore_masks);
--- 3913,3919 ----
        else
  	rs6000_isa_flags |= ISA_3_0_MASKS_SERVER;
      }
!   else if (TARGET_P8_VECTOR || TARGET_POWER8 || TARGET_CRYPTO)
      rs6000_isa_flags |= (ISA_2_7_MASKS_SERVER & ~ignore_masks);
    else if (TARGET_VSX)
      rs6000_isa_flags |= (ISA_2_6_MASKS_SERVER & ~ignore_masks);
*************** rs6000_option_override_internal (bool gl
*** 3956,3968 ****
        rs6000_isa_flags &= ~OPTION_MASK_FPRND;
      }
  
-   if (TARGET_DIRECT_MOVE && !TARGET_VSX)
-     {
-       if (rs6000_isa_flags_explicit & OPTION_MASK_DIRECT_MOVE)
- 	error ("%qs requires %qs", "-mdirect-move", "-mvsx");
-       rs6000_isa_flags &= ~OPTION_MASK_DIRECT_MOVE;
-     }
- 
    if (TARGET_P8_VECTOR && !TARGET_ALTIVEC)
      {
        if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR)
--- 3954,3959 ----
*************** darwin_rs6000_special_round_type_align (
*** 8077,8083 ****
        type = TREE_TYPE (type);
    } while (AGGREGATE_TYPE_P (type));
  
!   if (! AGGREGATE_TYPE_P (type) && type != error_mark_node)
      align = MAX (align, TYPE_ALIGN (type));
  
    return align;
--- 8068,8075 ----
        type = TREE_TYPE (type);
    } while (AGGREGATE_TYPE_P (type));
  
!   if (type != error_mark_node && ! AGGREGATE_TYPE_P (type)
!       && ! TYPE_PACKED (type) && maximum_field_alignment == 0)
      align = MAX (align, TYPE_ALIGN (type));
  
    return align;
*************** output_toc (FILE *file, rtx x, int label
*** 17041,17047 ****
        if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
  	REAL_VALUE_TO_TARGET_DECIMAL128 (*CONST_DOUBLE_REAL_VALUE (x), k);
        else
! 	REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), k);
  
        if (TARGET_64BIT)
  	{
--- 17033,17039 ----
        if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
  	REAL_VALUE_TO_TARGET_DECIMAL128 (*CONST_DOUBLE_REAL_VALUE (x), k);
        else
! 	real_to_target (k, CONST_DOUBLE_REAL_VALUE (x), GET_MODE (x));
  
        if (TARGET_64BIT)
  	{
*************** rs6000_rtx_costs (rtx x, machine_mode mo
*** 21759,21765 ****
  	    *total = rs6000_cost->divsi;
  	}
        /* Add in shift and subtract for MOD unless we have a mod instruction. */
!       if (!TARGET_MODULO && (code == MOD || code == UMOD))
  	*total += COSTS_N_INSNS (2);
        return false;
  
--- 21751,21759 ----
  	    *total = rs6000_cost->divsi;
  	}
        /* Add in shift and subtract for MOD unless we have a mod instruction. */
!       if ((!TARGET_MODULO
! 	   || (RS6000_DISABLE_SCALAR_MODULO && SCALAR_INT_MODE_P (mode)))
! 	 && (code == MOD || code == UMOD))
  	*total += COSTS_N_INSNS (2);
        return false;
  
*************** static struct rs6000_opt_mask const rs60
*** 23770,23776 ****
  								false, true  },
    { "cmpb",			OPTION_MASK_CMPB,		false, true  },
    { "crypto",			OPTION_MASK_CRYPTO,		false, true  },
!   { "direct-move",		OPTION_MASK_DIRECT_MOVE,	false, true  },
    { "dlmzb",			OPTION_MASK_DLMZB,		false, true  },
    { "efficient-unaligned-vsx",	OPTION_MASK_EFFICIENT_UNALIGNED_VSX,
  								false, true  },
--- 23764,23770 ----
  								false, true  },
    { "cmpb",			OPTION_MASK_CMPB,		false, true  },
    { "crypto",			OPTION_MASK_CRYPTO,		false, true  },
!   { "direct-move",		0,				false, true  },
    { "dlmzb",			OPTION_MASK_DLMZB,		false, true  },
    { "efficient-unaligned-vsx",	OPTION_MASK_EFFICIENT_UNALIGNED_VSX,
  								false, true  },
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000.h gcc-11.5.0/gcc/config/rs6000/rs6000.h
*** gcc-11.4.0/gcc/config/rs6000/rs6000.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000.h	Fri Jul 19 05:52:43 2024
*************** extern int rs6000_vector_align[];
*** 471,476 ****
--- 471,478 ----
  #define TARGET_EXTSWSLI	(TARGET_MODULO && TARGET_POWERPC64)
  #define TARGET_MADDLD	TARGET_MODULO
  
+ /* TARGET_DIRECT_MOVE is redundant to TARGET_P8_VECTOR, so alias it to that.  */
+ #define TARGET_DIRECT_MOVE	TARGET_P8_VECTOR
  #define TARGET_XSCVDPSPN	(TARGET_DIRECT_MOVE || TARGET_P8_VECTOR)
  #define TARGET_XSCVSPDPN	(TARGET_DIRECT_MOVE || TARGET_P8_VECTOR)
  #define TARGET_VADDUQM		(TARGET_P8_VECTOR && TARGET_POWERPC64)
*************** extern int rs6000_vector_align[];
*** 492,498 ****
     memory support.  */
  #define TARGET_SYNC_HI_QI	(TARGET_QUAD_MEMORY			\
  				 || TARGET_QUAD_MEMORY_ATOMIC		\
! 				 || TARGET_DIRECT_MOVE)
  
  #define TARGET_SYNC_TI		TARGET_QUAD_MEMORY_ATOMIC
  
--- 494,500 ----
     memory support.  */
  #define TARGET_SYNC_HI_QI	(TARGET_QUAD_MEMORY			\
  				 || TARGET_QUAD_MEMORY_ATOMIC		\
! 				 || TARGET_POWER8)
  
  #define TARGET_SYNC_TI		TARGET_QUAD_MEMORY_ATOMIC
  
*************** while (0)
*** 2610,2612 ****
--- 2612,2620 ----
         rs6000_asm_output_opcode (STREAM);				\
      }									\
    while (0)
+ 
+ /* Disable generation of scalar modulo instructions due to performance issues
+    with certain input values.  This can be removed in the future when the
+    issues have been resolved.  */
+ #define RS6000_DISABLE_SCALAR_MODULO 1
+ 
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000.md gcc-11.5.0/gcc/config/rs6000/rs6000.md
*** gcc-11.4.0/gcc/config/rs6000/rs6000.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000.md	Fri Jul 19 05:52:43 2024
***************
*** 287,293 ****
  ;; Whether this insn has a prefixed form and a non-prefixed form.
  (define_attr "maybe_prefixed" "no,yes"
    (if_then_else (eq_attr "type" "load,fpload,vecload,store,fpstore,vecstore,
!   				 integer,add")
  		(const_string "yes")
  		(const_string "no")))
  
--- 287,293 ----
  ;; Whether this insn has a prefixed form and a non-prefixed form.
  (define_attr "maybe_prefixed" "no,yes"
    (if_then_else (eq_attr "type" "load,fpload,vecload,store,fpstore,vecstore,
!   				 integer,add,fused_load_cmpi")
  		(const_string "yes")
  		(const_string "no")))
  
***************
*** 302,308 ****
  	      (eq_attr "maybe_prefixed" "no"))
  	 (const_string "no")
  
! 	 (eq_attr "type" "load,fpload,vecload")
  	 (if_then_else (match_test "prefixed_load_p (insn)")
  		       (const_string "yes")
  		       (const_string "no"))
--- 302,308 ----
  	      (eq_attr "maybe_prefixed" "no"))
  	 (const_string "no")
  
! 	 (eq_attr "type" "load,fpload,vecload,fused_load_cmpi")
  	 (if_then_else (match_test "prefixed_load_p (insn)")
  		       (const_string "yes")
  		       (const_string "no"))
***************
*** 354,360 ****
    (const (symbol_ref "(enum attr_cpu) rs6000_tune")))
  
  ;; The ISA we implement.
! (define_attr "isa" "any,p5,p6,p7,p7v,p8v,p9,p9v,p9kf,p9tf,p10"
    (const_string "any"))
  
  ;; Is this alternative enabled for the current CPU/ISA/etc.?
--- 354,360 ----
    (const (symbol_ref "(enum attr_cpu) rs6000_tune")))
  
  ;; The ISA we implement.
! (define_attr "isa" "any,p5,p6,p7,p7v,p8,p8v,p9,p9v,p9kf,p9tf,p10"
    (const_string "any"))
  
  ;; Is this alternative enabled for the current CPU/ISA/etc.?
***************
*** 379,384 ****
--- 379,388 ----
  	  (match_test "TARGET_VSX"))
       (const_int 1)
  
+      (and (eq_attr "isa" "p8")
+ 	  (match_test "TARGET_POWER8"))
+      (const_int 1)
+ 
       (and (eq_attr "isa" "p8v")
  	  (match_test "TARGET_P8_VECTOR"))
       (const_int 1)
***************
*** 3359,3364 ****
--- 3363,3379 ----
  	FAIL;
  
        operands[2] = force_reg (<MODE>mode, operands[2]);
+ 
+       if (RS6000_DISABLE_SCALAR_MODULO)
+ 	{
+ 	  temp1 = gen_reg_rtx (<MODE>mode);
+ 	  temp2 = gen_reg_rtx (<MODE>mode);
+ 
+ 	  emit_insn (gen_div<mode>3 (temp1, operands[1], operands[2]));
+ 	  emit_insn (gen_mul<mode>3 (temp2, temp1, operands[2]));
+ 	  emit_insn (gen_sub<mode>3 (operands[0], operands[1], temp2));
+ 	  DONE;
+ 	}
      }
    else
      {
***************
*** 3378,3394 ****
    [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
          (mod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
  		 (match_operand:GPR 2 "gpc_reg_operand" "r")))]
!   "TARGET_MODULO"
    "mods<wd> %0,%1,%2"
    [(set_attr "type" "div")
     (set_attr "size" "<bits>")])
  
  
! (define_insn "umod<mode>3"
    [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
          (umod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
  		  (match_operand:GPR 2 "gpc_reg_operand" "r")))]
!   "TARGET_MODULO"
    "modu<wd> %0,%1,%2"
    [(set_attr "type" "div")
     (set_attr "size" "<bits>")])
--- 3393,3428 ----
    [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
          (mod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
  		 (match_operand:GPR 2 "gpc_reg_operand" "r")))]
!   "TARGET_MODULO && !RS6000_DISABLE_SCALAR_MODULO"
    "mods<wd> %0,%1,%2"
    [(set_attr "type" "div")
     (set_attr "size" "<bits>")])
  
+ ;; This define_expand can be removed when RS6000_DISABLE_SCALAR_MODULO is
+ ;; removed.
+ (define_expand "umod<mode>3"
+   [(set (match_operand:GPR 0 "gpc_reg_operand")
+ 	(umod:GPR (match_operand:GPR 1 "gpc_reg_operand")
+ 		  (match_operand:GPR 2 "gpc_reg_operand")))]
+   "TARGET_MODULO"
+ {
+   if (RS6000_DISABLE_SCALAR_MODULO)
+     {
+       rtx temp1 = gen_reg_rtx (<MODE>mode);
+       rtx temp2 = gen_reg_rtx (<MODE>mode);
+ 
+       emit_insn (gen_udiv<mode>3 (temp1, operands[1], operands[2]));
+       emit_insn (gen_mul<mode>3 (temp2, temp1, operands[2]));
+       emit_insn (gen_sub<mode>3 (operands[0], operands[1], temp2));
+       DONE;
+     }
+ })
  
! (define_insn "*umod<mode>3"
    [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
          (umod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
  		  (match_operand:GPR 2 "gpc_reg_operand" "r")))]
!   "TARGET_MODULO && !RS6000_DISABLE_SCALAR_MODULO"
    "modu<wd> %0,%1,%2"
    [(set_attr "type" "div")
     (set_attr "size" "<bits>")])
***************
*** 3445,3451 ****
    [(set (match_operand:TI 0 "altivec_register_operand" "=v")
  	(umod:TI (match_operand:TI 1 "altivec_register_operand" "v")
  		 (match_operand:TI 2 "altivec_register_operand" "v")))]
!   "TARGET_POWER10 && TARGET_POWERPC64"
    "vmoduq %0,%1,%2"
    [(set_attr "type" "vecdiv")
     (set_attr "size" "128")])
--- 3479,3485 ----
    [(set (match_operand:TI 0 "altivec_register_operand" "=v")
  	(umod:TI (match_operand:TI 1 "altivec_register_operand" "v")
  		 (match_operand:TI 2 "altivec_register_operand" "v")))]
!   "TARGET_POWER10 && TARGET_POWERPC64 && !RS6000_DISABLE_SCALAR_MODULO"
    "vmoduq %0,%1,%2"
    [(set_attr "type" "vecdiv")
     (set_attr "size" "128")])
***************
*** 3454,3460 ****
    [(set (match_operand:TI 0 "altivec_register_operand" "=v")
  	(mod:TI (match_operand:TI 1 "altivec_register_operand" "v")
  		(match_operand:TI 2 "altivec_register_operand" "v")))]
!   "TARGET_POWER10 && TARGET_POWERPC64"
    "vmodsq %0,%1,%2"
    [(set_attr "type" "vecdiv")
     (set_attr "size" "128")])
--- 3488,3494 ----
    [(set (match_operand:TI 0 "altivec_register_operand" "=v")
  	(mod:TI (match_operand:TI 1 "altivec_register_operand" "v")
  		(match_operand:TI 2 "altivec_register_operand" "v")))]
!   "TARGET_POWER10 && TARGET_POWERPC64 && !RS6000_DISABLE_SCALAR_MODULO"
    "vmodsq %0,%1,%2"
    [(set_attr "type" "vecdiv")
     (set_attr "size" "128")])
***************
*** 11940,11972 ****
    DONE;
  })
  
- (define_insn "stack_protect_setsi"
-   [(set (match_operand:SI 0 "memory_operand" "=m")
- 	(unspec:SI [(match_operand:SI 1 "memory_operand" "m")] UNSPEC_SP_SET))
-    (set (match_scratch:SI 2 "=&r") (const_int 0))]
-   "TARGET_32BIT"
-   "lwz%U1%X1 %2,%1\;stw%U0%X0 %2,%0\;li %2,0"
-   [(set_attr "type" "three")
-    (set_attr "length" "12")])
- 
  ;; We can't use the prefixed attribute here because there are two memory
  ;; instructions.  We can't split the insn due to the fact that this operation
  ;; needs to be done in one piece.
! (define_insn "stack_protect_setdi"
!   [(set (match_operand:DI 0 "memory_operand" "=Y")
! 	(unspec:DI [(match_operand:DI 1 "memory_operand" "Y")] UNSPEC_SP_SET))
!    (set (match_scratch:DI 2 "=&r") (const_int 0))]
!   "TARGET_64BIT"
  {
!   if (prefixed_memory (operands[1], DImode))
!     output_asm_insn ("pld %2,%1", operands);
    else
!     output_asm_insn ("ld%U1%X1 %2,%1", operands);
  
!   if (prefixed_memory (operands[0], DImode))
!     output_asm_insn ("pstd %2,%0", operands);
    else
!     output_asm_insn ("std%U0%X0 %2,%0", operands);
  
    return "li %2,0";
  }
--- 11974,11999 ----
    DONE;
  })
  
  ;; We can't use the prefixed attribute here because there are two memory
  ;; instructions.  We can't split the insn due to the fact that this operation
  ;; needs to be done in one piece.
! (define_insn "stack_protect_set<mode>"
!   [(set (match_operand:P 0 "memory_operand" "=YZ")
! 	(unspec:P [(match_operand:P 1 "memory_operand" "YZ")] UNSPEC_SP_SET))
!    (set (match_scratch:P 2 "=&r") (const_int 0))]
!   ""
  {
!   if (prefixed_memory (operands[1], <MODE>mode))
!     /* Prefixed load only supports D-form but no update and X-form.  */
!     output_asm_insn ("p<ptrload> %2,%1", operands);
    else
!     output_asm_insn ("<ptrload>%U1%X1 %2,%1", operands);
  
!   if (prefixed_memory (operands[0], <MODE>mode))
!     /* Prefixed store only supports D-form but no update and X-form.  */
!     output_asm_insn ("pst<wd> %2,%0", operands);
    else
!     output_asm_insn ("st<wd>%U0%X0 %2,%0", operands);
  
    return "li %2,0";
  }
***************
*** 12012,12056 ****
    DONE;
  })
  
- (define_insn "stack_protect_testsi"
-   [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y")
-         (unspec:CCEQ [(match_operand:SI 1 "memory_operand" "m,m")
- 		      (match_operand:SI 2 "memory_operand" "m,m")]
- 		     UNSPEC_SP_TEST))
-    (set (match_scratch:SI 4 "=r,r") (const_int 0))
-    (clobber (match_scratch:SI 3 "=&r,&r"))]
-   "TARGET_32BIT"
-   "@
-    lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;xor. %3,%3,%4\;li %4,0
-    lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;cmplw %0,%3,%4\;li %3,0\;li %4,0"
-   [(set_attr "length" "16,20")])
- 
  ;; We can't use the prefixed attribute here because there are two memory
  ;; instructions.  We can't split the insn due to the fact that this operation
  ;; needs to be done in one piece.
! (define_insn "stack_protect_testdi"
    [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y")
!         (unspec:CCEQ [(match_operand:DI 1 "memory_operand" "Y,Y")
! 		      (match_operand:DI 2 "memory_operand" "Y,Y")]
  		     UNSPEC_SP_TEST))
!    (set (match_scratch:DI 4 "=r,r") (const_int 0))
!    (clobber (match_scratch:DI 3 "=&r,&r"))]
!   "TARGET_64BIT"
  {
!   if (prefixed_memory (operands[1], DImode))
!     output_asm_insn ("pld %3,%1", operands);
    else
!     output_asm_insn ("ld%U1%X1 %3,%1", operands);
  
!   if (prefixed_memory (operands[2], DImode))
!     output_asm_insn ("pld %4,%2", operands);
    else
!     output_asm_insn ("ld%U2%X2 %4,%2", operands);
  
    if (which_alternative == 0)
      output_asm_insn ("xor. %3,%3,%4", operands);
    else
!     output_asm_insn ("cmpld %0,%3,%4\;li %3,0", operands);
  
    return "li %4,0";
  }
--- 12039,12071 ----
    DONE;
  })
  
  ;; We can't use the prefixed attribute here because there are two memory
  ;; instructions.  We can't split the insn due to the fact that this operation
  ;; needs to be done in one piece.
! (define_insn "stack_protect_test<mode>"
    [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y")
!         (unspec:CCEQ [(match_operand:P 1 "memory_operand" "YZ,YZ")
! 		      (match_operand:P 2 "memory_operand" "YZ,YZ")]
  		     UNSPEC_SP_TEST))
!    (set (match_scratch:P 4 "=r,r") (const_int 0))
!    (clobber (match_scratch:P 3 "=&r,&r"))]
!   ""
  {
!   if (prefixed_memory (operands[1], <MODE>mode))
!     /* Prefixed load only supports D-form but no update and X-form.  */
!     output_asm_insn ("p<ptrload> %3,%1", operands);
    else
!     output_asm_insn ("<ptrload>%U1%X1 %3,%1", operands);
  
!   if (prefixed_memory (operands[2], <MODE>mode))
!     output_asm_insn ("p<ptrload> %4,%2", operands);
    else
!     output_asm_insn ("<ptrload>%U2%X2 %4,%2", operands);
  
    if (which_alternative == 0)
      output_asm_insn ("xor. %3,%3,%4", operands);
    else
!     output_asm_insn ("cmpl<wd> %0,%3,%4\;li %3,0", operands);
  
    return "li %4,0";
  }
***************
*** 13749,13754 ****
--- 13764,13771 ----
    ""
  {
    emit_insn (gen_eh_set_lr (Pmode, operands[0]));
+   emit_jump_insn (gen_eh_return_internal ());
+   emit_barrier ();
    DONE;
  })
  
***************
*** 13765,13770 ****
--- 13782,13800 ----
    DONE;
  })
  
+ (define_insn_and_split "eh_return_internal"
+   [(eh_return)]
+   ""
+   "#"
+   "epilogue_completed"
+   [(const_int 0)]
+ {
+   if (!TARGET_SCHED_PROLOG)
+     emit_insn (gen_blockage ());
+   rs6000_emit_epilogue (EPILOGUE_TYPE_EH_RETURN);
+   DONE;
+ })
+ 
  (define_insn "prefetch"
    [(prefetch (match_operand 0 "indexed_or_indirect_address" "a")
  	     (match_operand:SI 1 "const_int_operand" "n")
***************
*** 13777,13783 ****
       AIX does not support the dcbtstt and dcbtt extended mnemonics.
       The AIX assembler does not support the three operand form of dcbt
       and dcbtst on Power 7 (-mpwr7).  */
!   int inst_select = INTVAL (operands[2]) || !TARGET_DIRECT_MOVE;
  
    if (REG_P (operands[0]))
      {
--- 13807,13813 ----
       AIX does not support the dcbtstt and dcbtt extended mnemonics.
       The AIX assembler does not support the three operand form of dcbt
       and dcbtst on Power 7 (-mpwr7).  */
!   int inst_select = INTVAL (operands[2]) || !TARGET_POWER8;
  
    if (REG_P (operands[0]))
      {
diff -Nrcpad gcc-11.4.0/gcc/config/rs6000/rs6000.opt gcc-11.5.0/gcc/config/rs6000/rs6000.opt
*** gcc-11.4.0/gcc/config/rs6000/rs6000.opt	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/rs6000/rs6000.opt	Fri Jul 19 05:52:43 2024
*************** Save the TOC in the prologue for indirec
*** 478,483 ****
--- 478,487 ----
  mvsx-timode
  Target RejectNegative Undocumented Ignore
  
+ ;; This option exists only to create its MASK.  It is not intended for users.
+ mpower8-internal
+ Target Undocumented Mask(POWER8) Var(rs6000_isa_flags) Warn(Do not use %<-mpower8-internal%>; use %<-mcpu=power8%> instead)
+ 
  mpower8-fusion
  Target Mask(P8_FUSION) Var(rs6000_isa_flags)
  Fuse certain integer operations together for better performance on power8.
*************** Target Mask(CRYPTO) Var(rs6000_isa_flags
*** 499,505 ****
  Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions.
  
  mdirect-move
! Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) WarnRemoved
  
  mhtm
  Target Mask(HTM) Var(rs6000_isa_flags)
--- 503,509 ----
  Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions.
  
  mdirect-move
! Target Undocumented WarnRemoved
  
  mhtm
  Target Mask(HTM) Var(rs6000_isa_flags)
diff -Nrcpad gcc-11.4.0/gcc/config/sh/sh.c gcc-11.5.0/gcc/config/sh/sh.c
*** gcc-11.4.0/gcc/config/sh/sh.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/sh/sh.c	Fri Jul 19 05:52:43 2024
*************** sh_insn_operands_modified_between_p (rtx
*** 11760,11766 ****
  bool
  sh_is_nott_insn (const rtx_insn* i)
  {
!   return i != NULL && GET_CODE (PATTERN (i)) == SET
  	 && t_reg_operand (XEXP (PATTERN (i), 0), VOIDmode)
  	 && negt_reg_operand (XEXP (PATTERN (i), 1), VOIDmode);
  }
--- 11760,11767 ----
  bool
  sh_is_nott_insn (const rtx_insn* i)
  {
!   return i != NULL_RTX && PATTERN (i) != NULL_RTX
! 	 && GET_CODE (PATTERN (i)) == SET
  	 && t_reg_operand (XEXP (PATTERN (i), 0), VOIDmode)
  	 && negt_reg_operand (XEXP (PATTERN (i), 1), VOIDmode);
  }
diff -Nrcpad gcc-11.4.0/gcc/config/sh/sh.md gcc-11.5.0/gcc/config/sh/sh.md
*** gcc-11.4.0/gcc/config/sh/sh.md	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/sh/sh.md	Fri Jul 19 05:52:43 2024
***************
*** 842,848 ****
    if (SUBREG_P (reg))
      reg = SUBREG_REG (reg);
    gcc_assert (REG_P (reg));
!   if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) != NULL_RTX)
      FAIL;
  
    /* FIXME: Maybe also search the predecessor basic blocks to catch
--- 842,848 ----
    if (SUBREG_P (reg))
      reg = SUBREG_REG (reg);
    gcc_assert (REG_P (reg));
!   if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) == NULL_RTX)
      FAIL;
  
    /* FIXME: Maybe also search the predecessor basic blocks to catch
***************
*** 10680,10685 ****
--- 10680,10724 ----
     && peep2_reg_dead_p (2, operands[1]) && peep2_reg_dead_p (3, operands[0])"
    [(const_int 0)]
  {
+   if (MEM_P (operands[3]) && reg_overlap_mentioned_p (operands[0], operands[3]))
+     {
+       // Take care when the eliminated operand[0] register is part of
+       // the destination memory address.
+       rtx addr = XEXP (operands[3], 0);
+ 
+       if (REG_P (addr))
+ 	operands[3] = replace_equiv_address (operands[3], operands[1]);
+ 
+       else if (GET_CODE (addr) == PLUS && REG_P (XEXP (addr, 0))
+ 	       && CONST_INT_P (XEXP (addr, 1))
+ 	       && REGNO (operands[0]) == REGNO (XEXP (addr, 0)))
+ 	operands[3] = replace_equiv_address (operands[3],
+ 			    gen_rtx_PLUS (SImode, operands[1], XEXP (addr, 1)));
+ 
+       else if (GET_CODE (addr) == PLUS && REG_P (XEXP (addr, 0))
+ 	       && REG_P (XEXP (addr, 1)))
+         {
+           // register + register address  @(R0, Rn)
+           // can change only the Rn in the address, not R0.
+           if (REGNO (operands[0]) == REGNO (XEXP (addr, 0))
+ 	      && REGNO (XEXP (addr, 0)) != 0)
+ 	    {
+ 	      operands[3] = replace_equiv_address (operands[3],
+ 			    gen_rtx_PLUS (SImode, operands[1], XEXP (addr, 1)));
+ 	    }
+           else if (REGNO (operands[0]) == REGNO (XEXP (addr, 1))
+ 		   && REGNO (XEXP (addr, 1)) != 0)
+             {
+ 	      operands[3] = replace_equiv_address (operands[3],
+ 			    gen_rtx_PLUS (SImode, XEXP (addr, 0), operands[1]));
+             }
+           else
+             FAIL;
+         }
+       else
+         FAIL;
+     }
+ 
    emit_insn (gen_addsi3 (operands[1], operands[1], operands[2]));
    sh_peephole_emit_move_insn (operands[3], operands[1]);
  })
diff -Nrcpad gcc-11.4.0/gcc/config/sh/sh_treg_combine.cc gcc-11.5.0/gcc/config/sh/sh_treg_combine.cc
*** gcc-11.4.0/gcc/config/sh/sh_treg_combine.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/sh/sh_treg_combine.cc	Fri Jul 19 05:52:43 2024
*************** sh_treg_combine::record_set_of_reg (rtx
*** 732,738 ****
  	}
        else if (REG_P (new_entry.cstore.set_src ()))
  	{
! 	  // If it's a reg-reg copy follow the copied reg.
  	  new_entry.cstore_reg_reg_copies.push_back (new_entry.cstore);
  	  reg = new_entry.cstore.set_src ();
  	  i = new_entry.cstore.insn;
--- 732,745 ----
  	}
        else if (REG_P (new_entry.cstore.set_src ()))
  	{
! 	  // If it's a reg-reg copy follow the copied reg, but ignore
! 	  // nop copies of the reg onto itself.
! 	  if (REGNO (new_entry.cstore.set_src ()) == REGNO (reg))
! 	    {
! 	      i = prev_nonnote_nondebug_insn_bb (i);
! 	      continue;
! 	    }
! 
  	  new_entry.cstore_reg_reg_copies.push_back (new_entry.cstore);
  	  reg = new_entry.cstore.set_src ();
  	  i = new_entry.cstore.insn;
diff -Nrcpad gcc-11.4.0/gcc/config/vax/vax.c gcc-11.5.0/gcc/config/vax/vax.c
*** gcc-11.4.0/gcc/config/vax/vax.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config/vax/vax.c	Fri Jul 19 05:52:43 2024
*************** nonindexed_address_p (rtx x, bool strict
*** 1823,1829 ****
  }
  
  /* True if PROD is either a reg times size of mode MODE and MODE is less
!    than or equal 8 bytes, or just a reg if MODE is one byte.  */
  
  static bool
  index_term_p (rtx prod, machine_mode mode, bool strict)
--- 1823,1831 ----
  }
  
  /* True if PROD is either a reg times size of mode MODE and MODE is less
!    than or equal 8 bytes, or just a reg if MODE is one byte.  For a MULT
!    RTX we accept its operands in either order, however ASHIFT is not
!    commutative, so in that case reg has to be the left operand.  */
  
  static bool
  index_term_p (rtx prod, machine_mode mode, bool strict)
*************** index_term_p (rtx prod, machine_mode mod
*** 1842,1849 ****
    xfoo0 = XEXP (prod, 0);
    xfoo1 = XEXP (prod, 1);
  
!   if (CONST_INT_P (xfoo0)
!       && GET_MODE_SIZE (mode) == (log_p ? 1 << INTVAL (xfoo0) : INTVAL (xfoo0))
        && INDEX_REGISTER_P (xfoo1, strict))
      return true;
  
--- 1844,1852 ----
    xfoo0 = XEXP (prod, 0);
    xfoo1 = XEXP (prod, 1);
  
!   if (!log_p
!       && CONST_INT_P (xfoo0)
!       && GET_MODE_SIZE (mode) == INTVAL (xfoo0)
        && INDEX_REGISTER_P (xfoo1, strict))
      return true;
  
diff -Nrcpad gcc-11.4.0/gcc/config.gcc gcc-11.5.0/gcc/config.gcc
*** gcc-11.4.0/gcc/config.gcc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/config.gcc	Fri Jul 19 05:52:43 2024
*************** c7 esther"
*** 674,680 ****
  # 64-bit x86 processors supported by --with-arch=.  Each processor
  # MUST be separated by exactly one space.
  x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
! bdver3 bdver4 znver1 znver2 znver3 btver1 btver2 k8 k8-sse3 opteron \
  opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \
  slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \
  silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \
--- 674,680 ----
  # 64-bit x86 processors supported by --with-arch=.  Each processor
  # MUST be separated by exactly one space.
  x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
! bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 k8 k8-sse3 opteron \
  opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \
  slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \
  silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \
*************** case ${target} in
*** 3760,3765 ****
--- 3760,3769 ----
  	arch=znver3
  	cpu=znver3
  	;;
+       znver4-*)
+ 	arch=znver4
+ 	cpu=znver4
+ 	;;
        bdver4-*)
          arch=bdver4
          cpu=bdver4
*************** case ${target} in
*** 3885,3890 ****
--- 3889,3898 ----
  	arch=znver3
  	cpu=znver3
  	;;
+ 	  znver4-*)
+ 	arch=znver4
+ 	cpu=znver4
+ 	;;
        bdver4-*)
          arch=bdver4
          cpu=bdver4
diff -Nrcpad gcc-11.4.0/gcc/config.in gcc-11.5.0/gcc/config.in
*** gcc-11.4.0/gcc/config.in	Mon May 29 08:49:47 2023
--- gcc-11.5.0/gcc/config.in	Fri Jul 19 05:53:51 2024
***************
*** 598,603 ****
--- 598,609 ----
  #endif
  
  
+ /* Define if your macOS assembler supports .build_version directives */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_AS_MACOS_BUILD_VERSION
+ #endif
+ 
+ 
  /* Define if the assembler understands -march=rv*_zifencei. */
  #ifndef USED_FOR_TARGET
  #undef HAVE_AS_MARCH_ZIFENCEI
***************
*** 2207,2212 ****
--- 2213,2224 ----
  #endif
  
  
+ /* Define to 1 if ld64 supports '-platform_version'. */
+ #ifndef USED_FOR_TARGET
+ #undef LD64_HAS_PLATFORM_VERSION
+ #endif
+ 
+ 
  /* Define to ld64 version. */
  #ifndef USED_FOR_TARGET
  #undef LD64_VERSION
diff -Nrcpad gcc-11.4.0/gcc/configure gcc-11.5.0/gcc/configure
*** gcc-11.4.0/gcc/configure	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/configure	Fri Jul 19 05:52:43 2024
*************** gcc_gxx_libcxx_include_dir=
*** 3746,3776 ****
  if test "${with_gxx_libcxx_include_dir+set}" = set; then :
    withval=$with_gxx_libcxx_include_dir; case "${withval}" in
  yes)	as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;;
- no)	;;
  *)	gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
  esac
  fi
  
  
  # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
  # check to see if the latter starts with the former and, upon success, compute
  # gcc_gxx_libcxx_include_dir as relative to the sysroot.
  gcc_gxx_libcxx_include_dir_add_sysroot=0
! 
  if test x${gcc_gxx_libcxx_include_dir} != x; then
  
! $as_echo "#define ENABLE_STDLIB_OPTION 1" >>confdefs.h
  
- else
-   $as_echo "#define ENABLE_STDLIB_OPTION 0" >>confdefs.h
  
! fi
! # ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
  if test x${gcc_gxx_libcxx_include_dir} = x; then
    if test x${enable_version_specific_runtime_libs} = xyes; then
!     gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
    else
-     libcxx_incdir='libc++_include/c++/$(version)/v1'
      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
--- 3746,3799 ----
  if test "${with_gxx_libcxx_include_dir+set}" = set; then :
    withval=$with_gxx_libcxx_include_dir; case "${withval}" in
  yes)	as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;;
  *)	gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
  esac
  fi
  
  
+ # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option.
+ # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option.
+ # if --with-gxx-libcxx-include-dir is unset we enable the stdlib option
+ # based on the platform (to be available on platform versions where it is the
+ # default for the system tools). We also use a default path within the compiler
+ # install tree.
+ # Otherwise, we use the path provided and enable the stdlib option.
  # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
  # check to see if the latter starts with the former and, upon success, compute
  # gcc_gxx_libcxx_include_dir as relative to the sysroot.
  gcc_gxx_libcxx_include_dir_add_sysroot=0
! gcc_enable_stdlib_opt=0
  if test x${gcc_gxx_libcxx_include_dir} != x; then
+   if test x${gcc_gxx_libcxx_include_dir} = xno; then
+     # set defaults for the dir, but the option is disabled anyway.
+     gcc_gxx_libcxx_include_dir=
+   else
+     gcc_enable_stdlib_opt=1
+   fi
+ else
+   case $target in
+     *-darwin1[1-9]* | *-darwin2*)
+        # Default this on for Darwin versions which default to libcxx,
+        # and embed the path in the compiler install so that we get a
+        # self-contained toolchain.
+        gcc_enable_stdlib_opt=1
+        ;;
+     *) ;;
+   esac
+ fi
  
! cat >>confdefs.h <<_ACEOF
! #define ENABLE_STDLIB_OPTION $gcc_enable_stdlib_opt
! _ACEOF
  
  
! # Sysroot behaviour as for gxx-include-dir
  if test x${gcc_gxx_libcxx_include_dir} = x; then
+   # default path,embedded in the compiler tree.
+   libcxx_incdir='include/c++/v1'
    if test x${enable_version_specific_runtime_libs} = xyes; then
!     gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir'
    else
      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
*************** else
*** 19423,19429 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 19426 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 19446,19452 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 19449 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** else
*** 19529,19535 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 19532 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 19552,19558 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 19555 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** if ${gcc_cv_as_mmacosx_version_min+:} fa
*** 25984,25999 ****
    $as_echo_n "(cached) " >&6
  else
    gcc_cv_as_mmacosx_version_min=no
!   if test x$gcc_cv_as != x; then
!     $as_echo '.text' > conftest.s
!     if { ac_try='$gcc_cv_as $gcc_cv_as_flags -mmacosx-version-min=10.1 -o conftest.o conftest.s >&5'
    { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
    (eval $ac_try) 2>&5
    ac_status=$?
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }; }
      then
! 	gcc_cv_as_mmacosx_version_min=yes
      else
        echo "configure: failed program was" >&5
        cat conftest.s >&5
--- 26007,26028 ----
    $as_echo_n "(cached) " >&6
  else
    gcc_cv_as_mmacosx_version_min=no
!     if test $in_tree_gas = yes; then
!     if test $gcc_cv_gas_vers -ge `expr \( \( -mmacosx-version-min=10.1 \* 1000 \) + gcc_cv_as_mmacosx_version_min=yes \) \* 1000 + `
!   then :
! fi
!   elif test x$gcc_cv_as != x; then
!     $as_echo '' > conftest.s
!     if { ac_try='$gcc_cv_as $gcc_cv_as_flags .text -o conftest.o conftest.s >&5'
    { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
    (eval $ac_try) 2>&5
    ac_status=$?
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }; }
      then
! 
! $as_echo "#define HAVE_AS_MMACOSX_VERSION_MIN_OPTION 1" >>confdefs.h
! 
      else
        echo "configure: failed program was" >&5
        cat conftest.s >&5
*************** else
*** 26003,26014 ****
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_mmacosx_version_min" >&5
  $as_echo "$gcc_cv_as_mmacosx_version_min" >&6; }
- if test $gcc_cv_as_mmacosx_version_min = yes; then
  
- $as_echo "#define HAVE_AS_MMACOSX_VERSION_MIN_OPTION 1" >>confdefs.h
  
  fi
  
      ;;
  esac
  
--- 26032,26074 ----
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_mmacosx_version_min" >&5
  $as_echo "$gcc_cv_as_mmacosx_version_min" >&6; }
  
  
+     if test x$gcc_cv_as_mmacosx_version_min = "xyes"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .build_version" >&5
+ $as_echo_n "checking assembler for .build_version... " >&6; }
+ if ${gcc_cv_as_darwin_build_version+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   gcc_cv_as_darwin_build_version=no
+     if test $in_tree_gas = yes; then
+     if test $gcc_cv_gas_vers -ge `expr \( \( -mmacosx-version-min=10.14 \* 1000 \) + gcc_cv_as_darwin_build_version=yes \) \* 1000 + `
+   then :
+ fi
+   elif test x$gcc_cv_as != x; then
+     $as_echo '' > conftest.s
+     if { ac_try='$gcc_cv_as $gcc_cv_as_flags  .build_version macos, 10, 14 sdk_version 10, 14 -o conftest.o conftest.s >&5'
+   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; }
+     then
+ 
+ $as_echo "#define HAVE_AS_MACOS_BUILD_VERSION 1" >>confdefs.h
+ 
+     else
+       echo "configure: failed program was" >&5
+       cat conftest.s >&5
+     fi
+     rm -f conftest.o conftest.s
+   fi
  fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_darwin_build_version" >&5
+ $as_echo "$gcc_cv_as_darwin_build_version" >&6; }
  
+ 
+     fi
      ;;
  esac
  
*************** if test x"$ld64_flag" = x"yes"; then
*** 30675,30680 ****
--- 30735,30741 ----
  
    # Set defaults for possibly untestable items.
    gcc_cv_ld64_export_dynamic=0
+   gcc_cv_ld64_platform_version=0
  
    if test "$build" = "$host"; then
      darwin_try_test=1
*************** $as_echo_n "checking ld64 specified vers
*** 30698,30712 ****
      gcc_cv_ld64_major=`echo "$gcc_cv_ld64_version" | sed -e 's/\..*//'`
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_major" >&5
  $as_echo "$gcc_cv_ld64_major" >&6; }
!    if test "$gcc_cv_ld64_major" -ge 236; then
        gcc_cv_ld64_export_dynamic=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5
  $as_echo_n "checking linker version... " >&6; }
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | grep ld64 | sed s/.*ld64-// | awk '{print $1}'`
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5
  $as_echo "$gcc_cv_ld64_version" >&6; }
--- 30759,30777 ----
      gcc_cv_ld64_major=`echo "$gcc_cv_ld64_version" | sed -e 's/\..*//'`
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_major" >&5
  $as_echo "$gcc_cv_ld64_major" >&6; }
!     if test "$gcc_cv_ld64_major" -ge 236; then
        gcc_cv_ld64_export_dynamic=1
      fi
+     if test "$gcc_cv_ld64_major" -ge 512; then
+       gcc_cv_ld64_platform_version=1
+     fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5
  $as_echo_n "checking linker version... " >&6; }
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'`
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5
  $as_echo "$gcc_cv_ld64_version" >&6; }
*************** $as_echo_n "checking linker for -export_
*** 30719,30724 ****
--- 30784,30798 ----
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_export_dynamic" >&5
  $as_echo "$gcc_cv_ld64_export_dynamic" >&6; }
+ 
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker for -platform_version support" >&5
+ $as_echo_n "checking linker for -platform_version support... " >&6; }
+     gcc_cv_ld64_platform_version=1
+     if $gcc_cv_ld -platform_version macos 10.5 0.0 < /dev/null 2>&1 | grep 'unknown option' > /dev/null; then
+       gcc_cv_ld64_platform_version=0
+     fi
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_platform_version" >&5
+ $as_echo "$gcc_cv_ld64_platform_version" >&6; }
    fi
  
    if test x"${gcc_cv_ld64_version}" != x; then
*************** cat >>confdefs.h <<_ACEOF
*** 30734,30739 ****
--- 30808,30819 ----
  #define LD64_HAS_EXPORT_DYNAMIC $gcc_cv_ld64_export_dynamic
  _ACEOF
  
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define LD64_HAS_PLATFORM_VERSION $gcc_cv_ld64_platform_version
+ _ACEOF
+ 
  fi
  
  if test x"$dsymutil_flag" = x"yes"; then
*************** $as_echo_n "checking dsymutil version \"
*** 30761,30767 ****
        dsymutil_kind=LLVM
        dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'`
      else
!       dsymutil_kind=UNKNOWN
        dsymutil_vers="0.0"
      fi
      dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'`
--- 30841,30847 ----
        dsymutil_kind=LLVM
        dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'`
      else
!       dsymutil_kind=DET_UNKNOWN
        dsymutil_vers="0.0"
      fi
      dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'`
diff -Nrcpad gcc-11.4.0/gcc/configure.ac gcc-11.5.0/gcc/configure.ac
*** gcc-11.4.0/gcc/configure.ac	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/configure.ac	Fri Jul 19 05:52:43 2024
*************** AC_ARG_WITH(gxx-libcxx-include-dir,
*** 236,262 ****
                  [specifies directory to find libc++ header files])],
  [case "${withval}" in
  yes)	AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;;
- no)	;;
  *)	gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
  esac])
  
  # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
  # check to see if the latter starts with the former and, upon success, compute
  # gcc_gxx_libcxx_include_dir as relative to the sysroot.
  gcc_gxx_libcxx_include_dir_add_sysroot=0
! 
  if test x${gcc_gxx_libcxx_include_dir} != x; then
!   AC_DEFINE(ENABLE_STDLIB_OPTION, 1,
!             [Define if the -stdlib= option should be enabled.])
  else
!   AC_DEFINE(ENABLE_STDLIB_OPTION, 0)
  fi
! # ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
  if test x${gcc_gxx_libcxx_include_dir} = x; then
    if test x${enable_version_specific_runtime_libs} = xyes; then
!     gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
    else
-     libcxx_incdir='libc++_include/c++/$(version)/v1'
      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
--- 236,284 ----
                  [specifies directory to find libc++ header files])],
  [case "${withval}" in
  yes)	AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;;
  *)	gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
  esac])
  
+ # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option.
+ # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option.
+ # if --with-gxx-libcxx-include-dir is unset we enable the stdlib option
+ # based on the platform (to be available on platform versions where it is the
+ # default for the system tools). We also use a default path within the compiler
+ # install tree.
+ # Otherwise, we use the path provided and enable the stdlib option.
  # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
  # check to see if the latter starts with the former and, upon success, compute
  # gcc_gxx_libcxx_include_dir as relative to the sysroot.
  gcc_gxx_libcxx_include_dir_add_sysroot=0
! gcc_enable_stdlib_opt=0
  if test x${gcc_gxx_libcxx_include_dir} != x; then
!   if test x${gcc_gxx_libcxx_include_dir} = xno; then
!     # set defaults for the dir, but the option is disabled anyway.
!     gcc_gxx_libcxx_include_dir=
!   else
!     gcc_enable_stdlib_opt=1
!   fi
  else
!   case $target in
!     *-darwin1[[1-9]]* | *-darwin2*)
!        # Default this on for Darwin versions which default to libcxx,
!        # and embed the path in the compiler install so that we get a
!        # self-contained toolchain.
!        gcc_enable_stdlib_opt=1
!        ;;
!     *) ;;
!   esac
  fi
! AC_DEFINE_UNQUOTED(ENABLE_STDLIB_OPTION, $gcc_enable_stdlib_opt,
!           [Define if the -stdlib= option should be enabled.])
! 
! # Sysroot behaviour as for gxx-include-dir
  if test x${gcc_gxx_libcxx_include_dir} = x; then
+   # default path,embedded in the compiler tree.
+   libcxx_incdir='include/c++/v1'
    if test x${enable_version_specific_runtime_libs} = xyes; then
!     gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir'
    else
      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
*************** AC_MSG_RESULT($gcc_cv_lto_plugin)
*** 4336,4345 ****
  case "$target_os" in
    darwin*)
      gcc_GAS_CHECK_FEATURE([-mmacosx-version-min option],
!       gcc_cv_as_mmacosx_version_min,,
        [-mmacosx-version-min=10.1], [.text],,
        [AC_DEFINE(HAVE_AS_MMACOSX_VERSION_MIN_OPTION, 1,
! 	[Define if your Mac OS X assembler supports the -mmacos-version-min option.])])
      ;;
  esac
  
--- 4358,4375 ----
  case "$target_os" in
    darwin*)
      gcc_GAS_CHECK_FEATURE([-mmacosx-version-min option],
!       gcc_cv_as_mmacosx_version_min,
        [-mmacosx-version-min=10.1], [.text],,
        [AC_DEFINE(HAVE_AS_MMACOSX_VERSION_MIN_OPTION, 1,
! 	[Define if your macOS assembler supports the -mmacos-version-min option.])])
!     if test x$gcc_cv_as_mmacosx_version_min = "xyes"; then
!        gcc_GAS_CHECK_FEATURE([.build_version],
!            gcc_cv_as_darwin_build_version,
!            [-mmacosx-version-min=10.14],
!            [ .build_version macos, 10, 14 sdk_version 10, 14],,
!       [AC_DEFINE(HAVE_AS_MACOS_BUILD_VERSION, 1,
! 	[Define if your macOS assembler supports .build_version directives])])
!     fi
      ;;
  esac
  
*************** if test x"$ld64_flag" = x"yes"; then
*** 6329,6334 ****
--- 6359,6365 ----
  
    # Set defaults for possibly untestable items.
    gcc_cv_ld64_export_dynamic=0
+   gcc_cv_ld64_platform_version=0
  
    if test "$build" = "$host"; then
      darwin_try_test=1
*************** if test x"$ld64_flag" = x"yes"; then
*** 6350,6363 ****
      AC_MSG_CHECKING(ld64 specified version)
      gcc_cv_ld64_major=`echo "$gcc_cv_ld64_version" | sed -e 's/\..*//'`
      AC_MSG_RESULT($gcc_cv_ld64_major)
!    if test "$gcc_cv_ld64_major" -ge 236; then
        gcc_cv_ld64_export_dynamic=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      AC_MSG_CHECKING(linker version)
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | grep ld64 | sed s/.*ld64-// | awk '{print $1}'`
      fi
      AC_MSG_RESULT($gcc_cv_ld64_version)
  
--- 6381,6398 ----
      AC_MSG_CHECKING(ld64 specified version)
      gcc_cv_ld64_major=`echo "$gcc_cv_ld64_version" | sed -e 's/\..*//'`
      AC_MSG_RESULT($gcc_cv_ld64_major)
!     if test "$gcc_cv_ld64_major" -ge 236; then
        gcc_cv_ld64_export_dynamic=1
      fi
+     if test "$gcc_cv_ld64_major" -ge 512; then
+       gcc_cv_ld64_platform_version=1
+     fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      AC_MSG_CHECKING(linker version)
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'`
      fi
      AC_MSG_RESULT($gcc_cv_ld64_version)
  
*************** if test x"$ld64_flag" = x"yes"; then
*** 6367,6372 ****
--- 6402,6414 ----
        gcc_cv_ld64_export_dynamic=0
      fi
      AC_MSG_RESULT($gcc_cv_ld64_export_dynamic)
+ 
+     AC_MSG_CHECKING(linker for -platform_version support)
+     gcc_cv_ld64_platform_version=1
+     if $gcc_cv_ld -platform_version macos 10.5 0.0 < /dev/null 2>&1 | grep 'unknown option' > /dev/null; then
+       gcc_cv_ld64_platform_version=0
+     fi
+     AC_MSG_RESULT($gcc_cv_ld64_platform_version)
    fi
  
    if test x"${gcc_cv_ld64_version}" != x; then
*************** if test x"$ld64_flag" = x"yes"; then
*** 6376,6381 ****
--- 6418,6426 ----
  
    AC_DEFINE_UNQUOTED(LD64_HAS_EXPORT_DYNAMIC, $gcc_cv_ld64_export_dynamic,
    [Define to 1 if ld64 supports '-export_dynamic'.])
+ 
+   AC_DEFINE_UNQUOTED(LD64_HAS_PLATFORM_VERSION, $gcc_cv_ld64_platform_version,
+   [Define to 1 if ld64 supports '-platform_version'.])
  fi
  
  if test x"$dsymutil_flag" = x"yes"; then
*************** if test x"$dsymutil_flag" = x"yes"; then
*** 6401,6407 ****
        dsymutil_kind=LLVM
        dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'`
      else
!       dsymutil_kind=UNKNOWN
        dsymutil_vers="0.0"
      fi
      dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'`
--- 6446,6452 ----
        dsymutil_kind=LLVM
        dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'`
      else
!       dsymutil_kind=DET_UNKNOWN
        dsymutil_vers="0.0"
      fi
      dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'`
diff -Nrcpad gcc-11.4.0/gcc/cp/ChangeLog gcc-11.5.0/gcc/cp/ChangeLog
*** gcc-11.4.0/gcc/cp/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/cp/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,213 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/104051
+ 	* coroutines.cc (coro_diagnose_throwing_final_aw_expr): Handle
+ 	non-target expression inputs.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/101765
+ 	* coroutines.cc (register_local_var_uses): Emit a sorry if
+ 	we encounter a VLA in the coroutine local variables.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/100772
+ 	* coroutines.cc (morph_fn_to_coro): Convert function parms
+ 	from reference before constructing any operator-new args
+ 	list.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/99710
+ 	* coroutines.cc (await_statement_walker): Report an error if
+ 	an await expression is found in a handler body.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114691
+ 	* semantics.c (simplify_loop_decl_cond): Use cp_build_unary_op with
+ 	TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than
+ 	ANNOTATE_EXPR itself.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114572
+ 	* cp-gimplify.c (cxx_omp_clause_apply_fn): Call build_cplus_new
+ 	on build_call_a result if it has class type.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-25  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/113598
+ 	* init.c (build_vec_init): Don't use {} for PMF.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/111529
+ 	* parser.c (cp_parser_lambda_declarator_opt): Don't suggest
+ 	-std=c++14 for lambda templates.
+ 	* pt.c (tsubst_expr): Move ANNOTATE_EXPR handling...
+ 	(tsubst_copy_and_build): ...here.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100667
+ 	* semantics.c (same_type_ref_bind_p): New.
+ 	(finish_trait_expr): Use it.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/114561
+ 	PR c++/114562
+ 	* call.c (convert_like_internal): Avoid adding qualification
+ 	conversion in direct reference binding.
+ 
+ 2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-05-07  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR c++/89224
+ 	* constexpr.c (cxx_eval_array_reference): Compare main variants
+ 	for the vector/array types instead of the types directly.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-12-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* g++spec.c (lang_specific_driver): Preserve -static-libstdc++ in
+ 	the driver command line for targets without -Bstatic/dynamic support
+ 	in their static linker.
+ 
+ 2024-01-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/103185
+ 	* typeck.c (cp_build_array_ref): Handle swapped operands.
+ 
+ 2023-12-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-22  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/111485
+ 	* pt.c (is_compatible_template_arg): New parameter 'args'.
+ 	Add the outer template arguments 'args' to 'new_args'.
+ 	(convert_template_argument): Pass 'args' to
+ 	is_compatible_template_arg.
+ 
+ 2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/92145
+ 	* class.c (classtype_has_depr_implicit_copy): Check DECL_CONTEXT
+ 	of operator=.
+ 
+ 2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/92407
+ 	* cp-tree.h (struct language_function): Add backward_goto.
+ 	* decl.c (check_goto): Set it.
+ 	* typeck.c (check_return_expr): Prevent NRV if set.
+ 
+ 2023-12-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-04-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/108975
+ 	* pt.c (value_dependent_expression_p) <case VAR_DECL>:
+ 	Suppress conservative early exit for reference variables
+ 	when DECL_HAS_VALUE_EXPR_P.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/112727
+ 	* cp-gimplify.c (cp_fold): If SAVE_EXPR has been previously
+ 	folded, unshare_expr what is returned.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/112795
+ 	* parser.c (cp_parser_pragma_unroll): Use fold_non_dependent_expr
+ 	instead of maybe_constant_value.
+ 
+ 2023-09-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/106310
+ 	* parser.c (cp_parser_template_name): Skip non-member
+ 	lookup after the template keyword.
+ 	(cp_parser_lookup_name): Pass down template_keyword_p.
+ 
+ 2023-09-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/106890
+ 	PR c++/109666
+ 	* name-lookup.c (maybe_push_to_top_level)
+ 	(maybe_pop_from_top_level): Split out...
+ 	* pt.c (instantiate_body): ...from here.
+ 	* init.c (maybe_instantiate_nsdmi_init): Use them.
+ 	* name-lookup.h: Declare them..
+ 
+ 2023-08-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-05-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/109761
+ 	* parser.c (cp_parser_class_specifier): Don't pass a class
+ 	context to noexcept_override_late_checks.
+ 	(noexcept_override_late_checks): Remove 'type' parameter
+ 	and use DECL_CONTEXT of 'fndecl' instead.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/cp/call.c gcc-11.5.0/gcc/cp/call.c
*** gcc-11.4.0/gcc/cp/call.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/call.c	Fri Jul 19 05:52:43 2024
*************** convert_like_internal (conversion *convs
*** 7816,7822 ****
        break;
      };
  
!   expr = convert_like (next_conversion (convs), expr, fn, argnum,
  		       convs->kind == ck_ref_bind
  		       ? issue_conversion_warnings : false,
  		       c_cast_p, complain & ~tf_no_cleanup);
--- 7816,7830 ----
        break;
      };
  
!   conversion *nc = next_conversion (convs);
!   if (convs->kind == ck_ref_bind && nc->kind == ck_qual
!       && !convs->need_temporary_p)
!     /* direct_reference_binding might have inserted a ck_qual under
!        this ck_ref_bind for the benefit of conversion sequence ranking.
!        Don't actually perform that conversion.  */
!     nc = next_conversion (nc);
! 
!   expr = convert_like (nc, expr, fn, argnum,
  		       convs->kind == ck_ref_bind
  		       ? issue_conversion_warnings : false,
  		       c_cast_p, complain & ~tf_no_cleanup);
*************** convert_like_internal (conversion *convs
*** 7897,7915 ****
        {
  	tree ref_type = totype;
  
- 	/* direct_reference_binding might have inserted a ck_qual under
- 	   this ck_ref_bind for the benefit of conversion sequence ranking.
- 	   Ignore the conversion; we'll create our own below.  */
- 	if (next_conversion (convs)->kind == ck_qual
- 	    && !convs->need_temporary_p)
- 	  {
- 	    gcc_assert (same_type_p (TREE_TYPE (expr),
- 				     next_conversion (convs)->type));
- 	    /* Strip the cast created by the ck_qual; cp_build_addr_expr
- 	       below expects an lvalue.  */
- 	    STRIP_NOPS (expr);
- 	  }
- 
  	if (convs->bad_p && !next_conversion (convs)->bad_p)
  	  {
  	    tree extype = TREE_TYPE (expr);
--- 7905,7910 ----
diff -Nrcpad gcc-11.4.0/gcc/cp/class.c gcc-11.5.0/gcc/cp/class.c
*** gcc-11.4.0/gcc/cp/class.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/class.c	Fri Jul 19 05:52:43 2024
*************** classtype_has_depr_implicit_copy (tree t
*** 5685,5691 ****
  	 iter; ++iter)
        {
  	tree fn = *iter;
! 	if (user_provided_p (fn) && copy_fn_p (fn))
  	  return fn;
        }
  
--- 5685,5692 ----
  	 iter; ++iter)
        {
  	tree fn = *iter;
! 	if (DECL_CONTEXT (fn) == t
! 	    && user_provided_p (fn) && copy_fn_p (fn))
  	  return fn;
        }
  
diff -Nrcpad gcc-11.4.0/gcc/cp/constexpr.c gcc-11.5.0/gcc/cp/constexpr.c
*** gcc-11.4.0/gcc/cp/constexpr.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/constexpr.c	Fri Jul 19 05:52:43 2024
*************** cxx_eval_array_reference (const constexp
*** 3767,3773 ****
    if (!lval
        && TREE_CODE (ary) == VIEW_CONVERT_EXPR
        && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (ary, 0)))
!       && TREE_TYPE (t) == TREE_TYPE (TREE_TYPE (TREE_OPERAND (ary, 0))))
      ary = TREE_OPERAND (ary, 0);
  
    tree oldidx = TREE_OPERAND (t, 1);
--- 3767,3774 ----
    if (!lval
        && TREE_CODE (ary) == VIEW_CONVERT_EXPR
        && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (ary, 0)))
!       && (TYPE_MAIN_VARIANT (TREE_TYPE (t))
! 	  == TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (TREE_OPERAND (ary, 0))))))
      ary = TREE_OPERAND (ary, 0);
  
    tree oldidx = TREE_OPERAND (t, 1);
diff -Nrcpad gcc-11.4.0/gcc/cp/coroutines.cc gcc-11.5.0/gcc/cp/coroutines.cc
*** gcc-11.4.0/gcc/cp/coroutines.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/coroutines.cc	Fri Jul 19 05:52:43 2024
*************** coro_diagnose_throwing_fn (tree fndecl)
*** 877,889 ****
  static bool
  coro_diagnose_throwing_final_aw_expr (tree expr)
  {
!   tree t = TARGET_EXPR_INITIAL (expr);
    tree fn = NULL_TREE;
!   if (TREE_CODE (t) == CALL_EXPR)
!     fn = CALL_EXPR_FN(t);
!   else if (TREE_CODE (t) == AGGR_INIT_EXPR)
!     fn = AGGR_INIT_EXPR_FN (t);
!   else if (TREE_CODE (t) == CONSTRUCTOR)
      return false;
    else
      {
--- 877,890 ----
  static bool
  coro_diagnose_throwing_final_aw_expr (tree expr)
  {
!   if (TREE_CODE (expr) == TARGET_EXPR)
!     expr = TARGET_EXPR_INITIAL (expr);
    tree fn = NULL_TREE;
!   if (TREE_CODE (expr) == CALL_EXPR)
!     fn = CALL_EXPR_FN (expr);
!   else if (TREE_CODE (expr) == AGGR_INIT_EXPR)
!     fn = AGGR_INIT_EXPR_FN (expr);
!   else if (TREE_CODE (expr) == CONSTRUCTOR)
      return false;
    else
      {
*************** await_statement_walker (tree *stmt, int
*** 3713,3719 ****
  	      }
  	    return NULL_TREE; /* Done.  */
  	  }
! 	break;
        }
    else if (EXPR_P (expr))
      {
--- 3714,3735 ----
  	      }
  	    return NULL_TREE; /* Done.  */
  	  }
! 	  break;
! 	case HANDLER:
! 	  {
! 	    /* [expr.await] An await-expression shall appear only in a
! 	       potentially-evaluated expression within the compound-statement
! 	       of a function-body outside of a handler.  */
! 	    tree *await_ptr;
! 	    hash_set<tree> visited;
! 	    if (!(cp_walk_tree (&HANDLER_BODY (expr), find_any_await,
! 		  &await_ptr, &visited)))
! 	      return NULL_TREE; /* All OK.  */
! 	    location_t loc = EXPR_LOCATION (*await_ptr);
! 	    error_at (loc, "await expressions are not permitted in handlers");
! 	    return NULL_TREE; /* This is going to fail later anyway.  */
! 	  }
! 	  break;
        }
    else if (EXPR_P (expr))
      {
*************** register_local_var_uses (tree *stmt, int
*** 3926,3931 ****
--- 3942,3957 ----
  	  if (local_var.is_static)
  	    continue;
  
+ 	  poly_uint64 size;
+ 	  if (TREE_CODE (lvtype) == ARRAY_TYPE
+ 	      && !poly_int_tree_p (DECL_SIZE_UNIT (lvar), &size))
+ 	    {
+ 	      sorry_at (local_var.def_loc, "variable length arrays are not"
+ 			" yet supported in coroutines");
+ 	      /* Ignore it, this is broken anyway.  */
+ 	      continue;
+ 	    }
+ 
  	  lvd->local_var_seen = true;
  	  /* If this var is a lambda capture proxy, we want to leave it alone,
  	     and later rewrite the DECL_VALUE_EXPR to indirect through the
*************** morph_fn_to_coro (tree orig, tree *resum
*** 4598,4605 ****
  	If the lookup finds an allocation function in the scope of the promise
  	type, overload resolution is performed on a function call created by
  	assembling an argument list.  The first argument is the amount of space
! 	requested, and has type std::size_t.  The succeeding arguments are
! 	those of the original function.  */
        vec<tree, va_gc> *args = make_tree_vector ();
        vec_safe_push (args, resizeable); /* Space needed.  */
  
--- 4624,4631 ----
  	If the lookup finds an allocation function in the scope of the promise
  	type, overload resolution is performed on a function call created by
  	assembling an argument list.  The first argument is the amount of space
! 	requested, and has type std::size_t.  The lvalues p1...pn are the
! 	succeeding arguments..  */
        vec<tree, va_gc> *args = make_tree_vector ();
        vec_safe_push (args, resizeable); /* Space needed.  */
  
*************** morph_fn_to_coro (tree orig, tree *resum
*** 4617,4626 ****
  	      this_ref = convert_to_reference (tt, this_ref, CONV_STATIC,
  					       LOOKUP_NORMAL , NULL_TREE,
  					       tf_warning_or_error);
! 	      vec_safe_push (args, this_ref);
  	    }
  	  else
! 	    vec_safe_push (args, arg);
  	}
  
        /* Note the function selected; we test to see if it's NOTHROW.  */
--- 4643,4652 ----
  	      this_ref = convert_to_reference (tt, this_ref, CONV_STATIC,
  					       LOOKUP_NORMAL , NULL_TREE,
  					       tf_warning_or_error);
! 	      vec_safe_push (args, convert_from_reference (this_ref));
  	    }
  	  else
! 	    vec_safe_push (args, convert_from_reference (arg));
  	}
  
        /* Note the function selected; we test to see if it's NOTHROW.  */
diff -Nrcpad gcc-11.4.0/gcc/cp/cp-gimplify.c gcc-11.5.0/gcc/cp/cp-gimplify.c
*** gcc-11.4.0/gcc/cp/cp-gimplify.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/cp-gimplify.c	Fri Jul 19 05:52:43 2024
*************** cxx_omp_clause_apply_fn (tree fn, tree a
*** 1893,1898 ****
--- 1893,1900 ----
  					   TREE_PURPOSE (parm), fn,
  					   i - is_method, tf_warning_or_error);
        t = build_call_a (fn, i, argarray);
+       if (MAYBE_CLASS_TYPE_P (TREE_TYPE (t)))
+ 	t = build_cplus_new (TREE_TYPE (t), t, tf_warning_or_error);
        t = fold_convert (void_type_node, t);
        t = fold_build_cleanup_point_expr (TREE_TYPE (t), t);
        append_to_statement_list (t, &ret);
*************** cxx_omp_clause_apply_fn (tree fn, tree a
*** 1926,1931 ****
--- 1928,1935 ----
  					   TREE_PURPOSE (parm), fn,
  					   i - is_method, tf_warning_or_error);
        t = build_call_a (fn, i, argarray);
+       if (MAYBE_CLASS_TYPE_P (TREE_TYPE (t)))
+ 	t = build_cplus_new (TREE_TYPE (t), t, tf_warning_or_error);
        t = fold_convert (void_type_node, t);
        return fold_build_cleanup_point_expr (TREE_TYPE (t), t);
      }
*************** cp_fold (tree x)
*** 2306,2312 ****
      fold_cache = hash_map<tree, tree>::create_ggc (101);
  
    if (tree *cached = fold_cache->get (x))
!     return *cached;
  
    uid_sensitive_constexpr_evaluation_checker c;
  
--- 2310,2323 ----
      fold_cache = hash_map<tree, tree>::create_ggc (101);
  
    if (tree *cached = fold_cache->get (x))
!     {
!       /* unshare_expr doesn't recurse into SAVE_EXPRs.  If SAVE_EXPR's
! 	 argument has been folded into a tree invariant, make sure it is
! 	 unshared.  See PR112727.  */
!       if (TREE_CODE (x) == SAVE_EXPR && *cached != x)
! 	return unshare_expr (*cached);
!       return *cached;
!     }
  
    uid_sensitive_constexpr_evaluation_checker c;
  
diff -Nrcpad gcc-11.4.0/gcc/cp/cp-tree.h gcc-11.5.0/gcc/cp/cp-tree.h
*** gcc-11.4.0/gcc/cp/cp-tree.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/cp-tree.h	Fri Jul 19 05:52:43 2024
*************** struct GTY(()) language_function {
*** 2024,2029 ****
--- 2024,2030 ----
  
    BOOL_BITFIELD invalid_constexpr : 1;
    BOOL_BITFIELD throwing_cleanup : 1;
+   BOOL_BITFIELD backward_goto : 1;
  
    hash_table<named_label_hash> *x_named_labels;
  
diff -Nrcpad gcc-11.4.0/gcc/cp/decl.c gcc-11.5.0/gcc/cp/decl.c
*** gcc-11.4.0/gcc/cp/decl.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/decl.c	Fri Jul 19 05:52:43 2024
*************** check_goto (tree decl)
*** 3563,3568 ****
--- 3563,3570 ----
        return;
      }
  
+   cp_function_chain->backward_goto = true;
+ 
    bool saw_catch = false, complained = false;
    int identified = 0;
    tree bad;
diff -Nrcpad gcc-11.4.0/gcc/cp/g++spec.c gcc-11.5.0/gcc/cp/g++spec.c
*** gcc-11.4.0/gcc/cp/g++spec.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/g++spec.c	Fri Jul 19 05:52:43 2024
*************** lang_specific_driver (struct cl_decoded_
*** 222,228 ****
--- 222,233 ----
  
  	case OPT_static_libstdc__:
  	  library = library >= 0 ? 2 : library;
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+ 	  /* Remove -static-libstdc++ from the command only if target supports
+ 	     LD_STATIC_DYNAMIC.  When not supported, it is left in so that a
+ 	     back-end target can use outfile substitution.  */
  	  args[i] |= SKIPOPT;
+ #endif
  	  break;
  
  	case OPT_stdlib_:
diff -Nrcpad gcc-11.4.0/gcc/cp/init.c gcc-11.5.0/gcc/cp/init.c
*** gcc-11.4.0/gcc/cp/init.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/init.c	Fri Jul 19 05:52:43 2024
*************** get_nsdmi (tree member, bool in_ctor, ts
*** 597,611 ****
  	  bool pushed = false;
  	  tree ctx = DECL_CONTEXT (member);
  
! 	  processing_template_decl_sentinel ptds (/*reset*/false);
  	  if (!currently_open_class (ctx))
  	    {
- 	      if (!LOCAL_CLASS_P (ctx))
- 		push_to_top_level ();
- 	      else
- 		/* push_to_top_level would lose the necessary function context,
- 		   just reset processing_template_decl.  */
- 		processing_template_decl = 0;
  	      push_nested_class (ctx);
  	      push_deferring_access_checks (dk_no_deferred);
  	      pushed = true;
--- 597,605 ----
  	  bool pushed = false;
  	  tree ctx = DECL_CONTEXT (member);
  
! 	  bool push_to_top = maybe_push_to_top_level (member);
  	  if (!currently_open_class (ctx))
  	    {
  	      push_nested_class (ctx);
  	      push_deferring_access_checks (dk_no_deferred);
  	      pushed = true;
*************** get_nsdmi (tree member, bool in_ctor, ts
*** 633,641 ****
  	    {
  	      pop_deferring_access_checks ();
  	      pop_nested_class ();
- 	      if (!LOCAL_CLASS_P (ctx))
- 		pop_from_top_level ();
  	    }
  
  	  input_location = sloc;
  	}
--- 627,634 ----
  	    {
  	      pop_deferring_access_checks ();
  	      pop_nested_class ();
  	    }
+ 	  maybe_pop_from_top_level (push_to_top);
  
  	  input_location = sloc;
  	}
*************** build_vec_init (tree base, tree maxindex
*** 4486,4492 ****
  	 But for non-classes, that's the same as value-initialization.  */
        if (empty_list)
  	{
! 	  if (cxx_dialect >= cxx11 && AGGREGATE_TYPE_P (type))
  	    {
  	      init = build_constructor (init_list_type_node, NULL);
  	    }
--- 4479,4487 ----
  	 But for non-classes, that's the same as value-initialization.  */
        if (empty_list)
  	{
! 	  if (cxx_dialect >= cxx11
! 	      && (CLASS_TYPE_P (type)
! 		  || TREE_CODE (type) == ARRAY_TYPE))
  	    {
  	      init = build_constructor (init_list_type_node, NULL);
  	    }
diff -Nrcpad gcc-11.4.0/gcc/cp/name-lookup.c gcc-11.5.0/gcc/cp/name-lookup.c
*** gcc-11.4.0/gcc/cp/name-lookup.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/name-lookup.c	Fri Jul 19 05:52:43 2024
*************** do_pop_from_top_level (void)
*** 8520,8525 ****
--- 8520,8562 ----
    free_saved_scope = s;
  }
  
+ /* Like push_to_top_level, but not if D is function-local.  Returns whether we
+    did push to top.  */
+ 
+ bool
+ maybe_push_to_top_level (tree d)
+ {
+   /* Push if D isn't function-local, or is a lambda function, for which name
+      resolution is already done.  */
+   bool push_to_top
+     = !(current_function_decl
+ 	&& !LAMBDA_FUNCTION_P (d)
+ 	&& decl_function_context (d) == current_function_decl);
+ 
+   if (push_to_top)
+     push_to_top_level ();
+   else
+     {
+       gcc_assert (!processing_template_decl);
+       push_function_context ();
+       cp_unevaluated_operand = 0;
+       c_inhibit_evaluation_warnings = 0;
+     }
+ 
+   return push_to_top;
+ }
+ 
+ /* Return from whatever maybe_push_to_top_level did.  */
+ 
+ void
+ maybe_pop_from_top_level (bool push_to_top)
+ {
+   if (push_to_top)
+     pop_from_top_level ();
+   else
+     pop_function_context ();
+ }
+ 
  /* Push into the scope of the namespace NS, even if it is deeply
     nested within another namespace.  */
  
diff -Nrcpad gcc-11.4.0/gcc/cp/name-lookup.h gcc-11.5.0/gcc/cp/name-lookup.h
*** gcc-11.4.0/gcc/cp/name-lookup.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/name-lookup.h	Fri Jul 19 05:52:43 2024
*************** extern void push_to_top_level (void);
*** 470,475 ****
--- 470,477 ----
  extern void pop_from_top_level (void);
  extern void maybe_save_operator_binding (tree);
  extern void push_operator_bindings (void);
+ extern bool maybe_push_to_top_level (tree);
+ extern void maybe_pop_from_top_level (bool);
  extern void push_using_decl_bindings (tree, tree);
  extern void discard_operator_bindings (tree);
  
diff -Nrcpad gcc-11.4.0/gcc/cp/parser.c gcc-11.5.0/gcc/cp/parser.c
*** gcc-11.4.0/gcc/cp/parser.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/parser.c	Fri Jul 19 05:52:43 2024
*************** static cp_token_cache *cp_token_cache_ne
*** 249,255 ****
  static tree cp_parser_late_noexcept_specifier
    (cp_parser *, tree);
  static void noexcept_override_late_checks
!   (tree, tree);
  
  static void cp_parser_initial_pragma
    (cp_token *);
--- 249,255 ----
  static tree cp_parser_late_noexcept_specifier
    (cp_parser *, tree);
  static void noexcept_override_late_checks
!   (tree);
  
  static void cp_parser_initial_pragma
    (cp_token *);
*************** static tree cp_parser_objc_struct_declar
*** 2610,2616 ****
  /* Utility Routines */
  
  static cp_expr cp_parser_lookup_name
!   (cp_parser *, tree, enum tag_types, bool, bool, bool, tree *, location_t);
  static tree cp_parser_lookup_name_simple
    (cp_parser *, tree, location_t);
  static tree cp_parser_maybe_treat_template_as_class
--- 2610,2616 ----
  /* Utility Routines */
  
  static cp_expr cp_parser_lookup_name
!   (cp_parser *, tree, enum tag_types, int, bool, bool, tree *, location_t);
  static tree cp_parser_lookup_name_simple
    (cp_parser *, tree, location_t);
  static tree cp_parser_maybe_treat_template_as_class
*************** cp_parser_lambda_declarator_opt (cp_pars
*** 11310,11316 ****
        if (cxx_dialect < cxx14)
  	pedwarn (parser->lexer->next_token->location, 0,
  		 "lambda templates are only available with "
! 		 "%<-std=c++14%> or %<-std=gnu++14%>");
        else if (cxx_dialect < cxx20)
  	pedwarn (parser->lexer->next_token->location, OPT_Wpedantic,
  		 "lambda templates are only available with "
--- 11310,11316 ----
        if (cxx_dialect < cxx14)
  	pedwarn (parser->lexer->next_token->location, 0,
  		 "lambda templates are only available with "
! 		 "%<-std=c++20%> or %<-std=gnu++20%>");
        else if (cxx_dialect < cxx20)
  	pedwarn (parser->lexer->next_token->location, OPT_Wpedantic,
  		 "lambda templates are only available with "
*************** cp_parser_template_name (cp_parser* pars
*** 17748,17754 ****
    /* Look up the name.  */
    decl = cp_parser_lookup_name (parser, identifier,
  				tag_type,
! 				/*is_template=*/true,
  				/*is_namespace=*/false,
  				check_dependency_p,
  				/*ambiguous_decls=*/NULL,
--- 17748,17754 ----
    /* Look up the name.  */
    decl = cp_parser_lookup_name (parser, identifier,
  				tag_type,
! 				/*is_template=*/1 + template_keyword_p,
  				/*is_namespace=*/false,
  				check_dependency_p,
  				/*ambiguous_decls=*/NULL,
*************** cp_parser_class_specifier_1 (cp_parser*
*** 25193,25199 ****
  	  /* The finish_struct call above performed various override checking,
  	     but it skipped unparsed noexcept-specifier operands.  Now that we
  	     have resolved them, check again.  */
! 	  noexcept_override_late_checks (type, decl);
  
  	  /* Remove any member-function parameters from the symbol table.  */
  	  pop_injected_parms ();
--- 25193,25199 ----
  	  /* The finish_struct call above performed various override checking,
  	     but it skipped unparsed noexcept-specifier operands.  Now that we
  	     have resolved them, check again.  */
! 	  noexcept_override_late_checks (decl);
  
  	  /* Remove any member-function parameters from the symbol table.  */
  	  pop_injected_parms ();
*************** cp_parser_late_noexcept_specifier (cp_pa
*** 26877,26890 ****
  }
  
  /* Perform late checking of overriding function with respect to their
!    noexcept-specifiers.  TYPE is the class and FNDECL is the function
!    that potentially overrides some virtual function with the same
!    signature.  */
  
  static void
! noexcept_override_late_checks (tree type, tree fndecl)
  {
!   tree binfo = TYPE_BINFO (type);
    tree base_binfo;
  
    if (DECL_STATIC_FUNCTION_P (fndecl))
--- 26877,26889 ----
  }
  
  /* Perform late checking of overriding function with respect to their
!    noexcept-specifiers.  FNDECL is the member function that potentially
!    overrides some virtual function with the same signature.  */
  
  static void
! noexcept_override_late_checks (tree fndecl)
  {
!   tree binfo = TYPE_BINFO (DECL_CONTEXT (fndecl));
    tree base_binfo;
  
    if (DECL_STATIC_FUNCTION_P (fndecl))
*************** prefer_type_arg (tag_types tag_type)
*** 29255,29261 ****
     refer to types are ignored.
  
     If IS_TEMPLATE is TRUE, bindings that do not refer to templates are
!    ignored.
  
     If IS_NAMESPACE is TRUE, bindings that do not refer to namespaces
     are ignored.
--- 29254,29260 ----
     refer to types are ignored.
  
     If IS_TEMPLATE is TRUE, bindings that do not refer to templates are
!    ignored.  If IS_TEMPLATE IS 2, the 'template' keyword was specified.
  
     If IS_NAMESPACE is TRUE, bindings that do not refer to namespaces
     are ignored.
*************** prefer_type_arg (tag_types tag_type)
*** 29270,29276 ****
  static cp_expr
  cp_parser_lookup_name (cp_parser *parser, tree name,
  		       enum tag_types tag_type,
! 		       bool is_template,
  		       bool is_namespace,
  		       bool check_dependency,
  		       tree *ambiguous_decls,
--- 29269,29275 ----
  static cp_expr
  cp_parser_lookup_name (cp_parser *parser, tree name,
  		       enum tag_types tag_type,
! 		       int is_template,
  		       bool is_namespace,
  		       bool check_dependency,
  		       tree *ambiguous_decls,
*************** cp_parser_lookup_name (cp_parser *parser
*** 29455,29461 ****
        else
  	decl = NULL_TREE;
  
!       if (!decl)
  	/* Look it up in the enclosing context.  DR 141: When looking for a
  	   template-name after -> or ., only consider class templates.  */
  	decl = lookup_name (name, is_namespace ? LOOK_want::NAMESPACE
--- 29454,29467 ----
        else
  	decl = NULL_TREE;
  
!       /* If we didn't find a member and have dependent bases, the member lookup
! 	 is now dependent.  */
!       if (!dep && !decl && any_dependent_bases_p (object_type))
! 	dep = true;
! 
!       if (dep && is_template == 2)
! 	/* The template keyword specifies a dependent template.  */;
!       else if (!decl)
  	/* Look it up in the enclosing context.  DR 141: When looking for a
  	   template-name after -> or ., only consider class templates.  */
  	decl = lookup_name (name, is_namespace ? LOOK_want::NAMESPACE
*************** cp_parser_pragma_unroll (cp_parser *pars
*** 44962,44968 ****
    location_t location = cp_lexer_peek_token (parser->lexer)->location;
    tree expr = cp_parser_constant_expression (parser);
    unsigned short unroll;
!   expr = maybe_constant_value (expr);
    HOST_WIDE_INT lunroll = 0;
    if (!INTEGRAL_TYPE_P (TREE_TYPE (expr))
        || TREE_CODE (expr) != INTEGER_CST
--- 44968,44974 ----
    location_t location = cp_lexer_peek_token (parser->lexer)->location;
    tree expr = cp_parser_constant_expression (parser);
    unsigned short unroll;
!   expr = fold_non_dependent_expr (expr);
    HOST_WIDE_INT lunroll = 0;
    if (!INTEGRAL_TYPE_P (TREE_TYPE (expr))
        || TREE_CODE (expr) != INTEGER_CST
diff -Nrcpad gcc-11.4.0/gcc/cp/pt.c gcc-11.5.0/gcc/cp/pt.c
*** gcc-11.4.0/gcc/cp/pt.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/pt.c	Fri Jul 19 05:52:43 2024
*************** canonicalize_expr_argument (tree arg, ts
*** 8284,8290 ****
     constrained than the parameter.  */
  
  static bool
! is_compatible_template_arg (tree parm, tree arg)
  {
    tree parm_cons = get_constraints (parm);
  
--- 8284,8290 ----
     constrained than the parameter.  */
  
  static bool
! is_compatible_template_arg (tree parm, tree arg, tree args)
  {
    tree parm_cons = get_constraints (parm);
  
*************** is_compatible_template_arg (tree parm, t
*** 8305,8310 ****
--- 8305,8311 ----
      {
        tree aparms = DECL_INNERMOST_TEMPLATE_PARMS (arg);
        new_args = template_parms_level_to_args (aparms);
+       new_args = add_to_template_args (args, new_args);
        ++processing_template_decl;
        parm_cons = tsubst_constraint_info (parm_cons, new_args,
  					  tf_none, NULL_TREE);
*************** convert_template_argument (tree parm,
*** 8563,8569 ****
                // Check that the constraints are compatible before allowing the
                // substitution.
                if (val != error_mark_node)
!                 if (!is_compatible_template_arg (parm, arg))
                    {
  		    if (in_decl && (complain & tf_error))
                        {
--- 8564,8570 ----
                // Check that the constraints are compatible before allowing the
                // substitution.
                if (val != error_mark_node)
! 		if (!is_compatible_template_arg (parm, arg, args))
                    {
  		    if (in_decl && (complain & tf_error))
                        {
*************** tsubst_expr (tree t, tree args, tsubst_f
*** 19366,19378 ****
  				    RECUR (TREE_OPERAND (t, 1)),
  				    complain));
  
-     case ANNOTATE_EXPR:
-       tmp = RECUR (TREE_OPERAND (t, 0));
-       RETURN (build3_loc (EXPR_LOCATION (t), ANNOTATE_EXPR,
- 			  TREE_TYPE (tmp), tmp,
- 			  RECUR (TREE_OPERAND (t, 1)),
- 			  RECUR (TREE_OPERAND (t, 2))));
- 
      case PREDICT_EXPR:
        RETURN (add_stmt (copy_node (t)));
  
--- 19367,19372 ----
*************** tsubst_copy_and_build (tree t,
*** 21122,21127 ****
--- 21116,21128 ----
  	 with constant operands.  */
        RETURN (t);
  
+     case ANNOTATE_EXPR:
+       op1 = RECUR (TREE_OPERAND (t, 0));
+       RETURN (build3_loc (EXPR_LOCATION (t), ANNOTATE_EXPR,
+ 			  TREE_TYPE (op1), op1,
+ 			  RECUR (TREE_OPERAND (t, 1)),
+ 			  RECUR (TREE_OPERAND (t, 2))));
+ 
      case NON_LVALUE_EXPR:
      case VIEW_CONVERT_EXPR:
        if (location_wrapper_p (t))
*************** instantiate_body (tree pattern, tree arg
*** 26006,26025 ****
    if (current_function_decl)
      save_omp_privatization_clauses (omp_privatization_save);
  
!   bool push_to_top
!     = !(current_function_decl
! 	&& !LAMBDA_FUNCTION_P (d)
! 	&& decl_function_context (d) == current_function_decl);
! 
!   if (push_to_top)
!     push_to_top_level ();
!   else
!     {
!       gcc_assert (!processing_template_decl);
!       push_function_context ();
!       cp_unevaluated_operand = 0;
!       c_inhibit_evaluation_warnings = 0;
!     }
  
    if (VAR_P (d))
      {
--- 26007,26013 ----
    if (current_function_decl)
      save_omp_privatization_clauses (omp_privatization_save);
  
!   bool push_to_top = maybe_push_to_top_level (d);
  
    if (VAR_P (d))
      {
*************** instantiate_body (tree pattern, tree arg
*** 26132,26141 ****
    if (!nested_p)
      TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (d)) = 0;
  
!   if (push_to_top)
!     pop_from_top_level ();
!   else
!     pop_function_context ();
  
    if (current_function_decl)
      restore_omp_privatization_clauses (omp_privatization_save);
--- 26120,26126 ----
    if (!nested_p)
      TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (d)) = 0;
  
!   maybe_pop_from_top_level (push_to_top);
  
    if (current_function_decl)
      restore_omp_privatization_clauses (omp_privatization_save);
*************** value_dependent_expression_p (tree expre
*** 27130,27138 ****
      case VAR_DECL:
         /* A constant with literal type and is initialized
  	  with an expression that is value-dependent.  */
!       if (DECL_DEPENDENT_INIT_P (expression)
! 	  /* FIXME cp_finish_decl doesn't fold reference initializers.  */
! 	  || TYPE_REF_P (TREE_TYPE (expression)))
  	return true;
        if (DECL_HAS_VALUE_EXPR_P (expression))
  	{
--- 27115,27121 ----
      case VAR_DECL:
         /* A constant with literal type and is initialized
  	  with an expression that is value-dependent.  */
!       if (DECL_DEPENDENT_INIT_P (expression))
  	return true;
        if (DECL_HAS_VALUE_EXPR_P (expression))
  	{
*************** value_dependent_expression_p (tree expre
*** 27147,27152 ****
--- 27130,27138 ----
  		  && value_expr == error_mark_node))
  	    return true;
  	}
+       else if (TYPE_REF_P (TREE_TYPE (expression)))
+ 	/* FIXME cp_finish_decl doesn't fold reference initializers.  */
+ 	return true;
        return false;
  
      case DYNAMIC_CAST_EXPR:
diff -Nrcpad gcc-11.4.0/gcc/cp/semantics.c gcc-11.5.0/gcc/cp/semantics.c
*** gcc-11.4.0/gcc/cp/semantics.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/semantics.c	Fri Jul 19 05:52:43 2024
*************** simplify_loop_decl_cond (tree *cond_p, t
*** 775,781 ****
    *cond_p = boolean_true_node;
  
    if_stmt = begin_if_stmt ();
!   cond = cp_build_unary_op (TRUTH_NOT_EXPR, cond, false, tf_warning_or_error);
    finish_if_stmt_cond (cond, if_stmt);
    finish_break_stmt ();
    finish_then_clause (if_stmt);
--- 775,785 ----
    *cond_p = boolean_true_node;
  
    if_stmt = begin_if_stmt ();
!   cond_p = &cond;
!   while (TREE_CODE (*cond_p) == ANNOTATE_EXPR)
!     cond_p = &TREE_OPERAND (*cond_p, 0);
!   *cond_p = cp_build_unary_op (TRUTH_NOT_EXPR, *cond_p, false,
! 			       tf_warning_or_error);
    finish_if_stmt_cond (cond, if_stmt);
    finish_break_stmt ();
    finish_then_clause (if_stmt);
*************** check_trait_type (tree type)
*** 10570,10575 ****
--- 10574,10611 ----
    return !!complete_type_or_else (strip_array_types (type), NULL_TREE);
  }
  
+ /* True iff the conversion (if any) would be a direct reference
+    binding, not requiring complete types.  This is LWG2939.  */
+ 
+ static bool
+ same_type_ref_bind_p (cp_trait_kind kind, tree type1, tree type2)
+ {
+   tree from, to;
+   switch (kind)
+     {
+       /* These put the target type first.  */
+     case CPTK_IS_CONSTRUCTIBLE:
+     case CPTK_IS_NOTHROW_CONSTRUCTIBLE:
+     case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE:
+       to = type1;
+       from = type2;
+       break;
+ 
+     default:
+       gcc_unreachable ();
+     }
+ 
+   if (TREE_CODE (to) != REFERENCE_TYPE || !from)
+     return false;
+   if (TREE_CODE (from) == TREE_VEC && TREE_VEC_LENGTH (from) == 1)
+     from = TREE_VEC_ELT (from, 0);
+   else if (TREE_CODE (from) == TREE_LIST && !TREE_CHAIN (from))
+     from = TREE_VALUE (from);
+   return (TYPE_P (from)
+ 	  && (same_type_ignoring_top_level_qualifiers_p
+ 	      (non_reference (to), non_reference (from))));
+ }
+ 
  /* Process a trait expression.  */
  
  tree
*************** finish_trait_expr (location_t loc, cp_tr
*** 10619,10628 ****
      case CPTK_IS_CONSTRUCTIBLE:
        break;
  
-     case CPTK_IS_TRIVIALLY_ASSIGNABLE:
      case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE:
-     case CPTK_IS_NOTHROW_ASSIGNABLE:
      case CPTK_IS_NOTHROW_CONSTRUCTIBLE:
        if (!check_trait_type (type1)
  	  || !check_trait_type (type2))
  	return error_mark_node;
--- 10655,10669 ----
      case CPTK_IS_CONSTRUCTIBLE:
        break;
  
      case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE:
      case CPTK_IS_NOTHROW_CONSTRUCTIBLE:
+       /* Don't check completeness for direct reference binding.  */;
+       if (same_type_ref_bind_p (kind, type1, type2))
+ 	break;
+       gcc_fallthrough ();
+ 
+     case CPTK_IS_NOTHROW_ASSIGNABLE:
+     case CPTK_IS_TRIVIALLY_ASSIGNABLE:
        if (!check_trait_type (type1)
  	  || !check_trait_type (type2))
  	return error_mark_node;
diff -Nrcpad gcc-11.4.0/gcc/cp/typeck.c gcc-11.5.0/gcc/cp/typeck.c
*** gcc-11.4.0/gcc/cp/typeck.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/cp/typeck.c	Fri Jul 19 05:52:43 2024
*************** cp_build_indirect_ref (location_t loc, t
*** 3563,3575 ****
     If INDEX is of some user-defined type, it must be converted to
     integer type.  Otherwise, to make a compatible PLUS_EXPR, it
     will inherit the type of the array, which will be some pointer type.
!    
     LOC is the location to use in building the array reference.  */
  
  tree
  cp_build_array_ref (location_t loc, tree array, tree idx,
  		    tsubst_flags_t complain)
  {
    tree ret;
  
    if (idx == 0)
--- 3563,3576 ----
     If INDEX is of some user-defined type, it must be converted to
     integer type.  Otherwise, to make a compatible PLUS_EXPR, it
     will inherit the type of the array, which will be some pointer type.
! 
     LOC is the location to use in building the array reference.  */
  
  tree
  cp_build_array_ref (location_t loc, tree array, tree idx,
  		    tsubst_flags_t complain)
  {
+   tree first = NULL_TREE;
    tree ret;
  
    if (idx == 0)
*************** cp_build_array_ref (location_t loc, tree
*** 3614,3619 ****
--- 3615,3628 ----
  
    bool non_lvalue = convert_vector_to_array_for_subscript (loc, &array, idx);
  
+   /* 0[array] */
+   if (TREE_CODE (TREE_TYPE (idx)) == ARRAY_TYPE)
+     {
+       std::swap (array, idx);
+       if (flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (array))
+ 	idx = first = save_expr (idx);
+     }
+ 
    if (TREE_CODE (TREE_TYPE (array)) == ARRAY_TYPE)
      {
        tree rval, type;
*************** cp_build_array_ref (location_t loc, tree
*** 3689,3703 ****
        protected_set_expr_location (ret, loc);
        if (non_lvalue)
  	ret = non_lvalue_loc (loc, ret);
        return ret;
      }
  
    {
      tree ar = cp_default_conversion (array, complain);
      tree ind = cp_default_conversion (idx, complain);
-     tree first = NULL_TREE;
  
!     if (flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind))
        ar = first = save_expr (ar);
  
      /* Put the integer in IND to simplify error checking.  */
--- 3698,3713 ----
        protected_set_expr_location (ret, loc);
        if (non_lvalue)
  	ret = non_lvalue_loc (loc, ret);
+       if (first)
+ 	ret = build2_loc (loc, COMPOUND_EXPR, TREE_TYPE (ret), first, ret);
        return ret;
      }
  
    {
      tree ar = cp_default_conversion (array, complain);
      tree ind = cp_default_conversion (idx, complain);
  
!     if (!first && flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind))
        ar = first = save_expr (ar);
  
      /* Put the integer in IND to simplify error checking.  */
*************** check_return_expr (tree retval, bool *no
*** 10307,10312 ****
--- 10317,10325 ----
    if (fn_returns_value_p && flag_elide_constructors)
      {
        if (named_return_value_okay_p
+ 	  /* The current NRV implementation breaks if a backward goto needs to
+ 	     destroy the object (PR92407).  */
+ 	  && !cp_function_chain->backward_goto
            && (current_function_return_value == NULL_TREE
                || current_function_return_value == retval))
  	current_function_return_value = retval;
diff -Nrcpad gcc-11.4.0/gcc/d/ChangeLog gcc-11.5.0/gcc/d/ChangeLog
*** gcc-11.4.0/gcc/d/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/d/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,75 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/114171
+ 	* d-codegen.cc (lower_struct_comparison): Keep alignment of original
+ 	type in reinterpret cast for comparison.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/113758
+ 	* d-codegen.cc (d_build_call): Force a TARGET_EXPR when callee
+ 	destorys its arguments.
+ 	* decl.cc (DeclVisitor::visit (VarDeclaration *)): Set
+ 	SET_DECL_VALUE_EXPR on the temporary variable to make it a placeholder
+ 	for the TARGET_EXPR_SLOT.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/113125
+ 	* types.cc (TypeVisitor::visit (TypeStruct *)): Generate TYPE_DECL and
+ 	apply UDAs to opaque struct declarations.
+ 
+ 2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/108842
+ 	* decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar
+ 	manifest constants.
+ 	(get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest
+ 	constants.
+ 	* imports.cc (ImportVisitor::visit (VarDeclaration *)): New method.
+ 
+ 2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110516
+ 	* intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the
+ 	expanded expression.
+ 	(expand_volatile_store): Likewise.
+ 
+ 2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110511
+ 	* dmd/dinterpret.c (Interpreter::visit (CastExp *)): Handle casting
+ 	null to int or float.
+ 
+ 2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110359
+ 	* d-convert.cc (convert_for_rvalue): Only apply the @safe boolean
+ 	conversion to boolean fields of a union.
+ 	(convert_for_condition): Call convert_for_rvalue in the default case.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/d/d-codegen.cc gcc-11.5.0/gcc/d/d-codegen.cc
*** gcc-11.4.0/gcc/d/d-codegen.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/d-codegen.cc	Fri Jul 19 05:52:43 2024
*************** lower_struct_comparison (tree_code code,
*** 993,998 ****
--- 993,999 ----
  	      if (tmode == NULL_TREE)
  		tmode = make_unsigned_type (GET_MODE_BITSIZE (mode.require ()));
  
+ 	      tmode = build_aligned_type (tmode, TYPE_ALIGN (stype));
  	      t1ref = build_vconvert (tmode, t1ref);
  	      t2ref = build_vconvert (tmode, t2ref);
  
*************** d_build_call (TypeFunction *tf, tree cal
*** 2050,2059 ****
  	      Type *t = arg->type->toBasetype ();
  	      StructDeclaration *sd = t->baseElemOf ()->isTypeStruct ()->sym;
  
! 	      /* Nested structs also have ADDRESSABLE set, but if the type has
! 		 neither a copy constructor nor a destructor available, then we
! 		 need to take care of copying its value before passing it.  */
! 	      if (arg->op == TOKstructliteral || (!sd->postblit && !sd->dtor))
  		targ = force_target_expr (targ);
  
  	      targ = convert (build_reference_type (TREE_TYPE (targ)),
--- 2051,2067 ----
  	      Type *t = arg->type->toBasetype ();
  	      StructDeclaration *sd = t->baseElemOf ()->isTypeStruct ()->sym;
  
! 	      /* Need to take care of copying its value before passing the
! 		 argument in the following scenarios:
! 		 - The argument is a literal expression; a CONSTRUCTOR can't
! 		 have its address taken.
! 		 - The type has neither a copy constructor nor a destructor
! 		 available; nested structs also have ADDRESSABLE set.
! 		 - The ABI of the function expects the callee to destroy its
! 		 arguments; when the caller is handles destruction, then `targ'
! 		 has already been made into a temporary. */
! 	      if (arg->op == TOKstructliteral || (!sd->postblit && !sd->dtor)
! 		  || arg->type->needsDestruction ())
  		targ = force_target_expr (targ);
  
  	      targ = convert (build_reference_type (TREE_TYPE (targ)),
diff -Nrcpad gcc-11.4.0/gcc/d/d-convert.cc gcc-11.5.0/gcc/d/d-convert.cc
*** gcc-11.4.0/gcc/d/d-convert.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/d-convert.cc	Fri Jul 19 05:52:43 2024
*************** convert_expr (tree exp, Type *etype, Typ
*** 611,617 ****
    return result ? result : convert (build_ctype (totype), exp);
  }
  
! /* Return a TREE represenwation of EXPR, whose type has been converted from
   * ETYPE to TOTYPE, and is being used in an rvalue context.  */
  
  tree
--- 611,617 ----
    return result ? result : convert (build_ctype (totype), exp);
  }
  
! /* Return a TREE representation of EXPR, whose type has been converted from
   * ETYPE to TOTYPE, and is being used in an rvalue context.  */
  
  tree
*************** convert_for_rvalue (tree expr, Type *ety
*** 627,646 ****
      case Tbool:
        /* If casting from bool, the result is either 0 or 1, any other value
  	 violates @safe code, so enforce that it is never invalid.  */
!       if (CONSTANT_CLASS_P (expr))
! 	result = d_truthvalue_conversion (expr);
!       else
  	{
! 	  /* Reinterpret the boolean as an integer and test the first bit.
! 	     The generated code should end up being equivalent to:
  		*cast(ubyte *)&expr & 1;  */
! 	  machine_mode bool_mode = TYPE_MODE (TREE_TYPE (expr));
! 	  tree mtype = lang_hooks.types.type_for_mode (bool_mode, 1);
! 	  result = fold_build2 (BIT_AND_EXPR, mtype,
! 				build_vconvert (mtype, expr),
! 				build_one_cst (mtype));
  	}
  
        result = convert (build_ctype (tbtype), result);
        break;
      }
--- 627,653 ----
      case Tbool:
        /* If casting from bool, the result is either 0 or 1, any other value
  	 violates @safe code, so enforce that it is never invalid.  */
!       for (tree ref = expr; TREE_CODE (ref) == COMPONENT_REF;
! 	   ref = TREE_OPERAND (ref, 0))
  	{
! 	  /* If the expression is a field that's part of a union, reinterpret
! 	     the boolean as an integer and test the first bit.  The generated
! 	     code should end up being equivalent to:
  		*cast(ubyte *)&expr & 1;  */
! 	  if (TREE_CODE (TREE_TYPE (TREE_OPERAND (ref, 0))) == UNION_TYPE)
! 	    {
! 	      machine_mode bool_mode = TYPE_MODE (TREE_TYPE (expr));
! 	      tree mtype = lang_hooks.types.type_for_mode (bool_mode, 1);
! 	      result = fold_build2 (BIT_AND_EXPR, mtype,
! 				    build_vconvert (mtype, expr),
! 				    build_one_cst (mtype));
! 	      break;
! 	    }
  	}
  
+       if (result == NULL_TREE)
+ 	result = d_truthvalue_conversion (expr);
+ 
        result = convert (build_ctype (tbtype), result);
        break;
      }
*************** convert_for_condition (tree expr, Type *
*** 838,844 ****
        break;
  
      default:
!       result = expr;
        break;
      }
  
--- 845,851 ----
        break;
  
      default:
!       result = convert_for_rvalue (expr, type, type);
        break;
      }
  
diff -Nrcpad gcc-11.4.0/gcc/d/decl.cc gcc-11.5.0/gcc/d/decl.cc
*** gcc-11.4.0/gcc/d/decl.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/decl.cc	Fri Jul 19 05:52:43 2024
*************** public:
*** 755,761 ****
        {
  	/* Do not store variables we cannot take the address of,
  	   but keep the values for purposes of debugging.  */
! 	if (!d->type->isscalar ())
  	  {
  	    tree decl = get_symbol_decl (d);
  	    d_pushdecl (decl);
--- 755,761 ----
        {
  	/* Do not store variables we cannot take the address of,
  	   but keep the values for purposes of debugging.  */
! 	if (d->type->isscalar () && !d->type->hasPointers ())
  	  {
  	    tree decl = get_symbol_decl (d);
  	    d_pushdecl (decl);
*************** public:
*** 829,838 ****
  	    /* Maybe put variable on list of things needing destruction.  */
  	    if (d->needsScopeDtor ())
  	      {
  		vec_safe_push (d_function_chain->vars_in_scope, decl);
  		/* Force a TARGET_EXPR to add the corresponding cleanup.  */
! 		exp = force_target_expr (compound_expr (exp, decl));
! 		TARGET_EXPR_CLEANUP (exp) = build_expr (d->edtor);
  	      }
  
  	    add_stmt (exp);
--- 829,856 ----
  	    /* Maybe put variable on list of things needing destruction.  */
  	    if (d->needsScopeDtor ())
  	      {
+ 		/* Rewrite: `decl = exp' => TARGET_EXPR(decl, exp, dtor).  */
  		vec_safe_push (d_function_chain->vars_in_scope, decl);
+ 
  		/* Force a TARGET_EXPR to add the corresponding cleanup.  */
! 		if (TREE_CODE (exp) != TARGET_EXPR)
! 		  {
! 		    if (VOID_TYPE_P (TREE_TYPE (exp)))
! 		      exp = compound_expr (exp, decl);
! 
! 		    exp = force_target_expr (exp);
! 		  }
! 
! 		TARGET_EXPR_CLEANUP (exp)
! 		  = compound_expr (TARGET_EXPR_CLEANUP (exp),
! 				   build_expr (d->edtor));
! 
! 		/* The decl is really an alias for the TARGET_EXPR slot.  */
! 		SET_DECL_VALUE_EXPR (decl, TARGET_EXPR_SLOT (exp));
! 		DECL_HAS_VALUE_EXPR_P (decl) = 1;
! 		/* This tells the gimplifier not to emit a clobber for the decl
! 		   as its lifetime ends when the slot gets cleaned up.  */
! 		TREE_ADDRESSABLE (decl) = 0;
  	      }
  
  	    add_stmt (exp);
*************** get_symbol_decl (Declaration *decl)
*** 1098,1103 ****
--- 1116,1135 ----
        return decl->csym;
      }
  
+   if (VarDeclaration *vd = decl->isVarDeclaration ())
+     {
+       /* CONST_DECL was initially intended for enumerals and may be used for
+ 	 scalars in general, but not for aggregates.  Here a non-constant
+ 	 value is generated anyway so as its value can be used.  */
+       if (!vd->canTakeAddressOf () && !vd->type->isscalar ())
+ 	{
+ 	  gcc_assert (vd->_init && !vd->_init->isVoidInitializer ());
+ 	  Expression *ie = initializerToExpression (vd->_init);
+ 	  decl->csym = build_expr (ie, false);
+ 	  return decl->csym;
+ 	}
+     }
+ 
    /* Build the tree for the symbol.  */
    FuncDeclaration *fd = decl->isFuncDeclaration ();
    if (fd)
*************** get_symbol_decl (Declaration *decl)
*** 1145,1167 ****
        if (vd->storage_class & STCextern)
  	DECL_EXTERNAL (decl->csym) = 1;
  
!       /* CONST_DECL was initially intended for enumerals and may be used for
! 	 scalars in general, but not for aggregates.  Here a non-constant
! 	 value is generated anyway so as the CONST_DECL only serves as a
! 	 placeholder for the value, however the DECL itself should never be
! 	 referenced in any generated code, or passed to the back-end.  */
!       if (vd->storage_class & STCmanifest)
  	{
  	  /* Cannot make an expression out of a void initializer.  */
! 	  if (vd->_init && !vd->_init->isVoidInitializer ())
! 	    {
! 	      Expression *ie = initializerToExpression (vd->_init);
  
! 	      if (!vd->type->isscalar ())
! 		DECL_INITIAL (decl->csym) = build_expr (ie, false);
! 	      else
! 		DECL_INITIAL (decl->csym) = build_expr (ie, true);
! 	    }
  	}
      }
  
--- 1177,1191 ----
        if (vd->storage_class & STCextern)
  	DECL_EXTERNAL (decl->csym) = 1;
  
!       if (!vd->canTakeAddressOf ())
  	{
  	  /* Cannot make an expression out of a void initializer.  */
! 	  gcc_assert (vd->_init && !vd->_init->isVoidInitializer ());
! 	  /* Non-scalar manifest constants have already been dealt with.  */
! 	  gcc_assert (vd->type->isscalar ());
  
! 	  Expression *ie = initializerToExpression (vd->_init);
! 	  DECL_INITIAL (decl->csym) = build_expr (ie, true);
  	}
      }
  
diff -Nrcpad gcc-11.4.0/gcc/d/dmd/dinterpret.c gcc-11.5.0/gcc/d/dmd/dinterpret.c
*** gcc-11.4.0/gcc/d/dmd/dinterpret.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/dmd/dinterpret.c	Fri Jul 19 05:52:43 2024
*************** public:
*** 5792,5803 ****
          }
          if (e->to->ty == Tsarray)
              e1 = resolveSlice(e1);
!         if (e->to->toBasetype()->ty == Tbool && e1->type->ty == Tpointer)
          {
              new(pue) IntegerExp(e->loc, e1->op != TOKnull, e->to);
              result = pue->exp();
              return;
          }
          result = ctfeCast(pue, e->loc, e->type, e->to, e1);
      }
  
--- 5792,5813 ----
          }
          if (e->to->ty == Tsarray)
              e1 = resolveSlice(e1);
!         Type *tobt = e->to->toBasetype();
!         if (tobt->ty == Tbool && e1->type->ty == Tpointer)
          {
              new(pue) IntegerExp(e->loc, e1->op != TOKnull, e->to);
              result = pue->exp();
              return;
          }
+         else if (tobt->isTypeBasic() && e1->op == TOKnull)
+         {
+             if (tobt->isintegral())
+                 new(pue) IntegerExp(e->loc, 0, e->to);
+             else if (tobt->isreal())
+                 new(pue) RealExp(e->loc, CTFloat::zero, e->to);
+             result = pue->exp();
+             return;
+         }
          result = ctfeCast(pue, e->loc, e->type, e->to, e1);
      }
  
diff -Nrcpad gcc-11.4.0/gcc/d/imports.cc gcc-11.5.0/gcc/d/imports.cc
*** gcc-11.4.0/gcc/d/imports.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/imports.cc	Fri Jul 19 05:52:43 2024
*************** public:
*** 119,124 ****
--- 119,133 ----
      d->isym = this->make_import (TYPE_STUB_DECL (type));
    }
  
+   void visit (VarDeclaration *d)
+   {
+     /* Not all kinds of manifest constants create a CONST_DECL.  */
+     if (!d->canTakeAddressOf () && !d->type->isscalar ())
+       return;
+ 
+     visit ((Declaration *) d);
+   }
+ 
    /* For now, ignore importing other kinds of dsymbols.  */
    void visit (ScopeDsymbol *)
    {
diff -Nrcpad gcc-11.4.0/gcc/d/intrinsics.cc gcc-11.5.0/gcc/d/intrinsics.cc
*** gcc-11.4.0/gcc/d/intrinsics.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/intrinsics.cc	Fri Jul 19 05:52:43 2024
*************** expand_volatile_load (tree callexp)
*** 721,726 ****
--- 721,727 ----
    tree type = build_qualified_type (TREE_TYPE (ptrtype), TYPE_QUAL_VOLATILE);
    tree result = indirect_ref (type, ptr);
    TREE_THIS_VOLATILE (result) = 1;
+   TREE_SIDE_EFFECTS (result) = 1;
  
    return result;
  }
*************** expand_volatile_store (tree callexp)
*** 748,753 ****
--- 749,755 ----
    tree type = build_qualified_type (TREE_TYPE (ptrtype), TYPE_QUAL_VOLATILE);
    tree result = indirect_ref (type, ptr);
    TREE_THIS_VOLATILE (result) = 1;
+   TREE_SIDE_EFFECTS (result) = 1;
  
    /* (*(volatile T *) ptr) = value;  */
    tree value = CALL_EXPR_ARG (callexp, 1);
diff -Nrcpad gcc-11.4.0/gcc/d/types.cc gcc-11.5.0/gcc/d/types.cc
*** gcc-11.4.0/gcc/d/types.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/d/types.cc	Fri Jul 19 05:52:43 2024
*************** public:
*** 1008,1013 ****
--- 1008,1018 ----
  	apply_user_attributes (t->sym, t->ctype);
  	finish_aggregate_type (structsize, alignsize, t->ctype);
        }
+     else
+       {
+ 	build_type_decl (t->ctype, t->sym);
+ 	apply_user_attributes (t->sym, t->ctype);
+       }
  
      TYPE_CONTEXT (t->ctype) = d_decl_context (t->sym);
      build_type_decl (t->ctype, t->sym);
diff -Nrcpad gcc-11.4.0/gcc/doc/cpp.1 gcc-11.5.0/gcc/doc/cpp.1
*** gcc-11.4.0/gcc/doc/cpp.1	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/cpp.1	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "CPP 1"
! .TH CPP 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "CPP 1"
! .TH CPP 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** time of the source or package and it sho
*** 924,931 ****
  process.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7),
! \&\fBgcc\fR\|(1), and the Info entries for \fIcpp\fR and \fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1987\-2021 Free Software Foundation, Inc.
--- 920,927 ----
  process.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
! \&\fIgcc\fR\|(1), and the Info entries for \fIcpp\fR and \fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1987\-2021 Free Software Foundation, Inc.
*************** Permission is granted to copy, distribut
*** 934,940 ****
  under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
  any later version published by the Free Software Foundation.  A copy of
  the license is included in the
! man page \fBgfdl\fR\|(7).
  This manual contains no Invariant Sections.  The Front-Cover Texts are
  (a) (see below), and the Back-Cover Texts are (b) (see below).
  .PP
--- 930,936 ----
  under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
  any later version published by the Free Software Foundation.  A copy of
  the license is included in the
! man page \fIgfdl\fR\|(7).
  This manual contains no Invariant Sections.  The Front-Cover Texts are
  (a) (see below), and the Back-Cover Texts are (b) (see below).
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/cpp.info gcc-11.5.0/gcc/doc/cpp.info
*** gcc-11.4.0/gcc/doc/cpp.info	Mon May 29 09:02:37 2023
--- gcc-11.5.0/gcc/doc/cpp.info	Fri Jul 19 06:06:44 2024
***************
*** 1,4 ****
! This is cpp.info, produced by makeinfo version 6.8 from cpp.texi.
  
  Copyright (C) 1987-2021 Free Software Foundation, Inc.
  
--- 1,4 ----
! This is cpp.info, produced by makeinfo version 6.5 from cpp.texi.
  
  Copyright (C) 1987-2021 Free Software Foundation, Inc.
  
*************** without any initial '-' or '--'.
*** 5278,5364 ****
  [index]
  * Menu:
  
! * A:                                     Invocation.          (line 337)
! * C:                                     Invocation.          (line 346)
! * CC:                                    Invocation.          (line 358)
  * CPATH:                                 Environment Variables.
                                                                (line  15)
  * CPLUS_INCLUDE_PATH:                    Environment Variables.
                                                                (line  17)
  * C_INCLUDE_PATH:                        Environment Variables.
                                                                (line  16)
! * D:                                     Invocation.          (line  43)
! * d:                                     Invocation.          (line 407)
! * dD:                                    Invocation.          (line 426)
  * DEPENDENCIES_OUTPUT:                   Environment Variables.
!                                                               (line  44)
! * dI:                                    Invocation.          (line 436)
! * dM:                                    Invocation.          (line 415)
! * dN:                                    Invocation.          (line 432)
! * dU:                                    Invocation.          (line 440)
! * fdebug-cpp:                            Invocation.          (line 447)
! * fdirectives-only:                      Invocation.          (line 230)
! * fdollars-in-identifiers:               Invocation.          (line 251)
! * fexec-charset:                         Invocation.          (line 298)
! * fextended-identifiers:                 Invocation.          (line 254)
! * finput-charset:                        Invocation.          (line 313)
! * fmacro-prefix-map:                     Invocation.          (line 289)
! * fmax-include-depth:                    Invocation.          (line 263)
! * fno-canonical-system-headers:          Invocation.          (line 259)
! * fno-working-directory:                 Invocation.          (line 323)
! * fpreprocessed:                         Invocation.          (line 217)
! * ftabstop:                              Invocation.          (line 266)
! * ftrack-macro-expansion:                Invocation.          (line 272)
! * fwide-exec-charset:                    Invocation.          (line 303)
! * fworking-directory:                    Invocation.          (line 323)
! * H:                                     Invocation.          (line 400)
! * I:                                     Invocation.          (line 458)
! * I-:                                    Invocation.          (line 512)
! * idirafter:                             Invocation.          (line 458)
! * imacros:                               Invocation.          (line  81)
! * imultilib:                             Invocation.          (line 546)
! * include:                               Invocation.          (line  70)
! * iprefix:                               Invocation.          (line 528)
! * iquote:                                Invocation.          (line 458)
! * isysroot:                              Invocation.          (line 540)
! * isystem:                               Invocation.          (line 458)
! * iwithprefix:                           Invocation.          (line 534)
! * iwithprefixbefore:                     Invocation.          (line 534)
! * M:                                     Invocation.          (line 102)
! * MD:                                    Invocation.          (line 197)
! * MF:                                    Invocation.          (line 136)
! * MG:                                    Invocation.          (line 147)
! * MM:                                    Invocation.          (line 127)
! * MMD:                                   Invocation.          (line 213)
! * Mno-modules:                           Invocation.          (line 157)
! * MP:                                    Invocation.          (line 160)
! * MQ:                                    Invocation.          (line 187)
! * MT:                                    Invocation.          (line 172)
! * nostdinc:                              Invocation.          (line 550)
! * nostdinc++:                            Invocation.          (line 556)
  * OBJC_INCLUDE_PATH:                     Environment Variables.
                                                                (line  18)
! * P:                                     Invocation.          (line 370)
! * pthread:                               Invocation.          (line  95)
! * remap:                                 Invocation.          (line 396)
  * SOURCE_DATE_EPOCH:                     Environment Variables.
!                                                               (line  66)
  * SUNPRO_DEPENDENCIES:                   Environment Variables.
!                                                               (line  60)
! * traditional:                           Invocation.          (line 378)
! * traditional-cpp:                       Invocation.          (line 378)
! * trigraphs:                             Invocation.          (line 387)
! * U:                                     Invocation.          (line  66)
! * undef:                                 Invocation.          (line  90)
! * Wcomment:                              Invocation.          (line 562)
! * Wcomments:                             Invocation.          (line 562)
! * Wendif-labels:                         Invocation.          (line 606)
! * Wexpansion-to-defined:                 Invocation.          (line 581)
! * Wno-endif-labels:                      Invocation.          (line 606)
! * Wno-undef:                             Invocation.          (line 577)
! * Wtrigraphs:                            Invocation.          (line 567)
! * Wundef:                                Invocation.          (line 577)
! * Wunused-macros:                        Invocation.          (line 587)
  
  
  File: cpp.info,  Node: Concept Index,  Prev: Option Index,  Up: Top
--- 5278,5364 ----
  [index]
  * Menu:
  
! * A:                                     Invocation.          (line 338)
! * C:                                     Invocation.          (line 347)
! * CC:                                    Invocation.          (line 359)
  * CPATH:                                 Environment Variables.
                                                                (line  15)
  * CPLUS_INCLUDE_PATH:                    Environment Variables.
                                                                (line  17)
  * C_INCLUDE_PATH:                        Environment Variables.
                                                                (line  16)
! * D:                                     Invocation.          (line  44)
! * d:                                     Invocation.          (line 408)
! * dD:                                    Invocation.          (line 427)
  * DEPENDENCIES_OUTPUT:                   Environment Variables.
!                                                               (line  45)
! * dI:                                    Invocation.          (line 437)
! * dM:                                    Invocation.          (line 416)
! * dN:                                    Invocation.          (line 433)
! * dU:                                    Invocation.          (line 441)
! * fdebug-cpp:                            Invocation.          (line 448)
! * fdirectives-only:                      Invocation.          (line 231)
! * fdollars-in-identifiers:               Invocation.          (line 252)
! * fexec-charset:                         Invocation.          (line 299)
! * fextended-identifiers:                 Invocation.          (line 255)
! * finput-charset:                        Invocation.          (line 314)
! * fmacro-prefix-map:                     Invocation.          (line 290)
! * fmax-include-depth:                    Invocation.          (line 264)
! * fno-canonical-system-headers:          Invocation.          (line 260)
! * fno-working-directory:                 Invocation.          (line 324)
! * fpreprocessed:                         Invocation.          (line 218)
! * ftabstop:                              Invocation.          (line 267)
! * ftrack-macro-expansion:                Invocation.          (line 273)
! * fwide-exec-charset:                    Invocation.          (line 304)
! * fworking-directory:                    Invocation.          (line 324)
! * H:                                     Invocation.          (line 401)
! * I:                                     Invocation.          (line 459)
! * I-:                                    Invocation.          (line 513)
! * idirafter:                             Invocation.          (line 459)
! * imacros:                               Invocation.          (line  82)
! * imultilib:                             Invocation.          (line 547)
! * include:                               Invocation.          (line  71)
! * iprefix:                               Invocation.          (line 529)
! * iquote:                                Invocation.          (line 459)
! * isysroot:                              Invocation.          (line 541)
! * isystem:                               Invocation.          (line 459)
! * iwithprefix:                           Invocation.          (line 535)
! * iwithprefixbefore:                     Invocation.          (line 535)
! * M:                                     Invocation.          (line 103)
! * MD:                                    Invocation.          (line 198)
! * MF:                                    Invocation.          (line 137)
! * MG:                                    Invocation.          (line 148)
! * MM:                                    Invocation.          (line 128)
! * MMD:                                   Invocation.          (line 214)
! * Mno-modules:                           Invocation.          (line 158)
! * MP:                                    Invocation.          (line 161)
! * MQ:                                    Invocation.          (line 188)
! * MT:                                    Invocation.          (line 173)
! * nostdinc:                              Invocation.          (line 551)
! * nostdinc++:                            Invocation.          (line 557)
  * OBJC_INCLUDE_PATH:                     Environment Variables.
                                                                (line  18)
! * P:                                     Invocation.          (line 371)
! * pthread:                               Invocation.          (line  96)
! * remap:                                 Invocation.          (line 397)
  * SOURCE_DATE_EPOCH:                     Environment Variables.
!                                                               (line  67)
  * SUNPRO_DEPENDENCIES:                   Environment Variables.
!                                                               (line  61)
! * traditional:                           Invocation.          (line 379)
! * traditional-cpp:                       Invocation.          (line 379)
! * trigraphs:                             Invocation.          (line 388)
! * U:                                     Invocation.          (line  67)
! * undef:                                 Invocation.          (line  91)
! * Wcomment:                              Invocation.          (line 563)
! * Wcomments:                             Invocation.          (line 563)
! * Wendif-labels:                         Invocation.          (line 607)
! * Wexpansion-to-defined:                 Invocation.          (line 582)
! * Wno-endif-labels:                      Invocation.          (line 607)
! * Wno-undef:                             Invocation.          (line 578)
! * Wtrigraphs:                            Invocation.          (line 568)
! * Wundef:                                Invocation.          (line 578)
! * Wunused-macros:                        Invocation.          (line 588)
  
  
  File: cpp.info,  Node: Concept Index,  Prev: Option Index,  Up: Top
*************** Concept Index
*** 5384,5395 ****
  * assertions, canceling:                 Obsolete Features.   (line  59)
  * backslash-newline:                     Initial processing.  (line  61)
  * block comments:                        Initial processing.  (line  77)
! * C language, traditional:               Invocation.          (line 376)
  * C++ named operators:                   C++ Named Operators. (line   6)
  * character constants:                   Tokenization.        (line  81)
! * character set, execution:              Invocation.          (line 298)
! * character set, input:                  Invocation.          (line 313)
! * character set, wide execution:         Invocation.          (line 303)
  * command line:                          Invocation.          (line   6)
  * commenting out code:                   Deleted Code.        (line   6)
  * comments:                              Initial processing.  (line  77)
--- 5384,5395 ----
  * assertions, canceling:                 Obsolete Features.   (line  59)
  * backslash-newline:                     Initial processing.  (line  61)
  * block comments:                        Initial processing.  (line  77)
! * C language, traditional:               Invocation.          (line 377)
  * C++ named operators:                   C++ Named Operators. (line   6)
  * character constants:                   Tokenization.        (line  81)
! * character set, execution:              Invocation.          (line 299)
! * character set, input:                  Invocation.          (line 314)
! * character set, wide execution:         Invocation.          (line 304)
  * command line:                          Invocation.          (line   6)
  * commenting out code:                   Deleted Code.        (line   6)
  * comments:                              Initial processing.  (line  77)
*************** Concept Index
*** 5403,5412 ****
  * controlling macro:                     Once-Only Headers.   (line  35)
  * defined:                               Defined.             (line   6)
  * dependencies for make as output:       Environment Variables.
!                                                               (line  45)
  * dependencies for make as output <1>:   Environment Variables.
!                                                               (line  61)
! * dependencies, make:                    Invocation.          (line 102)
  * diagnostic:                            Diagnostics.         (line   6)
  * digraphs:                              Tokenization.        (line 100)
  * directive line:                        The preprocessing language.
--- 5403,5412 ----
  * controlling macro:                     Once-Only Headers.   (line  35)
  * defined:                               Defined.             (line   6)
  * dependencies for make as output:       Environment Variables.
!                                                               (line  46)
  * dependencies for make as output <1>:   Environment Variables.
!                                                               (line  62)
! * dependencies, make:                    Invocation.          (line 103)
  * diagnostic:                            Diagnostics.         (line   6)
  * digraphs:                              Tokenization.        (line 100)
  * directive line:                        The preprocessing language.
*************** Concept Index
*** 5445,5451 ****
  * macros in include:                     Computed Includes.   (line   6)
  * macros with arguments:                 Macro Arguments.     (line   6)
  * macros with variable arguments:        Variadic Macros.     (line   6)
! * make:                                  Invocation.          (line 102)
  * manifest constants:                    Object-like Macros.  (line   6)
  * named operators:                       C++ Named Operators. (line   6)
  * newlines in macro arguments:           Newlines in Arguments.
--- 5445,5451 ----
  * macros in include:                     Computed Includes.   (line   6)
  * macros with arguments:                 Macro Arguments.     (line   6)
  * macros with variable arguments:        Variadic Macros.     (line   6)
! * make:                                  Invocation.          (line 103)
  * manifest constants:                    Object-like Macros.  (line   6)
  * named operators:                       C++ Named Operators. (line   6)
  * newlines in macro arguments:           Newlines in Arguments.
*************** Concept Index
*** 5453,5459 ****
  * null directive:                        Other Directives.    (line  15)
  * numbers:                               Tokenization.        (line  58)
  * object-like macro:                     Object-like Macros.  (line   6)
! * options:                               Invocation.          (line  42)
  * options, grouping:                     Invocation.          (line  38)
  * other tokens:                          Tokenization.        (line 114)
  * output format:                         Preprocessor Output. (line  12)
--- 5453,5459 ----
  * null directive:                        Other Directives.    (line  15)
  * numbers:                               Tokenization.        (line  58)
  * object-like macro:                     Object-like Macros.  (line   6)
! * options:                               Invocation.          (line  43)
  * options, grouping:                     Invocation.          (line  38)
  * other tokens:                          Tokenization.        (line 114)
  * output format:                         Preprocessor Output. (line  12)
*************** Concept Index
*** 5500,5506 ****
  * token concatenation:                   Concatenation.       (line   6)
  * token pasting:                         Concatenation.       (line   6)
  * tokens:                                Tokenization.        (line   6)
! * traditional C language:                Invocation.          (line 376)
  * trigraphs:                             Initial processing.  (line  32)
  * undefining macros:                     Undefining and Redefining Macros.
                                                                (line   6)
--- 5500,5506 ----
  * token concatenation:                   Concatenation.       (line   6)
  * token pasting:                         Concatenation.       (line   6)
  * tokens:                                Tokenization.        (line   6)
! * traditional C language:                Invocation.          (line 377)
  * trigraphs:                             Initial processing.  (line  32)
  * undefining macros:                     Undefining and Redefining Macros.
                                                                (line   6)
*************** Node: Option Index223955
*** 5594,5601 ****
  Node: Concept Index230057
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 5594,5596 ----
diff -Nrcpad gcc-11.4.0/gcc/doc/cppinternals.info gcc-11.5.0/gcc/doc/cppinternals.info
*** gcc-11.4.0/gcc/doc/cppinternals.info	Mon May 29 09:02:36 2023
--- gcc-11.5.0/gcc/doc/cppinternals.info	Fri Jul 19 06:06:44 2024
***************
*** 1,4 ****
! This is cppinternals.info, produced by makeinfo version 6.8 from
  cppinternals.texi.
  
  INFO-DIR-SECTION Software development
--- 1,4 ----
! This is cppinternals.info, produced by makeinfo version 6.5 from
  cppinternals.texi.
  
  INFO-DIR-SECTION Software development
*************** will be removed, so I'll not discuss it
*** 137,143 ****
     The job of '_cpp_lex_direct' is simply to lex a token.  It is not
  responsible for issues like directive handling, returning lookahead
  tokens directly, multiple-include optimization, or conditional block
! skipping.  It necessarily has a minor rôle to play in memory management
  of lexed lines.  I discuss these issues in a separate section (*note
  Lexing a line::).
  
--- 137,143 ----
     The job of '_cpp_lex_direct' is simply to lex a token.  It is not
  responsible for issues like directive handling, returning lookahead
  tokens directly, multiple-include optimization, or conditional block
! skipping.  It necessarily has a minor ro^le to play in memory management
  of lexed lines.  I discuss these issues in a separate section (*note
  Lexing a line::).
  
*************** Node: Files44873
*** 1039,1046 ****
  Node: Concept Index48339
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 1039,1041 ----
diff -Nrcpad gcc-11.4.0/gcc/doc/extend.texi gcc-11.5.0/gcc/doc/extend.texi
*** gcc-11.4.0/gcc/doc/extend.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/extend.texi	Fri Jul 19 05:52:43 2024
*************** AMD Family 19h CPU.
*** 21587,21592 ****
--- 21587,21596 ----
  
  @item znver3
  AMD Family 19h Zen version 3.
+ 
+ @item znver4
+ AMD Family 19h Zen version 4.
+ 
  @end table
  
  Here is an example:
diff -Nrcpad gcc-11.4.0/gcc/doc/fsf-funding.7 gcc-11.5.0/gcc/doc/fsf-funding.7
*** gcc-11.4.0/gcc/doc/fsf-funding.7	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/fsf-funding.7	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "FSF-FUNDING 7"
! .TH FSF-FUNDING 7 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "FSF-FUNDING 7"
! .TH FSF-FUNDING 7 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** proper thing to do\*(R" when distributin
*** 185,191 ****
  assure a steady flow of resources into making more free software.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1994 Free Software Foundation, Inc.
--- 181,187 ----
  assure a steady flow of resources into making more free software.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1994 Free Software Foundation, Inc.
diff -Nrcpad gcc-11.4.0/gcc/doc/g++.1 gcc-11.5.0/gcc/doc/g++.1
*** gcc-11.4.0/gcc/doc/g++.1	Mon May 29 09:02:38 2023
--- gcc-11.5.0/gcc/doc/g++.1	Fri Jul 19 06:06:45 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** and Objective\-\*(C+ programs:
*** 4185,4194 ****
  Use \fIclass-name\fR as the name of the class to instantiate for each
  literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR.  The default
  class name is \f(CW\*(C`NXConstantString\*(C'\fR if the \s-1GNU\s0 runtime is being used, and
! \&\f(CW\*(C`NSConstantString\*(C'\fR if the NeXT runtime is being used (see below).  The
! \&\fB\-fconstant\-cfstrings\fR option, if also present, overrides the
! \&\fB\-fconstant\-string\-class\fR setting and cause \f(CW\*(C`@"..."\*(C'\fR literals
! to be laid out as constant CoreFoundation strings.
  .IP "\fB\-fgnu\-runtime\fR" 4
  .IX Item "-fgnu-runtime"
  Generate object code compatible with the standard \s-1GNU\s0 Objective-C
--- 4181,4192 ----
  Use \fIclass-name\fR as the name of the class to instantiate for each
  literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR.  The default
  class name is \f(CW\*(C`NXConstantString\*(C'\fR if the \s-1GNU\s0 runtime is being used, and
! \&\f(CW\*(C`NSConstantString\*(C'\fR if the NeXT runtime is being used (see below).  On
! Darwin (macOS, MacOS X) platforms, the \fB\-fconstant\-cfstrings\fR option, if
! also present, overrides the \fB\-fconstant\-string\-class\fR setting and cause
! \&\f(CW\*(C`@"..."\*(C'\fR literals to be laid out as constant CoreFoundation strings.
! Note that \fB\-fconstant\-cfstrings\fR is an alias for the target-specific
! \&\fB\-mconstant\-cfstrings\fR equivalent.
  .IP "\fB\-fgnu\-runtime\fR" 4
  .IX Item "-fgnu-runtime"
  Generate object code compatible with the standard \s-1GNU\s0 Objective-C
*************** This is useful if you need to make sure
*** 4280,4287 ****
  be compiled with older versions of \s-1GCC.\s0
  .IP "\fB\-freplace\-objc\-classes\fR" 4
  .IX Item "-freplace-objc-classes"
! Emit a special marker instructing \fB\fBld\fB\|(1)\fR not to statically link in
! the resulting object file, and allow \fB\fBdyld\fB\|(1)\fR to load it in at
  run time instead.  This is used in conjunction with the Fix-and-Continue
  debugging mode, where the object file in question may be recompiled and
  dynamically reloaded in the course of program execution, without the need
--- 4278,4285 ----
  be compiled with older versions of \s-1GCC.\s0
  .IP "\fB\-freplace\-objc\-classes\fR" 4
  .IX Item "-freplace-objc-classes"
! Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to statically link in
! the resulting object file, and allow \fB\f(BIdyld\fB\|(1)\fR to load it in at
  run time instead.  This is used in conjunction with the Fix-and-Continue
  debugging mode, where the object file in question may be recompiled and
  dynamically reloaded in the course of program execution, without the need
*************** example of how this can happen:
*** 6554,6560 ****
  .Sp
  If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is
  always initialized, but \s-1GCC\s0 doesn't know this. To suppress the
! warning, you need to provide a default case with \fBassert\fR\|(0) or
  similar code.
  .Sp
  This option also warns when a non-volatile automatic variable might be
--- 6552,6558 ----
  .Sp
  If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is
  always initialized, but \s-1GCC\s0 doesn't know this. To suppress the
! warning, you need to provide a default case with \fIassert\fR\|(0) or
  similar code.
  .Sp
  This option also warns when a non-volatile automatic variable might be
*************** run-time callbacks.
*** 13182,13188 ****
  Emit special instrumentation for accesses to volatiles.
  .IP "\fBtsan-instrument-func-entry-exit\fR" 4
  .IX Item "tsan-instrument-func-entry-exit"
! Emit instrumentation calls to _\|\fB_tsan_func_entry()\fR and _\|\fB_tsan_func_exit()\fR.
  .IP "\fBmax-fsm-thread-path-insns\fR" 4
  .IX Item "max-fsm-thread-path-insns"
  Maximum number of instructions to copy when duplicating blocks on a
--- 13180,13186 ----
  Emit special instrumentation for accesses to volatiles.
  .IP "\fBtsan-instrument-func-entry-exit\fR" 4
  .IX Item "tsan-instrument-func-entry-exit"
! Emit instrumentation calls to _\|\fI_tsan_func_entry()\fR and _\|\fI_tsan_func_exit()\fR.
  .IP "\fBmax-fsm-thread-path-insns\fR" 4
  .IX Item "max-fsm-thread-path-insns"
  Maximum number of instructions to copy when duplicating blocks on a
*************** performance of the code.  Permissible va
*** 17523,17530 ****
  \&\fBcortex\-a78\fR, \fBcortex\-a78ae\fR, \fBcortex\-a78c\fR,
  \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-512tvb\fR, \fBneoverse\-e1\fR, \fBneoverse\-n1\fR,
! \&\fBneoverse\-n2\fR, \fBneoverse\-v1\fR,\fBneoverse\-v2\fR, \fBqdf24xx\fR,
! \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR
  \&\fBocteontx2t93\fR, \fBocteontx2f95\fR, \fBocteontx2f95n\fR,
--- 17521,17528 ----
  \&\fBcortex\-a78\fR, \fBcortex\-a78ae\fR, \fBcortex\-a78c\fR,
  \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-512tvb\fR, \fBneoverse\-e1\fR, \fBneoverse\-n1\fR,
! \&\fBneoverse\-n2\fR, \fBneoverse\-v1\fR,\fBneoverse\-v2\fR, \fBgrace\fR,
! \&\fBqdf24xx\fR, \fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR
  \&\fBocteontx2t93\fR, \fBocteontx2f95\fR, \fBocteontx2f95n\fR,
*************** performance of the code.  Permissible va
*** 17537,17543 ****
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR,
  \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBampere1\fR,
! \&\fBampere1a\fR, \fBnative\fR.
  .Sp
  The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR,
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
--- 17535,17541 ----
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR,
  \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBampere1\fR,
! \&\fBampere1a\fR, \fBcobalt\-100\fR and \fBnative\fR.
  .Sp
  The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR,
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
*************** This is by default \s-1ON.\s0
*** 21130,21140 ****
  .IP "\fB\-gfull\fR" 4
  .IX Item "-gfull"
  Emit debugging information for all symbols and types.
  .IP "\fB\-mmacosx\-version\-min=\fR\fIversion\fR" 4
  .IX Item "-mmacosx-version-min=version"
! The earliest version of MacOS X that this executable will run on
! is \fIversion\fR.  Typical values of \fIversion\fR include \f(CW10.1\fR,
! \&\f(CW10.2\fR, and \f(CW10.3.9\fR.
  .Sp
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
--- 21128,21146 ----
  .IP "\fB\-gfull\fR" 4
  .IX Item "-gfull"
  Emit debugging information for all symbols and types.
+ .IP "\fB\-fconstant\-cfstrings\fR" 4
+ .IX Item "-fconstant-cfstrings"
+ The \fB\-fconstant\-cfstrings\fR is an alias for \fB\-mconstant\-cfstrings\fR.
+ .IP "\fB\-mconstant\-cfstrings\fR" 4
+ .IX Item "-mconstant-cfstrings"
+ When the NeXT runtime is being used (the default on these systems), override
+ any \fB\-fconstant\-string\-class\fR setting and cause \f(CW\*(C`@"..."\*(C'\fR
+ literals to be laid out as constant CoreFoundation strings.
  .IP "\fB\-mmacosx\-version\-min=\fR\fIversion\fR" 4
  .IX Item "-mmacosx-version-min=version"
! The earliest version of MacOS X that this executable will run on is
! \&\fIversion\fR.  Typical values supported for \fIversion\fR include \f(CW12\fR,
! \&\f(CW10.12\fR, and \f(CW10.5.8\fR.
  .Sp
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
*************** are provided for backwards compatibility
*** 21176,21182 ****
  .IP "\fB\-all_load\fR" 4
  .IX Item "-all_load"
  Loads all members of static archive libraries.
! See man \fBld\fR\|(1) for more information.
  .IP "\fB\-arch_errors_fatal\fR" 4
  .IX Item "-arch_errors_fatal"
  Cause the errors having to do with files that have the wrong architecture
--- 21182,21188 ----
  .IP "\fB\-all_load\fR" 4
  .IX Item "-all_load"
  Loads all members of static archive libraries.
! See man \fIld\fR\|(1) for more information.
  .IP "\fB\-arch_errors_fatal\fR" 4
  .IX Item "-arch_errors_fatal"
  Cause the errors having to do with files that have the wrong architecture
*************** bind all undefined references when the f
*** 21188,21198 ****
  .IP "\fB\-bundle\fR" 4
  .IX Item "-bundle"
  Produce a Mach-o bundle format file.
! See man \fBld\fR\|(1) for more information.
  .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4
  .IX Item "-bundle_loader executable"
  This option specifies the \fIexecutable\fR that will load the build
! output file being linked.  See man \fBld\fR\|(1) for more information.
  .IP "\fB\-dynamiclib\fR" 4
  .IX Item "-dynamiclib"
  When passed this option, \s-1GCC\s0 produces a dynamic library instead of
--- 21194,21204 ----
  .IP "\fB\-bundle\fR" 4
  .IX Item "-bundle"
  Produce a Mach-o bundle format file.
! See man \fIld\fR\|(1) for more information.
  .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4
  .IX Item "-bundle_loader executable"
  This option specifies the \fIexecutable\fR that will load the build
! output file being linked.  See man \fIld\fR\|(1) for more information.
  .IP "\fB\-dynamiclib\fR" 4
  .IX Item "-dynamiclib"
  When passed this option, \s-1GCC\s0 produces a dynamic library instead of
*************** supersets \s-1BMI, BMI2, CLWB, F16C, FMA
*** 29269,29274 ****
--- 29275,29289 ----
  MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
  SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
  WBNOINVD, PKU, VPCLMULQDQ, VAES,\s0 and 64\-bit instruction set extensions.)
+ .IP "\fBznver4\fR" 4
+ .IX Item "znver4"
+ \&\s-1AMD\s0 Family 19h core based CPUs with x86\-64 instruction set support. (This
+ supersets \s-1BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED,
+ MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
+ SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
+ WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD,
+ AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI,
+ AVX512BITALG, AVX512VPOPCNTDQ, GFNI\s0 and 64\-bit instruction set extensions.)
  .IP "\fBbtver1\fR" 4
  .IX Item "btver1"
  CPUs based on \s-1AMD\s0 Family 14h cores with x86\-64 instruction set support.  (This
*************** on x86\-64 processors in 64\-bit environ
*** 30586,30592 ****
  Generate code for a 16\-bit, 32\-bit or 64\-bit environment.
  The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types
  to 32 bits, and
! generates code that runs on any i386 system.
  .Sp
  The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer
  types to 64 bits, and generates code for the x86\-64 architecture.
--- 30601,30607 ----
  Generate code for a 16\-bit, 32\-bit or 64\-bit environment.
  The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types
  to 32 bits, and
! generates code that runs in 32\-bit mode.
  .Sp
  The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer
  types to 64 bits, and generates code for the x86\-64 architecture.
*************** to subtle defects.  Supplying them in ca
*** 31102,31109 ****
  is innocuous.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7),
! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
--- 31117,31124 ----
  is innocuous.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
*************** any later version published by the Free
*** 31121,31127 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 31136,31142 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/gcc.1 gcc-11.5.0/gcc/doc/gcc.1
*** gcc-11.4.0/gcc/doc/gcc.1	Mon May 29 09:02:38 2023
--- gcc-11.5.0/gcc/doc/gcc.1	Fri Jul 19 06:06:45 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCC 1"
! .TH GCC 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** and Objective\-\*(C+ programs:
*** 4185,4194 ****
  Use \fIclass-name\fR as the name of the class to instantiate for each
  literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR.  The default
  class name is \f(CW\*(C`NXConstantString\*(C'\fR if the \s-1GNU\s0 runtime is being used, and
! \&\f(CW\*(C`NSConstantString\*(C'\fR if the NeXT runtime is being used (see below).  The
! \&\fB\-fconstant\-cfstrings\fR option, if also present, overrides the
! \&\fB\-fconstant\-string\-class\fR setting and cause \f(CW\*(C`@"..."\*(C'\fR literals
! to be laid out as constant CoreFoundation strings.
  .IP "\fB\-fgnu\-runtime\fR" 4
  .IX Item "-fgnu-runtime"
  Generate object code compatible with the standard \s-1GNU\s0 Objective-C
--- 4181,4192 ----
  Use \fIclass-name\fR as the name of the class to instantiate for each
  literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR.  The default
  class name is \f(CW\*(C`NXConstantString\*(C'\fR if the \s-1GNU\s0 runtime is being used, and
! \&\f(CW\*(C`NSConstantString\*(C'\fR if the NeXT runtime is being used (see below).  On
! Darwin (macOS, MacOS X) platforms, the \fB\-fconstant\-cfstrings\fR option, if
! also present, overrides the \fB\-fconstant\-string\-class\fR setting and cause
! \&\f(CW\*(C`@"..."\*(C'\fR literals to be laid out as constant CoreFoundation strings.
! Note that \fB\-fconstant\-cfstrings\fR is an alias for the target-specific
! \&\fB\-mconstant\-cfstrings\fR equivalent.
  .IP "\fB\-fgnu\-runtime\fR" 4
  .IX Item "-fgnu-runtime"
  Generate object code compatible with the standard \s-1GNU\s0 Objective-C
*************** This is useful if you need to make sure
*** 4280,4287 ****
  be compiled with older versions of \s-1GCC.\s0
  .IP "\fB\-freplace\-objc\-classes\fR" 4
  .IX Item "-freplace-objc-classes"
! Emit a special marker instructing \fB\fBld\fB\|(1)\fR not to statically link in
! the resulting object file, and allow \fB\fBdyld\fB\|(1)\fR to load it in at
  run time instead.  This is used in conjunction with the Fix-and-Continue
  debugging mode, where the object file in question may be recompiled and
  dynamically reloaded in the course of program execution, without the need
--- 4278,4285 ----
  be compiled with older versions of \s-1GCC.\s0
  .IP "\fB\-freplace\-objc\-classes\fR" 4
  .IX Item "-freplace-objc-classes"
! Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to statically link in
! the resulting object file, and allow \fB\f(BIdyld\fB\|(1)\fR to load it in at
  run time instead.  This is used in conjunction with the Fix-and-Continue
  debugging mode, where the object file in question may be recompiled and
  dynamically reloaded in the course of program execution, without the need
*************** example of how this can happen:
*** 6554,6560 ****
  .Sp
  If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is
  always initialized, but \s-1GCC\s0 doesn't know this. To suppress the
! warning, you need to provide a default case with \fBassert\fR\|(0) or
  similar code.
  .Sp
  This option also warns when a non-volatile automatic variable might be
--- 6552,6558 ----
  .Sp
  If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is
  always initialized, but \s-1GCC\s0 doesn't know this. To suppress the
! warning, you need to provide a default case with \fIassert\fR\|(0) or
  similar code.
  .Sp
  This option also warns when a non-volatile automatic variable might be
*************** run-time callbacks.
*** 13182,13188 ****
  Emit special instrumentation for accesses to volatiles.
  .IP "\fBtsan-instrument-func-entry-exit\fR" 4
  .IX Item "tsan-instrument-func-entry-exit"
! Emit instrumentation calls to _\|\fB_tsan_func_entry()\fR and _\|\fB_tsan_func_exit()\fR.
  .IP "\fBmax-fsm-thread-path-insns\fR" 4
  .IX Item "max-fsm-thread-path-insns"
  Maximum number of instructions to copy when duplicating blocks on a
--- 13180,13186 ----
  Emit special instrumentation for accesses to volatiles.
  .IP "\fBtsan-instrument-func-entry-exit\fR" 4
  .IX Item "tsan-instrument-func-entry-exit"
! Emit instrumentation calls to _\|\fI_tsan_func_entry()\fR and _\|\fI_tsan_func_exit()\fR.
  .IP "\fBmax-fsm-thread-path-insns\fR" 4
  .IX Item "max-fsm-thread-path-insns"
  Maximum number of instructions to copy when duplicating blocks on a
*************** performance of the code.  Permissible va
*** 17523,17530 ****
  \&\fBcortex\-a78\fR, \fBcortex\-a78ae\fR, \fBcortex\-a78c\fR,
  \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-512tvb\fR, \fBneoverse\-e1\fR, \fBneoverse\-n1\fR,
! \&\fBneoverse\-n2\fR, \fBneoverse\-v1\fR,\fBneoverse\-v2\fR, \fBqdf24xx\fR,
! \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR
  \&\fBocteontx2t93\fR, \fBocteontx2f95\fR, \fBocteontx2f95n\fR,
--- 17521,17528 ----
  \&\fBcortex\-a78\fR, \fBcortex\-a78ae\fR, \fBcortex\-a78c\fR,
  \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR,
  \&\fBneoverse\-512tvb\fR, \fBneoverse\-e1\fR, \fBneoverse\-n1\fR,
! \&\fBneoverse\-n2\fR, \fBneoverse\-v1\fR,\fBneoverse\-v2\fR, \fBgrace\fR,
! \&\fBqdf24xx\fR, \fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR,
  \&\fBocteontx\fR, \fBocteontx81\fR,  \fBocteontx83\fR,
  \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR
  \&\fBocteontx2t93\fR, \fBocteontx2f95\fR, \fBocteontx2f95n\fR,
*************** performance of the code.  Permissible va
*** 17537,17543 ****
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR,
  \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBampere1\fR,
! \&\fBampere1a\fR, \fBnative\fR.
  .Sp
  The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR,
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
--- 17535,17541 ----
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
  \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR,
  \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBampere1\fR,
! \&\fBampere1a\fR, \fBcobalt\-100\fR and \fBnative\fR.
  .Sp
  The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR,
  \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR,
*************** This is by default \s-1ON.\s0
*** 21130,21140 ****
  .IP "\fB\-gfull\fR" 4
  .IX Item "-gfull"
  Emit debugging information for all symbols and types.
  .IP "\fB\-mmacosx\-version\-min=\fR\fIversion\fR" 4
  .IX Item "-mmacosx-version-min=version"
! The earliest version of MacOS X that this executable will run on
! is \fIversion\fR.  Typical values of \fIversion\fR include \f(CW10.1\fR,
! \&\f(CW10.2\fR, and \f(CW10.3.9\fR.
  .Sp
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
--- 21128,21146 ----
  .IP "\fB\-gfull\fR" 4
  .IX Item "-gfull"
  Emit debugging information for all symbols and types.
+ .IP "\fB\-fconstant\-cfstrings\fR" 4
+ .IX Item "-fconstant-cfstrings"
+ The \fB\-fconstant\-cfstrings\fR is an alias for \fB\-mconstant\-cfstrings\fR.
+ .IP "\fB\-mconstant\-cfstrings\fR" 4
+ .IX Item "-mconstant-cfstrings"
+ When the NeXT runtime is being used (the default on these systems), override
+ any \fB\-fconstant\-string\-class\fR setting and cause \f(CW\*(C`@"..."\*(C'\fR
+ literals to be laid out as constant CoreFoundation strings.
  .IP "\fB\-mmacosx\-version\-min=\fR\fIversion\fR" 4
  .IX Item "-mmacosx-version-min=version"
! The earliest version of MacOS X that this executable will run on is
! \&\fIversion\fR.  Typical values supported for \fIversion\fR include \f(CW12\fR,
! \&\f(CW10.12\fR, and \f(CW10.5.8\fR.
  .Sp
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
*************** are provided for backwards compatibility
*** 21176,21182 ****
  .IP "\fB\-all_load\fR" 4
  .IX Item "-all_load"
  Loads all members of static archive libraries.
! See man \fBld\fR\|(1) for more information.
  .IP "\fB\-arch_errors_fatal\fR" 4
  .IX Item "-arch_errors_fatal"
  Cause the errors having to do with files that have the wrong architecture
--- 21182,21188 ----
  .IP "\fB\-all_load\fR" 4
  .IX Item "-all_load"
  Loads all members of static archive libraries.
! See man \fIld\fR\|(1) for more information.
  .IP "\fB\-arch_errors_fatal\fR" 4
  .IX Item "-arch_errors_fatal"
  Cause the errors having to do with files that have the wrong architecture
*************** bind all undefined references when the f
*** 21188,21198 ****
  .IP "\fB\-bundle\fR" 4
  .IX Item "-bundle"
  Produce a Mach-o bundle format file.
! See man \fBld\fR\|(1) for more information.
  .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4
  .IX Item "-bundle_loader executable"
  This option specifies the \fIexecutable\fR that will load the build
! output file being linked.  See man \fBld\fR\|(1) for more information.
  .IP "\fB\-dynamiclib\fR" 4
  .IX Item "-dynamiclib"
  When passed this option, \s-1GCC\s0 produces a dynamic library instead of
--- 21194,21204 ----
  .IP "\fB\-bundle\fR" 4
  .IX Item "-bundle"
  Produce a Mach-o bundle format file.
! See man \fIld\fR\|(1) for more information.
  .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4
  .IX Item "-bundle_loader executable"
  This option specifies the \fIexecutable\fR that will load the build
! output file being linked.  See man \fIld\fR\|(1) for more information.
  .IP "\fB\-dynamiclib\fR" 4
  .IX Item "-dynamiclib"
  When passed this option, \s-1GCC\s0 produces a dynamic library instead of
*************** supersets \s-1BMI, BMI2, CLWB, F16C, FMA
*** 29269,29274 ****
--- 29275,29289 ----
  MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
  SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
  WBNOINVD, PKU, VPCLMULQDQ, VAES,\s0 and 64\-bit instruction set extensions.)
+ .IP "\fBznver4\fR" 4
+ .IX Item "znver4"
+ \&\s-1AMD\s0 Family 19h core based CPUs with x86\-64 instruction set support. (This
+ supersets \s-1BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED,
+ MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
+ SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
+ WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD,
+ AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI,
+ AVX512BITALG, AVX512VPOPCNTDQ, GFNI\s0 and 64\-bit instruction set extensions.)
  .IP "\fBbtver1\fR" 4
  .IX Item "btver1"
  CPUs based on \s-1AMD\s0 Family 14h cores with x86\-64 instruction set support.  (This
*************** on x86\-64 processors in 64\-bit environ
*** 30586,30592 ****
  Generate code for a 16\-bit, 32\-bit or 64\-bit environment.
  The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types
  to 32 bits, and
! generates code that runs on any i386 system.
  .Sp
  The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer
  types to 64 bits, and generates code for the x86\-64 architecture.
--- 30601,30607 ----
  Generate code for a 16\-bit, 32\-bit or 64\-bit environment.
  The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types
  to 32 bits, and
! generates code that runs in 32\-bit mode.
  .Sp
  The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer
  types to 64 bits, and generates code for the x86\-64 architecture.
*************** to subtle defects.  Supplying them in ca
*** 31102,31109 ****
  is innocuous.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7),
! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
--- 31117,31124 ----
  is innocuous.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
*************** any later version published by the Free
*** 31121,31127 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 31136,31142 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/gcc.info gcc-11.5.0/gcc/doc/gcc.info
*** gcc-11.4.0/gcc/doc/gcc.info	Mon May 29 09:02:46 2023
--- gcc-11.5.0/gcc/doc/gcc.info	Fri Jul 19 06:06:48 2024
***************
*** 1,4 ****
! This is gcc.info, produced by makeinfo version 6.8 from gcc.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
--- 1,4 ----
! This is gcc.info, produced by makeinfo version 6.5 from gcc.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
*************** Copies published by the Free Software Fo
*** 53,66 ****
  development.
  
  
! File: gcc.info,  Node: Top,  Next: G++ and GCC,  Up: (dir)
  
  Introduction
  ************
  
  This manual documents how to use the GNU compilers, as well as their
  features and incompatibilities, and how to report bugs.  It corresponds
! to the compilers (GCC) version 11.4.0.  The internals of the GNU
  compilers, including how to port them to new targets and some
  information about how to write front ends for new languages, are
  documented in a separate manual.  *Note Introduction: (gccint)Top.
--- 53,66 ----
  development.
  
  
! File: gcc.info,  Node: Top,  Next: G++ and GCC
  
  Introduction
  ************
  
  This manual documents how to use the GNU compilers, as well as their
  features and incompatibilities, and how to report bugs.  It corresponds
! to the compilers (GCC) version 11.5.0.  The internals of the GNU
  compilers, including how to port them to new targets and some
  information about how to write front ends for new languages, are
  documented in a separate manual.  *Note Introduction: (gccint)Top.
*************** Objective-C++ programs:
*** 4255,4263 ****
       literal string specified with the syntax '@"..."'.  The default
       class name is 'NXConstantString' if the GNU runtime is being used,
       and 'NSConstantString' if the NeXT runtime is being used (see
!      below).  The '-fconstant-cfstrings' option, if also present,
!      overrides the '-fconstant-string-class' setting and cause '@"..."'
!      literals to be laid out as constant CoreFoundation strings.
  
  '-fgnu-runtime'
       Generate object code compatible with the standard GNU Objective-C
--- 4255,4266 ----
       literal string specified with the syntax '@"..."'.  The default
       class name is 'NXConstantString' if the GNU runtime is being used,
       and 'NSConstantString' if the NeXT runtime is being used (see
!      below).  On Darwin (macOS, MacOS X) platforms, the
!      '-fconstant-cfstrings' option, if also present, overrides the
!      '-fconstant-string-class' setting and cause '@"..."' literals to be
!      laid out as constant CoreFoundation strings.  Note that
!      '-fconstant-cfstrings' is an alias for the target-specific
!      '-mconstant-cfstrings' equivalent.
  
  '-fgnu-runtime'
       Generate object code compatible with the standard GNU Objective-C
*************** These options are defined for AArch64 im
*** 17181,17196 ****
       'cortex-a65ae', 'cortex-a34', 'cortex-a78', 'cortex-a78ae',
       'cortex-a78c', 'ares', 'exynos-m1', 'emag', 'falkor',
       'neoverse-512tvb', 'neoverse-e1', 'neoverse-n1', 'neoverse-n2',
!      'neoverse-v1','neoverse-v2', 'qdf24xx', 'saphira', 'phecda',
!      'xgene1', 'vulcan', 'octeontx', 'octeontx81', 'octeontx83',
!      'octeontx2', 'octeontx2t98', 'octeontx2t96' 'octeontx2t93',
!      'octeontx2f95', 'octeontx2f95n', 'octeontx2f95mm', 'a64fx',
!      'thunderx', 'thunderxt88', 'thunderxt88p1', 'thunderxt81',
       'tsv110', 'thunderxt83', 'thunderx2t99', 'thunderx3t110', 'zeus',
       'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
       'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55', 'cortex-r82',
!      'cortex-x1', 'ampere1', 'ampere1a', 'native'.
  
       The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
--- 17184,17199 ----
       'cortex-a65ae', 'cortex-a34', 'cortex-a78', 'cortex-a78ae',
       'cortex-a78c', 'ares', 'exynos-m1', 'emag', 'falkor',
       'neoverse-512tvb', 'neoverse-e1', 'neoverse-n1', 'neoverse-n2',
!      'neoverse-v1','neoverse-v2', 'grace', 'qdf24xx', 'saphira',
!      'phecda', 'xgene1', 'vulcan', 'octeontx', 'octeontx81',
!      'octeontx83', 'octeontx2', 'octeontx2t98', 'octeontx2t96'
!      'octeontx2t93', 'octeontx2f95', 'octeontx2f95n', 'octeontx2f95mm',
!      'a64fx', 'thunderx', 'thunderxt88', 'thunderxt88p1', 'thunderxt81',
       'tsv110', 'thunderxt83', 'thunderx2t99', 'thunderx3t110', 'zeus',
       'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
       'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55', 'cortex-r82',
!      'cortex-x1', 'ampere1', 'ampere1a', 'cobalt-100' and 'native'.
  
       The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53',
       'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53',
*************** These options are defined for AVR implem
*** 19277,19283 ****
  
       'avr3'
            "Classic" devices with 16 KiB up to 64 KiB of program memory.
- 
            MCU = 'at76c711', 'at43usb355'.
  
       'avr31'
--- 19280,19285 ----
*************** executable the most restrictive subtype
*** 20461,20470 ****
  '-gfull'
       Emit debugging information for all symbols and types.
  
  '-mmacosx-version-min=VERSION'
       The earliest version of MacOS X that this executable will run on is
!      VERSION.  Typical values of VERSION include '10.1', '10.2', and
!      '10.3.9'.
  
       If the compiler was built to use the system's headers by default,
       then the default for this option is the system version on which the
--- 20463,20480 ----
  '-gfull'
       Emit debugging information for all symbols and types.
  
+ '-fconstant-cfstrings'
+      The '-fconstant-cfstrings' is an alias for '-mconstant-cfstrings'.
+ 
+ '-mconstant-cfstrings'
+      When the NeXT runtime is being used (the default on these systems),
+      override any '-fconstant-string-class' setting and cause '@"..."'
+      literals to be laid out as constant CoreFoundation strings.
+ 
  '-mmacosx-version-min=VERSION'
       The earliest version of MacOS X that this executable will run on is
!      VERSION.  Typical values supported for VERSION include '12',
!      '10.12', and '10.5.8'.
  
       If the compiler was built to use the system's headers by default,
       then the default for this option is the system version on which the
*************** These '-m' options are defined for the x
*** 27737,27742 ****
--- 27747,27763 ----
            RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, and 64-bit instruction
            set extensions.)
  
+      'znver4'
+           AMD Family 19h core based CPUs with x86-64 instruction set
+           support.  (This supersets BMI, BMI2, CLWB, F16C, FMA,
+           FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
+           PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
+           SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT,
+           RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ,
+           AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16,
+           AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG,
+           AVX512VPOPCNTDQ, GFNI and 64-bit instruction set extensions.)
+ 
       'btver1'
            CPUs based on AMD Family 14h cores with x86-64 instruction set
            support.  (This supersets MMX, SSE, SSE2, SSE3, SSSE3, SSE4A,
*************** processors in 64-bit environments.
*** 28880,28886 ****
  '-miamcu'
       Generate code for a 16-bit, 32-bit or 64-bit environment.  The
       '-m32' option sets 'int', 'long', and pointer types to 32 bits, and
!      generates code that runs on any i386 system.
  
       The '-m64' option sets 'int' to 32 bits and 'long' and pointer
       types to 64 bits, and generates code for the x86-64 architecture.
--- 28901,28907 ----
  '-miamcu'
       Generate code for a 16-bit, 32-bit or 64-bit environment.  The
       '-m32' option sets 'int', 'long', and pointer types to 32 bits, and
!      generates code that runs in 32-bit mode.
  
       The '-m64' option sets 'int' to 32 bits and 'long' and pointer
       types to 64 bits, and generates code for the x86-64 architecture.
*************** vec_div (vector unsigned long long a, ve
*** 51136,51143 ****
  in doubleword element 'i' of a is divided by the integer in doubleword
  element 'i' of b.  The unique integer quotient is placed into the
  doubleword element 'i' of the vector returned.  If an attempt is made to
! perform any of the divisions 0x8000_0000_0000_0000 ÷ -1 or <anything> ÷
! 0 then the quotient is undefined.
  
  vector signed int
  vec_dive (vector signed int a, vector signed int b)
--- 51157,51164 ----
  in doubleword element 'i' of a is divided by the integer in doubleword
  element 'i' of b.  The unique integer quotient is placed into the
  doubleword element 'i' of the vector returned.  If an attempt is made to
! perform any of the divisions 0x8000_0000_0000_0000 ÷ -1 or <anything>
! ÷ 0 then the quotient is undefined.
  
  vector signed int
  vec_dive (vector signed int a, vector signed int b)
*************** to check the target platform type.
*** 52559,52564 ****
--- 52580,52588 ----
       'znver3'
            AMD Family 19h Zen version 3.
  
+      'znver4'
+           AMD Family 19h Zen version 4.
+ 
       Here is an example:
            if (__builtin_cpu_is ("corei7"))
              {
*************** alphabetical order.
*** 60685,60691 ****
  
     * Ralf Corsepius for SH testing and minor bug fixing.
  
!    * François-Xavier Coudert for contributions to GNU Fortran.
  
     * Stan Cox for care and feeding of the x86 port and lots of behind
       the scenes hacking.
--- 60709,60715 ----
  
     * Ralf Corsepius for SH testing and minor bug fixing.
  
!    * Franc,ois-Xavier Coudert for contributions to GNU Fortran.
  
     * Stan Cox for care and feeding of the x86 port and lots of behind
       the scenes hacking.
*************** alphabetical order.
*** 60728,60734 ****
       disbursement, configuration architecture, libio maintenance, and
       early math work.
  
!    * François Dumont for his work on libstdc++-v3, especially
       maintaining and improving 'debug-mode' and associative and
       unordered containers.
  
--- 60752,60758 ----
       disbursement, configuration architecture, libio maintenance, and
       early math work.
  
!    * Franc,ois Dumont for his work on libstdc++-v3, especially
       maintaining and improving 'debug-mode' and associative and
       unordered containers.
  
*************** alphabetical order.
*** 60987,60999 ****
  
     * Weiwen Liu for testing and various bug fixes.
  
!    * Manuel López-Ibáñez for improving '-Wconversion' and many other
       diagnostics fixes and improvements.
  
     * Dave Love for his ongoing work with the Fortran front end and
       runtime libraries.
  
!    * Martin von Löwis for internal consistency checking infrastructure,
       various C++ improvements including namespace support, and tons of
       assistance with libstdc++/compiler merges.
  
--- 61011,61023 ----
  
     * Weiwen Liu for testing and various bug fixes.
  
!    * Manuel Lo'pez-Iba'n~ez for improving '-Wconversion' and many other
       diagnostics fixes and improvements.
  
     * Dave Love for his ongoing work with the Fortran front end and
       runtime libraries.
  
!    * Martin von Lo"wis for internal consistency checking infrastructure,
       various C++ improvements including namespace support, and tons of
       assistance with libstdc++/compiler merges.
  
*************** alphabetical order.
*** 61185,61191 ****
  
     * Craig Rodrigues for processing tons of bug reports.
  
!    * Ola Rönnerup for work on mt_alloc.
  
     * Gavin Romig-Koch for lots of behind the scenes MIPS work.
  
--- 61209,61215 ----
  
     * Craig Rodrigues for processing tons of bug reports.
  
!    * Ola Ro"nnerup for work on mt_alloc.
  
     * Gavin Romig-Koch for lots of behind the scenes MIPS work.
  
*************** alphabetical order.
*** 61199,61205 ****
  
     * Paul Rubin wrote most of the preprocessor.
  
!    * Pétur Runólfsson for major performance improvements in C++
       formatted I/O and large file support in C++ filebuf.
  
     * Chip Salzenberg for libstdc++ patches and improvements to locales,
--- 61223,61229 ----
  
     * Paul Rubin wrote most of the preprocessor.
  
!    * Pe'tur Runo'lfsson for major performance improvements in C++
       formatted I/O and large file support in C++ filebuf.
  
     * Chip Salzenberg for libstdc++ patches and improvements to locales,
*************** alphabetical order.
*** 61220,61226 ****
  
     * William Schelter did most of the work on the Intel 80386 support.
  
!    * Tobias Schlüter for work on GNU Fortran.
  
     * Bernd Schmidt for various code generation improvements and major
       work in the reload pass, serving as release manager for GCC 2.95.3,
--- 61244,61250 ----
  
     * William Schelter did most of the work on the Intel 80386 support.
  
!    * Tobias Schlu"ter for work on GNU Fortran.
  
     * Bernd Schmidt for various code generation improvements and major
       work in the reload pass, serving as release manager for GCC 2.95.3,
*************** contributions to testing:
*** 61717,61723 ****
  
     * Robert A. French
  
!    * Jörgen Freyh
  
     * Mark K. Gardner
  
--- 61741,61747 ----
  
     * Robert A. French
  
!    * Jo"rgen Freyh
  
     * Mark K. Gardner
  
*************** look up both forms.
*** 61851,61888 ****
  * Menu:
  
  * ###:                                   Overall Options.    (line  476)
! * 80387:                                 x86 Options.        (line  580)
  * A:                                     Preprocessor Options.
                                                               (line  337)
! * allowable_client:                      Darwin Options.     (line  196)
! * all_load:                              Darwin Options.     (line  110)
  * analyzer:                              Static Analyzer Options.
                                                               (line    7)
  * ansi:                                  Standards.          (line   13)
  * ansi <1>:                              C Dialect Options.  (line   11)
  * ansi <2>:                              Other Builtins.     (line   31)
  * ansi <3>:                              Non-bugs.           (line  107)
! * arch_errors_fatal:                     Darwin Options.     (line  114)
  * aux-info:                              C Dialect Options.  (line  241)
  * B:                                     Directory Options.  (line  122)
  * Bdynamic:                              VxWorks Options.    (line   22)
! * bind_at_load:                          Darwin Options.     (line  118)
  * block-ops-unaligned-vsx:               RS/6000 and PowerPC Options.
                                                               (line  959)
  * Bstatic:                               VxWorks Options.    (line   22)
! * bundle:                                Darwin Options.     (line  123)
! * bundle_loader:                         Darwin Options.     (line  127)
  * c:                                     Overall Options.    (line  169)
  * C:                                     Preprocessor Options.
                                                               (line  346)
  * c <1>:                                 Link Options.       (line   20)
  * CC:                                    Preprocessor Options.
                                                               (line  358)
! * client_name:                           Darwin Options.     (line  196)
! * compatibility_version:                 Darwin Options.     (line  196)
  * coverage:                              Instrumentation Options.
                                                               (line   50)
! * current_version:                       Darwin Options.     (line  196)
  * D:                                     Preprocessor Options.
                                                               (line   19)
  * d:                                     Preprocessor Options.
--- 61875,61912 ----
  * Menu:
  
  * ###:                                   Overall Options.    (line  476)
! * 80387:                                 x86 Options.        (line  591)
  * A:                                     Preprocessor Options.
                                                               (line  337)
! * allowable_client:                      Darwin Options.     (line  204)
! * all_load:                              Darwin Options.     (line  118)
  * analyzer:                              Static Analyzer Options.
                                                               (line    7)
  * ansi:                                  Standards.          (line   13)
  * ansi <1>:                              C Dialect Options.  (line   11)
  * ansi <2>:                              Other Builtins.     (line   31)
  * ansi <3>:                              Non-bugs.           (line  107)
! * arch_errors_fatal:                     Darwin Options.     (line  122)
  * aux-info:                              C Dialect Options.  (line  241)
  * B:                                     Directory Options.  (line  122)
  * Bdynamic:                              VxWorks Options.    (line   22)
! * bind_at_load:                          Darwin Options.     (line  126)
  * block-ops-unaligned-vsx:               RS/6000 and PowerPC Options.
                                                               (line  959)
  * Bstatic:                               VxWorks Options.    (line   22)
! * bundle:                                Darwin Options.     (line  131)
! * bundle_loader:                         Darwin Options.     (line  135)
  * c:                                     Overall Options.    (line  169)
  * C:                                     Preprocessor Options.
                                                               (line  346)
  * c <1>:                                 Link Options.       (line   20)
  * CC:                                    Preprocessor Options.
                                                               (line  358)
! * client_name:                           Darwin Options.     (line  204)
! * compatibility_version:                 Darwin Options.     (line  204)
  * coverage:                              Instrumentation Options.
                                                               (line   50)
! * current_version:                       Darwin Options.     (line  204)
  * D:                                     Preprocessor Options.
                                                               (line   19)
  * d:                                     Preprocessor Options.
*************** look up both forms.
*** 61893,61900 ****
  * dD:                                    Preprocessor Options.
                                                               (line  436)
  * dD <1>:                                Developer Options.  (line  253)
! * dead_strip:                            Darwin Options.     (line  196)
! * dependency-file:                       Darwin Options.     (line  196)
  * dH:                                    Developer Options.  (line  257)
  * dI:                                    Preprocessor Options.
                                                               (line  446)
--- 61917,61924 ----
  * dD:                                    Preprocessor Options.
                                                               (line  436)
  * dD <1>:                                Developer Options.  (line  253)
! * dead_strip:                            Darwin Options.     (line  204)
! * dependency-file:                       Darwin Options.     (line  204)
  * dH:                                    Developer Options.  (line  257)
  * dI:                                    Preprocessor Options.
                                                               (line  446)
*************** look up both forms.
*** 61922,61942 ****
  * dumpspecs:                             Developer Options.  (line 1019)
  * dumpversion:                           Developer Options.  (line 1006)
  * dx:                                    Developer Options.  (line  269)
! * dylib_file:                            Darwin Options.     (line  196)
! * dylinker_install_name:                 Darwin Options.     (line  196)
! * dynamic:                               Darwin Options.     (line  196)
! * dynamiclib:                            Darwin Options.     (line  131)
  * E:                                     Overall Options.    (line  190)
  * E <1>:                                 Link Options.       (line   20)
  * e:                                     Link Options.       (line  169)
! * EB:                                    ARC Options.        (line  595)
  * EB <1>:                                C-SKY Options.      (line   29)
  * EB <2>:                                MIPS Options.       (line    7)
! * EL:                                    ARC Options.        (line  602)
  * EL <1>:                                C-SKY Options.      (line   31)
  * EL <2>:                                MIPS Options.       (line   10)
  * entry:                                 Link Options.       (line  169)
! * exported_symbols_list:                 Darwin Options.     (line  196)
  * F:                                     Darwin Options.     (line   31)
  * fabi-compat-version:                   C++ Dialect Options.
                                                               (line   92)
--- 61946,61966 ----
  * dumpspecs:                             Developer Options.  (line 1019)
  * dumpversion:                           Developer Options.  (line 1006)
  * dx:                                    Developer Options.  (line  269)
! * dylib_file:                            Darwin Options.     (line  204)
! * dylinker_install_name:                 Darwin Options.     (line  204)
! * dynamic:                               Darwin Options.     (line  204)
! * dynamiclib:                            Darwin Options.     (line  139)
  * E:                                     Overall Options.    (line  190)
  * E <1>:                                 Link Options.       (line   20)
  * e:                                     Link Options.       (line  169)
! * EB:                                    ARC Options.        (line  597)
  * EB <1>:                                C-SKY Options.      (line   29)
  * EB <2>:                                MIPS Options.       (line    7)
! * EL:                                    ARC Options.        (line  606)
  * EL <1>:                                C-SKY Options.      (line   31)
  * EL <2>:                                MIPS Options.       (line   10)
  * entry:                                 Link Options.       (line  169)
! * exported_symbols_list:                 Darwin Options.     (line  204)
  * F:                                     Darwin Options.     (line   31)
  * fabi-compat-version:                   C++ Dialect Options.
                                                               (line   92)
*************** look up both forms.
*** 62007,62014 ****
                                                               (line  176)
  * fconcepts-ts:                          C++ Dialect Options.
                                                               (line  176)
! * fcond-mismatch:                        C Dialect Options.  (line  406)
  * fconserve-stack:                       Optimize Options.   (line  958)
  * fconstant-string-class:                Objective-C and Objective-C++ Dialect Options.
                                                               (line   30)
  * fconstexpr-cache-depth:                C++ Dialect Options.
--- 62031,62039 ----
                                                               (line  176)
  * fconcepts-ts:                          C++ Dialect Options.
                                                               (line  176)
! * fcond-mismatch:                        C Dialect Options.  (line  408)
  * fconserve-stack:                       Optimize Options.   (line  958)
+ * fconstant-cfstrings:                   Darwin Options.     (line   71)
  * fconstant-string-class:                Objective-C and Objective-C++ Dialect Options.
                                                               (line   30)
  * fconstexpr-cache-depth:                C++ Dialect Options.
*************** look up both forms.
*** 62214,62220 ****
  * ffile-prefix-map:                      Overall Options.    (line  634)
  * ffinite-loops:                         Optimize Options.   (line 1215)
  * ffinite-math-only:                     Optimize Options.   (line 2349)
! * ffix-and-continue:                     Darwin Options.     (line  104)
  * ffixed:                                Code Gen Options.   (line  426)
  * ffloat-store:                          Optimize Options.   (line 2234)
  * ffloat-store <1>:                      Disappointments.    (line   77)
--- 62239,62245 ----
  * ffile-prefix-map:                      Overall Options.    (line  634)
  * ffinite-loops:                         Optimize Options.   (line 1215)
  * ffinite-math-only:                     Optimize Options.   (line 2349)
! * ffix-and-continue:                     Darwin Options.     (line  112)
  * ffixed:                                Code Gen Options.   (line  426)
  * ffloat-store:                          Optimize Options.   (line 2234)
  * ffloat-store <1>:                      Disappointments.    (line   77)
*************** look up both forms.
*** 62237,62244 ****
  * fgnu-keywords:                         C++ Dialect Options.
                                                               (line  260)
  * fgnu-runtime:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line   39)
! * fgnu-tm:                               C Dialect Options.  (line  363)
  * fgnu-unique:                           Code Gen Options.   (line  162)
  * fgnu89-inline:                         C Dialect Options.  (line  202)
  * fgraphite-identity:                    Optimize Options.   (line 1257)
--- 62262,62269 ----
  * fgnu-keywords:                         C++ Dialect Options.
                                                               (line  260)
  * fgnu-runtime:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line   42)
! * fgnu-tm:                               C Dialect Options.  (line  365)
  * fgnu-unique:                           Code Gen Options.   (line  162)
  * fgnu89-inline:                         C Dialect Options.  (line  202)
  * fgraphite-identity:                    Optimize Options.   (line 1257)
*************** look up both forms.
*** 62249,62262 ****
  * fif-conversion:                        Optimize Options.   (line  583)
  * fif-conversion2:                       Optimize Options.   (line  592)
  * fiji:                                  AMD GCN Options.    (line   13)
! * filelist:                              Darwin Options.     (line  196)
  * fimplement-inlines:                    C++ Dialect Options.
                                                               (line  280)
  * fimplicit-inline-templates:            C++ Dialect Options.
                                                               (line  274)
  * fimplicit-templates:                   C++ Dialect Options.
                                                               (line  266)
! * findirect-data:                        Darwin Options.     (line  104)
  * findirect-inlining:                    Optimize Options.   (line  293)
  * finhibit-size-directive:               Code Gen Options.   (line  255)
  * finline:                               Optimize Options.   (line  276)
--- 62274,62287 ----
  * fif-conversion:                        Optimize Options.   (line  583)
  * fif-conversion2:                       Optimize Options.   (line  592)
  * fiji:                                  AMD GCN Options.    (line   13)
! * filelist:                              Darwin Options.     (line  204)
  * fimplement-inlines:                    C++ Dialect Options.
                                                               (line  280)
  * fimplicit-inline-templates:            C++ Dialect Options.
                                                               (line  274)
  * fimplicit-templates:                   C++ Dialect Options.
                                                               (line  266)
! * findirect-data:                        Darwin Options.     (line  112)
  * findirect-inlining:                    Optimize Options.   (line  293)
  * finhibit-size-directive:               Code Gen Options.   (line  255)
  * finline:                               Optimize Options.   (line  276)
*************** look up both forms.
*** 62298,62304 ****
  * fisolate-erroneous-paths-attribute:    Optimize Options.   (line 1157)
  * fisolate-erroneous-paths-dereference:  Optimize Options.   (line 1149)
  * fivar-visibility:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line  161)
  * fivopts:                               Optimize Options.   (line 1382)
  * fjump-tables:                          Code Gen Options.   (line  414)
  * fkeep-inline-dllexport:                Optimize Options.   (line  362)
--- 62323,62329 ----
  * fisolate-erroneous-paths-attribute:    Optimize Options.   (line 1157)
  * fisolate-erroneous-paths-dereference:  Optimize Options.   (line 1149)
  * fivar-visibility:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line  164)
  * fivopts:                               Optimize Options.   (line 1382)
  * fjump-tables:                          Code Gen Options.   (line  414)
  * fkeep-inline-dllexport:                Optimize Options.   (line  362)
*************** look up both forms.
*** 62314,62328 ****
                                                               (line  546)
  * flarge-source-files:                   Preprocessor Options.
                                                               (line  497)
! * flat_namespace:                        Darwin Options.     (line  196)
! * flax-vector-conversions:               C Dialect Options.  (line  411)
  * fleading-underscore:                   Code Gen Options.   (line  482)
  * flifetime-dse:                         Optimize Options.   (line  668)
  * flinker-output:                        Link Options.       (line   25)
  * flive-patching:                        Optimize Options.   (line 1089)
  * flive-range-shrinkage:                 Optimize Options.   (line  683)
  * flocal-ivars:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  152)
  * floop-block:                           Optimize Options.   (line 1251)
  * floop-interchange:                     Optimize Options.   (line 1335)
  * floop-nest-optimize:                   Optimize Options.   (line 1265)
--- 62339,62353 ----
                                                               (line  546)
  * flarge-source-files:                   Preprocessor Options.
                                                               (line  497)
! * flat_namespace:                        Darwin Options.     (line  204)
! * flax-vector-conversions:               C Dialect Options.  (line  413)
  * fleading-underscore:                   Code Gen Options.   (line  482)
  * flifetime-dse:                         Optimize Options.   (line  668)
  * flinker-output:                        Link Options.       (line   25)
  * flive-patching:                        Optimize Options.   (line 1089)
  * flive-range-shrinkage:                 Optimize Options.   (line  683)
  * flocal-ivars:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  155)
  * floop-block:                           Optimize Options.   (line 1251)
  * floop-interchange:                     Optimize Options.   (line 1335)
  * floop-nest-optimize:                   Optimize Options.   (line 1265)
*************** look up both forms.
*** 62363,62369 ****
  * fmodulo-sched:                         Optimize Options.   (line  409)
  * fmodulo-sched-allow-regmoves:          Optimize Options.   (line  414)
  * fmove-loop-invariants:                 Optimize Options.   (line 2566)
! * fms-extensions:                        C Dialect Options.  (line  378)
  * fms-extensions <1>:                    C++ Dialect Options.
                                                               (line  324)
  * fms-extensions <2>:                    Unnamed Fields.     (line   36)
--- 62388,62394 ----
  * fmodulo-sched:                         Optimize Options.   (line  409)
  * fmodulo-sched-allow-regmoves:          Optimize Options.   (line  414)
  * fmove-loop-invariants:                 Optimize Options.   (line 2566)
! * fms-extensions:                        C Dialect Options.  (line  380)
  * fms-extensions <1>:                    C++ Dialect Options.
                                                               (line  324)
  * fms-extensions <2>:                    Unnamed Fields.     (line   36)
*************** look up both forms.
*** 62372,62380 ****
  * fnew-ttp-matching:                     C++ Dialect Options.
                                                               (line  335)
  * fnext-runtime:                         Objective-C and Objective-C++ Dialect Options.
!                                                              (line   43)
  * fnil-receivers:                        Objective-C and Objective-C++ Dialect Options.
!                                                              (line   49)
  * fno-access-control:                    C++ Dialect Options.
                                                               (line  108)
  * fno-allocation-dce:                    Optimize Options.   (line 1782)
--- 62397,62405 ----
  * fnew-ttp-matching:                     C++ Dialect Options.
                                                               (line  335)
  * fnext-runtime:                         Objective-C and Objective-C++ Dialect Options.
!                                                              (line   46)
  * fnil-receivers:                        Objective-C and Objective-C++ Dialect Options.
!                                                              (line   52)
  * fno-access-control:                    C++ Dialect Options.
                                                               (line  108)
  * fno-allocation-dce:                    Optimize Options.   (line 1782)
*************** look up both forms.
*** 62461,62467 ****
  * fno-keep-inline-dllexport:             Optimize Options.   (line  362)
  * fno-lifetime-dse:                      Optimize Options.   (line  668)
  * fno-local-ivars:                       Objective-C and Objective-C++ Dialect Options.
!                                                              (line  152)
  * fno-math-errno:                        Optimize Options.   (line 2286)
  * fno-merge-debug-strings:               Debugging Options.  (line  135)
  * fno-module-lazy:                       C++ Dialect Options.
--- 62486,62492 ----
  * fno-keep-inline-dllexport:             Optimize Options.   (line  362)
  * fno-lifetime-dse:                      Optimize Options.   (line  668)
  * fno-local-ivars:                       Objective-C and Objective-C++ Dialect Options.
!                                                              (line  155)
  * fno-math-errno:                        Optimize Options.   (line 2286)
  * fno-merge-debug-strings:               Debugging Options.  (line  135)
  * fno-module-lazy:                       C++ Dialect Options.
*************** look up both forms.
*** 62469,62475 ****
  * fno-modules-ts:                        C++ Dialect Options.
                                                               (line  286)
  * fno-nil-receivers:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line   49)
  * fno-nonansi-builtins:                  C++ Dialect Options.
                                                               (line  342)
  * fno-operator-names:                    C++ Dialect Options.
--- 62494,62500 ----
  * fno-modules-ts:                        C++ Dialect Options.
                                                               (line  286)
  * fno-nil-receivers:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line   52)
  * fno-nonansi-builtins:                  C++ Dialect Options.
                                                               (line  342)
  * fno-operator-names:                    C++ Dialect Options.
*************** look up both forms.
*** 62494,62500 ****
                                                               (line   46)
  * fno-show-column:                       Diagnostic Message Formatting Options.
                                                               (line  408)
! * fno-signed-bitfields:                  C Dialect Options.  (line  444)
  * fno-signed-zeros:                      Optimize Options.   (line 2361)
  * fno-stack-limit:                       Instrumentation Options.
                                                               (line  704)
--- 62519,62525 ----
                                                               (line   46)
  * fno-show-column:                       Diagnostic Message Formatting Options.
                                                               (line  408)
! * fno-signed-bitfields:                  C Dialect Options.  (line  446)
  * fno-signed-zeros:                      Optimize Options.   (line 2361)
  * fno-stack-limit:                       Instrumentation Options.
                                                               (line  704)
*************** look up both forms.
*** 62502,62508 ****
                                                               (line  439)
  * fno-toplevel-reorder:                  Optimize Options.   (line 1808)
  * fno-trapping-math:                     Optimize Options.   (line 2371)
! * fno-unsigned-bitfields:                C Dialect Options.  (line  444)
  * fno-use-cxa-get-exception-ptr:         C++ Dialect Options.
                                                               (line  452)
  * fno-var-tracking-assignments:          Debugging Options.  (line  162)
--- 62527,62533 ----
                                                               (line  439)
  * fno-toplevel-reorder:                  Optimize Options.   (line 1808)
  * fno-trapping-math:                     Optimize Options.   (line 2371)
! * fno-unsigned-bitfields:                C Dialect Options.  (line  446)
  * fno-use-cxa-get-exception-ptr:         C++ Dialect Options.
                                                               (line  452)
  * fno-var-tracking-assignments:          Debugging Options.  (line  162)
*************** look up both forms.
*** 62520,62543 ****
  * fnothrow-opt:                          C++ Dialect Options.
                                                               (line  347)
  * fobjc-abi-version:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line   56)
  * fobjc-call-cxx-cdtors:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line   67)
  * fobjc-direct-dispatch:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line   92)
  * fobjc-exceptions:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line   96)
  * fobjc-gc:                              Objective-C and Objective-C++ Dialect Options.
!                                                              (line  104)
  * fobjc-nilcheck:                        Objective-C and Objective-C++ Dialect Options.
!                                                              (line  110)
  * fobjc-std:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  119)
  * fomit-frame-pointer:                   Optimize Options.   (line  249)
  * fopenacc:                              C Dialect Options.  (line  337)
! * fopenacc-dim:                          C Dialect Options.  (line  345)
! * fopenmp:                               C Dialect Options.  (line  351)
! * fopenmp-simd:                          C Dialect Options.  (line  359)
  * foperator-names:                       C++ Dialect Options.
                                                               (line  358)
  * fopt-info:                             Developer Options.  (line  487)
--- 62545,62568 ----
  * fnothrow-opt:                          C++ Dialect Options.
                                                               (line  347)
  * fobjc-abi-version:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line   59)
  * fobjc-call-cxx-cdtors:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line   70)
  * fobjc-direct-dispatch:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line   95)
  * fobjc-exceptions:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line   99)
  * fobjc-gc:                              Objective-C and Objective-C++ Dialect Options.
!                                                              (line  107)
  * fobjc-nilcheck:                        Objective-C and Objective-C++ Dialect Options.
!                                                              (line  113)
  * fobjc-std:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  122)
  * fomit-frame-pointer:                   Optimize Options.   (line  249)
  * fopenacc:                              C Dialect Options.  (line  337)
! * fopenacc-dim:                          C Dialect Options.  (line  346)
! * fopenmp:                               C Dialect Options.  (line  352)
! * fopenmp-simd:                          C Dialect Options.  (line  361)
  * foperator-names:                       C++ Dialect Options.
                                                               (line  358)
  * fopt-info:                             Developer Options.  (line  487)
*************** look up both forms.
*** 62545,62552 ****
  * foptimize-strlen:                      Optimize Options.   (line  269)
  * foptional-diags:                       C++ Dialect Options.
                                                               (line  362)
! * force_cpusubtype_ALL:                  Darwin Options.     (line  135)
! * force_flat_namespace:                  Darwin Options.     (line  196)
  * fpack-struct:                          Code Gen Options.   (line  469)
  * fpartial-inlining:                     Optimize Options.   (line 1506)
  * fpatchable-function-entry:             Instrumentation Options.
--- 62570,62577 ----
  * foptimize-strlen:                      Optimize Options.   (line  269)
  * foptional-diags:                       C++ Dialect Options.
                                                               (line  362)
! * force_cpusubtype_ALL:                  Darwin Options.     (line  143)
! * force_flat_namespace:                  Darwin Options.     (line  204)
  * fpack-struct:                          Code Gen Options.   (line  469)
  * fpartial-inlining:                     Optimize Options.   (line 1506)
  * fpatchable-function-entry:             Instrumentation Options.
*************** look up both forms.
*** 62569,62575 ****
  * fPIC:                                  Code Gen Options.   (line  374)
  * fpie:                                  Code Gen Options.   (line  387)
  * fPIE:                                  Code Gen Options.   (line  387)
! * fplan9-extensions:                     C Dialect Options.  (line  396)
  * fplan9-extensions <1>:                 Unnamed Fields.     (line   43)
  * fplt:                                  Code Gen Options.   (line  396)
  * fplugin:                               Overall Options.    (line  643)
--- 62594,62600 ----
  * fPIC:                                  Code Gen Options.   (line  374)
  * fpie:                                  Code Gen Options.   (line  387)
  * fPIE:                                  Code Gen Options.   (line  387)
! * fplan9-extensions:                     C Dialect Options.  (line  398)
  * fplan9-extensions <1>:                 Unnamed Fields.     (line   43)
  * fplt:                                  Code Gen Options.   (line  396)
  * fplugin:                               Overall Options.    (line  643)
*************** look up both forms.
*** 62624,62630 ****
  * freorder-blocks-and-partition:         Optimize Options.   (line 1601)
  * freorder-functions:                    Optimize Options.   (line 1618)
  * freplace-objc-classes:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line  130)
  * freport-bug:                           Developer Options.  (line  287)
  * frerun-cse-after-loop:                 Optimize Options.   (line  498)
  * freschedule-modulo-scheduled-loops:    Optimize Options.   (line  876)
--- 62649,62655 ----
  * freorder-blocks-and-partition:         Optimize Options.   (line 1601)
  * freorder-functions:                    Optimize Options.   (line 1618)
  * freplace-objc-classes:                 Objective-C and Objective-C++ Dialect Options.
!                                                              (line  133)
  * freport-bug:                           Developer Options.  (line  287)
  * frerun-cse-after-loop:                 Optimize Options.   (line  498)
  * freschedule-modulo-scheduled-loops:    Optimize Options.   (line  876)
*************** look up both forms.
*** 62744,62752 ****
  * fshrink-wrap:                          Optimize Options.   (line  916)
  * fshrink-wrap-separate:                 Optimize Options.   (line  921)
  * fsignaling-nans:                       Optimize Options.   (line 2406)
! * fsigned-bitfields:                     C Dialect Options.  (line  444)
  * fsigned-bitfields <1>:                 Non-bugs.           (line   57)
! * fsigned-char:                          C Dialect Options.  (line  434)
  * fsigned-char <1>:                      Characters implementation.
                                                               (line   31)
  * fsigned-zeros:                         Optimize Options.   (line 2361)
--- 62769,62777 ----
  * fshrink-wrap:                          Optimize Options.   (line  916)
  * fshrink-wrap-separate:                 Optimize Options.   (line  921)
  * fsignaling-nans:                       Optimize Options.   (line 2406)
! * fsigned-bitfields:                     C Dialect Options.  (line  446)
  * fsigned-bitfields <1>:                 Non-bugs.           (line   57)
! * fsigned-char:                          C Dialect Options.  (line  436)
  * fsigned-char <1>:                      Characters implementation.
                                                               (line   31)
  * fsigned-zeros:                         Optimize Options.   (line 2361)
*************** look up both forms.
*** 62765,62771 ****
  * fsplit-wide-types-early:               Optimize Options.   (line  475)
  * fssa-backprop:                         Optimize Options.   (line 1181)
  * fssa-phiopt:                           Optimize Options.   (line 1187)
! * fsso-struct:                           C Dialect Options.  (line  450)
  * fstack-check:                          Instrumentation Options.
                                                               (line  647)
  * fstack-clash-protection:               Instrumentation Options.
--- 62790,62796 ----
  * fsplit-wide-types-early:               Optimize Options.   (line  475)
  * fssa-backprop:                         Optimize Options.   (line 1181)
  * fssa-phiopt:                           Optimize Options.   (line 1187)
! * fsso-struct:                           C Dialect Options.  (line  452)
  * fstack-check:                          Instrumentation Options.
                                                               (line  647)
  * fstack-clash-protection:               Instrumentation Options.
*************** look up both forms.
*** 62791,62800 ****
  * fstrict-enums:                         C++ Dialect Options.
                                                               (line  409)
  * fstrict-overflow:                      Code Gen Options.   (line  115)
! * fstrict-volatile-bitfields:            Code Gen Options.   (line  592)
  * fstrong-eval-order:                    C++ Dialect Options.
                                                               (line  418)
! * fsync-libcalls:                        Code Gen Options.   (line  624)
  * fsyntax-only:                          Warning Options.    (line   14)
  * ftabstop:                              Preprocessor Options.
                                                               (line  241)
--- 62816,62825 ----
  * fstrict-enums:                         C++ Dialect Options.
                                                               (line  409)
  * fstrict-overflow:                      Code Gen Options.   (line  115)
! * fstrict-volatile-bitfields:            Code Gen Options.   (line  593)
  * fstrong-eval-order:                    C++ Dialect Options.
                                                               (line  418)
! * fsync-libcalls:                        Code Gen Options.   (line  625)
  * fsyntax-only:                          Warning Options.    (line   14)
  * ftabstop:                              Preprocessor Options.
                                                               (line  241)
*************** look up both forms.
*** 62857,62867 ****
  * funroll-all-loops:                     Optimize Options.   (line 2552)
  * funroll-loops:                         Optimize Options.   (line 2542)
  * funsafe-math-optimizations:            Optimize Options.   (line 2304)
! * funsigned-bitfields:                   C Dialect Options.  (line  444)
  * funsigned-bitfields <1>:               Structures unions enumerations and bit-fields implementation.
                                                               (line   17)
  * funsigned-bitfields <2>:               Non-bugs.           (line   57)
! * funsigned-char:                        C Dialect Options.  (line  416)
  * funsigned-char <1>:                    Characters implementation.
                                                               (line   31)
  * funswitch-loops:                       Optimize Options.   (line 2576)
--- 62882,62892 ----
  * funroll-all-loops:                     Optimize Options.   (line 2552)
  * funroll-loops:                         Optimize Options.   (line 2542)
  * funsafe-math-optimizations:            Optimize Options.   (line 2304)
! * funsigned-bitfields:                   C Dialect Options.  (line  446)
  * funsigned-bitfields <1>:               Structures unions enumerations and bit-fields implementation.
                                                               (line   17)
  * funsigned-bitfields <2>:               Non-bugs.           (line   57)
! * funsigned-char:                        C Dialect Options.  (line  418)
  * funsigned-char <1>:                    Characters implementation.
                                                               (line   31)
  * funswitch-loops:                       Optimize Options.   (line 2576)
*************** look up both forms.
*** 62908,62916 ****
  * fzero-call-used-regs:                  Optimize Options.   (line 2663)
  * fzero-initialized-in-bss:              Optimize Options.   (line  446)
  * fzero-link:                            Objective-C and Objective-C++ Dialect Options.
!                                                              (line  140)
  * g:                                     Debugging Options.  (line   25)
! * G:                                     ARC Options.        (line  414)
  * G <1>:                                 M32R/D Options.     (line   57)
  * G <2>:                                 MIPS Options.       (line  460)
  * G <3>:                                 Nios II Options.    (line    9)
--- 62933,62941 ----
  * fzero-call-used-regs:                  Optimize Options.   (line 2663)
  * fzero-initialized-in-bss:              Optimize Options.   (line  446)
  * fzero-link:                            Objective-C and Objective-C++ Dialect Options.
!                                                              (line  143)
  * g:                                     Debugging Options.  (line   25)
! * G:                                     ARC Options.        (line  416)
  * G <1>:                                 M32R/D Options.     (line   57)
  * G <2>:                                 MIPS Options.       (line  460)
  * G <3>:                                 Nios II Options.    (line    9)
*************** look up both forms.
*** 62925,62931 ****
  * gdwarf32:                              Debugging Options.  (line  181)
  * gdwarf64:                              Debugging Options.  (line  181)
  * gen-decls:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  166)
  * gfull:                                 Darwin Options.     (line   69)
  * ggdb:                                  Debugging Options.  (line   38)
  * ggnu-pubnames:                         Debugging Options.  (line  199)
--- 62950,62956 ----
  * gdwarf32:                              Debugging Options.  (line  181)
  * gdwarf64:                              Debugging Options.  (line  181)
  * gen-decls:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  169)
  * gfull:                                 Darwin Options.     (line   69)
  * ggdb:                                  Debugging Options.  (line   38)
  * ggnu-pubnames:                         Debugging Options.  (line  199)
*************** look up both forms.
*** 62956,62962 ****
  * gz:                                    Debugging Options.  (line  329)
  * H:                                     Preprocessor Options.
                                                               (line  405)
! * headerpad_max_install_names:           Darwin Options.     (line  196)
  * help:                                  Overall Options.    (line  482)
  * I:                                     Directory Options.  (line   13)
  * I-:                                    Directory Options.  (line   65)
--- 62981,62987 ----
  * gz:                                    Debugging Options.  (line  329)
  * H:                                     Preprocessor Options.
                                                               (line  405)
! * headerpad_max_install_names:           Darwin Options.     (line  204)
  * help:                                  Overall Options.    (line  482)
  * I:                                     Directory Options.  (line   13)
  * I-:                                    Directory Options.  (line   65)
*************** look up both forms.
*** 62964,62975 ****
  * iframework:                            Darwin Options.     (line   57)
  * imacros:                               Preprocessor Options.
                                                               (line   57)
! * image_base:                            Darwin Options.     (line  196)
  * imultilib:                             Directory Options.  (line   98)
  * include:                               Preprocessor Options.
                                                               (line   46)
! * init:                                  Darwin Options.     (line  196)
! * install_name:                          Darwin Options.     (line  196)
  * iplugindir=:                           Directory Options.  (line  113)
  * iprefix:                               Directory Options.  (line   80)
  * iquote:                                Directory Options.  (line   13)
--- 62989,63000 ----
  * iframework:                            Darwin Options.     (line   57)
  * imacros:                               Preprocessor Options.
                                                               (line   57)
! * image_base:                            Darwin Options.     (line  204)
  * imultilib:                             Directory Options.  (line   98)
  * include:                               Preprocessor Options.
                                                               (line   46)
! * init:                                  Darwin Options.     (line  204)
! * install_name:                          Darwin Options.     (line  204)
  * iplugindir=:                           Directory Options.  (line  113)
  * iprefix:                               Directory Options.  (line   80)
  * iquote:                                Directory Options.  (line   13)
*************** look up both forms.
*** 62977,62983 ****
  * isystem:                               Directory Options.  (line   13)
  * iwithprefix:                           Directory Options.  (line   86)
  * iwithprefixbefore:                     Directory Options.  (line   86)
! * keep_private_externs:                  Darwin Options.     (line  196)
  * l:                                     Link Options.       (line   84)
  * L:                                     Directory Options.  (line  118)
  * lobjc:                                 Link Options.       (line  110)
--- 63002,63008 ----
  * isystem:                               Directory Options.  (line   13)
  * iwithprefix:                           Directory Options.  (line   86)
  * iwithprefixbefore:                     Directory Options.  (line   86)
! * keep_private_externs:                  Darwin Options.     (line  204)
  * l:                                     Link Options.       (line   84)
  * L:                                     Directory Options.  (line  118)
  * lobjc:                                 Link Options.       (line  110)
*************** look up both forms.
*** 62987,62995 ****
                                                               (line  521)
  * m1:                                    SH Options.         (line    9)
  * m10:                                   PDP-11 Options.     (line   29)
! * m128bit-long-double:                   x86 Options.        (line  632)
! * m16:                                   x86 Options.        (line 1511)
! * m16-bit:                               CRIS Options.       (line   62)
  * m16-bit <1>:                           NDS32 Options.      (line   51)
  * m1reg-:                                Adapteva Epiphany Options.
                                                               (line  131)
--- 63012,63020 ----
                                                               (line  521)
  * m1:                                    SH Options.         (line    9)
  * m10:                                   PDP-11 Options.     (line   29)
! * m128bit-long-double:                   x86 Options.        (line  643)
! * m16:                                   x86 Options.        (line 1522)
! * m16-bit:                               CRIS Options.       (line   63)
  * m16-bit <1>:                           NDS32 Options.      (line   51)
  * m1reg-:                                Adapteva Epiphany Options.
                                                               (line  131)
*************** look up both forms.
*** 63007,63022 ****
  * m32 <1>:                               SPARC Options.      (line  315)
  * m32 <2>:                               TILE-Gx Options.    (line   23)
  * m32 <3>:                               TILEPro Options.    (line   13)
! * m32 <4>:                               x86 Options.        (line 1511)
! * m32-bit:                               CRIS Options.       (line   62)
  * m32bit-doubles:                        RL78 Options.       (line   73)
  * m32bit-doubles <1>:                    RX Options.         (line   10)
  * m32r:                                  M32R/D Options.     (line   15)
  * m32r2:                                 M32R/D Options.     (line    9)
  * m32rx:                                 M32R/D Options.     (line   12)
  * m340:                                  MCore Options.      (line   43)
! * m3dnow:                                x86 Options.        (line  864)
! * m3dnowa:                               x86 Options.        (line  865)
  * m3e:                                   SH Options.         (line   37)
  * m4:                                    SH Options.         (line   51)
  * m4-100:                                SH Options.         (line   54)
--- 63032,63047 ----
  * m32 <1>:                               SPARC Options.      (line  315)
  * m32 <2>:                               TILE-Gx Options.    (line   23)
  * m32 <3>:                               TILEPro Options.    (line   13)
! * m32 <4>:                               x86 Options.        (line 1522)
! * m32-bit:                               CRIS Options.       (line   63)
  * m32bit-doubles:                        RL78 Options.       (line   73)
  * m32bit-doubles <1>:                    RX Options.         (line   10)
  * m32r:                                  M32R/D Options.     (line   15)
  * m32r2:                                 M32R/D Options.     (line    9)
  * m32rx:                                 M32R/D Options.     (line   12)
  * m340:                                  MCore Options.      (line   43)
! * m3dnow:                                x86 Options.        (line  875)
! * m3dnowa:                               x86 Options.        (line  876)
  * m3e:                                   SH Options.         (line   37)
  * m4:                                    SH Options.         (line   51)
  * m4-100:                                SH Options.         (line   54)
*************** look up both forms.
*** 63056,63062 ****
                                                               (line   86)
  * m64 <3>:                               SPARC Options.      (line  315)
  * m64 <4>:                               TILE-Gx Options.    (line   23)
! * m64 <5>:                               x86 Options.        (line 1511)
  * m64bit-doubles:                        RL78 Options.       (line   73)
  * m64bit-doubles <1>:                    RX Options.         (line   10)
  * m68000:                                M680x0 Options.     (line   93)
--- 63081,63087 ----
                                                               (line   86)
  * m64 <3>:                               SPARC Options.      (line  315)
  * m64 <4>:                               TILE-Gx Options.    (line   23)
! * m64 <5>:                               x86 Options.        (line 1522)
  * m64bit-doubles:                        RL78 Options.       (line   73)
  * m64bit-doubles <1>:                    RX Options.         (line   10)
  * m68000:                                M680x0 Options.     (line   93)
*************** look up both forms.
*** 63068,63077 ****
  * m68040:                                M680x0 Options.     (line  117)
  * m68060:                                M680x0 Options.     (line  126)
  * m68881:                                M680x0 Options.     (line  194)
! * m8-bit:                                CRIS Options.       (line   62)
! * m8bit-idiv:                            x86 Options.        (line 1419)
  * m8byte-align:                          V850 Options.       (line  170)
! * m96bit-long-double:                    x86 Options.        (line  632)
  * mA6:                                   ARC Options.        (line   23)
  * mA7:                                   ARC Options.        (line   30)
  * mabi:                                  AArch64 Options.    (line    9)
--- 63093,63102 ----
  * m68040:                                M680x0 Options.     (line  117)
  * m68060:                                M680x0 Options.     (line  126)
  * m68881:                                M680x0 Options.     (line  194)
! * m8-bit:                                CRIS Options.       (line   63)
! * m8bit-idiv:                            x86 Options.        (line 1430)
  * m8byte-align:                          V850 Options.       (line  170)
! * m96bit-long-double:                    x86 Options.        (line  643)
  * mA6:                                   ARC Options.        (line   23)
  * mA7:                                   ARC Options.        (line   30)
  * mabi:                                  AArch64 Options.    (line    9)
*************** look up both forms.
*** 63080,63086 ****
  * mabi <3>:                              RISC-V Options.     (line   17)
  * mabi <4>:                              RS/6000 and PowerPC Options.
                                                               (line  552)
! * mabi <5>:                              x86 Options.        (line 1112)
  * mabi <6>:                              Xtensa Options.     (line  103)
  * mabi=32:                               MIPS Options.       (line  156)
  * mabi=64:                               MIPS Options.       (line  156)
--- 63105,63111 ----
  * mabi <3>:                              RISC-V Options.     (line   17)
  * mabi <4>:                              RS/6000 and PowerPC Options.
                                                               (line  552)
! * mabi <5>:                              x86 Options.        (line 1123)
  * mabi <6>:                              Xtensa Options.     (line  103)
  * mabi=32:                               MIPS Options.       (line  156)
  * mabi=64:                               MIPS Options.       (line  156)
*************** look up both forms.
*** 63100,63123 ****
  * mabi=o64:                              MIPS Options.       (line  156)
  * mabi=windowed:                         Xtensa Options.     (line  115)
  * mabicalls:                             MIPS Options.       (line  192)
! * mabm:                                  x86 Options.        (line  867)
  * mabort-on-noreturn:                    ARM Options.        (line  751)
  * mabs=2008:                             MIPS Options.       (line  300)
  * mabs=legacy:                           MIPS Options.       (line  300)
! * mabsdata:                              AVR Options.        (line  162)
  * mabsdiff:                              MeP Options.        (line    7)
  * mac0:                                  PDP-11 Options.     (line   16)
  * macc-4:                                FRV Options.        (line  139)
  * macc-8:                                FRV Options.        (line  143)
! * maccumulate-args:                      AVR Options.        (line  169)
  * maccumulate-outgoing-args:             SH Options.         (line  314)
! * maccumulate-outgoing-args <1>:         x86 Options.        (line 1156)
! * maddress-mode=long:                    x86 Options.        (line 1561)
! * maddress-mode=short:                   x86 Options.        (line 1566)
  * mads:                                  RS/6000 and PowerPC Options.
                                                               (line  614)
! * madx:                                  x86 Options.        (line  868)
! * maes:                                  x86 Options.        (line  845)
  * maix-struct-return:                    RS/6000 and PowerPC Options.
                                                               (line  545)
  * maix32:                                RS/6000 and PowerPC Options.
--- 63125,63148 ----
  * mabi=o64:                              MIPS Options.       (line  156)
  * mabi=windowed:                         Xtensa Options.     (line  115)
  * mabicalls:                             MIPS Options.       (line  192)
! * mabm:                                  x86 Options.        (line  878)
  * mabort-on-noreturn:                    ARM Options.        (line  751)
  * mabs=2008:                             MIPS Options.       (line  300)
  * mabs=legacy:                           MIPS Options.       (line  300)
! * mabsdata:                              AVR Options.        (line  163)
  * mabsdiff:                              MeP Options.        (line    7)
  * mac0:                                  PDP-11 Options.     (line   16)
  * macc-4:                                FRV Options.        (line  139)
  * macc-8:                                FRV Options.        (line  143)
! * maccumulate-args:                      AVR Options.        (line  170)
  * maccumulate-outgoing-args:             SH Options.         (line  314)
! * maccumulate-outgoing-args <1>:         x86 Options.        (line 1167)
! * maddress-mode=long:                    x86 Options.        (line 1572)
! * maddress-mode=short:                   x86 Options.        (line 1577)
  * mads:                                  RS/6000 and PowerPC Options.
                                                               (line  614)
! * madx:                                  x86 Options.        (line  879)
! * maes:                                  x86 Options.        (line  856)
  * maix-struct-return:                    RS/6000 and PowerPC Options.
                                                               (line  545)
  * maix32:                                RS/6000 and PowerPC Options.
*************** look up both forms.
*** 63125,63134 ****
  * maix64:                                RS/6000 and PowerPC Options.
                                                               (line  283)
  * malign-300:                            H8/300 Options.     (line   41)
! * malign-call:                           ARC Options.        (line  433)
  * malign-data:                           RISC-V Options.     (line  151)
! * malign-data <1>:                       x86 Options.        (line  672)
! * malign-double:                         x86 Options.        (line  617)
  * malign-int:                            M680x0 Options.     (line  261)
  * malign-labels:                         FRV Options.        (line  128)
  * malign-loops:                          M32R/D Options.     (line   73)
--- 63150,63159 ----
  * maix64:                                RS/6000 and PowerPC Options.
                                                               (line  283)
  * malign-300:                            H8/300 Options.     (line   41)
! * malign-call:                           ARC Options.        (line  435)
  * malign-data:                           RISC-V Options.     (line  151)
! * malign-data <1>:                       x86 Options.        (line  683)
! * malign-double:                         x86 Options.        (line  628)
  * malign-int:                            M680x0 Options.     (line  261)
  * malign-labels:                         FRV Options.        (line  128)
  * malign-loops:                          M32R/D Options.     (line   73)
*************** look up both forms.
*** 63136,63142 ****
                                                               (line  321)
  * malign-power:                          RS/6000 and PowerPC Options.
                                                               (line  321)
! * malign-stringops:                      x86 Options.        (line 1292)
  * mall-opts:                             MeP Options.        (line   11)
  * malloc-cc:                             FRV Options.        (line   31)
  * mallow-string-insns:                   RX Options.         (line  150)
--- 63161,63167 ----
                                                               (line  321)
  * malign-power:                          RS/6000 and PowerPC Options.
                                                               (line  321)
! * malign-stringops:                      x86 Options.        (line 1303)
  * mall-opts:                             MeP Options.        (line   11)
  * malloc-cc:                             FRV Options.        (line   31)
  * mallow-string-insns:                   RX Options.         (line  150)
*************** look up both forms.
*** 63146,63154 ****
  * mam33:                                 MN10300 Options.    (line   17)
  * mam33-2:                               MN10300 Options.    (line   24)
  * mam34:                                 MN10300 Options.    (line   27)
! * mamx-bf16:                             x86 Options.        (line  905)
! * mamx-int8:                             x86 Options.        (line  904)
! * mamx-tile:                             x86 Options.        (line  903)
  * manchor:                               C-SKY Options.      (line  126)
  * mandroid:                              GNU/Linux Options.  (line   26)
  * mannotate-align:                       ARC Options.        (line  382)
--- 63171,63179 ----
  * mam33:                                 MN10300 Options.    (line   17)
  * mam33-2:                               MN10300 Options.    (line   24)
  * mam34:                                 MN10300 Options.    (line   27)
! * mamx-bf16:                             x86 Options.        (line  916)
! * mamx-int8:                             x86 Options.        (line  915)
! * mamx-tile:                             x86 Options.        (line  914)
  * manchor:                               C-SKY Options.      (line  126)
  * mandroid:                              GNU/Linux Options.  (line   26)
  * mannotate-align:                       ARC Options.        (line  382)
*************** look up both forms.
*** 63177,63219 ****
  * march <14>:                            x86 Options.        (line    9)
  * march=:                                C-SKY Options.      (line    9)
  * marclinux:                             ARC Options.        (line  388)
! * marclinux_prof:                        ARC Options.        (line  394)
! * margonaut:                             ARC Options.        (line  591)
  * marm:                                  ARM Options.        (line  823)
  * mas100-syntax:                         RX Options.         (line   76)
  * masm-hex:                              MSP430 Options.     (line    9)
  * masm-syntax-unified:                   ARM Options.        (line  922)
! * masm=DIALECT:                          x86 Options.        (line  566)
  * matomic:                               ARC Options.        (line  155)
  * matomic-model=MODEL:                   SH Options.         (line  193)
  * mauto-litpools:                        Xtensa Options.     (line   60)
! * mauto-modify-reg:                      ARC Options.        (line  436)
  * mauto-pic:                             IA-64 Options.      (line   50)
  * maverage:                              MeP Options.        (line   16)
  * mavoid-indexed-addresses:              RS/6000 and PowerPC Options.
                                                               (line  360)
! * mavx:                                  x86 Options.        (line  833)
! * mavx2:                                 x86 Options.        (line  834)
! * mavx256-split-unaligned-load:          x86 Options.        (line 1427)
! * mavx256-split-unaligned-store:         x86 Options.        (line 1427)
! * mavx5124fmaps:                         x86 Options.        (line  897)
! * mavx5124vnniw:                         x86 Options.        (line  900)
! * mavx512bf16:                           x86 Options.        (line  884)
! * mavx512bitalg:                         x86 Options.        (line  889)
! * mavx512bw:                             x86 Options.        (line  840)
! * mavx512cd:                             x86 Options.        (line  838)
! * mavx512dq:                             x86 Options.        (line  841)
! * mavx512er:                             x86 Options.        (line  837)
! * mavx512f:                              x86 Options.        (line  835)
! * mavx512ifma:                           x86 Options.        (line  842)
! * mavx512pf:                             x86 Options.        (line  836)
! * mavx512vbmi:                           x86 Options.        (line  843)
! * mavx512vbmi2:                          x86 Options.        (line  883)
! * mavx512vl:                             x86 Options.        (line  839)
! * mavx512vnni:                           x86 Options.        (line  898)
! * mavx512vp2intersect:                   x86 Options.        (line  896)
! * mavx512vpopcntdq:                      x86 Options.        (line  895)
! * mavxvnni:                              x86 Options.        (line  899)
  * max-vect-align:                        Adapteva Epiphany Options.
                                                               (line  119)
  * mb:                                    SH Options.         (line  126)
--- 63202,63244 ----
  * march <14>:                            x86 Options.        (line    9)
  * march=:                                C-SKY Options.      (line    9)
  * marclinux:                             ARC Options.        (line  388)
! * marclinux_prof:                        ARC Options.        (line  395)
! * margonaut:                             ARC Options.        (line  593)
  * marm:                                  ARM Options.        (line  823)
  * mas100-syntax:                         RX Options.         (line   76)
  * masm-hex:                              MSP430 Options.     (line    9)
  * masm-syntax-unified:                   ARM Options.        (line  922)
! * masm=DIALECT:                          x86 Options.        (line  577)
  * matomic:                               ARC Options.        (line  155)
  * matomic-model=MODEL:                   SH Options.         (line  193)
  * mauto-litpools:                        Xtensa Options.     (line   60)
! * mauto-modify-reg:                      ARC Options.        (line  438)
  * mauto-pic:                             IA-64 Options.      (line   50)
  * maverage:                              MeP Options.        (line   16)
  * mavoid-indexed-addresses:              RS/6000 and PowerPC Options.
                                                               (line  360)
! * mavx:                                  x86 Options.        (line  844)
! * mavx2:                                 x86 Options.        (line  845)
! * mavx256-split-unaligned-load:          x86 Options.        (line 1438)
! * mavx256-split-unaligned-store:         x86 Options.        (line 1438)
! * mavx5124fmaps:                         x86 Options.        (line  908)
! * mavx5124vnniw:                         x86 Options.        (line  911)
! * mavx512bf16:                           x86 Options.        (line  895)
! * mavx512bitalg:                         x86 Options.        (line  900)
! * mavx512bw:                             x86 Options.        (line  851)
! * mavx512cd:                             x86 Options.        (line  849)
! * mavx512dq:                             x86 Options.        (line  852)
! * mavx512er:                             x86 Options.        (line  848)
! * mavx512f:                              x86 Options.        (line  846)
! * mavx512ifma:                           x86 Options.        (line  853)
! * mavx512pf:                             x86 Options.        (line  847)
! * mavx512vbmi:                           x86 Options.        (line  854)
! * mavx512vbmi2:                          x86 Options.        (line  894)
! * mavx512vl:                             x86 Options.        (line  850)
! * mavx512vnni:                           x86 Options.        (line  909)
! * mavx512vp2intersect:                   x86 Options.        (line  907)
! * mavx512vpopcntdq:                      x86 Options.        (line  906)
! * mavxvnni:                              x86 Options.        (line  910)
  * max-vect-align:                        Adapteva Epiphany Options.
                                                               (line  119)
  * mb:                                    SH Options.         (line  126)
*************** look up both forms.
*** 63221,63235 ****
                                                               (line   35)
  * mbarrel-shift-enabled:                 LM32 Options.       (line    9)
  * mbarrel-shifter:                       ARC Options.        (line   10)
! * mbarrel_shifter:                       ARC Options.        (line  608)
  * mbase-addresses:                       MMIX Options.       (line   53)
  * mbased=:                               MeP Options.        (line   20)
! * mbbit-peephole:                        ARC Options.        (line  439)
  * mbe8:                                  ARM Options.        (line   72)
  * mbig:                                  RS/6000 and PowerPC Options.
                                                               (line  440)
  * mbig-endian:                           AArch64 Options.    (line   20)
! * mbig-endian <1>:                       ARC Options.        (line  594)
  * mbig-endian <2>:                       ARM Options.        (line   67)
  * mbig-endian <3>:                       C6X Options.        (line   13)
  * mbig-endian <4>:                       C-SKY Options.      (line   28)
--- 63246,63260 ----
                                                               (line   35)
  * mbarrel-shift-enabled:                 LM32 Options.       (line    9)
  * mbarrel-shifter:                       ARC Options.        (line   10)
! * mbarrel_shifter:                       ARC Options.        (line  613)
  * mbase-addresses:                       MMIX Options.       (line   53)
  * mbased=:                               MeP Options.        (line   20)
! * mbbit-peephole:                        ARC Options.        (line  441)
  * mbe8:                                  ARM Options.        (line   72)
  * mbig:                                  RS/6000 and PowerPC Options.
                                                               (line  440)
  * mbig-endian:                           AArch64 Options.    (line   20)
! * mbig-endian <1>:                       ARC Options.        (line  596)
  * mbig-endian <2>:                       ARM Options.        (line   67)
  * mbig-endian <3>:                       C6X Options.        (line   13)
  * mbig-endian <4>:                       C-SKY Options.      (line   28)
*************** look up both forms.
*** 63258,63269 ****
                                                               (line  700)
  * mblock-move-inline-limit:              RS/6000 and PowerPC Options.
                                                               (line  688)
! * mbmi:                                  x86 Options.        (line  869)
! * mbmi2:                                 x86 Options.        (line  870)
  * mboard:                                OpenRISC Options.   (line    9)
  * mbranch-cost:                          Adapteva Epiphany Options.
                                                               (line   18)
! * mbranch-cost <1>:                      AVR Options.        (line  184)
  * mbranch-cost <2>:                      MIPS Options.       (line  785)
  * mbranch-cost <3>:                      RISC-V Options.     (line    9)
  * mbranch-cost=:                         C-SKY Options.      (line  159)
--- 63283,63294 ----
                                                               (line  700)
  * mblock-move-inline-limit:              RS/6000 and PowerPC Options.
                                                               (line  688)
! * mbmi:                                  x86 Options.        (line  880)
! * mbmi2:                                 x86 Options.        (line  881)
  * mboard:                                OpenRISC Options.   (line    9)
  * mbranch-cost:                          Adapteva Epiphany Options.
                                                               (line   18)
! * mbranch-cost <1>:                      AVR Options.        (line  185)
  * mbranch-cost <2>:                      MIPS Options.       (line  785)
  * mbranch-cost <3>:                      RISC-V Options.     (line    9)
  * mbranch-cost=:                         C-SKY Options.      (line  159)
*************** look up both forms.
*** 63290,63301 ****
                                                               (line  529)
  * mcall-linux:                           RS/6000 and PowerPC Options.
                                                               (line  525)
! * mcall-ms2sysv-xlogues:                 x86 Options.        (line 1132)
  * mcall-netbsd:                          RS/6000 and PowerPC Options.
                                                               (line  533)
  * mcall-netbsd <1>:                      RS/6000 and PowerPC Options.
                                                               (line  537)
! * mcall-prologues:                       AVR Options.        (line  189)
  * mcall-sysv:                            RS/6000 and PowerPC Options.
                                                               (line  507)
  * mcall-sysv-eabi:                       RS/6000 and PowerPC Options.
--- 63315,63326 ----
                                                               (line  529)
  * mcall-linux:                           RS/6000 and PowerPC Options.
                                                               (line  525)
! * mcall-ms2sysv-xlogues:                 x86 Options.        (line 1143)
  * mcall-netbsd:                          RS/6000 and PowerPC Options.
                                                               (line  533)
  * mcall-netbsd <1>:                      RS/6000 and PowerPC Options.
                                                               (line  537)
! * mcall-prologues:                       AVR Options.        (line  190)
  * mcall-sysv:                            RS/6000 and PowerPC Options.
                                                               (line  507)
  * mcall-sysv-eabi:                       RS/6000 and PowerPC Options.
*************** look up both forms.
*** 63306,63344 ****
  * mcaller-copies:                        HPPA Options.       (line   23)
  * mcaller-super-interworking:            ARM Options.        (line  859)
  * mcallgraph-data:                       MCore Options.      (line   31)
! * mcase-vector-pcrel:                    ARC Options.        (line  448)
  * mcbcond:                               SPARC Options.      (line  260)
  * mcbranch-force-delay-slot:             SH Options.         (line  349)
! * mcc-init:                              CRIS Options.       (line   40)
  * mccrt:                                 C-SKY Options.      (line  155)
  * mcfv4e:                                M680x0 Options.     (line  169)
  * mcheck-zero-division:                  MIPS Options.       (line  570)
  * mcix:                                  DEC Alpha Options.  (line  163)
! * mcld:                                  x86 Options.        (line  960)
! * mcldemote:                             x86 Options.        (line  901)
  * mclear-hwcap:                          Solaris 2 Options.  (line    9)
! * mclflushopt:                           x86 Options.        (line  847)
  * mclip:                                 MeP Options.        (line   35)
! * mclwb:                                 x86 Options.        (line  848)
! * mclzero:                               x86 Options.        (line  881)
  * mcmodel:                               NDS32 Options.      (line   67)
  * mcmodel <1>:                           SPARC Options.      (line  320)
! * mcmodel=kernel:                        x86 Options.        (line 1545)
  * mcmodel=large:                         AArch64 Options.    (line   45)
  * mcmodel=large <1>:                     RS/6000 and PowerPC Options.
                                                               (line  131)
  * mcmodel=large <2>:                     TILE-Gx Options.    (line   14)
! * mcmodel=large <3>:                     x86 Options.        (line 1557)
  * mcmodel=medany:                        RISC-V Options.     (line  129)
  * mcmodel=medium:                        RS/6000 and PowerPC Options.
                                                               (line  126)
! * mcmodel=medium <1>:                    x86 Options.        (line 1550)
  * mcmodel=medlow:                        RISC-V Options.     (line  122)
  * mcmodel=small:                         AArch64 Options.    (line   39)
  * mcmodel=small <1>:                     RS/6000 and PowerPC Options.
                                                               (line  122)
  * mcmodel=small <2>:                     TILE-Gx Options.    (line    9)
! * mcmodel=small <3>:                     x86 Options.        (line 1539)
  * mcmodel=tiny:                          AArch64 Options.    (line   34)
  * mcmov:                                 NDS32 Options.      (line   21)
  * mcmov <1>:                             OpenRISC Options.   (line   45)
--- 63331,63369 ----
  * mcaller-copies:                        HPPA Options.       (line   23)
  * mcaller-super-interworking:            ARM Options.        (line  859)
  * mcallgraph-data:                       MCore Options.      (line   31)
! * mcase-vector-pcrel:                    ARC Options.        (line  450)
  * mcbcond:                               SPARC Options.      (line  260)
  * mcbranch-force-delay-slot:             SH Options.         (line  349)
! * mcc-init:                              CRIS Options.       (line   41)
  * mccrt:                                 C-SKY Options.      (line  155)
  * mcfv4e:                                M680x0 Options.     (line  169)
  * mcheck-zero-division:                  MIPS Options.       (line  570)
  * mcix:                                  DEC Alpha Options.  (line  163)
! * mcld:                                  x86 Options.        (line  971)
! * mcldemote:                             x86 Options.        (line  912)
  * mclear-hwcap:                          Solaris 2 Options.  (line    9)
! * mclflushopt:                           x86 Options.        (line  858)
  * mclip:                                 MeP Options.        (line   35)
! * mclwb:                                 x86 Options.        (line  859)
! * mclzero:                               x86 Options.        (line  892)
  * mcmodel:                               NDS32 Options.      (line   67)
  * mcmodel <1>:                           SPARC Options.      (line  320)
! * mcmodel=kernel:                        x86 Options.        (line 1556)
  * mcmodel=large:                         AArch64 Options.    (line   45)
  * mcmodel=large <1>:                     RS/6000 and PowerPC Options.
                                                               (line  131)
  * mcmodel=large <2>:                     TILE-Gx Options.    (line   14)
! * mcmodel=large <3>:                     x86 Options.        (line 1568)
  * mcmodel=medany:                        RISC-V Options.     (line  129)
  * mcmodel=medium:                        RS/6000 and PowerPC Options.
                                                               (line  126)
! * mcmodel=medium <1>:                    x86 Options.        (line 1561)
  * mcmodel=medlow:                        RISC-V Options.     (line  122)
  * mcmodel=small:                         AArch64 Options.    (line   39)
  * mcmodel=small <1>:                     RS/6000 and PowerPC Options.
                                                               (line  122)
  * mcmodel=small <2>:                     TILE-Gx Options.    (line    9)
! * mcmodel=small <3>:                     x86 Options.        (line 1550)
  * mcmodel=tiny:                          AArch64 Options.    (line   34)
  * mcmov:                                 NDS32 Options.      (line   21)
  * mcmov <1>:                             OpenRISC Options.   (line   45)
*************** look up both forms.
*** 63348,63360 ****
                                                               (line   25)
  * mcmse:                                 ARM Options.        (line  951)
  * mcode-density:                         ARC Options.        (line  163)
! * mcode-density-frame:                   ARC Options.        (line  509)
  * mcode-readable:                        MIPS Options.       (line  530)
  * mcode-region:                          MSP430 Options.     (line  150)
  * mcompact-branches=always:              MIPS Options.       (line  804)
  * mcompact-branches=never:               MIPS Options.       (line  804)
  * mcompact-branches=optimal:             MIPS Options.       (line  804)
! * mcompact-casesi:                       ARC Options.        (line  452)
  * mcompat-align-parm:                    RS/6000 and PowerPC Options.
                                                               (line  899)
  * mcompress:                             FT32 Options.       (line   26)
--- 63373,63385 ----
                                                               (line   25)
  * mcmse:                                 ARM Options.        (line  951)
  * mcode-density:                         ARC Options.        (line  163)
! * mcode-density-frame:                   ARC Options.        (line  511)
  * mcode-readable:                        MIPS Options.       (line  530)
  * mcode-region:                          MSP430 Options.     (line  150)
  * mcompact-branches=always:              MIPS Options.       (line  804)
  * mcompact-branches=never:               MIPS Options.       (line  804)
  * mcompact-branches=optimal:             MIPS Options.       (line  804)
! * mcompact-casesi:                       ARC Options.        (line  454)
  * mcompat-align-parm:                    RS/6000 and PowerPC Options.
                                                               (line  899)
  * mcompress:                             FT32 Options.       (line   26)
*************** look up both forms.
*** 63363,63370 ****
  * mconfig=:                              MeP Options.        (line   39)
  * mconsole:                              x86 Windows Options.
                                                               (line    9)
! * mconst-align:                          CRIS Options.       (line   53)
  * mconst16:                              Xtensa Options.     (line   10)
  * mconstant-gp:                          IA-64 Options.      (line   46)
  * mconstpool:                            C-SKY Options.      (line  143)
  * mcop:                                  MeP Options.        (line   48)
--- 63388,63396 ----
  * mconfig=:                              MeP Options.        (line   39)
  * mconsole:                              x86 Windows Options.
                                                               (line    9)
! * mconst-align:                          CRIS Options.       (line   54)
  * mconst16:                              Xtensa Options.     (line   10)
+ * mconstant-cfstrings:                   Darwin Options.     (line   74)
  * mconstant-gp:                          IA-64 Options.      (line   46)
  * mconstpool:                            C-SKY Options.      (line  143)
  * mcop:                                  MeP Options.        (line   48)
*************** look up both forms.
*** 63390,63396 ****
  * mcpu <13>:                             TILE-Gx Options.    (line   18)
  * mcpu <14>:                             TILEPro Options.    (line    9)
  * mcpu <15>:                             Visium Options.     (line   33)
! * mcpu <16>:                             x86 Options.        (line  512)
  * mcpu32:                                M680x0 Options.     (line  135)
  * mcpu=:                                 Blackfin Options.   (line    7)
  * mcpu= <1>:                             C-SKY Options.      (line   14)
--- 63416,63422 ----
  * mcpu <13>:                             TILE-Gx Options.    (line   18)
  * mcpu <14>:                             TILEPro Options.    (line    9)
  * mcpu <15>:                             Visium Options.     (line   33)
! * mcpu <16>:                             x86 Options.        (line  523)
  * mcpu32:                                M680x0 Options.     (line  135)
  * mcpu=:                                 Blackfin Options.   (line    7)
  * mcpu= <1>:                             C-SKY Options.      (line   14)
*************** look up both forms.
*** 63400,63406 ****
  * mcr16c:                                CR16 Options.       (line   14)
  * mcr16cplus:                            CR16 Options.       (line   14)
  * mcrc:                                  MIPS Options.       (line  416)
! * mcrc32:                                x86 Options.        (line 1028)
  * mcrypto:                               RS/6000 and PowerPC Options.
                                                               (line  178)
  * mcsync-anomaly:                        Blackfin Options.   (line   57)
--- 63426,63432 ----
  * mcr16c:                                CR16 Options.       (line   14)
  * mcr16cplus:                            CR16 Options.       (line   14)
  * mcrc:                                  MIPS Options.       (line  416)
! * mcrc32:                                x86 Options.        (line 1039)
  * mcrypto:                               RS/6000 and PowerPC Options.
                                                               (line  178)
  * mcsync-anomaly:                        Blackfin Options.   (line   57)
*************** look up both forms.
*** 63408,63421 ****
  * mctor-dtor:                            NDS32 Options.      (line   81)
  * mcustom-fpu-cfg:                       Nios II Options.    (line  259)
  * mcustom-INSN:                          Nios II Options.    (line  139)
! * mcx16:                                 x86 Options.        (line 1001)
  * MD:                                    Preprocessor Options.
                                                               (line  172)
  * mdalign:                               SH Options.         (line  132)
! * mdata-align:                           CRIS Options.       (line   53)
  * mdata-model:                           CR16 Options.       (line   28)
  * mdata-region:                          MSP430 Options.     (line  150)
! * mdaz-ftz:                              x86 Options.        (line  760)
  * mdc:                                   MeP Options.        (line   62)
  * mdebug:                                M32R/D Options.     (line   69)
  * mdebug <1>:                            S/390 and zSeries Options.
--- 63434,63447 ----
  * mctor-dtor:                            NDS32 Options.      (line   81)
  * mcustom-fpu-cfg:                       Nios II Options.    (line  259)
  * mcustom-INSN:                          Nios II Options.    (line  139)
! * mcx16:                                 x86 Options.        (line 1012)
  * MD:                                    Preprocessor Options.
                                                               (line  172)
  * mdalign:                               SH Options.         (line  132)
! * mdata-align:                           CRIS Options.       (line   54)
  * mdata-model:                           CR16 Options.       (line   28)
  * mdata-region:                          MSP430 Options.     (line  150)
! * mdaz-ftz:                              x86 Options.        (line  771)
  * mdc:                                   MeP Options.        (line   62)
  * mdebug:                                M32R/D Options.     (line   69)
  * mdebug <1>:                            S/390 and zSeries Options.
*************** look up both forms.
*** 63442,63448 ****
  * mdlmzb:                                RS/6000 and PowerPC Options.
                                                               (line  385)
  * mdmx:                                  MIPS Options.       (line  376)
! * mdouble:                               AVR Options.        (line  194)
  * mdouble <1>:                           FRV Options.        (line   48)
  * mdouble-float:                         C-SKY Options.      (line   58)
  * mdouble-float <1>:                     MIPS Options.       (line  288)
--- 63468,63474 ----
  * mdlmzb:                                RS/6000 and PowerPC Options.
                                                               (line  385)
  * mdmx:                                  MIPS Options.       (line  376)
! * mdouble:                               AVR Options.        (line  195)
  * mdouble <1>:                           FRV Options.        (line   48)
  * mdouble-float:                         C-SKY Options.      (line   58)
  * mdouble-float <1>:                     MIPS Options.       (line  288)
*************** look up both forms.
*** 63450,63463 ****
  * mdpfp:                                 ARC Options.        (line   99)
  * mdpfp-compact:                         ARC Options.        (line  100)
  * mdpfp-fast:                            ARC Options.        (line  104)
! * mdpfp_compact:                         ARC Options.        (line  611)
! * mdpfp_fast:                            ARC Options.        (line  614)
  * mdsp:                                  C-SKY Options.      (line  102)
  * mdsp <1>:                              MIPS Options.       (line  353)
  * mdsp-packa:                            ARC Options.        (line  335)
  * mdspr2:                                MIPS Options.       (line  359)
! * mdsp_packa:                            ARC Options.        (line  617)
! * mdump-tune-features:                   x86 Options.        (line  942)
  * mdvbf:                                 ARC Options.        (line  340)
  * mdwarf2-asm:                           IA-64 Options.      (line   94)
  * mdword:                                FRV Options.        (line   40)
--- 63476,63489 ----
  * mdpfp:                                 ARC Options.        (line   99)
  * mdpfp-compact:                         ARC Options.        (line  100)
  * mdpfp-fast:                            ARC Options.        (line  104)
! * mdpfp_compact:                         ARC Options.        (line  616)
! * mdpfp_fast:                            ARC Options.        (line  619)
  * mdsp:                                  C-SKY Options.      (line  102)
  * mdsp <1>:                              MIPS Options.       (line  353)
  * mdsp-packa:                            ARC Options.        (line  335)
  * mdspr2:                                MIPS Options.       (line  359)
! * mdsp_packa:                            ARC Options.        (line  622)
! * mdump-tune-features:                   x86 Options.        (line  953)
  * mdvbf:                                 ARC Options.        (line  340)
  * mdwarf2-asm:                           IA-64 Options.      (line   94)
  * mdword:                                FRV Options.        (line   40)
*************** look up both forms.
*** 63465,63474 ****
  * mdynamic-no-pic:                       RS/6000 and PowerPC Options.
                                                               (line  445)
  * mea:                                   ARC Options.        (line  112)
! * mEA:                                   ARC Options.        (line  620)
  * meabi:                                 RS/6000 and PowerPC Options.
                                                               (line  633)
! * mearly-cbranchsi:                      ARC Options.        (line  474)
  * mearly-stop-bits:                      IA-64 Options.      (line  100)
  * meb:                                   MeP Options.        (line   68)
  * meb <1>:                               Moxie Options.      (line    7)
--- 63491,63500 ----
  * mdynamic-no-pic:                       RS/6000 and PowerPC Options.
                                                               (line  445)
  * mea:                                   ARC Options.        (line  112)
! * mEA:                                   ARC Options.        (line  625)
  * meabi:                                 RS/6000 and PowerPC Options.
                                                               (line  633)
! * mearly-cbranchsi:                      ARC Options.        (line  476)
  * mearly-stop-bits:                      IA-64 Options.      (line  100)
  * meb:                                   MeP Options.        (line   68)
  * meb <1>:                               Moxie Options.      (line    7)
*************** look up both forms.
*** 63479,63500 ****
  * mel <1>:                               Moxie Options.      (line   11)
  * mel <2>:                               Nios II Options.    (line   90)
  * mel <3>:                               Score Options.      (line   12)
! * melf:                                  CRIS Options.       (line   78)
  * melf <1>:                              MMIX Options.       (line   43)
  * melrw:                                 C-SKY Options.      (line   76)
  * memb:                                  RS/6000 and PowerPC Options.
                                                               (line  628)
  * membedded-data:                        MIPS Options.       (line  517)
  * memregs=:                              M32C Options.       (line   21)
! * menqcmd:                               x86 Options.        (line  892)
  * mep:                                   V850 Options.       (line   16)
  * mepsilon:                              MMIX Options.       (line   15)
  * mesa:                                  S/390 and zSeries Options.
                                                               (line   94)
! * metrax100:                             CRIS Options.       (line   25)
! * metrax4:                               CRIS Options.       (line   25)
  * meva:                                  MIPS Options.       (line  403)
! * mexpand-adddi:                         ARC Options.        (line  477)
  * mexplicit-relocs:                      DEC Alpha Options.  (line  176)
  * mexplicit-relocs <1>:                  MIPS Options.       (line  561)
  * mexr:                                  H8/300 Options.     (line   28)
--- 63505,63526 ----
  * mel <1>:                               Moxie Options.      (line   11)
  * mel <2>:                               Nios II Options.    (line   90)
  * mel <3>:                               Score Options.      (line   12)
! * melf:                                  CRIS Options.       (line   79)
  * melf <1>:                              MMIX Options.       (line   43)
  * melrw:                                 C-SKY Options.      (line   76)
  * memb:                                  RS/6000 and PowerPC Options.
                                                               (line  628)
  * membedded-data:                        MIPS Options.       (line  517)
  * memregs=:                              M32C Options.       (line   21)
! * menqcmd:                               x86 Options.        (line  903)
  * mep:                                   V850 Options.       (line   16)
  * mepsilon:                              MMIX Options.       (line   15)
  * mesa:                                  S/390 and zSeries Options.
                                                               (line   94)
! * metrax100:                             CRIS Options.       (line   26)
! * metrax4:                               CRIS Options.       (line   26)
  * meva:                                  MIPS Options.       (line  403)
! * mexpand-adddi:                         ARC Options.        (line  479)
  * mexplicit-relocs:                      DEC Alpha Options.  (line  176)
  * mexplicit-relocs <1>:                  MIPS Options.       (line  561)
  * mexr:                                  H8/300 Options.     (line   28)
*************** look up both forms.
*** 63505,63512 ****
  * mextern-sdata:                         MIPS Options.       (line  480)
  * MF:                                    Preprocessor Options.
                                                               (line  111)
! * mf16c:                                 x86 Options.        (line  852)
! * mfancy-math-387:                       x86 Options.        (line  607)
  * mfast-fp:                              Blackfin Options.   (line  130)
  * mfast-indirect-calls:                  HPPA Options.       (line   52)
  * mfast-sw-div:                          Nios II Options.    (line  115)
--- 63531,63538 ----
  * mextern-sdata:                         MIPS Options.       (line  480)
  * MF:                                    Preprocessor Options.
                                                               (line  111)
! * mf16c:                                 x86 Options.        (line  863)
! * mfancy-math-387:                       x86 Options.        (line  618)
  * mfast-fp:                              Blackfin Options.   (line  130)
  * mfast-indirect-calls:                  HPPA Options.       (line   52)
  * mfast-sw-div:                          Nios II Options.    (line  115)
*************** look up both forms.
*** 63515,63526 ****
  * mfdivdu:                               C-SKY Options.      (line   64)
  * mfdpic:                                ARM Options.        (line  966)
  * mfdpic <1>:                            FRV Options.        (line   72)
! * mfentry:                               x86 Options.        (line 1366)
! * mfentry-name:                          x86 Options.        (line 1397)
! * mfentry-section:                       x86 Options.        (line 1401)
  * mfix:                                  DEC Alpha Options.  (line  163)
  * mfix-24k:                              MIPS Options.       (line  641)
! * mfix-and-continue:                     Darwin Options.     (line  104)
  * mfix-at697f:                           SPARC Options.      (line  294)
  * mfix-cmse-cve-2021-35465:              ARM Options.        (line  957)
  * mfix-cortex-a53-835769:                AArch64 Options.    (line   90)
--- 63541,63552 ----
  * mfdivdu:                               C-SKY Options.      (line   64)
  * mfdpic:                                ARM Options.        (line  966)
  * mfdpic <1>:                            FRV Options.        (line   72)
! * mfentry:                               x86 Options.        (line 1377)
! * mfentry-name:                          x86 Options.        (line 1408)
! * mfentry-section:                       x86 Options.        (line 1412)
  * mfix:                                  DEC Alpha Options.  (line  163)
  * mfix-24k:                              MIPS Options.       (line  641)
! * mfix-and-continue:                     Darwin Options.     (line  112)
  * mfix-at697f:                           SPARC Options.      (line  294)
  * mfix-cmse-cve-2021-35465:              ARM Options.        (line  957)
  * mfix-cortex-a53-835769:                AArch64 Options.    (line   90)
*************** look up both forms.
*** 63555,63578 ****
  * mflush-func:                           MIPS Options.       (line  776)
  * mflush-func=NAME:                      M32R/D Options.     (line   93)
  * mflush-trap=NUMBER:                    M32R/D Options.     (line   86)
! * mfma:                                  x86 Options.        (line  853)
! * mfma4:                                 x86 Options.        (line  856)
  * mfmaf:                                 SPARC Options.      (line  267)
  * mfmovd:                                SH Options.         (line  148)
! * mforce-indirect-call:                  x86 Options.        (line 1121)
  * mforce-no-pic:                         Xtensa Options.     (line   41)
  * mfp-exceptions:                        MIPS Options.       (line  824)
  * mfp-mode:                              Adapteva Epiphany Options.
                                                               (line   71)
  * mfp-reg:                               DEC Alpha Options.  (line   25)
! * mfp-ret-in-387:                        x86 Options.        (line  597)
  * mfp-rounding-mode:                     DEC Alpha Options.  (line   85)
  * mfp-trap-mode:                         DEC Alpha Options.  (line   63)
  * mfp16-format:                          ARM Options.        (line  729)
  * mfp32:                                 MIPS Options.       (line  258)
  * mfp64:                                 MIPS Options.       (line  261)
  * mfpmath:                               Optimize Options.   (line 2265)
! * mfpmath <1>:                           x86 Options.        (line  515)
  * mfpr-32:                               FRV Options.        (line   15)
  * mfpr-64:                               FRV Options.        (line   19)
  * mfprnd:                                RS/6000 and PowerPC Options.
--- 63581,63604 ----
  * mflush-func:                           MIPS Options.       (line  776)
  * mflush-func=NAME:                      M32R/D Options.     (line   93)
  * mflush-trap=NUMBER:                    M32R/D Options.     (line   86)
! * mfma:                                  x86 Options.        (line  864)
! * mfma4:                                 x86 Options.        (line  867)
  * mfmaf:                                 SPARC Options.      (line  267)
  * mfmovd:                                SH Options.         (line  148)
! * mforce-indirect-call:                  x86 Options.        (line 1132)
  * mforce-no-pic:                         Xtensa Options.     (line   41)
  * mfp-exceptions:                        MIPS Options.       (line  824)
  * mfp-mode:                              Adapteva Epiphany Options.
                                                               (line   71)
  * mfp-reg:                               DEC Alpha Options.  (line   25)
! * mfp-ret-in-387:                        x86 Options.        (line  608)
  * mfp-rounding-mode:                     DEC Alpha Options.  (line   85)
  * mfp-trap-mode:                         DEC Alpha Options.  (line   63)
  * mfp16-format:                          ARM Options.        (line  729)
  * mfp32:                                 MIPS Options.       (line  258)
  * mfp64:                                 MIPS Options.       (line  261)
  * mfpmath:                               Optimize Options.   (line 2265)
! * mfpmath <1>:                           x86 Options.        (line  526)
  * mfpr-32:                               FRV Options.        (line   15)
  * mfpr-64:                               FRV Options.        (line   19)
  * mfprnd:                                RS/6000 and PowerPC Options.
*************** look up both forms.
*** 63584,63602 ****
  * mfpu <4>:                              Visium Options.     (line   19)
  * mfpu=:                                 C-SKY Options.      (line   69)
  * mfpxx:                                 MIPS Options.       (line  264)
! * mfract-convert-truncate:               AVR Options.        (line  284)
  * mframe-header-opt:                     MIPS Options.       (line  885)
  * mfriz:                                 RS/6000 and PowerPC Options.
                                                               (line  870)
  * mfsca:                                 SH Options.         (line  365)
! * mfsgsbase:                             x86 Options.        (line  849)
  * mfsmuld:                               SPARC Options.      (line  274)
  * mfsrra:                                SH Options.         (line  374)
  * mft32b:                                FT32 Options.       (line   23)
  * mfull-regs:                            NDS32 Options.      (line   18)
  * mfull-toc:                             RS/6000 and PowerPC Options.
                                                               (line  256)
! * mfunction-return:                      x86 Options.        (line 1469)
  * mfused-madd:                           IA-64 Options.      (line   88)
  * mfused-madd <1>:                       MIPS Options.       (line  624)
  * mfused-madd <2>:                       RS/6000 and PowerPC Options.
--- 63610,63628 ----
  * mfpu <4>:                              Visium Options.     (line   19)
  * mfpu=:                                 C-SKY Options.      (line   69)
  * mfpxx:                                 MIPS Options.       (line  264)
! * mfract-convert-truncate:               AVR Options.        (line  286)
  * mframe-header-opt:                     MIPS Options.       (line  885)
  * mfriz:                                 RS/6000 and PowerPC Options.
                                                               (line  870)
  * mfsca:                                 SH Options.         (line  365)
! * mfsgsbase:                             x86 Options.        (line  860)
  * mfsmuld:                               SPARC Options.      (line  274)
  * mfsrra:                                SH Options.         (line  374)
  * mft32b:                                FT32 Options.       (line   23)
  * mfull-regs:                            NDS32 Options.      (line   18)
  * mfull-toc:                             RS/6000 and PowerPC Options.
                                                               (line  256)
! * mfunction-return:                      x86 Options.        (line 1480)
  * mfused-madd:                           IA-64 Options.      (line   88)
  * mfused-madd <1>:                       MIPS Options.       (line  624)
  * mfused-madd <2>:                       RS/6000 and PowerPC Options.
*************** look up both forms.
*** 63605,63611 ****
                                                               (line  183)
  * mfused-madd <4>:                       SH Options.         (line  356)
  * mfused-madd <5>:                       Xtensa Options.     (line   19)
! * mfxsr:                                 x86 Options.        (line  872)
  * MG:                                    Preprocessor Options.
                                                               (line  122)
  * mg:                                    VAX Options.        (line   17)
--- 63631,63637 ----
                                                               (line  183)
  * mfused-madd <4>:                       SH Options.         (line  356)
  * mfused-madd <5>:                       Xtensa Options.     (line   19)
! * mfxsr:                                 x86 Options.        (line  883)
  * MG:                                    Preprocessor Options.
                                                               (line  122)
  * mg:                                    VAX Options.        (line   17)
*************** look up both forms.
*** 63613,63624 ****
  * mg13:                                  RL78 Options.       (line   62)
  * mg14:                                  RL78 Options.       (line   62)
  * mgas:                                  HPPA Options.       (line   75)
! * mgas-isr-prologues:                    AVR Options.        (line  202)
  * mgcc-abi:                              V850 Options.       (line  148)
  * mgeneral-regs-only:                    AArch64 Options.    (line   24)
  * mgeneral-regs-only <1>:                ARM Options.        (line   57)
! * mgeneral-regs-only <2>:                x86 Options.        (line 1445)
! * mgfni:                                 x86 Options.        (line  885)
  * mghs:                                  V850 Options.       (line  127)
  * mginv:                                 MIPS Options.       (line  421)
  * mglibc:                                GNU/Linux Options.  (line    9)
--- 63639,63650 ----
  * mg13:                                  RL78 Options.       (line   62)
  * mg14:                                  RL78 Options.       (line   62)
  * mgas:                                  HPPA Options.       (line   75)
! * mgas-isr-prologues:                    AVR Options.        (line  203)
  * mgcc-abi:                              V850 Options.       (line  148)
  * mgeneral-regs-only:                    AArch64 Options.    (line   24)
  * mgeneral-regs-only <1>:                ARM Options.        (line   57)
! * mgeneral-regs-only <2>:                x86 Options.        (line 1456)
! * mgfni:                                 x86 Options.        (line  896)
  * mghs:                                  V850 Options.       (line  127)
  * mginv:                                 MIPS Options.       (line  421)
  * mglibc:                                GNU/Linux Options.  (line    9)
*************** look up both forms.
*** 63660,63677 ****
  * mhard-float <8>:                       SPARC Options.      (line   34)
  * mhard-float <9>:                       V850 Options.       (line  113)
  * mhard-float <10>:                      Visium Options.     (line   19)
! * mhard-float <11>:                      x86 Options.        (line  580)
  * mhard-mul:                             OpenRISC Options.   (line   24)
  * mhard-quad-float:                      SPARC Options.      (line   55)
  * mharden-sls:                           AArch64 Options.    (line  297)
! * mharden-sls <1>:                       x86 Options.        (line 1491)
  * mhardlit:                              MCore Options.      (line   10)
  * mhigh-registers:                       C-SKY Options.      (line  120)
! * mhle:                                  x86 Options.        (line  878)
  * mhotpatch:                             S/390 and zSeries Options.
                                                               (line  218)
  * mhp-ld:                                HPPA Options.       (line  123)
! * mhreset:                               x86 Options.        (line  906)
  * mhtm:                                  RS/6000 and PowerPC Options.
                                                               (line  184)
  * mhtm <1>:                              S/390 and zSeries Options.
--- 63686,63703 ----
  * mhard-float <8>:                       SPARC Options.      (line   34)
  * mhard-float <9>:                       V850 Options.       (line  113)
  * mhard-float <10>:                      Visium Options.     (line   19)
! * mhard-float <11>:                      x86 Options.        (line  591)
  * mhard-mul:                             OpenRISC Options.   (line   24)
  * mhard-quad-float:                      SPARC Options.      (line   55)
  * mharden-sls:                           AArch64 Options.    (line  297)
! * mharden-sls <1>:                       x86 Options.        (line 1502)
  * mhardlit:                              MCore Options.      (line   10)
  * mhigh-registers:                       C-SKY Options.      (line  120)
! * mhle:                                  x86 Options.        (line  889)
  * mhotpatch:                             S/390 and zSeries Options.
                                                               (line  218)
  * mhp-ld:                                HPPA Options.       (line  123)
! * mhreset:                               x86 Options.        (line  917)
  * mhtm:                                  RS/6000 and PowerPC Options.
                                                               (line  184)
  * mhtm <1>:                              S/390 and zSeries Options.
*************** look up both forms.
*** 63680,63703 ****
  * mhw-mul:                               Nios II Options.    (line  124)
  * mhw-mulx:                              Nios II Options.    (line  124)
  * mhwmult=:                              MSP430 Options.     (line   93)
! * miamcu:                                x86 Options.        (line 1511)
  * micplb:                                Blackfin Options.   (line  175)
  * mid-shared-library:                    Blackfin Options.   (line   78)
  * mid-shared-library <1>:                Blackfin Options.   (line   85)
  * mieee:                                 DEC Alpha Options.  (line   39)
  * mieee <1>:                             SH Options.         (line  165)
  * mieee-conformant:                      DEC Alpha Options.  (line  134)
! * mieee-fp:                              x86 Options.        (line  574)
  * mieee-with-inexact:                    DEC Alpha Options.  (line   52)
  * milp32:                                IA-64 Options.      (line  121)
  * mimadd:                                MIPS Options.       (line  617)
  * mimpure-text:                          Solaris 2 Options.  (line   15)
! * mincoming-stack-boundary:              x86 Options.        (line  799)
! * mindexed-loads:                        ARC Options.        (line  481)
! * mindirect-branch:                      x86 Options.        (line 1450)
! * mindirect-branch-cs-prefix:            x86 Options.        (line 1498)
! * mindirect-branch-register:             x86 Options.        (line 1488)
! * minline-all-stringops:                 x86 Options.        (line 1297)
  * minline-float-divide-max-throughput:   IA-64 Options.      (line   58)
  * minline-float-divide-min-latency:      IA-64 Options.      (line   54)
  * minline-ic_invalidate:                 SH Options.         (line  174)
--- 63706,63729 ----
  * mhw-mul:                               Nios II Options.    (line  124)
  * mhw-mulx:                              Nios II Options.    (line  124)
  * mhwmult=:                              MSP430 Options.     (line   93)
! * miamcu:                                x86 Options.        (line 1522)
  * micplb:                                Blackfin Options.   (line  175)
  * mid-shared-library:                    Blackfin Options.   (line   78)
  * mid-shared-library <1>:                Blackfin Options.   (line   85)
  * mieee:                                 DEC Alpha Options.  (line   39)
  * mieee <1>:                             SH Options.         (line  165)
  * mieee-conformant:                      DEC Alpha Options.  (line  134)
! * mieee-fp:                              x86 Options.        (line  585)
  * mieee-with-inexact:                    DEC Alpha Options.  (line   52)
  * milp32:                                IA-64 Options.      (line  121)
  * mimadd:                                MIPS Options.       (line  617)
  * mimpure-text:                          Solaris 2 Options.  (line   15)
! * mincoming-stack-boundary:              x86 Options.        (line  810)
! * mindexed-loads:                        ARC Options.        (line  483)
! * mindirect-branch:                      x86 Options.        (line 1461)
! * mindirect-branch-cs-prefix:            x86 Options.        (line 1509)
! * mindirect-branch-register:             x86 Options.        (line 1499)
! * minline-all-stringops:                 x86 Options.        (line 1308)
  * minline-float-divide-max-throughput:   IA-64 Options.      (line   58)
  * minline-float-divide-min-latency:      IA-64 Options.      (line   54)
  * minline-ic_invalidate:                 SH Options.         (line  174)
*************** look up both forms.
*** 63708,63725 ****
  * minline-plt <1>:                       FRV Options.        (line   81)
  * minline-sqrt-max-throughput:           IA-64 Options.      (line   80)
  * minline-sqrt-min-latency:              IA-64 Options.      (line   76)
! * minline-stringops-dynamically:         x86 Options.        (line 1305)
  * minrt:                                 MSP430 Options.     (line  115)
  * minrt <1>:                             PRU Options.        (line    9)
  * minsert-sched-nops:                    RS/6000 and PowerPC Options.
                                                               (line  485)
! * minstrument-return:                    x86 Options.        (line 1385)
  * mint-register:                         RX Options.         (line  100)
  * mint16:                                PDP-11 Options.     (line   33)
  * mint32:                                CR16 Options.       (line   22)
  * mint32 <1>:                            H8/300 Options.     (line   38)
  * mint32 <2>:                            PDP-11 Options.     (line   37)
! * mint8:                                 AVR Options.        (line  211)
  * minterlink-compressed:                 MIPS Options.       (line  135)
  * minterlink-mips16:                     MIPS Options.       (line  147)
  * mio-volatile:                          MeP Options.        (line   74)
--- 63734,63751 ----
  * minline-plt <1>:                       FRV Options.        (line   81)
  * minline-sqrt-max-throughput:           IA-64 Options.      (line   80)
  * minline-sqrt-min-latency:              IA-64 Options.      (line   76)
! * minline-stringops-dynamically:         x86 Options.        (line 1316)
  * minrt:                                 MSP430 Options.     (line  115)
  * minrt <1>:                             PRU Options.        (line    9)
  * minsert-sched-nops:                    RS/6000 and PowerPC Options.
                                                               (line  485)
! * minstrument-return:                    x86 Options.        (line 1396)
  * mint-register:                         RX Options.         (line  100)
  * mint16:                                PDP-11 Options.     (line   33)
  * mint32:                                CR16 Options.       (line   22)
  * mint32 <1>:                            H8/300 Options.     (line   38)
  * mint32 <2>:                            PDP-11 Options.     (line   37)
! * mint8:                                 AVR Options.        (line  213)
  * minterlink-compressed:                 MIPS Options.       (line  135)
  * minterlink-mips16:                     MIPS Options.       (line  147)
  * mio-volatile:                          MeP Options.        (line   74)
*************** look up both forms.
*** 63750,63764 ****
  * mjli-alawys:                           ARC Options.        (line   14)
  * mjsr:                                  RX Options.         (line  169)
  * mjump-in-delay:                        HPPA Options.       (line   30)
! * mkernel:                               Darwin Options.     (line   82)
  * mkernel <1>:                           eBPF Options.       (line   13)
! * mkl:                                   x86 Options.        (line  907)
  * mknuthdiv:                             MMIX Options.       (line   32)
  * ml:                                    MeP Options.        (line   78)
  * ml <1>:                                SH Options.         (line  129)
  * mlarge:                                MSP430 Options.     (line   82)
  * mlarge-data:                           DEC Alpha Options.  (line  187)
! * mlarge-data-threshold:                 x86 Options.        (line  679)
  * mlarge-text:                           DEC Alpha Options.  (line  205)
  * mleadz:                                MeP Options.        (line   81)
  * mleaf-id-shared-library:               Blackfin Options.   (line   89)
--- 63776,63790 ----
  * mjli-alawys:                           ARC Options.        (line   14)
  * mjsr:                                  RX Options.         (line  169)
  * mjump-in-delay:                        HPPA Options.       (line   30)
! * mkernel:                               Darwin Options.     (line   90)
  * mkernel <1>:                           eBPF Options.       (line   13)
! * mkl:                                   x86 Options.        (line  918)
  * mknuthdiv:                             MMIX Options.       (line   32)
  * ml:                                    MeP Options.        (line   78)
  * ml <1>:                                SH Options.         (line  129)
  * mlarge:                                MSP430 Options.     (line   82)
  * mlarge-data:                           DEC Alpha Options.  (line  187)
! * mlarge-data-threshold:                 x86 Options.        (line  690)
  * mlarge-text:                           DEC Alpha Options.  (line  205)
  * mleadz:                                MeP Options.        (line   81)
  * mleaf-id-shared-library:               Blackfin Options.   (line   89)
*************** look up both forms.
*** 63770,63776 ****
  * mlittle:                               RS/6000 and PowerPC Options.
                                                               (line  434)
  * mlittle-endian:                        AArch64 Options.    (line   30)
! * mlittle-endian <1>:                    ARC Options.        (line  601)
  * mlittle-endian <2>:                    ARM Options.        (line   63)
  * mlittle-endian <3>:                    C6X Options.        (line   16)
  * mlittle-endian <4>:                    C-SKY Options.      (line   30)
--- 63796,63802 ----
  * mlittle:                               RS/6000 and PowerPC Options.
                                                               (line  434)
  * mlittle-endian:                        AArch64 Options.    (line   30)
! * mlittle-endian <1>:                    ARC Options.        (line  605)
  * mlittle-endian <2>:                    ARM Options.        (line   63)
  * mlittle-endian <3>:                    C6X Options.        (line   16)
  * mlittle-endian <4>:                    C-SKY Options.      (line   30)
*************** look up both forms.
*** 63792,63812 ****
  * mlock:                                 ARC Options.        (line  345)
  * mlong-calls:                           Adapteva Epiphany Options.
                                                               (line   55)
! * mlong-calls <1>:                       ARC Options.        (line  402)
  * mlong-calls <2>:                       ARM Options.        (line  756)
  * mlong-calls <3>:                       Blackfin Options.   (line  118)
  * mlong-calls <4>:                       FRV Options.        (line  122)
  * mlong-calls <5>:                       HPPA Options.       (line  136)
  * mlong-calls <6>:                       MIPS Options.       (line  603)
  * mlong-calls <7>:                       V850 Options.       (line   10)
! * mlong-double:                          AVR Options.        (line  194)
  * mlong-double-128:                      S/390 and zSeries Options.
                                                               (line   29)
! * mlong-double-128 <1>:                  x86 Options.        (line  658)
  * mlong-double-64:                       S/390 and zSeries Options.
                                                               (line   29)
! * mlong-double-64 <1>:                   x86 Options.        (line  658)
! * mlong-double-80:                       x86 Options.        (line  658)
  * mlong-jump-table-offsets:              M680x0 Options.     (line  339)
  * mlong-jumps:                           V850 Options.       (line  108)
  * mlong-load-store:                      HPPA Options.       (line   66)
--- 63818,63838 ----
  * mlock:                                 ARC Options.        (line  345)
  * mlong-calls:                           Adapteva Epiphany Options.
                                                               (line   55)
! * mlong-calls <1>:                       ARC Options.        (line  404)
  * mlong-calls <2>:                       ARM Options.        (line  756)
  * mlong-calls <3>:                       Blackfin Options.   (line  118)
  * mlong-calls <4>:                       FRV Options.        (line  122)
  * mlong-calls <5>:                       HPPA Options.       (line  136)
  * mlong-calls <6>:                       MIPS Options.       (line  603)
  * mlong-calls <7>:                       V850 Options.       (line   10)
! * mlong-double:                          AVR Options.        (line  195)
  * mlong-double-128:                      S/390 and zSeries Options.
                                                               (line   29)
! * mlong-double-128 <1>:                  x86 Options.        (line  669)
  * mlong-double-64:                       S/390 and zSeries Options.
                                                               (line   29)
! * mlong-double-64 <1>:                   x86 Options.        (line  669)
! * mlong-double-80:                       x86 Options.        (line  669)
  * mlong-jump-table-offsets:              M680x0 Options.     (line  339)
  * mlong-jumps:                           V850 Options.       (line  108)
  * mlong-load-store:                      HPPA Options.       (line   66)
*************** look up both forms.
*** 63826,63841 ****
  * mlow64k:                               Blackfin Options.   (line   67)
  * mlp64:                                 IA-64 Options.      (line  121)
  * mlpc-width:                            ARC Options.        (line  313)
! * mlra:                                  ARC Options.        (line  486)
  * mlra <1>:                              FT32 Options.       (line   16)
  * mlra <2>:                              PDP-11 Options.     (line   52)
  * mlra <3>:                              SPARC Options.      (line  111)
! * mlra-priority-compact:                 ARC Options.        (line  494)
! * mlra-priority-noncompact:              ARC Options.        (line  497)
! * mlra-priority-none:                    ARC Options.        (line  491)
! * mlwp:                                  x86 Options.        (line  863)
  * mlxc1-sxc1:                            MIPS Options.       (line  895)
! * mlzcnt:                                x86 Options.        (line  871)
  * MM:                                    Preprocessor Options.
                                                               (line  102)
  * mm:                                    MeP Options.        (line   84)
--- 63852,63867 ----
  * mlow64k:                               Blackfin Options.   (line   67)
  * mlp64:                                 IA-64 Options.      (line  121)
  * mlpc-width:                            ARC Options.        (line  313)
! * mlra:                                  ARC Options.        (line  488)
  * mlra <1>:                              FT32 Options.       (line   16)
  * mlra <2>:                              PDP-11 Options.     (line   52)
  * mlra <3>:                              SPARC Options.      (line  111)
! * mlra-priority-compact:                 ARC Options.        (line  496)
! * mlra-priority-noncompact:              ARC Options.        (line  499)
! * mlra-priority-none:                    ARC Options.        (line  493)
! * mlwp:                                  x86 Options.        (line  874)
  * mlxc1-sxc1:                            MIPS Options.       (line  895)
! * mlzcnt:                                x86 Options.        (line  882)
  * MM:                                    Preprocessor Options.
                                                               (line  102)
  * mm:                                    MeP Options.        (line   84)
*************** look up both forms.
*** 63843,63860 ****
  * mmac <1>:                              Score Options.      (line   21)
  * mmac-24:                               ARC Options.        (line  354)
  * mmac-d16:                              ARC Options.        (line  350)
! * mmac_24:                               ARC Options.        (line  623)
! * mmac_d16:                              ARC Options.        (line  626)
  * mmad:                                  MIPS Options.       (line  612)
  * mmadd4:                                MIPS Options.       (line  900)
! * mmain-is-OS_task:                      AVR Options.        (line  217)
  * mmainkernel:                           Nvidia PTX Options. (line   18)
  * mmalloc64:                             VMS Options.        (line   17)
! * mmanual-endbr:                         x86 Options.        (line 1126)
  * mmax:                                  DEC Alpha Options.  (line  163)
  * mmax-constant-size:                    RX Options.         (line   82)
  * mmax-inline-shift=:                    MSP430 Options.     (line  134)
! * mmax-stack-frame:                      CRIS Options.       (line   21)
  * mmcount-ra-address:                    MIPS Options.       (line  872)
  * mmcu:                                  AVR Options.        (line    9)
  * mmcu <1>:                              MIPS Options.       (line  399)
--- 63869,63887 ----
  * mmac <1>:                              Score Options.      (line   21)
  * mmac-24:                               ARC Options.        (line  354)
  * mmac-d16:                              ARC Options.        (line  350)
! * mmacosx-version-min:                   Darwin Options.     (line   79)
! * mmac_24:                               ARC Options.        (line  628)
! * mmac_d16:                              ARC Options.        (line  631)
  * mmad:                                  MIPS Options.       (line  612)
  * mmadd4:                                MIPS Options.       (line  900)
! * mmain-is-OS_task:                      AVR Options.        (line  219)
  * mmainkernel:                           Nvidia PTX Options. (line   18)
  * mmalloc64:                             VMS Options.        (line   17)
! * mmanual-endbr:                         x86 Options.        (line 1137)
  * mmax:                                  DEC Alpha Options.  (line  163)
  * mmax-constant-size:                    RX Options.         (line   82)
  * mmax-inline-shift=:                    MSP430 Options.     (line  134)
! * mmax-stack-frame:                      CRIS Options.       (line   22)
  * mmcount-ra-address:                    MIPS Options.       (line  872)
  * mmcu:                                  AVR Options.        (line    9)
  * mmcu <1>:                              MIPS Options.       (line  399)
*************** look up both forms.
*** 63863,63899 ****
  * MMD:                                   Preprocessor Options.
                                                               (line  188)
  * mmedia:                                FRV Options.        (line   56)
! * mmedium-calls:                         ARC Options.        (line  406)
  * mmemcpy:                               MicroBlaze Options. (line   13)
  * mmemcpy <1>:                           MIPS Options.       (line  597)
! * mmemcpy-strategy=STRATEGY:             x86 Options.        (line 1327)
  * mmemory-latency:                       DEC Alpha Options.  (line  268)
  * mmemory-model:                         SPARC Options.      (line  348)
! * mmemset-strategy=STRATEGY:             x86 Options.        (line 1339)
  * mmfcrf:                                RS/6000 and PowerPC Options.
                                                               (line   25)
  * mmicromips:                            MIPS Options.       (line  387)
! * mmillicode:                            ARC Options.        (line  500)
  * mminimal-toc:                          RS/6000 and PowerPC Options.
                                                               (line  256)
  * mminmax:                               MeP Options.        (line   87)
! * mmixed-code:                           ARC Options.        (line  514)
  * mmma:                                  RS/6000 and PowerPC Options.
                                                               (line  944)
! * mmmx:                                  x86 Options.        (line  824)
  * mmodel=large:                          M32R/D Options.     (line   33)
  * mmodel=medium:                         M32R/D Options.     (line   27)
  * mmodel=small:                          M32R/D Options.     (line   18)
! * mmovbe:                                x86 Options.        (line 1020)
! * mmovdir64b:                            x86 Options.        (line  891)
! * mmovdiri:                              x86 Options.        (line  890)
  * mmp:                                   C-SKY Options.      (line   87)
  * mmpy:                                  ARC Options.        (line  117)
  * mmpy-option:                           ARC Options.        (line  173)
! * mms-bitfields:                         x86 Options.        (line 1172)
  * mmt:                                   MIPS Options.       (line  395)
  * mmul:                                  RL78 Options.       (line   15)
! * mmul-bug-workaround:                   CRIS Options.       (line   30)
  * mmul.x:                                Moxie Options.      (line   14)
  * mmul32x16:                             ARC Options.        (line  121)
  * mmul64:                                ARC Options.        (line  124)
--- 63890,63926 ----
  * MMD:                                   Preprocessor Options.
                                                               (line  188)
  * mmedia:                                FRV Options.        (line   56)
! * mmedium-calls:                         ARC Options.        (line  408)
  * mmemcpy:                               MicroBlaze Options. (line   13)
  * mmemcpy <1>:                           MIPS Options.       (line  597)
! * mmemcpy-strategy=STRATEGY:             x86 Options.        (line 1338)
  * mmemory-latency:                       DEC Alpha Options.  (line  268)
  * mmemory-model:                         SPARC Options.      (line  348)
! * mmemset-strategy=STRATEGY:             x86 Options.        (line 1350)
  * mmfcrf:                                RS/6000 and PowerPC Options.
                                                               (line   25)
  * mmicromips:                            MIPS Options.       (line  387)
! * mmillicode:                            ARC Options.        (line  502)
  * mminimal-toc:                          RS/6000 and PowerPC Options.
                                                               (line  256)
  * mminmax:                               MeP Options.        (line   87)
! * mmixed-code:                           ARC Options.        (line  516)
  * mmma:                                  RS/6000 and PowerPC Options.
                                                               (line  944)
! * mmmx:                                  x86 Options.        (line  835)
  * mmodel=large:                          M32R/D Options.     (line   33)
  * mmodel=medium:                         M32R/D Options.     (line   27)
  * mmodel=small:                          M32R/D Options.     (line   18)
! * mmovbe:                                x86 Options.        (line 1031)
! * mmovdir64b:                            x86 Options.        (line  902)
! * mmovdiri:                              x86 Options.        (line  901)
  * mmp:                                   C-SKY Options.      (line   87)
  * mmpy:                                  ARC Options.        (line  117)
  * mmpy-option:                           ARC Options.        (line  173)
! * mms-bitfields:                         x86 Options.        (line 1183)
  * mmt:                                   MIPS Options.       (line  395)
  * mmul:                                  RL78 Options.       (line   15)
! * mmul-bug-workaround:                   CRIS Options.       (line   31)
  * mmul.x:                                Moxie Options.      (line   14)
  * mmul32x16:                             ARC Options.        (line  121)
  * mmul64:                                ARC Options.        (line  124)
*************** look up both forms.
*** 63902,63908 ****
                                                               (line  378)
  * mmult:                                 MeP Options.        (line   90)
  * mmult-bug:                             MN10300 Options.    (line    9)
! * mmultcost:                             ARC Options.        (line  576)
  * mmulti-cond-exec:                      FRV Options.        (line  215)
  * mmulticore:                            Blackfin Options.   (line  139)
  * mmultiple:                             RS/6000 and PowerPC Options.
--- 63929,63935 ----
                                                               (line  378)
  * mmult:                                 MeP Options.        (line   90)
  * mmult-bug:                             MN10300 Options.    (line    9)
! * mmultcost:                             ARC Options.        (line  578)
  * mmulti-cond-exec:                      FRV Options.        (line  215)
  * mmulticore:                            Blackfin Options.   (line  139)
  * mmultiple:                             RS/6000 and PowerPC Options.
*************** look up both forms.
*** 63913,63925 ****
                                                               (line  138)
  * mmvme:                                 RS/6000 and PowerPC Options.
                                                               (line  609)
! * mmwait:                                x86 Options.        (line 1034)
! * mmwaitx:                               x86 Options.        (line  880)
  * mn:                                    H8/300 Options.     (line   20)
! * mn-flash:                              AVR Options.        (line  222)
  * mnan=2008:                             MIPS Options.       (line  320)
  * mnan=legacy:                           MIPS Options.       (line  320)
! * mneeded:                               x86 Options.        (line 1572)
  * mneon-for-64bits:                      ARM Options.        (line  913)
  * mnested-cond-exec:                     FRV Options.        (line  230)
  * mnewlib:                               OpenRISC Options.   (line   13)
--- 63940,63952 ----
                                                               (line  138)
  * mmvme:                                 RS/6000 and PowerPC Options.
                                                               (line  609)
! * mmwait:                                x86 Options.        (line 1045)
! * mmwaitx:                               x86 Options.        (line  891)
  * mn:                                    H8/300 Options.     (line   20)
! * mn-flash:                              AVR Options.        (line  224)
  * mnan=2008:                             MIPS Options.       (line  320)
  * mnan=legacy:                           MIPS Options.       (line  320)
! * mneeded:                               x86 Options.        (line 1583)
  * mneon-for-64bits:                      ARM Options.        (line  913)
  * mnested-cond-exec:                     FRV Options.        (line  230)
  * mnewlib:                               OpenRISC Options.   (line   13)
*************** look up both forms.
*** 63929,63938 ****
  * mno-8byte-align:                       V850 Options.       (line  170)
  * mno-abicalls:                          MIPS Options.       (line  192)
  * mno-ac0:                               PDP-11 Options.     (line   20)
! * mno-align-double:                      x86 Options.        (line  617)
  * mno-align-int:                         M680x0 Options.     (line  261)
  * mno-align-loops:                       M32R/D Options.     (line   76)
! * mno-align-stringops:                   x86 Options.        (line 1292)
  * mno-allow-string-insns:                RX Options.         (line  150)
  * mno-altivec:                           RS/6000 and PowerPC Options.
                                                               (line  137)
--- 63956,63965 ----
  * mno-8byte-align:                       V850 Options.       (line  170)
  * mno-abicalls:                          MIPS Options.       (line  192)
  * mno-ac0:                               PDP-11 Options.     (line   20)
! * mno-align-double:                      x86 Options.        (line  628)
  * mno-align-int:                         M680x0 Options.     (line  261)
  * mno-align-loops:                       M32R/D Options.     (line   76)
! * mno-align-stringops:                   x86 Options.        (line 1303)
  * mno-allow-string-insns:                RX Options.         (line  150)
  * mno-altivec:                           RS/6000 and PowerPC Options.
                                                               (line  137)
*************** look up both forms.
*** 63951,63961 ****
  * mno-bitfield:                          M680x0 Options.     (line  227)
  * mno-branch-likely:                     MIPS Options.       (line  792)
  * mno-branch-predict:                    MMIX Options.       (line   48)
! * mno-brcc:                              ARC Options.        (line  442)
  * mno-bwx:                               DEC Alpha Options.  (line  163)
  * mno-bypass-cache:                      Nios II Options.    (line  103)
  * mno-cache-volatile:                    Nios II Options.    (line  109)
! * mno-call-ms2sysv-xlogues:              x86 Options.        (line 1132)
  * mno-callgraph-data:                    MCore Options.      (line   31)
  * mno-cbcond:                            SPARC Options.      (line  260)
  * mno-check-zero-division:               MIPS Options.       (line  570)
--- 63978,63988 ----
  * mno-bitfield:                          M680x0 Options.     (line  227)
  * mno-branch-likely:                     MIPS Options.       (line  792)
  * mno-branch-predict:                    MMIX Options.       (line   48)
! * mno-brcc:                              ARC Options.        (line  444)
  * mno-bwx:                               DEC Alpha Options.  (line  163)
  * mno-bypass-cache:                      Nios II Options.    (line  103)
  * mno-cache-volatile:                    Nios II Options.    (line  109)
! * mno-call-ms2sysv-xlogues:              x86 Options.        (line 1143)
  * mno-callgraph-data:                    MCore Options.      (line   31)
  * mno-cbcond:                            SPARC Options.      (line  260)
  * mno-check-zero-division:               MIPS Options.       (line  570)
*************** look up both forms.
*** 63964,63973 ****
  * mno-cmov:                              NDS32 Options.      (line   24)
  * mno-cmpb:                              RS/6000 and PowerPC Options.
                                                               (line   25)
! * mno-cond-exec:                         ARC Options.        (line  456)
  * mno-cond-exec <1>:                     FRV Options.        (line  194)
  * mno-cond-move:                         FRV Options.        (line  166)
! * mno-const-align:                       CRIS Options.       (line   53)
  * mno-const16:                           Xtensa Options.     (line   10)
  * mno-crc:                               MIPS Options.       (line  416)
  * mno-crt0:                              MN10300 Options.    (line   43)
--- 63991,64000 ----
  * mno-cmov:                              NDS32 Options.      (line   24)
  * mno-cmpb:                              RS/6000 and PowerPC Options.
                                                               (line   25)
! * mno-cond-exec:                         ARC Options.        (line  458)
  * mno-cond-exec <1>:                     FRV Options.        (line  194)
  * mno-cond-move:                         FRV Options.        (line  166)
! * mno-const-align:                       CRIS Options.       (line   54)
  * mno-const16:                           Xtensa Options.     (line   10)
  * mno-crc:                               MIPS Options.       (line  416)
  * mno-crt0:                              MN10300 Options.    (line   43)
*************** look up both forms.
*** 63976,63985 ****
                                                               (line  178)
  * mno-csync-anomaly:                     Blackfin Options.   (line   63)
  * mno-custom-INSN:                       Nios II Options.    (line  139)
! * mno-data-align:                        CRIS Options.       (line   53)
  * mno-debug:                             S/390 and zSeries Options.
                                                               (line  144)
! * mno-default:                           x86 Options.        (line  956)
  * mno-disable-callt:                     V850 Options.       (line   92)
  * mno-div:                               M680x0 Options.     (line  206)
  * mno-div <1>:                           MCore Options.      (line   15)
--- 64003,64012 ----
                                                               (line  178)
  * mno-csync-anomaly:                     Blackfin Options.   (line   63)
  * mno-custom-INSN:                       Nios II Options.    (line  139)
! * mno-data-align:                        CRIS Options.       (line   54)
  * mno-debug:                             S/390 and zSeries Options.
                                                               (line  144)
! * mno-default:                           x86 Options.        (line  967)
  * mno-disable-callt:                     V850 Options.       (line   92)
  * mno-div:                               M680x0 Options.     (line  206)
  * mno-div <1>:                           MCore Options.      (line   15)
*************** look up both forms.
*** 64006,64012 ****
  * mno-ext-perf2:                         NDS32 Options.      (line   36)
  * mno-ext-string:                        NDS32 Options.      (line   42)
  * mno-extern-sdata:                      MIPS Options.       (line  480)
! * mno-fancy-math-387:                    x86 Options.        (line  607)
  * mno-fast-sw-div:                       Nios II Options.    (line  115)
  * mno-faster-structs:                    SPARC Options.      (line   91)
  * mno-fdpic:                             ARM Options.        (line  966)
--- 64033,64039 ----
  * mno-ext-perf2:                         NDS32 Options.      (line   36)
  * mno-ext-string:                        NDS32 Options.      (line   42)
  * mno-extern-sdata:                      MIPS Options.       (line  480)
! * mno-fancy-math-387:                    x86 Options.        (line  618)
  * mno-fast-sw-div:                       Nios II Options.    (line  115)
  * mno-faster-structs:                    SPARC Options.      (line   91)
  * mno-fdpic:                             ARM Options.        (line  966)
*************** look up both forms.
*** 64029,64035 ****
  * mno-fp-in-toc:                         RS/6000 and PowerPC Options.
                                                               (line  256)
  * mno-fp-regs:                           DEC Alpha Options.  (line   25)
! * mno-fp-ret-in-387:                     x86 Options.        (line  597)
  * mno-fprnd:                             RS/6000 and PowerPC Options.
                                                               (line   25)
  * mno-fpu:                               SPARC Options.      (line   39)
--- 64056,64062 ----
  * mno-fp-in-toc:                         RS/6000 and PowerPC Options.
                                                               (line  256)
  * mno-fp-regs:                           DEC Alpha Options.  (line   25)
! * mno-fp-ret-in-387:                     x86 Options.        (line  608)
  * mno-fprnd:                             RS/6000 and PowerPC Options.
                                                               (line   25)
  * mno-fpu:                               SPARC Options.      (line   39)
*************** look up both forms.
*** 64066,64072 ****
  * mno-hw-mulx:                           Nios II Options.    (line  124)
  * mno-id-shared-library:                 Blackfin Options.   (line   85)
  * mno-ieee:                              SH Options.         (line  165)
! * mno-ieee-fp:                           x86 Options.        (line  574)
  * mno-imadd:                             MIPS Options.       (line  617)
  * mno-inline-float-divide:               IA-64 Options.      (line   62)
  * mno-inline-int-divide:                 IA-64 Options.      (line   73)
--- 64093,64099 ----
  * mno-hw-mulx:                           Nios II Options.    (line  124)
  * mno-id-shared-library:                 Blackfin Options.   (line   85)
  * mno-ieee:                              SH Options.         (line  165)
! * mno-ieee-fp:                           x86 Options.        (line  585)
  * mno-imadd:                             MIPS Options.       (line  617)
  * mno-inline-float-divide:               IA-64 Options.      (line   62)
  * mno-inline-int-divide:                 IA-64 Options.      (line   73)
*************** look up both forms.
*** 64075,64081 ****
  * mno-int32:                             PDP-11 Options.     (line   33)
  * mno-interlink-compressed:              MIPS Options.       (line  135)
  * mno-interlink-mips16:                  MIPS Options.       (line  147)
! * mno-interrupts:                        AVR Options.        (line  225)
  * mno-isel:                              RS/6000 and PowerPC Options.
                                                               (line  167)
  * mno-jsr:                               RX Options.         (line  169)
--- 64102,64108 ----
  * mno-int32:                             PDP-11 Options.     (line   33)
  * mno-interlink-compressed:              MIPS Options.       (line  135)
  * mno-interlink-mips16:                  MIPS Options.       (line  147)
! * mno-interrupts:                        AVR Options.        (line  227)
  * mno-isel:                              RS/6000 and PowerPC Options.
                                                               (line  167)
  * mno-jsr:                               RX Options.         (line  169)
*************** look up both forms.
*** 64122,64130 ****
  * Mno-modules:                           Preprocessor Options.
                                                               (line  132)
  * mno-mpy:                               ARC Options.        (line  117)
! * mno-ms-bitfields:                      x86 Options.        (line 1172)
  * mno-mt:                                MIPS Options.       (line  395)
! * mno-mul-bug-workaround:                CRIS Options.       (line   30)
  * mno-muladd:                            FRV Options.        (line   68)
  * mno-mulhw:                             RS/6000 and PowerPC Options.
                                                               (line  378)
--- 64149,64157 ----
  * Mno-modules:                           Preprocessor Options.
                                                               (line  132)
  * mno-mpy:                               ARC Options.        (line  117)
! * mno-ms-bitfields:                      x86 Options.        (line 1183)
  * mno-mt:                                MIPS Options.       (line  395)
! * mno-mul-bug-workaround:                CRIS Options.       (line   31)
  * mno-muladd:                            FRV Options.        (line   68)
  * mno-mulhw:                             RS/6000 and PowerPC Options.
                                                               (line  378)
*************** look up both forms.
*** 64175,64191 ****
  * mno-privileged:                        RS/6000 and PowerPC Options.
                                                               (line  955)
  * mno-prolog-function:                   V850 Options.       (line   23)
! * mno-prologue-epilogue:                 CRIS Options.       (line   69)
  * mno-prototype:                         RS/6000 and PowerPC Options.
                                                               (line  593)
! * mno-push-args:                         x86 Options.        (line 1149)
  * mno-quad-memory:                       RS/6000 and PowerPC Options.
                                                               (line  203)
  * mno-quad-memory-atomic:                RS/6000 and PowerPC Options.
                                                               (line  209)
  * mno-readonly-in-sdata:                 RS/6000 and PowerPC Options.
                                                               (line  684)
! * mno-red-zone:                          x86 Options.        (line 1531)
  * mno-register-names:                    IA-64 Options.      (line   37)
  * mno-regnames:                          RS/6000 and PowerPC Options.
                                                               (line  722)
--- 64202,64218 ----
  * mno-privileged:                        RS/6000 and PowerPC Options.
                                                               (line  955)
  * mno-prolog-function:                   V850 Options.       (line   23)
! * mno-prologue-epilogue:                 CRIS Options.       (line   70)
  * mno-prototype:                         RS/6000 and PowerPC Options.
                                                               (line  593)
! * mno-push-args:                         x86 Options.        (line 1160)
  * mno-quad-memory:                       RS/6000 and PowerPC Options.
                                                               (line  203)
  * mno-quad-memory-atomic:                RS/6000 and PowerPC Options.
                                                               (line  209)
  * mno-readonly-in-sdata:                 RS/6000 and PowerPC Options.
                                                               (line  684)
! * mno-red-zone:                          x86 Options.        (line 1542)
  * mno-register-names:                    IA-64 Options.      (line   37)
  * mno-regnames:                          RS/6000 and PowerPC Options.
                                                               (line  722)
*************** look up both forms.
*** 64213,64219 ****
  * mno-sched-prefer-non-control-spec-insns: IA-64 Options.    (line  178)
  * mno-sched-prefer-non-data-spec-insns:  IA-64 Options.      (line  171)
  * mno-sched-prolog:                      ARM Options.        (line   32)
! * mno-sdata:                             ARC Options.        (line  420)
  * mno-sdata <1>:                         IA-64 Options.      (line   42)
  * mno-sdata <2>:                         RS/6000 and PowerPC Options.
                                                               (line  679)
--- 64240,64246 ----
  * mno-sched-prefer-non-control-spec-insns: IA-64 Options.    (line  178)
  * mno-sched-prefer-non-data-spec-insns:  IA-64 Options.      (line  171)
  * mno-sched-prolog:                      ARM Options.        (line   32)
! * mno-sdata:                             ARC Options.        (line  422)
  * mno-sdata <1>:                         IA-64 Options.      (line   42)
  * mno-sdata <2>:                         RS/6000 and PowerPC Options.
                                                               (line  679)
*************** look up both forms.
*** 64221,64227 ****
  * mno-serialize-volatile:                Xtensa Options.     (line   35)
  * mno-setlb:                             MN10300 Options.    (line   69)
  * mno-short:                             M680x0 Options.     (line  222)
! * mno-side-effects:                      CRIS Options.       (line   44)
  * mno-sim:                               RX Options.         (line   71)
  * mno-single-exit:                       MMIX Options.       (line   65)
  * mno-slow-bytes:                        MCore Options.      (line   35)
--- 64248,64254 ----
  * mno-serialize-volatile:                Xtensa Options.     (line   35)
  * mno-setlb:                             MN10300 Options.    (line   69)
  * mno-short:                             M680x0 Options.     (line  222)
! * mno-side-effects:                      CRIS Options.       (line   45)
  * mno-sim:                               RX Options.         (line   71)
  * mno-single-exit:                       MMIX Options.       (line   65)
  * mno-slow-bytes:                        MCore Options.      (line   35)
*************** look up both forms.
*** 64236,64242 ****
  * mno-split-addresses:                   MIPS Options.       (line  555)
  * mno-split-lohi:                        Adapteva Epiphany Options.
                                                               (line  109)
! * mno-stack-align:                       CRIS Options.       (line   53)
  * mno-stack-bias:                        SPARC Options.      (line  372)
  * mno-std-struct-return:                 SPARC Options.      (line  102)
  * mno-strict-align:                      AArch64 Options.    (line   52)
--- 64263,64269 ----
  * mno-split-addresses:                   MIPS Options.       (line  555)
  * mno-split-lohi:                        Adapteva Epiphany Options.
                                                               (line  109)
! * mno-stack-align:                       CRIS Options.       (line   54)
  * mno-stack-bias:                        SPARC Options.      (line  372)
  * mno-std-struct-return:                 SPARC Options.      (line  102)
  * mno-strict-align:                      AArch64 Options.    (line   52)
*************** look up both forms.
*** 64277,64283 ****
  * mno-vis4b:                             SPARC Options.      (line  251)
  * mno-vliw-branch:                       FRV Options.        (line  208)
  * mno-volatile-asm-stop:                 IA-64 Options.      (line   32)
! * mno-volatile-cache:                    ARC Options.        (line  429)
  * mno-vrsave:                            RS/6000 and PowerPC Options.
                                                               (line  153)
  * mno-vsx:                               RS/6000 and PowerPC Options.
--- 64304,64310 ----
  * mno-vis4b:                             SPARC Options.      (line  251)
  * mno-vliw-branch:                       FRV Options.        (line  208)
  * mno-volatile-asm-stop:                 IA-64 Options.      (line   32)
! * mno-volatile-cache:                    ARC Options.        (line  431)
  * mno-vrsave:                            RS/6000 and PowerPC Options.
                                                               (line  153)
  * mno-vsx:                               RS/6000 and PowerPC Options.
*************** look up both forms.
*** 64302,64308 ****
  * mnomacsave:                            SH Options.         (line  160)
  * mnop-fun-dllimport:                    x86 Windows Options.
                                                               (line   22)
! * mnop-mcount:                           x86 Options.        (line 1379)
  * mnopm:                                 FT32 Options.       (line   29)
  * mnops:                                 Adapteva Epiphany Options.
                                                               (line   26)
--- 64329,64335 ----
  * mnomacsave:                            SH Options.         (line  160)
  * mnop-fun-dllimport:                    x86 Windows Options.
                                                               (line   22)
! * mnop-mcount:                           x86 Options.        (line 1390)
  * mnopm:                                 FT32 Options.       (line   29)
  * mnops:                                 Adapteva Epiphany Options.
                                                               (line   26)
*************** look up both forms.
*** 64310,64317 ****
  * modd-spreg:                            MIPS Options.       (line  293)
  * momit-leaf-frame-pointer:              AArch64 Options.    (line   58)
  * momit-leaf-frame-pointer <1>:          Blackfin Options.   (line   43)
! * momit-leaf-frame-pointer <2>:          x86 Options.        (line 1343)
! * mone-byte-bool:                        Darwin Options.     (line   90)
  * moptimize:                             Nvidia PTX Options. (line   22)
  * moptimize-membar:                      FRV Options.        (line  244)
  * moptimize-membar <1>:                  FRV Options.        (line  249)
--- 64337,64344 ----
  * modd-spreg:                            MIPS Options.       (line  293)
  * momit-leaf-frame-pointer:              AArch64 Options.    (line   58)
  * momit-leaf-frame-pointer <1>:          Blackfin Options.   (line   43)
! * momit-leaf-frame-pointer <2>:          x86 Options.        (line 1354)
! * mone-byte-bool:                        Darwin Options.     (line   98)
  * moptimize:                             Nvidia PTX Options. (line   22)
  * moptimize-membar:                      FRV Options.        (line  244)
  * moptimize-membar <1>:                  FRV Options.        (line  249)
*************** look up both forms.
*** 64327,64341 ****
  * mpadstruct:                            SH Options.         (line  189)
  * mpaired-single:                        MIPS Options.       (line  370)
  * mpc-relative-literal-loads:            AArch64 Options.    (line  270)
! * mpc32:                                 x86 Options.        (line  739)
! * mpc64:                                 x86 Options.        (line  739)
! * mpc80:                                 x86 Options.        (line  739)
! * mpclmul:                               x86 Options.        (line  846)
! * mpconfig:                              x86 Options.        (line  854)
  * mpcrel:                                M680x0 Options.     (line  272)
  * mpcrel <1>:                            RS/6000 and PowerPC Options.
                                                               (line  932)
! * mpdebug:                               CRIS Options.       (line   34)
  * mpe:                                   RS/6000 and PowerPC Options.
                                                               (line  310)
  * mpe-aligned-commons:                   x86 Windows Options.
--- 64354,64368 ----
  * mpadstruct:                            SH Options.         (line  189)
  * mpaired-single:                        MIPS Options.       (line  370)
  * mpc-relative-literal-loads:            AArch64 Options.    (line  270)
! * mpc32:                                 x86 Options.        (line  750)
! * mpc64:                                 x86 Options.        (line  750)
! * mpc80:                                 x86 Options.        (line  750)
! * mpclmul:                               x86 Options.        (line  857)
! * mpconfig:                              x86 Options.        (line  865)
  * mpcrel:                                M680x0 Options.     (line  272)
  * mpcrel <1>:                            RS/6000 and PowerPC Options.
                                                               (line  932)
! * mpdebug:                               CRIS Options.       (line   35)
  * mpe:                                   RS/6000 and PowerPC Options.
                                                               (line  310)
  * mpe-aligned-commons:                   x86 Windows Options.
*************** look up both forms.
*** 64344,64350 ****
  * mpic-data-is-text-relative <1>:        MicroBlaze Options. (line   70)
  * mpic-register:                         ARM Options.        (line  786)
  * mpid:                                  RX Options.         (line  117)
! * mpku:                                  x86 Options.        (line  882)
  * mplt:                                  MIPS Options.       (line  219)
  * mpltseq:                               RS/6000 and PowerPC Options.
                                                               (line  765)
--- 64371,64377 ----
  * mpic-data-is-text-relative <1>:        MicroBlaze Options. (line   70)
  * mpic-register:                         ARM Options.        (line  786)
  * mpid:                                  RX Options.         (line  117)
! * mpku:                                  x86 Options.        (line  893)
  * mplt:                                  MIPS Options.       (line  219)
  * mpltseq:                               RS/6000 and PowerPC Options.
                                                               (line  765)
*************** look up both forms.
*** 64353,64359 ****
                                                               (line  878)
  * mpoke-function-name:                   ARM Options.        (line  801)
  * mpopc:                                 SPARC Options.      (line  281)
! * mpopcnt:                               x86 Options.        (line  866)
  * mpopcntb:                              RS/6000 and PowerPC Options.
                                                               (line   25)
  * mpopcntd:                              RS/6000 and PowerPC Options.
--- 64380,64386 ----
                                                               (line  878)
  * mpoke-function-name:                   ARM Options.        (line  801)
  * mpopc:                                 SPARC Options.      (line  281)
! * mpopcnt:                               x86 Options.        (line  877)
  * mpopcntb:                              RS/6000 and PowerPC Options.
                                                               (line   25)
  * mpopcntd:                              RS/6000 and PowerPC Options.
*************** look up both forms.
*** 64373,64436 ****
                                                               (line   25)
  * mpowerpc64:                            RS/6000 and PowerPC Options.
                                                               (line   25)
! * mprefer-avx128:                        x86 Options.        (line  980)
  * mprefer-short-insn-regs:               Adapteva Epiphany Options.
                                                               (line   13)
! * mprefer-vector-width:                  x86 Options.        (line  984)
  * mprefergot:                            SH Options.         (line  268)
  * mpreferred-stack-boundary:             RISC-V Options.     (line   88)
! * mpreferred-stack-boundary <1>:         x86 Options.        (line  778)
! * mprefetchwt1:                          x86 Options.        (line  859)
  * mprefixed:                             RS/6000 and PowerPC Options.
                                                               (line  938)
  * mpretend-cmove:                        SH Options.         (line  383)
! * mprfchw:                               x86 Options.        (line  857)
  * mprint-tune-info:                      ARM Options.        (line  934)
  * mprioritize-restricted-insns:          RS/6000 and PowerPC Options.
                                                               (line  457)
  * mprivileged:                           RS/6000 and PowerPC Options.
                                                               (line  955)
  * mprolog-function:                      V850 Options.       (line   23)
! * mprologue-epilogue:                    CRIS Options.       (line   69)
  * mprototype:                            RS/6000 and PowerPC Options.
                                                               (line  593)
! * mptwrite:                              x86 Options.        (line  850)
  * mpure-code:                            ARM Options.        (line  944)
! * mpush-args:                            x86 Options.        (line 1149)
  * mpushpop:                              C-SKY Options.      (line  130)
  * MQ:                                    Preprocessor Options.
                                                               (line  162)
! * mq-class:                              ARC Options.        (line  519)
  * mquad-memory:                          RS/6000 and PowerPC Options.
                                                               (line  203)
  * mquad-memory-atomic:                   RS/6000 and PowerPC Options.
                                                               (line  209)
  * mr0rel-sec:                            Nios II Options.    (line   76)
  * mr10k-cache-barrier:                   MIPS Options.       (line  714)
! * mRcq:                                  ARC Options.        (line  523)
! * mRcw:                                  ARC Options.        (line  527)
! * mrdpid:                                x86 Options.        (line  858)
! * mrdrnd:                                x86 Options.        (line  851)
! * mrdseed:                               x86 Options.        (line  860)
  * mreadonly-in-sdata:                    RS/6000 and PowerPC Options.
                                                               (line  684)
  * mrecip:                                RS/6000 and PowerPC Options.
                                                               (line  785)
! * mrecip <1>:                            x86 Options.        (line 1039)
  * mrecip-precision:                      RS/6000 and PowerPC Options.
                                                               (line  842)
  * mrecip=opt:                            RS/6000 and PowerPC Options.
                                                               (line  798)
! * mrecip=opt <1>:                        x86 Options.        (line 1061)
! * mrecord-mcount:                        x86 Options.        (line 1373)
! * mrecord-return:                        x86 Options.        (line 1393)
! * mred-zone:                             x86 Options.        (line 1531)
  * mreduced-regs:                         NDS32 Options.      (line   15)
  * mregister-names:                       IA-64 Options.      (line   37)
  * mregnames:                             RS/6000 and PowerPC Options.
                                                               (line  722)
! * mregparm:                              x86 Options.        (line  709)
! * mrelax:                                AVR Options.        (line  229)
  * mrelax <1>:                            H8/300 Options.     (line    9)
  * mrelax <2>:                            MN10300 Options.    (line   46)
  * mrelax <3>:                            MSP430 Options.     (line   88)
--- 64400,64463 ----
                                                               (line   25)
  * mpowerpc64:                            RS/6000 and PowerPC Options.
                                                               (line   25)
! * mprefer-avx128:                        x86 Options.        (line  991)
  * mprefer-short-insn-regs:               Adapteva Epiphany Options.
                                                               (line   13)
! * mprefer-vector-width:                  x86 Options.        (line  995)
  * mprefergot:                            SH Options.         (line  268)
  * mpreferred-stack-boundary:             RISC-V Options.     (line   88)
! * mpreferred-stack-boundary <1>:         x86 Options.        (line  789)
! * mprefetchwt1:                          x86 Options.        (line  870)
  * mprefixed:                             RS/6000 and PowerPC Options.
                                                               (line  938)
  * mpretend-cmove:                        SH Options.         (line  383)
! * mprfchw:                               x86 Options.        (line  868)
  * mprint-tune-info:                      ARM Options.        (line  934)
  * mprioritize-restricted-insns:          RS/6000 and PowerPC Options.
                                                               (line  457)
  * mprivileged:                           RS/6000 and PowerPC Options.
                                                               (line  955)
  * mprolog-function:                      V850 Options.       (line   23)
! * mprologue-epilogue:                    CRIS Options.       (line   70)
  * mprototype:                            RS/6000 and PowerPC Options.
                                                               (line  593)
! * mptwrite:                              x86 Options.        (line  861)
  * mpure-code:                            ARM Options.        (line  944)
! * mpush-args:                            x86 Options.        (line 1160)
  * mpushpop:                              C-SKY Options.      (line  130)
  * MQ:                                    Preprocessor Options.
                                                               (line  162)
! * mq-class:                              ARC Options.        (line  521)
  * mquad-memory:                          RS/6000 and PowerPC Options.
                                                               (line  203)
  * mquad-memory-atomic:                   RS/6000 and PowerPC Options.
                                                               (line  209)
  * mr0rel-sec:                            Nios II Options.    (line   76)
  * mr10k-cache-barrier:                   MIPS Options.       (line  714)
! * mRcq:                                  ARC Options.        (line  525)
! * mRcw:                                  ARC Options.        (line  529)
! * mrdpid:                                x86 Options.        (line  869)
! * mrdrnd:                                x86 Options.        (line  862)
! * mrdseed:                               x86 Options.        (line  871)
  * mreadonly-in-sdata:                    RS/6000 and PowerPC Options.
                                                               (line  684)
  * mrecip:                                RS/6000 and PowerPC Options.
                                                               (line  785)
! * mrecip <1>:                            x86 Options.        (line 1050)
  * mrecip-precision:                      RS/6000 and PowerPC Options.
                                                               (line  842)
  * mrecip=opt:                            RS/6000 and PowerPC Options.
                                                               (line  798)
! * mrecip=opt <1>:                        x86 Options.        (line 1072)
! * mrecord-mcount:                        x86 Options.        (line 1384)
! * mrecord-return:                        x86 Options.        (line 1404)
! * mred-zone:                             x86 Options.        (line 1542)
  * mreduced-regs:                         NDS32 Options.      (line   15)
  * mregister-names:                       IA-64 Options.      (line   37)
  * mregnames:                             RS/6000 and PowerPC Options.
                                                               (line  722)
! * mregparm:                              x86 Options.        (line  720)
! * mrelax:                                AVR Options.        (line  231)
  * mrelax <1>:                            H8/300 Options.     (line    9)
  * mrelax <2>:                            MN10300 Options.    (line   46)
  * mrelax <3>:                            MSP430 Options.     (line   88)
*************** look up both forms.
*** 64452,64458 ****
  * mrgf-banked-regs:                      ARC Options.        (line  304)
  * mrh850-abi:                            V850 Options.       (line  127)
  * mrl78:                                 RL78 Options.       (line   62)
! * mrmw:                                  AVR Options.        (line  243)
  * mrop-protect:                          RS/6000 and PowerPC Options.
                                                               (line  949)
  * mror:                                  OpenRISC Options.   (line   49)
--- 64479,64485 ----
  * mrgf-banked-regs:                      ARC Options.        (line  304)
  * mrh850-abi:                            V850 Options.       (line  127)
  * mrl78:                                 RL78 Options.       (line   62)
! * mrmw:                                  AVR Options.        (line  245)
  * mrop-protect:                          RS/6000 and PowerPC Options.
                                                               (line  949)
  * mror:                                  OpenRISC Options.   (line   49)
*************** look up both forms.
*** 64460,64475 ****
  * mround-nearest:                        Adapteva Epiphany Options.
                                                               (line   51)
  * mrtd:                                  M680x0 Options.     (line  236)
! * mrtd <1>:                              x86 Options.        (line  685)
  * mrtd <2>:                              x86 Function Attributes.
                                                               (line    9)
! * mrtm:                                  x86 Options.        (line  877)
  * mrtp:                                  VxWorks Options.    (line   11)
  * mrtsc:                                 ARC Options.        (line  358)
  * ms:                                    H8/300 Options.     (line   17)
  * ms <1>:                                MeP Options.        (line  100)
  * ms2600:                                H8/300 Options.     (line   24)
! * msahf:                                 x86 Options.        (line 1010)
  * msatur:                                MeP Options.        (line  105)
  * msave-acc-in-interrupts:               RX Options.         (line  109)
  * msave-mduc-in-interrupts:              RL78 Options.       (line   79)
--- 64487,64502 ----
  * mround-nearest:                        Adapteva Epiphany Options.
                                                               (line   51)
  * mrtd:                                  M680x0 Options.     (line  236)
! * mrtd <1>:                              x86 Options.        (line  696)
  * mrtd <2>:                              x86 Function Attributes.
                                                               (line    9)
! * mrtm:                                  x86 Options.        (line  888)
  * mrtp:                                  VxWorks Options.    (line   11)
  * mrtsc:                                 ARC Options.        (line  358)
  * ms:                                    H8/300 Options.     (line   17)
  * ms <1>:                                MeP Options.        (line  100)
  * ms2600:                                H8/300 Options.     (line   24)
! * msahf:                                 x86 Options.        (line 1021)
  * msatur:                                MeP Options.        (line  105)
  * msave-acc-in-interrupts:               RX Options.         (line  109)
  * msave-mduc-in-interrupts:              RL78 Options.       (line   79)
*************** look up both forms.
*** 64502,64508 ****
  * mscore7:                               Score Options.      (line   31)
  * mscore7d:                              Score Options.      (line   35)
  * msda:                                  V850 Options.       (line   40)
! * msdata:                                ARC Options.        (line  420)
  * msdata <1>:                            IA-64 Options.      (line   42)
  * msdata <2>:                            RS/6000 and PowerPC Options.
                                                               (line  666)
--- 64529,64535 ----
  * mscore7:                               Score Options.      (line   31)
  * mscore7d:                              Score Options.      (line   35)
  * msda:                                  V850 Options.       (line   40)
! * msdata:                                ARC Options.        (line  422)
  * msdata <1>:                            IA-64 Options.      (line   42)
  * msdata <2>:                            RS/6000 and PowerPC Options.
                                                               (line  666)
*************** look up both forms.
*** 64530,64549 ****
  * msel-sched-dont-check-control-spec:    IA-64 Options.      (line  207)
  * msep-data:                             Blackfin Options.   (line  107)
  * msep-data <1>:                         Blackfin Options.   (line  113)
! * mserialize:                            x86 Options.        (line  902)
  * mserialize-volatile:                   Xtensa Options.     (line   35)
  * msetlb:                                MN10300 Options.    (line   64)
  * msext:                                 OpenRISC Options.   (line   59)
  * msfimm:                                OpenRISC Options.   (line   63)
! * msgx:                                  x86 Options.        (line  861)
! * msha:                                  x86 Options.        (line  844)
  * mshared-library-id:                    Blackfin Options.   (line  100)
  * mshftimm:                              OpenRISC Options.   (line   68)
  * mshort:                                M680x0 Options.     (line  216)
! * mshort-calls:                          AVR Options.        (line  247)
  * mshorten-memrefs:                      RISC-V Options.     (line  108)
! * mshstk:                                x86 Options.        (line 1024)
! * mside-effects:                         CRIS Options.       (line   44)
  * msign-extend-enabled:                  LM32 Options.       (line   18)
  * msign-return-address:                  AArch64 Options.    (line  276)
  * msilicon-errata:                       MSP430 Options.     (line  159)
--- 64557,64576 ----
  * msel-sched-dont-check-control-spec:    IA-64 Options.      (line  207)
  * msep-data:                             Blackfin Options.   (line  107)
  * msep-data <1>:                         Blackfin Options.   (line  113)
! * mserialize:                            x86 Options.        (line  913)
  * mserialize-volatile:                   Xtensa Options.     (line   35)
  * msetlb:                                MN10300 Options.    (line   64)
  * msext:                                 OpenRISC Options.   (line   59)
  * msfimm:                                OpenRISC Options.   (line   63)
! * msgx:                                  x86 Options.        (line  872)
! * msha:                                  x86 Options.        (line  855)
  * mshared-library-id:                    Blackfin Options.   (line  100)
  * mshftimm:                              OpenRISC Options.   (line   68)
  * mshort:                                M680x0 Options.     (line  216)
! * mshort-calls:                          AVR Options.        (line  249)
  * mshorten-memrefs:                      RISC-V Options.     (line  108)
! * mshstk:                                x86 Options.        (line 1035)
! * mside-effects:                         CRIS Options.       (line   45)
  * msign-extend-enabled:                  LM32 Options.       (line   18)
  * msign-return-address:                  AArch64 Options.    (line  276)
  * msilicon-errata:                       MSP430 Options.     (line  159)
*************** look up both forms.
*** 64570,64577 ****
  * msingle-pic-base <1>:                  RS/6000 and PowerPC Options.
                                                               (line  451)
  * msio:                                  HPPA Options.       (line  105)
! * msize-level:                           ARC Options.        (line  531)
! * mskip-rax-setup:                       x86 Options.        (line 1406)
  * mslow-bytes:                           MCore Options.      (line   35)
  * mslow-flash-data:                      ARM Options.        (line  916)
  * msmall:                                MSP430 Options.     (line   85)
--- 64597,64604 ----
  * msingle-pic-base <1>:                  RS/6000 and PowerPC Options.
                                                               (line  451)
  * msio:                                  HPPA Options.       (line  105)
! * msize-level:                           ARC Options.        (line  533)
! * mskip-rax-setup:                       x86 Options.        (line 1417)
  * mslow-bytes:                           MCore Options.      (line   35)
  * mslow-flash-data:                      ARM Options.        (line  916)
  * msmall:                                MSP430 Options.     (line   85)
*************** look up both forms.
*** 64608,64618 ****
  * msoft-float <12>:                      SPARC Options.      (line   39)
  * msoft-float <13>:                      V850 Options.       (line  113)
  * msoft-float <14>:                      Visium Options.     (line   24)
! * msoft-float <15>:                      x86 Options.        (line  584)
  * msoft-mul:                             OpenRISC Options.   (line   24)
  * msoft-quad-float:                      SPARC Options.      (line   59)
  * msoft-stack:                           Nvidia PTX Options. (line   26)
! * msp8:                                  AVR Options.        (line  254)
  * mspace:                                V850 Options.       (line   30)
  * mspace-regs:                           HPPA Options.       (line   45)
  * mspecld-anomaly:                       Blackfin Options.   (line   48)
--- 64635,64645 ----
  * msoft-float <12>:                      SPARC Options.      (line   39)
  * msoft-float <13>:                      V850 Options.       (line  113)
  * msoft-float <14>:                      Visium Options.     (line   24)
! * msoft-float <15>:                      x86 Options.        (line  595)
  * msoft-mul:                             OpenRISC Options.   (line   24)
  * msoft-quad-float:                      SPARC Options.      (line   59)
  * msoft-stack:                           Nvidia PTX Options. (line   26)
! * msp8:                                  AVR Options.        (line  256)
  * mspace:                                V850 Options.       (line   30)
  * mspace-regs:                           HPPA Options.       (line   45)
  * mspecld-anomaly:                       Blackfin Options.   (line   48)
*************** look up both forms.
*** 64620,64627 ****
  * mspfp:                                 ARC Options.        (line  132)
  * mspfp-compact:                         ARC Options.        (line  133)
  * mspfp-fast:                            ARC Options.        (line  137)
! * mspfp_compact:                         ARC Options.        (line  629)
! * mspfp_fast:                            ARC Options.        (line  632)
  * msplit:                                PDP-11 Options.     (line   40)
  * msplit-addresses:                      MIPS Options.       (line  555)
  * msplit-lohi:                           Adapteva Epiphany Options.
--- 64647,64654 ----
  * mspfp:                                 ARC Options.        (line  132)
  * mspfp-compact:                         ARC Options.        (line  133)
  * mspfp-fast:                            ARC Options.        (line  137)
! * mspfp_compact:                         ARC Options.        (line  634)
! * mspfp_fast:                            ARC Options.        (line  637)
  * msplit:                                PDP-11 Options.     (line   40)
  * msplit-addresses:                      MIPS Options.       (line  555)
  * msplit-lohi:                           Adapteva Epiphany Options.
*************** look up both forms.
*** 64629,64645 ****
  * msplit-vecmove-early:                  Adapteva Epiphany Options.
                                                               (line  126)
  * msram-ecc:                             AMD GCN Options.    (line   25)
! * msse:                                  x86 Options.        (line  825)
! * msse2:                                 x86 Options.        (line  826)
! * msse2avx:                              x86 Options.        (line 1361)
! * msse3:                                 x86 Options.        (line  827)
! * msse4:                                 x86 Options.        (line  829)
! * msse4.1:                               x86 Options.        (line  831)
! * msse4.2:                               x86 Options.        (line  832)
! * msse4a:                                x86 Options.        (line  830)
! * msseregparm:                           x86 Options.        (line  720)
! * mssse3:                                x86 Options.        (line  828)
! * mstack-align:                          CRIS Options.       (line   53)
  * mstack-bias:                           SPARC Options.      (line  372)
  * mstack-check-l1:                       Blackfin Options.   (line   74)
  * mstack-guard:                          S/390 and zSeries Options.
--- 64656,64672 ----
  * msplit-vecmove-early:                  Adapteva Epiphany Options.
                                                               (line  126)
  * msram-ecc:                             AMD GCN Options.    (line   25)
! * msse:                                  x86 Options.        (line  836)
! * msse2:                                 x86 Options.        (line  837)
! * msse2avx:                              x86 Options.        (line 1372)
! * msse3:                                 x86 Options.        (line  838)
! * msse4:                                 x86 Options.        (line  840)
! * msse4.1:                               x86 Options.        (line  842)
! * msse4.2:                               x86 Options.        (line  843)
! * msse4a:                                x86 Options.        (line  841)
! * msseregparm:                           x86 Options.        (line  731)
! * mssse3:                                x86 Options.        (line  839)
! * mstack-align:                          CRIS Options.       (line   54)
  * mstack-bias:                           SPARC Options.      (line  372)
  * mstack-check-l1:                       Blackfin Options.   (line   74)
  * mstack-guard:                          S/390 and zSeries Options.
*************** look up both forms.
*** 64651,64684 ****
  * mstack-protector-guard <1>:            RISC-V Options.     (line  168)
  * mstack-protector-guard <2>:            RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard <3>:            x86 Options.        (line 1432)
  * mstack-protector-guard-offset:         AArch64 Options.    (line   64)
  * mstack-protector-guard-offset <1>:     RISC-V Options.     (line  168)
  * mstack-protector-guard-offset <2>:     RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard-offset <3>:     x86 Options.        (line 1432)
  * mstack-protector-guard-reg:            AArch64 Options.    (line   64)
  * mstack-protector-guard-reg <1>:        RISC-V Options.     (line  168)
  * mstack-protector-guard-reg <2>:        RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard-reg <3>:        x86 Options.        (line 1432)
  * mstack-protector-guard-symbol:         RS/6000 and PowerPC Options.
                                                               (line  916)
  * mstack-size:                           AMD GCN Options.    (line   31)
  * mstack-size <1>:                       C-SKY Options.      (line  150)
  * mstack-size <2>:                       S/390 and zSeries Options.
                                                               (line  202)
! * mstackrealign:                         x86 Options.        (line  769)
  * mstd-struct-return:                    SPARC Options.      (line  102)
  * mstrict-align:                         AArch64 Options.    (line   52)
  * mstrict-align <1>:                     M680x0 Options.     (line  280)
  * mstrict-align <2>:                     RISC-V Options.     (line  117)
  * mstrict-align <3>:                     RS/6000 and PowerPC Options.
                                                               (line  403)
! * mstrict-X:                             AVR Options.        (line  267)
  * mstring-compare-inline-limit:          RS/6000 and PowerPC Options.
                                                               (line  708)
! * mstringop-strategy=ALG:                x86 Options.        (line 1309)
  * mstructure-size-boundary:              ARM Options.        (line  735)
  * msubxc:                                SPARC Options.      (line  288)
  * msv-mode:                              Visium Options.     (line   52)
--- 64678,64711 ----
  * mstack-protector-guard <1>:            RISC-V Options.     (line  168)
  * mstack-protector-guard <2>:            RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard <3>:            x86 Options.        (line 1443)
  * mstack-protector-guard-offset:         AArch64 Options.    (line   64)
  * mstack-protector-guard-offset <1>:     RISC-V Options.     (line  168)
  * mstack-protector-guard-offset <2>:     RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard-offset <3>:     x86 Options.        (line 1443)
  * mstack-protector-guard-reg:            AArch64 Options.    (line   64)
  * mstack-protector-guard-reg <1>:        RISC-V Options.     (line  168)
  * mstack-protector-guard-reg <2>:        RS/6000 and PowerPC Options.
                                                               (line  916)
! * mstack-protector-guard-reg <3>:        x86 Options.        (line 1443)
  * mstack-protector-guard-symbol:         RS/6000 and PowerPC Options.
                                                               (line  916)
  * mstack-size:                           AMD GCN Options.    (line   31)
  * mstack-size <1>:                       C-SKY Options.      (line  150)
  * mstack-size <2>:                       S/390 and zSeries Options.
                                                               (line  202)
! * mstackrealign:                         x86 Options.        (line  780)
  * mstd-struct-return:                    SPARC Options.      (line  102)
  * mstrict-align:                         AArch64 Options.    (line   52)
  * mstrict-align <1>:                     M680x0 Options.     (line  280)
  * mstrict-align <2>:                     RISC-V Options.     (line  117)
  * mstrict-align <3>:                     RS/6000 and PowerPC Options.
                                                               (line  403)
! * mstrict-X:                             AVR Options.        (line  269)
  * mstring-compare-inline-limit:          RS/6000 and PowerPC Options.
                                                               (line  708)
! * mstringop-strategy=ALG:                x86 Options.        (line 1320)
  * mstructure-size-boundary:              ARM Options.        (line  735)
  * msubxc:                                SPARC Options.      (line  288)
  * msv-mode:                              Visium Options.     (line   52)
*************** look up both forms.
*** 64695,64720 ****
                                                               (line  147)
  * mtarget-align:                         Xtensa Options.     (line   74)
  * mtas:                                  SH Options.         (line  259)
! * mtbm:                                  x86 Options.        (line  879)
  * mtda:                                  V850 Options.       (line   34)
  * mtelephony:                            ARC Options.        (line  368)
  * mtext-section-literals:                Xtensa Options.     (line   47)
  * mtf:                                   MeP Options.        (line  121)
  * mthread:                               x86 Windows Options.
                                                               (line   26)
! * mthreads:                              x86 Options.        (line 1164)
  * mthumb:                                ARM Options.        (line  823)
  * mthumb-interwork:                      ARM Options.        (line   24)
  * mtiny-printf:                          MSP430 Options.     (line  122)
! * mtiny-stack:                           AVR Options.        (line  281)
  * mtiny=:                                MeP Options.        (line  125)
  * mTLS:                                  FRV Options.        (line   90)
  * mtls:                                  FRV Options.        (line   94)
  * mtls-dialect:                          ARM Options.        (line  875)
! * mtls-dialect <1>:                      x86 Options.        (line 1142)
  * mtls-dialect=desc:                     AArch64 Options.    (line   77)
  * mtls-dialect=traditional:              AArch64 Options.    (line   81)
! * mtls-direct-seg-refs:                  x86 Options.        (line 1351)
  * mtls-markers:                          RS/6000 and PowerPC Options.
                                                               (line  777)
  * mtls-size:                             AArch64 Options.    (line   85)
--- 64722,64747 ----
                                                               (line  147)
  * mtarget-align:                         Xtensa Options.     (line   74)
  * mtas:                                  SH Options.         (line  259)
! * mtbm:                                  x86 Options.        (line  890)
  * mtda:                                  V850 Options.       (line   34)
  * mtelephony:                            ARC Options.        (line  368)
  * mtext-section-literals:                Xtensa Options.     (line   47)
  * mtf:                                   MeP Options.        (line  121)
  * mthread:                               x86 Windows Options.
                                                               (line   26)
! * mthreads:                              x86 Options.        (line 1175)
  * mthumb:                                ARM Options.        (line  823)
  * mthumb-interwork:                      ARM Options.        (line   24)
  * mtiny-printf:                          MSP430 Options.     (line  122)
! * mtiny-stack:                           AVR Options.        (line  283)
  * mtiny=:                                MeP Options.        (line  125)
  * mTLS:                                  FRV Options.        (line   90)
  * mtls:                                  FRV Options.        (line   94)
  * mtls-dialect:                          ARM Options.        (line  875)
! * mtls-dialect <1>:                      x86 Options.        (line 1153)
  * mtls-dialect=desc:                     AArch64 Options.    (line   77)
  * mtls-dialect=traditional:              AArch64 Options.    (line   81)
! * mtls-direct-seg-refs:                  x86 Options.        (line 1362)
  * mtls-markers:                          RS/6000 and PowerPC Options.
                                                               (line  777)
  * mtls-size:                             AArch64 Options.    (line   85)
*************** look up both forms.
*** 64735,64747 ****
                                                               (line  541)
  * mtrap-precision:                       DEC Alpha Options.  (line  109)
  * mtrust:                                C-SKY Options.      (line   99)
! * mtsxldtrk:                             x86 Options.        (line  894)
  * mtune:                                 AArch64 Options.    (line  186)
  * mtune <1>:                             AMD GCN Options.    (line   10)
! * mtune <2>:                             ARC Options.        (line  552)
! * mtune <3>:                             ARC Options.        (line  635)
  * mtune <4>:                             ARM Options.        (line  571)
! * mtune <5>:                             CRIS Options.       (line   15)
  * mtune <6>:                             DEC Alpha Options.  (line  259)
  * mtune <7>:                             IA-64 Options.      (line  116)
  * mtune <8>:                             M680x0 Options.     (line   68)
--- 64762,64774 ----
                                                               (line  541)
  * mtrap-precision:                       DEC Alpha Options.  (line  109)
  * mtrust:                                C-SKY Options.      (line   99)
! * mtsxldtrk:                             x86 Options.        (line  905)
  * mtune:                                 AArch64 Options.    (line  186)
  * mtune <1>:                             AMD GCN Options.    (line   10)
! * mtune <2>:                             ARC Options.        (line  554)
! * mtune <3>:                             ARC Options.        (line  640)
  * mtune <4>:                             ARM Options.        (line  571)
! * mtune <5>:                             CRIS Options.       (line   16)
  * mtune <6>:                             DEC Alpha Options.  (line  259)
  * mtune <7>:                             IA-64 Options.      (line  116)
  * mtune <8>:                             M680x0 Options.     (line   68)
*************** look up both forms.
*** 64754,64772 ****
                                                               (line  162)
  * mtune <14>:                            SPARC Options.      (line  199)
  * mtune <15>:                            Visium Options.     (line   47)
! * mtune <16>:                            x86 Options.        (line  458)
! * mtune-ctrl=FEATURE-LIST:               x86 Options.        (line  947)
  * muclibc:                               GNU/Linux Options.  (line   14)
! * muintr:                                x86 Options.        (line  893)
  * muls:                                  Score Options.      (line   18)
! * multcost:                              ARC Options.        (line  640)
  * multcost=NUMBER:                       SH Options.         (line  281)
  * multilib-library-pic:                  FRV Options.        (line  110)
  * multiply-enabled:                      LM32 Options.       (line   15)
! * multiply_defined:                      Darwin Options.     (line  196)
! * multiply_defined_unused:               Darwin Options.     (line  196)
! * multi_module:                          Darwin Options.     (line  196)
! * munalign-prob-threshold:               ARC Options.        (line  580)
  * munaligned-access:                     ARM Options.        (line  900)
  * munaligned-doubles:                    SPARC Options.      (line   73)
  * municode:                              x86 Windows Options.
--- 64781,64799 ----
                                                               (line  162)
  * mtune <14>:                            SPARC Options.      (line  199)
  * mtune <15>:                            Visium Options.     (line   47)
! * mtune <16>:                            x86 Options.        (line  469)
! * mtune-ctrl=FEATURE-LIST:               x86 Options.        (line  958)
  * muclibc:                               GNU/Linux Options.  (line   14)
! * muintr:                                x86 Options.        (line  904)
  * muls:                                  Score Options.      (line   18)
! * multcost:                              ARC Options.        (line  645)
  * multcost=NUMBER:                       SH Options.         (line  281)
  * multilib-library-pic:                  FRV Options.        (line  110)
  * multiply-enabled:                      LM32 Options.       (line   15)
! * multiply_defined:                      Darwin Options.     (line  204)
! * multiply_defined_unused:               Darwin Options.     (line  204)
! * multi_module:                          Darwin Options.     (line  204)
! * munalign-prob-threshold:               ARC Options.        (line  582)
  * munaligned-access:                     ARM Options.        (line  900)
  * munaligned-doubles:                    SPARC Options.      (line   73)
  * municode:                              x86 Windows Options.
*************** look up both forms.
*** 64792,64805 ****
  * mv850e3v5:                             V850 Options.       (line   52)
  * mv850es:                               V850 Options.       (line   75)
  * mv8plus:                               SPARC Options.      (line  214)
! * mvaes:                                 x86 Options.        (line  886)
  * mvdsp:                                 C-SKY Options.      (line  104)
  * mveclibabi:                            RS/6000 and PowerPC Options.
                                                               (line  851)
! * mveclibabi <1>:                        x86 Options.        (line 1090)
  * mvect-double:                          Adapteva Epiphany Options.
                                                               (line  115)
! * mvect8-ret-in-mem:                     x86 Options.        (line  730)
  * mverbose-cost-dump:                    AArch64 Options.    (line  265)
  * mverbose-cost-dump <1>:                ARM Options.        (line  940)
  * mvirt:                                 MIPS Options.       (line  407)
--- 64819,64832 ----
  * mv850e3v5:                             V850 Options.       (line   52)
  * mv850es:                               V850 Options.       (line   75)
  * mv8plus:                               SPARC Options.      (line  214)
! * mvaes:                                 x86 Options.        (line  897)
  * mvdsp:                                 C-SKY Options.      (line  104)
  * mveclibabi:                            RS/6000 and PowerPC Options.
                                                               (line  851)
! * mveclibabi <1>:                        x86 Options.        (line 1101)
  * mvect-double:                          Adapteva Epiphany Options.
                                                               (line  115)
! * mvect8-ret-in-mem:                     x86 Options.        (line  741)
  * mverbose-cost-dump:                    AArch64 Options.    (line  265)
  * mverbose-cost-dump <1>:                ARM Options.        (line  940)
  * mvirt:                                 MIPS Options.       (line  407)
*************** look up both forms.
*** 64811,64819 ****
  * mvliw-branch:                          FRV Options.        (line  201)
  * mvms-return-codes:                     VMS Options.        (line    9)
  * mvolatile-asm-stop:                    IA-64 Options.      (line   32)
! * mvolatile-cache:                       ARC Options.        (line  425)
! * mvolatile-cache <1>:                   ARC Options.        (line  429)
! * mvpclmulqdq:                           x86 Options.        (line  888)
  * mvr4130-align:                         MIPS Options.       (line  834)
  * mvrsave:                               RS/6000 and PowerPC Options.
                                                               (line  153)
--- 64838,64846 ----
  * mvliw-branch:                          FRV Options.        (line  201)
  * mvms-return-codes:                     VMS Options.        (line    9)
  * mvolatile-asm-stop:                    IA-64 Options.      (line   32)
! * mvolatile-cache:                       ARC Options.        (line  427)
! * mvolatile-cache <1>:                   ARC Options.        (line  431)
! * mvpclmulqdq:                           x86 Options.        (line  899)
  * mvr4130-align:                         MIPS Options.       (line  834)
  * mvrsave:                               RS/6000 and PowerPC Options.
                                                               (line  153)
*************** look up both forms.
*** 64823,64830 ****
                                                               (line  112)
  * mvxworks:                              RS/6000 and PowerPC Options.
                                                               (line  624)
! * mvzeroupper:                           x86 Options.        (line  974)
! * mwaitpkg:                              x86 Options.        (line  887)
  * mwarn-devices-csv:                     MSP430 Options.     (line  168)
  * mwarn-dynamicstack:                    S/390 and zSeries Options.
                                                               (line  196)
--- 64850,64857 ----
                                                               (line  112)
  * mvxworks:                              RS/6000 and PowerPC Options.
                                                               (line  624)
! * mvzeroupper:                           x86 Options.        (line  985)
! * mwaitpkg:                              x86 Options.        (line  898)
  * mwarn-devices-csv:                     MSP430 Options.     (line  168)
  * mwarn-dynamicstack:                    S/390 and zSeries Options.
                                                               (line  196)
*************** look up both forms.
*** 64832,64846 ****
                                                               (line  188)
  * mwarn-mcu:                             MSP430 Options.     (line   65)
  * mwarn-multiple-fast-interrupts:        RX Options.         (line  143)
! * mwbnoinvd:                             x86 Options.        (line  855)
  * mwide-bitfields:                       MCore Options.      (line   23)
! * mwidekl:                               x86 Options.        (line  908)
  * mwin32:                                x86 Windows Options.
                                                               (line   35)
  * mwindows:                              x86 Windows Options.
                                                               (line   41)
  * mword-relocations:                     ARM Options.        (line  886)
! * mx32:                                  x86 Options.        (line 1511)
  * mxgot:                                 M680x0 Options.     (line  312)
  * mxgot <1>:                             MIPS Options.       (line  229)
  * mxl-barrel-shift:                      MicroBlaze Options. (line   32)
--- 64859,64873 ----
                                                               (line  188)
  * mwarn-mcu:                             MSP430 Options.     (line   65)
  * mwarn-multiple-fast-interrupts:        RX Options.         (line  143)
! * mwbnoinvd:                             x86 Options.        (line  866)
  * mwide-bitfields:                       MCore Options.      (line   23)
! * mwidekl:                               x86 Options.        (line  919)
  * mwin32:                                x86 Windows Options.
                                                               (line   35)
  * mwindows:                              x86 Windows Options.
                                                               (line   41)
  * mword-relocations:                     ARM Options.        (line  886)
! * mx32:                                  x86 Options.        (line 1522)
  * mxgot:                                 M680x0 Options.     (line  312)
  * mxgot <1>:                             MIPS Options.       (line  229)
  * mxl-barrel-shift:                      MicroBlaze Options. (line   32)
*************** look up both forms.
*** 64856,64867 ****
  * mxl-soft-mul:                          MicroBlaze Options. (line   26)
  * mxl-stack-check:                       MicroBlaze Options. (line   41)
  * mxnack:                                AMD GCN Options.    (line   38)
! * mxop:                                  x86 Options.        (line  862)
  * mxpa:                                  MIPS Options.       (line  411)
! * mxsave:                                x86 Options.        (line  873)
! * mxsavec:                               x86 Options.        (line  875)
! * mxsaveopt:                             x86 Options.        (line  874)
! * mxsaves:                               x86 Options.        (line  876)
  * mxy:                                   ARC Options.        (line  373)
  * myellowknife:                          RS/6000 and PowerPC Options.
                                                               (line  619)
--- 64883,64894 ----
  * mxl-soft-mul:                          MicroBlaze Options. (line   26)
  * mxl-stack-check:                       MicroBlaze Options. (line   41)
  * mxnack:                                AMD GCN Options.    (line   38)
! * mxop:                                  x86 Options.        (line  873)
  * mxpa:                                  MIPS Options.       (line  411)
! * mxsave:                                x86 Options.        (line  884)
! * mxsavec:                               x86 Options.        (line  886)
! * mxsaveopt:                             x86 Options.        (line  885)
! * mxsaves:                               x86 Options.        (line  887)
  * mxy:                                   ARC Options.        (line  373)
  * myellowknife:                          RS/6000 and PowerPC Options.
                                                               (line  619)
*************** look up both forms.
*** 64872,64878 ****
  * mzero-extend:                          MMIX Options.       (line   26)
  * mzvector:                              S/390 and zSeries Options.
                                                               (line  123)
! * no-80387:                              x86 Options.        (line  584)
  * no-block-ops-unaligned-vsx:            RS/6000 and PowerPC Options.
                                                               (line  959)
  * no-canonical-prefixes:                 Directory Options.  (line  164)
--- 64899,64905 ----
  * mzero-extend:                          MMIX Options.       (line   26)
  * mzvector:                              S/390 and zSeries Options.
                                                               (line  123)
! * no-80387:                              x86 Options.        (line  595)
  * no-block-ops-unaligned-vsx:            RS/6000 and PowerPC Options.
                                                               (line  959)
  * no-canonical-prefixes:                 Directory Options.  (line  164)
*************** look up both forms.
*** 64880,64905 ****
                                                               (line  485)
  * no-pie:                                Link Options.       (line  181)
  * no-sysroot-suffix:                     Directory Options.  (line  183)
! * noall_load:                            Darwin Options.     (line  196)
  * nocpp:                                 MIPS Options.       (line  636)
  * nodefaultlibs:                         Link Options.       (line  119)
! * nodevicelib:                           AVR Options.        (line  288)
! * nodevicespecs:                         AVR Options.        (line  291)
! * nofixprebinding:                       Darwin Options.     (line  196)
  * nofpu:                                 RX Options.         (line   17)
  * nolibc:                                Link Options.       (line  131)
  * nolibdld:                              HPPA Options.       (line  188)
! * nomultidefs:                           Darwin Options.     (line  196)
  * non-static:                            VxWorks Options.    (line   16)
! * noprebind:                             Darwin Options.     (line  196)
! * noseglinkedit:                         Darwin Options.     (line  196)
  * nostartfiles:                          Link Options.       (line  114)
  * nostdinc:                              Directory Options.  (line  102)
  * nostdinc++:                            C++ Dialect Options.
                                                               (line  530)
  * nostdinc++ <1>:                        Directory Options.  (line  108)
  * nostdlib:                              Link Options.       (line  143)
! * no_dead_strip_inits_and_terms:         Darwin Options.     (line  196)
  * o:                                     Overall Options.    (line  197)
  * O:                                     Optimize Options.   (line   39)
  * O0:                                    Optimize Options.   (line  165)
--- 64907,64932 ----
                                                               (line  485)
  * no-pie:                                Link Options.       (line  181)
  * no-sysroot-suffix:                     Directory Options.  (line  183)
! * noall_load:                            Darwin Options.     (line  204)
  * nocpp:                                 MIPS Options.       (line  636)
  * nodefaultlibs:                         Link Options.       (line  119)
! * nodevicelib:                           AVR Options.        (line  290)
! * nodevicespecs:                         AVR Options.        (line  293)
! * nofixprebinding:                       Darwin Options.     (line  204)
  * nofpu:                                 RX Options.         (line   17)
  * nolibc:                                Link Options.       (line  131)
  * nolibdld:                              HPPA Options.       (line  188)
! * nomultidefs:                           Darwin Options.     (line  204)
  * non-static:                            VxWorks Options.    (line   16)
! * noprebind:                             Darwin Options.     (line  204)
! * noseglinkedit:                         Darwin Options.     (line  204)
  * nostartfiles:                          Link Options.       (line  114)
  * nostdinc:                              Directory Options.  (line  102)
  * nostdinc++:                            C++ Dialect Options.
                                                               (line  530)
  * nostdinc++ <1>:                        Directory Options.  (line  108)
  * nostdlib:                              Link Options.       (line  143)
! * no_dead_strip_inits_and_terms:         Darwin Options.     (line  204)
  * o:                                     Overall Options.    (line  197)
  * O:                                     Optimize Options.   (line   39)
  * O0:                                    Optimize Options.   (line  165)
*************** look up both forms.
*** 64915,64921 ****
                                                               (line  370)
  * p <1>:                                 Common Function Attributes.
                                                               (line  794)
! * pagezero_size:                         Darwin Options.     (line  196)
  * param:                                 Optimize Options.   (line 2676)
  * pass-exit-codes:                       Overall Options.    (line  601)
  * pedantic:                              Standards.          (line   13)
--- 64942,64948 ----
                                                               (line  370)
  * p <1>:                                 Common Function Attributes.
                                                               (line  794)
! * pagezero_size:                         Darwin Options.     (line  204)
  * param:                                 Optimize Options.   (line 2676)
  * pass-exit-codes:                       Overall Options.    (line  601)
  * pedantic:                              Standards.          (line   13)
*************** look up both forms.
*** 64936,64943 ****
  * pie:                                   Link Options.       (line  175)
  * pipe:                                  Overall Options.    (line  609)
  * plt:                                   RISC-V Options.     (line   13)
! * prebind:                               Darwin Options.     (line  196)
! * prebind_all_twolevel_modules:          Darwin Options.     (line  196)
  * print-file-name:                       Developer Options.  (line  935)
  * print-libgcc-file-name:                Developer Options.  (line  969)
  * print-multi-directory:                 Developer Options.  (line  941)
--- 64963,64970 ----
  * pie:                                   Link Options.       (line  175)
  * pipe:                                  Overall Options.    (line  609)
  * plt:                                   RISC-V Options.     (line   13)
! * prebind:                               Darwin Options.     (line  204)
! * prebind_all_twolevel_modules:          Darwin Options.     (line  204)
  * print-file-name:                       Developer Options.  (line  935)
  * print-libgcc-file-name:                Developer Options.  (line  969)
  * print-multi-directory:                 Developer Options.  (line  941)
*************** look up both forms.
*** 64945,64956 ****
  * print-multi-os-directory:              Developer Options.  (line  953)
  * print-multiarch:                       Developer Options.  (line  962)
  * print-objc-runtime-info:               Objective-C and Objective-C++ Dialect Options.
!                                                              (line  227)
  * print-prog-name:                       Developer Options.  (line  966)
  * print-search-dirs:                     Developer Options.  (line  977)
  * print-sysroot:                         Developer Options.  (line  990)
  * print-sysroot-headers-suffix:          Developer Options.  (line  997)
! * private_bundle:                        Darwin Options.     (line  196)
  * pthread:                               Preprocessor Options.
                                                               (line   70)
  * pthread <1>:                           Link Options.       (line  192)
--- 64972,64983 ----
  * print-multi-os-directory:              Developer Options.  (line  953)
  * print-multiarch:                       Developer Options.  (line  962)
  * print-objc-runtime-info:               Objective-C and Objective-C++ Dialect Options.
!                                                              (line  230)
  * print-prog-name:                       Developer Options.  (line  966)
  * print-search-dirs:                     Developer Options.  (line  977)
  * print-sysroot:                         Developer Options.  (line  990)
  * print-sysroot-headers-suffix:          Developer Options.  (line  997)
! * private_bundle:                        Darwin Options.     (line  204)
  * pthread:                               Preprocessor Options.
                                                               (line   70)
  * pthread <1>:                           Link Options.       (line  192)
*************** look up both forms.
*** 64960,64966 ****
  * Qy:                                    System V Options.   (line   14)
  * r:                                     Link Options.       (line  199)
  * rdynamic:                              Link Options.       (line  203)
! * read_only_relocs:                      Darwin Options.     (line  196)
  * remap:                                 Preprocessor Options.
                                                               (line  401)
  * S:                                     Overall Options.    (line  180)
--- 64987,64993 ----
  * Qy:                                    System V Options.   (line   14)
  * r:                                     Link Options.       (line  199)
  * rdynamic:                              Link Options.       (line  203)
! * read_only_relocs:                      Darwin Options.     (line  204)
  * remap:                                 Preprocessor Options.
                                                               (line  401)
  * S:                                     Overall Options.    (line  180)
*************** look up both forms.
*** 64969,64999 ****
  * save-temps:                            Developer Options.  (line  735)
  * save-temps=cwd:                        Developer Options.  (line  746)
  * save-temps=obj:                        Developer Options.  (line  749)
! * sectalign:                             Darwin Options.     (line  196)
! * sectcreate:                            Darwin Options.     (line  196)
! * sectobjectsymbols:                     Darwin Options.     (line  196)
! * sectobjectsymbols <1>:                 Darwin Options.     (line  196)
! * sectorder:                             Darwin Options.     (line  196)
! * seg1addr:                              Darwin Options.     (line  196)
! * segaddr:                               Darwin Options.     (line  196)
! * seglinkedit:                           Darwin Options.     (line  196)
! * segprot:                               Darwin Options.     (line  196)
! * segs_read_only_addr:                   Darwin Options.     (line  196)
! * segs_read_only_addr <1>:               Darwin Options.     (line  196)
! * segs_read_write_addr:                  Darwin Options.     (line  196)
! * segs_read_write_addr <1>:              Darwin Options.     (line  196)
! * seg_addr_table:                        Darwin Options.     (line  196)
! * seg_addr_table_filename:               Darwin Options.     (line  196)
  * shared:                                Link Options.       (line  219)
  * shared-libgcc:                         Link Options.       (line  227)
  * short-calls:                           Adapteva Epiphany Options.
                                                               (line   61)
! * sim:                                   CRIS Options.       (line   81)
! * sim2:                                  CRIS Options.       (line   86)
! * single_module:                         Darwin Options.     (line  196)
  * specs:                                 Overall Options.    (line  615)
  * static:                                Link Options.       (line  214)
! * static <1>:                            Darwin Options.     (line  196)
  * static <2>:                            HPPA Options.       (line  192)
  * static-libasan:                        Link Options.       (line  261)
  * static-libgcc:                         Link Options.       (line  227)
--- 64996,65026 ----
  * save-temps:                            Developer Options.  (line  735)
  * save-temps=cwd:                        Developer Options.  (line  746)
  * save-temps=obj:                        Developer Options.  (line  749)
! * sectalign:                             Darwin Options.     (line  204)
! * sectcreate:                            Darwin Options.     (line  204)
! * sectobjectsymbols:                     Darwin Options.     (line  204)
! * sectobjectsymbols <1>:                 Darwin Options.     (line  204)
! * sectorder:                             Darwin Options.     (line  204)
! * seg1addr:                              Darwin Options.     (line  204)
! * segaddr:                               Darwin Options.     (line  204)
! * seglinkedit:                           Darwin Options.     (line  204)
! * segprot:                               Darwin Options.     (line  204)
! * segs_read_only_addr:                   Darwin Options.     (line  204)
! * segs_read_only_addr <1>:               Darwin Options.     (line  204)
! * segs_read_write_addr:                  Darwin Options.     (line  204)
! * segs_read_write_addr <1>:              Darwin Options.     (line  204)
! * seg_addr_table:                        Darwin Options.     (line  204)
! * seg_addr_table_filename:               Darwin Options.     (line  204)
  * shared:                                Link Options.       (line  219)
  * shared-libgcc:                         Link Options.       (line  227)
  * short-calls:                           Adapteva Epiphany Options.
                                                               (line   61)
! * sim:                                   CRIS Options.       (line   82)
! * sim2:                                  CRIS Options.       (line   87)
! * single_module:                         Darwin Options.     (line  204)
  * specs:                                 Overall Options.    (line  615)
  * static:                                Link Options.       (line  214)
! * static <1>:                            Darwin Options.     (line  204)
  * static <2>:                            HPPA Options.       (line  192)
  * static-libasan:                        Link Options.       (line  261)
  * static-libgcc:                         Link Options.       (line  227)
*************** look up both forms.
*** 65008,65015 ****
  * std <3>:                               Non-bugs.           (line  107)
  * stdlib:                                C++ Dialect Options.
                                                               (line  553)
! * sub_library:                           Darwin Options.     (line  196)
! * sub_umbrella:                          Darwin Options.     (line  196)
  * symbolic:                              Link Options.       (line  305)
  * sysroot:                               Directory Options.  (line  168)
  * T:                                     Link Options.       (line  311)
--- 65035,65042 ----
  * std <3>:                               Non-bugs.           (line  107)
  * stdlib:                                C++ Dialect Options.
                                                               (line  553)
! * sub_library:                           Darwin Options.     (line  204)
! * sub_umbrella:                          Darwin Options.     (line  204)
  * symbolic:                              Link Options.       (line  305)
  * sysroot:                               Directory Options.  (line  168)
  * T:                                     Link Options.       (line  311)
*************** look up both forms.
*** 65025,65039 ****
                                                               (line  377)
  * trigraphs:                             Preprocessor Options.
                                                               (line  387)
! * twolevel_namespace:                    Darwin Options.     (line  196)
  * U:                                     Preprocessor Options.
                                                               (line   42)
  * u:                                     Link Options.       (line  343)
! * umbrella:                              Darwin Options.     (line  196)
  * undef:                                 Preprocessor Options.
                                                               (line   66)
! * undefined:                             Darwin Options.     (line  196)
! * unexported_symbols_list:               Darwin Options.     (line  196)
  * v:                                     Overall Options.    (line  470)
  * version:                               Overall Options.    (line  598)
  * w:                                     Warning Options.    (line   25)
--- 65052,65066 ----
                                                               (line  377)
  * trigraphs:                             Preprocessor Options.
                                                               (line  387)
! * twolevel_namespace:                    Darwin Options.     (line  204)
  * U:                                     Preprocessor Options.
                                                               (line   42)
  * u:                                     Link Options.       (line  343)
! * umbrella:                              Darwin Options.     (line  204)
  * undef:                                 Preprocessor Options.
                                                               (line   66)
! * undefined:                             Darwin Options.     (line  204)
! * unexported_symbols_list:               Darwin Options.     (line  204)
  * v:                                     Overall Options.    (line  470)
  * version:                               Overall Options.    (line  598)
  * w:                                     Warning Options.    (line   25)
*************** look up both forms.
*** 65046,65052 ****
  * Wabi-tag:                              C++ Dialect Options.
                                                               (line  565)
  * Wabsolute-value:                       Warning Options.    (line 2275)
! * Waddr-space-convert:                   AVR Options.        (line  306)
  * Waddress:                              Warning Options.    (line 2631)
  * Waddress-of-packed-member:             Warning Options.    (line 2644)
  * Waggregate-return:                     Warning Options.    (line 2672)
--- 65073,65079 ----
  * Wabi-tag:                              C++ Dialect Options.
                                                               (line  565)
  * Wabsolute-value:                       Warning Options.    (line 2275)
! * Waddr-space-convert:                   AVR Options.        (line  308)
  * Waddress:                              Warning Options.    (line 2631)
  * Waddress-of-packed-member:             Warning Options.    (line 2644)
  * Waggregate-return:                     Warning Options.    (line 2672)
*************** look up both forms.
*** 65104,65110 ****
  * Warith-conversion:                     Warning Options.    (line 1757)
  * Warray-bounds:                         Warning Options.    (line 1770)
  * Wassign-intercept:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line  170)
  * Wattribute-alias:                      Warning Options.    (line 1831)
  * Wattribute-warning:                    Warning Options.    (line 2840)
  * Wattributes:                           Warning Options.    (line 2682)
--- 65131,65137 ----
  * Warith-conversion:                     Warning Options.    (line 1757)
  * Warray-bounds:                         Warning Options.    (line 1770)
  * Wassign-intercept:                     Objective-C and Objective-C++ Dialect Options.
!                                                              (line  173)
  * Wattribute-alias:                      Warning Options.    (line 1831)
  * Wattribute-warning:                    Warning Options.    (line 2840)
  * Wattributes:                           Warning Options.    (line 2682)
*************** look up both forms.
*** 65172,65178 ****
  * Wduplicate-decl-specifier:             Warning Options.    (line  411)
  * Wduplicated-branches:                  Warning Options.    (line 1882)
  * Wduplicated-cond:                      Warning Options.    (line 1893)
! * weak_reference_mismatches:             Darwin Options.     (line  196)
  * Weffc++:                               C++ Dialect Options.
                                                               (line  917)
  * Wempty-body:                           Warning Options.    (line 2512)
--- 65199,65205 ----
  * Wduplicate-decl-specifier:             Warning Options.    (line  411)
  * Wduplicated-branches:                  Warning Options.    (line 1882)
  * Wduplicated-cond:                      Warning Options.    (line 1893)
! * weak_reference_mismatches:             Darwin Options.     (line  204)
  * Weffc++:                               C++ Dialect Options.
                                                               (line  917)
  * Wempty-body:                           Warning Options.    (line 2512)
*************** look up both forms.
*** 65217,65224 ****
  * Wframe-address:                        Warning Options.    (line 1899)
  * Wframe-larger-than=:                   Warning Options.    (line 2166)
  * Wfree-nonheap-object:                  Warning Options.    (line 2183)
! * whatsloaded:                           Darwin Options.     (line  196)
! * whyload:                               Darwin Options.     (line  196)
  * Wif-not-aligned:                       Warning Options.    (line  769)
  * Wignored-attributes:                   Warning Options.    (line  784)
  * Wignored-qualifiers:                   Warning Options.    (line  773)
--- 65244,65251 ----
  * Wframe-address:                        Warning Options.    (line 1899)
  * Wframe-larger-than=:                   Warning Options.    (line 2166)
  * Wfree-nonheap-object:                  Warning Options.    (line 2183)
! * whatsloaded:                           Darwin Options.     (line  204)
! * whyload:                               Darwin Options.     (line  204)
  * Wif-not-aligned:                       Warning Options.    (line  769)
  * Wignored-attributes:                   Warning Options.    (line  784)
  * Wignored-qualifiers:                   Warning Options.    (line  773)
*************** look up both forms.
*** 65276,65282 ****
  * Wmissing-parameter-type:               Warning Options.    (line 2733)
  * Wmissing-profile:                      Warning Options.    (line  889)
  * Wmissing-prototypes:                   Warning Options.    (line 2741)
! * Wmisspelled-isr:                       AVR Options.        (line  311)
  * Wmultichar:                            Warning Options.    (line 2791)
  * Wmultiple-inheritance:                 C++ Dialect Options.
                                                               (line 1064)
--- 65303,65309 ----
  * Wmissing-parameter-type:               Warning Options.    (line 2733)
  * Wmissing-profile:                      Warning Options.    (line  889)
  * Wmissing-prototypes:                   Warning Options.    (line 2741)
! * Wmisspelled-isr:                       AVR Options.        (line  313)
  * Wmultichar:                            Warning Options.    (line 2791)
  * Wmultiple-inheritance:                 C++ Dialect Options.
                                                               (line 1064)
*************** look up both forms.
*** 65288,65294 ****
  * Wnested-externs:                       Warning Options.    (line 2959)
  * Wno-abi:                               Warning Options.    (line  260)
  * Wno-absolute-value:                    Warning Options.    (line 2275)
! * Wno-addr-space-convert:                AVR Options.        (line  306)
  * Wno-address:                           Warning Options.    (line 2631)
  * Wno-address-of-packed-member:          Warning Options.    (line 2644)
  * Wno-aggregate-return:                  Warning Options.    (line 2672)
--- 65315,65321 ----
  * Wnested-externs:                       Warning Options.    (line 2959)
  * Wno-abi:                               Warning Options.    (line  260)
  * Wno-absolute-value:                    Warning Options.    (line 2275)
! * Wno-addr-space-convert:                AVR Options.        (line  308)
  * Wno-address:                           Warning Options.    (line 2631)
  * Wno-address-of-packed-member:          Warning Options.    (line 2644)
  * Wno-aggregate-return:                  Warning Options.    (line 2672)
*************** look up both forms.
*** 65348,65354 ****
  * Wno-array-bounds:                      Warning Options.    (line 1770)
  * Wno-array-parameter:                   Warning Options.    (line 1787)
  * Wno-assign-intercept:                  Objective-C and Objective-C++ Dialect Options.
!                                                              (line  170)
  * Wno-attribute-alias:                   Warning Options.    (line 1831)
  * Wno-attribute-warning:                 Warning Options.    (line 2840)
  * Wno-attributes:                        Warning Options.    (line 2682)
--- 65375,65381 ----
  * Wno-array-bounds:                      Warning Options.    (line 1770)
  * Wno-array-parameter:                   Warning Options.    (line 1787)
  * Wno-assign-intercept:                  Objective-C and Objective-C++ Dialect Options.
!                                                              (line  173)
  * Wno-attribute-alias:                   Warning Options.    (line 1831)
  * Wno-attribute-warning:                 Warning Options.    (line 2840)
  * Wno-attributes:                        Warning Options.    (line 2682)
*************** look up both forms.
*** 65502,65508 ****
  * Wno-missing-parameter-type:            Warning Options.    (line 2733)
  * Wno-missing-profile:                   Warning Options.    (line  889)
  * Wno-missing-prototypes:                Warning Options.    (line 2741)
! * Wno-misspelled-isr:                    AVR Options.        (line  311)
  * Wno-multichar:                         Warning Options.    (line 2791)
  * Wno-multiple-inheritance:              C++ Dialect Options.
                                                               (line 1064)
--- 65529,65535 ----
  * Wno-missing-parameter-type:            Warning Options.    (line 2733)
  * Wno-missing-profile:                   Warning Options.    (line  889)
  * Wno-missing-prototypes:                Warning Options.    (line 2741)
! * Wno-misspelled-isr:                    AVR Options.        (line  313)
  * Wno-multichar:                         Warning Options.    (line 2791)
  * Wno-multiple-inheritance:              C++ Dialect Options.
                                                               (line 1064)
*************** look up both forms.
*** 65558,65566 ****
  * Wno-pragmas:                           Warning Options.    (line 1356)
  * Wno-prio-ctor-dtor:                    Warning Options.    (line 1361)
  * Wno-property-assign-default:           Objective-C and Objective-C++ Dialect Options.
!                                                              (line  174)
  * Wno-protocol:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  178)
  * Wno-range-loop-construct:              C++ Dialect Options.
                                                               (line  861)
  * Wno-redundant-decls:                   Warning Options.    (line 2936)
--- 65585,65593 ----
  * Wno-pragmas:                           Warning Options.    (line 1356)
  * Wno-prio-ctor-dtor:                    Warning Options.    (line 1361)
  * Wno-property-assign-default:           Objective-C and Objective-C++ Dialect Options.
!                                                              (line  177)
  * Wno-protocol:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  181)
  * Wno-range-loop-construct:              C++ Dialect Options.
                                                               (line  861)
  * Wno-redundant-decls:                   Warning Options.    (line 2936)
*************** look up both forms.
*** 65577,65583 ****
  * Wno-return-type:                       Warning Options.    (line 1040)
  * Wno-scalar-storage-order:              Warning Options.    (line 2559)
  * Wno-selector:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  195)
  * Wno-sequence-point:                    Warning Options.    (line  983)
  * Wno-shadow:                            Warning Options.    (line 2098)
  * Wno-shadow-ivar:                       Warning Options.    (line 2109)
--- 65604,65610 ----
  * Wno-return-type:                       Warning Options.    (line 1040)
  * Wno-scalar-storage-order:              Warning Options.    (line 2559)
  * Wno-selector:                          Objective-C and Objective-C++ Dialect Options.
!                                                              (line  198)
  * Wno-sequence-point:                    Warning Options.    (line  983)
  * Wno-shadow:                            Warning Options.    (line 2098)
  * Wno-shadow-ivar:                       Warning Options.    (line 2109)
*************** look up both forms.
*** 65604,65610 ****
  * Wno-strict-overflow:                   Warning Options.    (line 1408)
  * Wno-strict-prototypes:                 Warning Options.    (line 2714)
  * Wno-strict-selector-match:             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  207)
  * Wno-string-compare:                    Warning Options.    (line 1456)
  * Wno-stringop-overflow:                 Warning Options.    (line 1478)
  * Wno-stringop-overflow <1>:             Warning Options.    (line 1517)
--- 65631,65637 ----
  * Wno-strict-overflow:                   Warning Options.    (line 1408)
  * Wno-strict-prototypes:                 Warning Options.    (line 2714)
  * Wno-strict-selector-match:             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  210)
  * Wno-string-compare:                    Warning Options.    (line 1456)
  * Wno-stringop-overflow:                 Warning Options.    (line 1478)
  * Wno-stringop-overflow <1>:             Warning Options.    (line 1517)
*************** look up both forms.
*** 65644,65650 ****
  * Wno-tsan:                              Warning Options.    (line 2260)
  * Wno-type-limits:                       Warning Options.    (line 2268)
  * Wno-undeclared-selector:               Objective-C and Objective-C++ Dialect Options.
!                                                              (line  215)
  * Wno-undef:                             Warning Options.    (line 2301)
  * Wno-uninitialized:                     Warning Options.    (line 1251)
  * Wno-unknown-pragmas:                   Warning Options.    (line 1349)
--- 65671,65677 ----
  * Wno-tsan:                              Warning Options.    (line 2260)
  * Wno-type-limits:                       Warning Options.    (line 2268)
  * Wno-undeclared-selector:               Objective-C and Objective-C++ Dialect Options.
!                                                              (line  218)
  * Wno-undef:                             Warning Options.    (line 2301)
  * Wno-uninitialized:                     Warning Options.    (line 1251)
  * Wno-unknown-pragmas:                   Warning Options.    (line 1349)
*************** look up both forms.
*** 65696,65702 ****
  * Wnormalized=:                          Warning Options.    (line 2797)
  * Wnull-dereference:                     Warning Options.    (line  614)
  * Wobjc-root-class:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line  188)
  * Wodr:                                  Warning Options.    (line 2860)
  * Wold-style-cast:                       C++ Dialect Options.
                                                               (line  966)
--- 65723,65729 ----
  * Wnormalized=:                          Warning Options.    (line 2797)
  * Wnull-dereference:                     Warning Options.    (line  614)
  * Wobjc-root-class:                      Objective-C and Objective-C++ Dialect Options.
!                                                              (line  191)
  * Wodr:                                  Warning Options.    (line 2860)
  * Wold-style-cast:                       C++ Dialect Options.
                                                               (line  966)
*************** look up both forms.
*** 65732,65740 ****
  * Wpragmas:                              Warning Options.    (line 1356)
  * Wprio-ctor-dtor:                       Warning Options.    (line 1361)
  * Wproperty-assign-default:              Objective-C and Objective-C++ Dialect Options.
!                                                              (line  174)
  * Wprotocol:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  178)
  * Wrange-loop-construct:                 C++ Dialect Options.
                                                               (line  861)
  * wrapper:                               Overall Options.    (line  624)
--- 65759,65767 ----
  * Wpragmas:                              Warning Options.    (line 1356)
  * Wprio-ctor-dtor:                       Warning Options.    (line 1361)
  * Wproperty-assign-default:              Objective-C and Objective-C++ Dialect Options.
!                                                              (line  177)
  * Wprotocol:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  181)
  * Wrange-loop-construct:                 C++ Dialect Options.
                                                               (line  861)
  * wrapper:                               Overall Options.    (line  624)
*************** look up both forms.
*** 65752,65758 ****
  * Wreturn-type:                          Warning Options.    (line 1040)
  * Wscalar-storage-order:                 Warning Options.    (line 2559)
  * Wselector:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  195)
  * Wsequence-point:                       Warning Options.    (line  983)
  * Wshadow:                               Warning Options.    (line 2098)
  * Wshadow-ivar:                          Warning Options.    (line 2109)
--- 65779,65785 ----
  * Wreturn-type:                          Warning Options.    (line 1040)
  * Wscalar-storage-order:                 Warning Options.    (line 2559)
  * Wselector:                             Objective-C and Objective-C++ Dialect Options.
!                                                              (line  198)
  * Wsequence-point:                       Warning Options.    (line  983)
  * Wshadow:                               Warning Options.    (line 2098)
  * Wshadow-ivar:                          Warning Options.    (line 2109)
*************** look up both forms.
*** 65782,65788 ****
  * Wstrict-overflow:                      Warning Options.    (line 1408)
  * Wstrict-prototypes:                    Warning Options.    (line 2714)
  * Wstrict-selector-match:                Objective-C and Objective-C++ Dialect Options.
!                                                              (line  207)
  * Wstring-compare:                       Warning Options.    (line 1456)
  * Wstringop-overflow:                    Warning Options.    (line 1478)
  * Wstringop-overflow <1>:                Warning Options.    (line 1517)
--- 65809,65815 ----
  * Wstrict-overflow:                      Warning Options.    (line 1408)
  * Wstrict-prototypes:                    Warning Options.    (line 2714)
  * Wstrict-selector-match:                Objective-C and Objective-C++ Dialect Options.
!                                                              (line  210)
  * Wstring-compare:                       Warning Options.    (line 1456)
  * Wstringop-overflow:                    Warning Options.    (line 1478)
  * Wstringop-overflow <1>:                Warning Options.    (line 1517)
*************** look up both forms.
*** 65823,65829 ****
  * Wtsan:                                 Warning Options.    (line 2260)
  * Wtype-limits:                          Warning Options.    (line 2268)
  * Wundeclared-selector:                  Objective-C and Objective-C++ Dialect Options.
!                                                              (line  215)
  * Wundef:                                Warning Options.    (line 2301)
  * Wuninitialized:                        Warning Options.    (line 1251)
  * Wunknown-pragmas:                      Warning Options.    (line 1349)
--- 65850,65856 ----
  * Wtsan:                                 Warning Options.    (line 2260)
  * Wtype-limits:                          Warning Options.    (line 2268)
  * Wundeclared-selector:                  Objective-C and Objective-C++ Dialect Options.
!                                                              (line  218)
  * Wundef:                                Warning Options.    (line 2301)
  * Wuninitialized:                        Warning Options.    (line 1251)
  * Wunknown-pragmas:                      Warning Options.    (line 1349)
*************** Keyword Index
*** 66051,66057 ****
  * __builtin_cpu_supports:                Basic PowerPC Built-in Functions Available on all Configurations.
                                                               (line   70)
  * __builtin_cpu_supports <1>:            x86 Built-in Functions.
!                                                              (line  249)
  * __builtin_ctz:                         Other Builtins.     (line  949)
  * __builtin_ctzl:                        Other Builtins.     (line  971)
  * __builtin_ctzll:                       Other Builtins.     (line  994)
--- 66078,66084 ----
  * __builtin_cpu_supports:                Basic PowerPC Built-in Functions Available on all Configurations.
                                                               (line   70)
  * __builtin_cpu_supports <1>:            x86 Built-in Functions.
!                                                              (line  252)
  * __builtin_ctz:                         Other Builtins.     (line  949)
  * __builtin_ctzl:                        Other Builtins.     (line  971)
  * __builtin_ctzll:                       Other Builtins.     (line  994)
*************** Keyword Index
*** 66347,66353 ****
  * __far M32C Named Address Spaces:       Named Address Spaces.
                                                               (line  153)
  * __far RL78 Named Address Spaces:       Named Address Spaces.
!                                                              (line  161)
  * __flash AVR Named Address Spaces:      Named Address Spaces.
                                                               (line   44)
  * __flash1 AVR Named Address Spaces:     Named Address Spaces.
--- 66374,66380 ----
  * __far M32C Named Address Spaces:       Named Address Spaces.
                                                               (line  153)
  * __far RL78 Named Address Spaces:       Named Address Spaces.
!                                                              (line  162)
  * __flash AVR Named Address Spaces:      Named Address Spaces.
                                                               (line   44)
  * __flash1 AVR Named Address Spaces:     Named Address Spaces.
*************** Keyword Index
*** 66373,66381 ****
  * __PRETTY_FUNCTION__ identifier:        Function Names.     (line    6)
  * __real__ keyword:                      Complex.            (line   31)
  * __seg_fs x86 named address space:      Named Address Spaces.
!                                                              (line  174)
  * __seg_gs x86 named address space:      Named Address Spaces.
!                                                              (line  174)
  * __STDC_HOSTED__:                       Standards.          (line   13)
  * __sync_add_and_fetch:                  __sync Builtins.    (line   72)
  * __sync_and_and_fetch:                  __sync Builtins.    (line   72)
--- 66400,66408 ----
  * __PRETTY_FUNCTION__ identifier:        Function Names.     (line    6)
  * __real__ keyword:                      Complex.            (line   31)
  * __seg_fs x86 named address space:      Named Address Spaces.
!                                                              (line  175)
  * __seg_gs x86 named address space:      Named Address Spaces.
!                                                              (line  175)
  * __STDC_HOSTED__:                       Standards.          (line   13)
  * __sync_add_and_fetch:                  __sync Builtins.    (line   72)
  * __sync_and_and_fetch:                  __sync Builtins.    (line   72)
*************** Keyword Index
*** 66785,66797 ****
  * declaring static data in C++:          Static Definitions. (line    6)
  * defining static data in C++:           Static Definitions. (line    6)
  * dependencies for make as output:       Environment Variables.
!                                                              (line  172)
  * dependencies for make as output <1>:   Environment Variables.
!                                                              (line  188)
  * dependencies, make:                    Preprocessor Options.
                                                               (line   77)
  * DEPENDENCIES_OUTPUT:                   Environment Variables.
!                                                              (line  171)
  * dependent name lookup:                 Name lookup.        (line    6)
  * deprecated enumerator attribute:       Enumerator Attributes.
                                                               (line   28)
--- 66812,66824 ----
  * declaring static data in C++:          Static Definitions. (line    6)
  * defining static data in C++:           Static Definitions. (line    6)
  * dependencies for make as output:       Environment Variables.
!                                                              (line  173)
  * dependencies for make as output <1>:   Environment Variables.
!                                                              (line  189)
  * dependencies, make:                    Preprocessor Options.
                                                               (line   77)
  * DEPENDENCIES_OUTPUT:                   Environment Variables.
!                                                              (line  172)
  * dependent name lookup:                 Name lookup.        (line    6)
  * deprecated enumerator attribute:       Enumerator Attributes.
                                                               (line   28)
*************** Keyword Index
*** 66853,66859 ****
                                                               (line    9)
  * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes.
                                                               (line    9)
! * EIND:                                  AVR Options.        (line  317)
  * either function attribute, MSP430:     MSP430 Function Attributes.
                                                               (line   57)
  * either variable attribute, MSP430:     MSP430 Variable Attributes.
--- 66880,66886 ----
                                                               (line    9)
  * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes.
                                                               (line    9)
! * EIND:                                  AVR Options.        (line  319)
  * either function attribute, MSP430:     MSP430 Function Attributes.
                                                               (line   57)
  * either variable attribute, MSP430:     MSP430 Variable Attributes.
*************** Keyword Index
*** 67143,67149 ****
  * increment operators:                   Bug Criteria.       (line   17)
  * index:                                 Other Builtins.     (line    6)
  * indirect calls, ARC:                   ARC Function Attributes.
!                                                              (line   26)
  * indirect calls, ARM:                   ARM Function Attributes.
                                                               (line   38)
  * indirect calls, Blackfin:              Blackfin Function Attributes.
--- 67170,67176 ----
  * increment operators:                   Bug Criteria.       (line   17)
  * index:                                 Other Builtins.     (line    6)
  * indirect calls, ARC:                   ARC Function Attributes.
!                                                              (line   27)
  * indirect calls, ARM:                   ARM Function Attributes.
                                                               (line   38)
  * indirect calls, Blackfin:              Blackfin Function Attributes.
*************** Keyword Index
*** 67290,67298 ****
  * j1f:                                   Other Builtins.     (line    6)
  * j1l:                                   Other Builtins.     (line    6)
  * jli_always function attribute, ARC:    ARC Function Attributes.
!                                                              (line   43)
  * jli_fixed function attribute, ARC:     ARC Function Attributes.
!                                                              (line   49)
  * jn:                                    Other Builtins.     (line    6)
  * jnf:                                   Other Builtins.     (line    6)
  * jnl:                                   Other Builtins.     (line    6)
--- 67317,67325 ----
  * j1f:                                   Other Builtins.     (line    6)
  * j1l:                                   Other Builtins.     (line    6)
  * jli_always function attribute, ARC:    ARC Function Attributes.
!                                                              (line   44)
  * jli_fixed function attribute, ARC:     ARC Function Attributes.
!                                                              (line   50)
  * jn:                                    Other Builtins.     (line    6)
  * jnf:                                   Other Builtins.     (line    6)
  * jnl:                                   Other Builtins.     (line    6)
*************** Keyword Index
*** 67409,67415 ****
  * longjmp incompatibilities:             Incompatibilities.  (line   39)
  * longjmp warnings:                      Warning Options.    (line 1334)
  * long_call function attribute, ARC:     ARC Function Attributes.
!                                                              (line   26)
  * long_call function attribute, ARM:     ARM Function Attributes.
                                                               (line   38)
  * long_call function attribute, Epiphany: Epiphany Function Attributes.
--- 67436,67442 ----
  * longjmp incompatibilities:             Incompatibilities.  (line   39)
  * longjmp warnings:                      Warning Options.    (line 1334)
  * long_call function attribute, ARC:     ARC Function Attributes.
!                                                              (line   27)
  * long_call function attribute, ARM:     ARM Function Attributes.
                                                               (line   38)
  * long_call function attribute, Epiphany: Epiphany Function Attributes.
*************** Keyword Index
*** 67451,67457 ****
                                                               (line  234)
  * MCore options:                         MCore Options.      (line    6)
  * medium_call function attribute, ARC:   ARC Function Attributes.
!                                                              (line   26)
  * member fns, automatically inline:      Inline.             (line   68)
  * memchr:                                Other Builtins.     (line    6)
  * memcmp:                                Other Builtins.     (line    6)
--- 67478,67484 ----
                                                               (line  234)
  * MCore options:                         MCore Options.      (line    6)
  * medium_call function attribute, ARC:   ARC Function Attributes.
!                                                              (line   27)
  * member fns, automatically inline:      Inline.             (line   68)
  * memchr:                                Other Builtins.     (line    6)
  * memcmp:                                Other Builtins.     (line    6)
*************** Keyword Index
*** 67514,67520 ****
  * multiprecision arithmetic:             Long Long.          (line    6)
  * n in constraint:                       Simple Constraints. (line   73)
  * naked function attribute, ARC:         ARC Function Attributes.
!                                                              (line   58)
  * naked function attribute, ARM:         ARM Function Attributes.
                                                               (line   48)
  * naked function attribute, AVR:         AVR Function Attributes.
--- 67541,67547 ----
  * multiprecision arithmetic:             Long Long.          (line    6)
  * n in constraint:                       Simple Constraints. (line   73)
  * naked function attribute, ARC:         ARC Function Attributes.
!                                                              (line   59)
  * naked function attribute, ARM:         ARM Function Attributes.
                                                               (line   48)
  * naked function attribute, AVR:         AVR Function Attributes.
*************** Keyword Index
*** 67662,67670 ****
  * omitted middle-operands:               Conditionals.       (line    6)
  * open coding:                           Inline.             (line    6)
  * OpenACC accelerator programming:       C Dialect Options.  (line  337)
! * OpenACC accelerator programming <1>:   C Dialect Options.  (line  345)
! * OpenMP parallel:                       C Dialect Options.  (line  351)
! * OpenMP SIMD:                           C Dialect Options.  (line  359)
  * OpenRISC Options:                      OpenRISC Options.   (line    6)
  * operand constraints, asm:              Constraints.        (line    6)
  * optimize function attribute:           Common Function Attributes.
--- 67689,67697 ----
  * omitted middle-operands:               Conditionals.       (line    6)
  * open coding:                           Inline.             (line    6)
  * OpenACC accelerator programming:       C Dialect Options.  (line  337)
! * OpenACC accelerator programming <1>:   C Dialect Options.  (line  346)
! * OpenMP parallel:                       C Dialect Options.  (line  352)
! * OpenMP SIMD:                           C Dialect Options.  (line  361)
  * OpenRISC Options:                      OpenRISC Options.   (line    6)
  * operand constraints, asm:              Constraints.        (line    6)
  * optimize function attribute:           Common Function Attributes.
*************** Keyword Index
*** 67828,67837 ****
  * r fixed-suffix:                        Fixed-Point.        (line    6)
  * R fixed-suffix:                        Fixed-Point.        (line    6)
  * r in constraint:                       Simple Constraints. (line   64)
! * RAMPD:                                 AVR Options.        (line  428)
! * RAMPX:                                 AVR Options.        (line  428)
! * RAMPY:                                 AVR Options.        (line  428)
! * RAMPZ:                                 AVR Options.        (line  428)
  * range1 GCC_COLORS capability:          Diagnostic Message Formatting Options.
                                                               (line  107)
  * range2 GCC_COLORS capability:          Diagnostic Message Formatting Options.
--- 67855,67864 ----
  * r fixed-suffix:                        Fixed-Point.        (line    6)
  * R fixed-suffix:                        Fixed-Point.        (line    6)
  * r in constraint:                       Simple Constraints. (line   64)
! * RAMPD:                                 AVR Options.        (line  430)
! * RAMPX:                                 AVR Options.        (line  430)
! * RAMPY:                                 AVR Options.        (line  430)
! * RAMPZ:                                 AVR Options.        (line  430)
  * range1 GCC_COLORS capability:          Diagnostic Message Formatting Options.
                                                               (line  107)
  * range2 GCC_COLORS capability:          Diagnostic Message Formatting Options.
*************** Keyword Index
*** 67943,67949 ****
  * section variable attribute:            Common Variable Attributes.
                                                               (line  292)
  * secure_call function attribute, ARC:   ARC Function Attributes.
!                                                              (line   53)
  * selectany variable attribute:          Microsoft Windows Variable Attributes.
                                                               (line   16)
  * sentinel function attribute:           Common Function Attributes.
--- 67970,67976 ----
  * section variable attribute:            Common Variable Attributes.
                                                               (line  292)
  * secure_call function attribute, ARC:   ARC Function Attributes.
!                                                              (line   54)
  * selectany variable attribute:          Microsoft Windows Variable Attributes.
                                                               (line   16)
  * sentinel function attribute:           Common Function Attributes.
*************** Keyword Index
*** 67961,67967 ****
  * shortcall function attribute, PowerPC: PowerPC Function Attributes.
                                                               (line   10)
  * short_call function attribute, ARC:    ARC Function Attributes.
!                                                              (line   26)
  * short_call function attribute, ARM:    ARM Function Attributes.
                                                               (line   38)
  * short_call function attribute, Epiphany: Epiphany Function Attributes.
--- 67988,67994 ----
  * shortcall function attribute, PowerPC: PowerPC Function Attributes.
                                                               (line   10)
  * short_call function attribute, ARC:    ARC Function Attributes.
!                                                              (line   27)
  * short_call function attribute, ARM:    ARM Function Attributes.
                                                               (line   38)
  * short_call function attribute, Epiphany: Epiphany Function Attributes.
*************** Keyword Index
*** 67986,67992 ****
  * significand:                           Other Builtins.     (line    6)
  * significandf:                          Other Builtins.     (line    6)
  * significandl:                          Other Builtins.     (line    6)
! * SIMD:                                  C Dialect Options.  (line  359)
  * simd function attribute:               Common Function Attributes.
                                                               (line 1136)
  * simple constraints:                    Simple Constraints. (line    6)
--- 68013,68019 ----
  * significand:                           Other Builtins.     (line    6)
  * significandf:                          Other Builtins.     (line    6)
  * significandl:                          Other Builtins.     (line    6)
! * SIMD:                                  C Dialect Options.  (line  361)
  * simd function attribute:               Common Function Attributes.
                                                               (line 1136)
  * simple constraints:                    Simple Constraints. (line    6)
*************** Keyword Index
*** 68007,68013 ****
  * snprintf:                              Other Builtins.     (line    6)
  * Solaris 2 options:                     Solaris 2 Options.  (line    6)
  * SOURCE_DATE_EPOCH:                     Environment Variables.
!                                                              (line  193)
  * SPARC options:                         SPARC Options.      (line    6)
  * Spec Files:                            Spec Files.         (line    6)
  * specified registers:                   Explicit Register Variables.
--- 68034,68040 ----
  * snprintf:                              Other Builtins.     (line    6)
  * Solaris 2 options:                     Solaris 2 Options.  (line    6)
  * SOURCE_DATE_EPOCH:                     Environment Variables.
!                                                              (line  194)
  * SPARC options:                         SPARC Options.      (line    6)
  * Spec Files:                            Spec Files.         (line    6)
  * specified registers:                   Explicit Register Variables.
*************** Keyword Index
*** 68075,68081 ****
  * subscripting and function values:      Subscripting.       (line    6)
  * suffixes for C++ source:               Invoking G++.       (line    6)
  * SUNPRO_DEPENDENCIES:                   Environment Variables.
!                                                              (line  187)
  * suppressing warnings:                  Warning Options.    (line    6)
  * surprises in C++:                      C++ Misunderstandings.
                                                               (line    6)
--- 68102,68108 ----
  * subscripting and function values:      Subscripting.       (line    6)
  * suffixes for C++ source:               Invoking G++.       (line    6)
  * SUNPRO_DEPENDENCIES:                   Environment Variables.
!                                                              (line  188)
  * suppressing warnings:                  Warning Options.    (line    6)
  * surprises in C++:                      C++ Misunderstandings.
                                                               (line    6)
*************** Keyword Index
*** 68640,68646 ****
  * X in constraint:                       Simple Constraints. (line  122)
  * X3.159-1989:                           Standards.          (line   13)
  * x86 named address spaces:              Named Address Spaces.
!                                                              (line  169)
  * x86 Options:                           x86 Options.        (line    6)
  * x86 Windows Options:                   x86 Windows Options.
                                                               (line    6)
--- 68667,68673 ----
  * X in constraint:                       Simple Constraints. (line  122)
  * X3.159-1989:                           Standards.          (line   13)
  * x86 named address spaces:              Named Address Spaces.
!                                                              (line  170)
  * x86 Options:                           x86 Options.        (line    6)
  * x86 Windows Options:                   x86 Windows Options.
                                                               (line    6)
*************** Keyword Index
*** 68667,69109 ****
  
  Tag Table:
  Node: Top2135
! Node: G++ and GCC4105
! Node: Standards6165
! Node: Invoking GCC20221
! Node: Option Summary25448
! Node: Overall Options82564
! Node: Invoking G++110144
! Node: C Dialect Options111667
! Node: C++ Dialect Options131325
! Node: Objective-C and Objective-C++ Dialect Options189345
! Node: Diagnostic Message Formatting Options201092
! Node: Warning Options229877
! Ref: Wtrigraphs331385
! Node: Static Analyzer Options368972
! Node: Debugging Options385753
! Node: Optimize Options405701
! Ref: Type-punning476040
! Node: Instrumentation Options591446
! Node: Preprocessor Options635093
! Ref: dashMF639940
! Ref: fdollars-in-identifiers644602
! Node: Assembler Options657927
! Node: Link Options658618
! Ref: Link Options-Footnote-1675494
! Node: Directory Options675830
! Node: Code Gen Options684233
! Node: Developer Options712745
! Node: Submodel Options754130
! Node: AArch64 Options755940
! Ref: aarch64-feature-modifiers771288
! Node: Adapteva Epiphany Options776524
! Node: AMD GCN Options782476
! Node: ARC Options784039
! Node: ARM Options805265
! Node: AVR Options846451
! Node: Blackfin Options872974
! Node: C6X Options880866
! Node: CRIS Options882409
! Node: CR16 Options885593
! Node: C-SKY Options886505
! Node: Darwin Options892232
! Node: DEC Alpha Options899673
! Node: eBPF Options911289
! Node: FR30 Options912571
! Node: FT32 Options913131
! Node: FRV Options914077
! Node: GNU/Linux Options920841
! Node: H8/300 Options922222
! Node: HPPA Options923674
! Node: IA-64 Options933206
! Node: LM32 Options941334
! Node: M32C Options941857
! Node: M32R/D Options943130
! Node: M680x0 Options946675
! Node: MCore Options960750
! Node: MeP Options962252
! Node: MicroBlaze Options966212
! Node: MIPS Options969302
! Node: MMIX Options1005841
! Node: MN10300 Options1008318
! Node: Moxie Options1010861
! Node: MSP430 Options1011348
! Node: NDS32 Options1019109
! Node: Nios II Options1021279
! Node: Nvidia PTX Options1034495
! Node: OpenRISC Options1037004
! Node: PDP-11 Options1039524
! Node: picoChip Options1040773
! Node: PowerPC Options1042911
! Node: PRU Options1043131
! Node: RISC-V Options1045340
! Node: RL78 Options1052992
! Node: RS/6000 and PowerPC Options1056767
! Node: RX Options1098283
! Node: S/390 and zSeries Options1106885
! Node: Score Options1117685
! Node: SH Options1118534
! Node: Solaris 2 Options1133674
! Node: SPARC Options1134912
! Node: System V Options1150564
! Node: TILE-Gx Options1151392
! Node: TILEPro Options1152410
! Node: V850 Options1152914
! Node: VAX Options1159601
! Node: Visium Options1160139
! Node: VMS Options1162447
! Node: VxWorks Options1163263
! Node: x86 Options1164415
! Node: x86 Windows Options1231205
! Node: Xstormy16 Options1234010
! Node: Xtensa Options1234304
! Node: zSeries Options1240440
! Node: Spec Files1240636
! Node: Environment Variables1266715
! Node: Precompiled Headers1276148
! Node: C++ Modules1282357
! Ref: C++ Modules-Footnote-11288496
! Node: C++ Module Mapper1288749
! Node: C++ Module Preprocessing1293902
! Node: C++ Compiled Module Interface1295731
! Ref: C++ Compiled Module Interface-Footnote-11299115
! Ref: C++ Compiled Module Interface-Footnote-21299204
! Node: C Implementation1299260
! Node: Translation implementation1300950
! Node: Environment implementation1301541
! Node: Identifiers implementation1302095
! Node: Characters implementation1303181
! Node: Integers implementation1306831
! Node: Floating point implementation1308880
! Node: Arrays and pointers implementation1311943
! Ref: Arrays and pointers implementation-Footnote-11313403
! Node: Hints implementation1313529
! Node: Structures unions enumerations and bit-fields implementation1315024
! Node: Qualifiers implementation1317248
! Node: Declarators implementation1319309
! Node: Statements implementation1319650
! Node: Preprocessing directives implementation1319976
! Node: Library functions implementation1322297
! Node: Architecture implementation1322946
! Node: Locale-specific behavior implementation1324591
! Node: C++ Implementation1324896
! Node: Conditionally-supported behavior1326179
! Node: Exception handling1326796
! Node: C Extensions1327263
! Node: Statement Exprs1332486
! Node: Local Labels1337858
! Node: Labels as Values1340831
! Ref: Labels as Values-Footnote-11343358
! Node: Nested Functions1343543
! Node: Nonlocal Gotos1347497
! Node: Constructing Calls1349763
! Node: Typeof1354475
! Node: Conditionals1358404
! Node: __int1281359293
! Node: Long Long1359818
! Node: Complex1361309
! Node: Floating Types1364077
! Node: Half-Precision1367544
! Node: Decimal Float1369955
! Node: Hex Floats1371809
! Node: Fixed-Point1372883
! Node: Named Address Spaces1376141
! Ref: AVR Named Address Spaces1376822
! Node: Zero Length1383434
! Node: Empty Structures1387615
! Node: Variable Length1388021
! Node: Variadic Macros1390739
! Node: Escaped Newlines1393117
! Node: Subscripting1393978
! Node: Pointer Arith1394703
! Node: Variadic Pointer Args1395280
! Node: Pointers to Arrays1396005
! Node: Initializers1396758
! Node: Compound Literals1397259
! Node: Designated Inits1400826
! Node: Case Ranges1404750
! Node: Cast to Union1405431
! Node: Mixed Labels and Declarations1407165
! Node: Function Attributes1407802
! Node: Common Function Attributes1412269
! Ref: Common Function Attributes-Footnote-11486144
! Node: AArch64 Function Attributes1486461
! Node: AMD GCN Function Attributes1492655
! Node: ARC Function Attributes1495708
! Node: ARM Function Attributes1498645
! Node: AVR Function Attributes1503784
! Node: Blackfin Function Attributes1508319
! Node: BPF Function Attributes1510816
! Node: CR16 Function Attributes1511404
! Node: C-SKY Function Attributes1511923
! Node: Epiphany Function Attributes1513222
! Node: H8/300 Function Attributes1515977
! Node: IA-64 Function Attributes1517175
! Node: M32C Function Attributes1518217
! Node: M32R/D Function Attributes1520555
! Node: m68k Function Attributes1522029
! Node: MCORE Function Attributes1522973
! Node: MeP Function Attributes1523784
! Node: MicroBlaze Function Attributes1525085
! Node: Microsoft Windows Function Attributes1526592
! Node: MIPS Function Attributes1531161
! Node: MSP430 Function Attributes1536779
! Node: NDS32 Function Attributes1540858
! Node: Nios II Function Attributes1543282
! Node: Nvidia PTX Function Attributes1544579
! Node: PowerPC Function Attributes1545194
! Node: RISC-V Function Attributes1551968
! Node: RL78 Function Attributes1553384
! Node: RX Function Attributes1554623
! Node: S/390 Function Attributes1557170
! Node: SH Function Attributes1558998
! Node: Symbian OS Function Attributes1562426
! Node: V850 Function Attributes1562762
! Node: Visium Function Attributes1563307
! Node: x86 Function Attributes1563835
! Node: Xstormy16 Function Attributes1587637
! Node: Variable Attributes1588144
! Node: Common Variable Attributes1589677
! Node: ARC Variable Attributes1610142
! Node: AVR Variable Attributes1610524
! Node: Blackfin Variable Attributes1615686
! Node: H8/300 Variable Attributes1616544
! Node: IA-64 Variable Attributes1617617
! Node: M32R/D Variable Attributes1618368
! Node: MeP Variable Attributes1619151
! Node: Microsoft Windows Variable Attributes1621244
! Node: MSP430 Variable Attributes1623697
! Node: Nvidia PTX Variable Attributes1624911
! Node: PowerPC Variable Attributes1625528
! Node: RL78 Variable Attributes1626085
! Node: V850 Variable Attributes1626504
! Node: x86 Variable Attributes1627137
! Node: Xstormy16 Variable Attributes1628193
! Node: Type Attributes1628763
! Node: Common Type Attributes1630427
! Node: ARC Type Attributes1652184
! Node: ARM Type Attributes1652656
! Node: MeP Type Attributes1653438
! Node: PowerPC Type Attributes1653840
! Node: x86 Type Attributes1654829
! Node: Label Attributes1655821
! Node: Enumerator Attributes1657848
! Node: Statement Attributes1659167
! Node: Attribute Syntax1660650
! Node: Function Prototypes1671908
! Node: C++ Comments1673688
! Node: Dollar Signs1674207
! Node: Character Escapes1674672
! Node: Alignment1674956
! Node: Inline1676609
! Node: Volatiles1681426
! Node: Using Assembly Language with C1684325
! Node: Basic Asm1685562
! Node: Extended Asm1691012
! Ref: Volatile1695126
! Ref: AssemblerTemplate1699239
! Ref: OutputOperands1703479
! Ref: FlagOutputOperands1710442
! Ref: InputOperands1713389
! Ref: Clobbers and Scratch Registers1717657
! Ref: GotoLabels1726298
! Ref: x86Operandmodifiers1729921
! Ref: x86floatingpointasmoperands1734737
! Ref: msp430Operandmodifiers1738066
! Node: Constraints1739724
! Node: Simple Constraints1740830
! Node: Multi-Alternative1748144
! Node: Modifiers1749819
! Node: Machine Constraints1752618
! Node: Asm Labels1808843
! Node: Explicit Register Variables1810463
! Ref: Explicit Reg Vars1810677
! Node: Global Register Variables1811286
! Ref: Global Reg Vars1811494
! Node: Local Register Variables1816276
! Ref: Local Reg Vars1816496
! Node: Size of an asm1820124
! Node: Alternate Keywords1821602
! Node: Incomplete Enums1823107
! Node: Function Names1823864
! Node: Return Address1825768
! Node: Vector Extensions1830355
! Node: Offsetof1840120
! Node: __sync Builtins1840953
! Node: __atomic Builtins1847396
! Node: Integer Overflow Builtins1861021
! Node: x86 specific memory model extensions for transactional memory1867504
! Node: Object Size Checking1868770
! Node: Other Builtins1875026
! Node: Target Builtins1926674
! Node: AArch64 Built-in Functions1928449
! Node: Alpha Built-in Functions1929137
! Node: Altera Nios II Built-in Functions1932185
! Node: ARC Built-in Functions1936554
! Node: ARC SIMD Built-in Functions1941766
! Node: ARM iWMMXt Built-in Functions1950662
! Node: ARM C Language Extensions (ACLE)1957658
! Node: ARM Floating Point Status and Control Intrinsics1958935
! Node: ARM ARMv8-M Security Extensions1959420
! Node: AVR Built-in Functions1960700
! Node: Blackfin Built-in Functions1964461
! Node: BPF Built-in Functions1965079
! Node: FR-V Built-in Functions1965979
! Node: Argument Types1966842
! Node: Directly-mapped Integer Functions1968596
! Node: Directly-mapped Media Functions1969680
! Node: Raw read/write Functions1977886
! Node: Other Built-in Functions1978794
! Node: MIPS DSP Built-in Functions1979980
! Node: MIPS Paired-Single Support1992477
! Node: MIPS Loongson Built-in Functions1993976
! Node: Paired-Single Arithmetic2000498
! Node: Paired-Single Built-in Functions2001446
! Node: MIPS-3D Built-in Functions2004113
! Node: MIPS SIMD Architecture (MSA) Support2009507
! Node: MIPS SIMD Architecture Built-in Functions2012347
! Node: Other MIPS Built-in Functions2039201
! Node: MSP430 Built-in Functions2040210
! Node: NDS32 Built-in Functions2041611
! Node: picoChip Built-in Functions2042904
! Node: Basic PowerPC Built-in Functions2044253
! Node: Basic PowerPC Built-in Functions Available on all Configurations2045111
! Node: Basic PowerPC Built-in Functions Available on ISA 2.052053620
! Node: Basic PowerPC Built-in Functions Available on ISA 2.062058455
! Node: Basic PowerPC Built-in Functions Available on ISA 2.072060535
! Node: Basic PowerPC Built-in Functions Available on ISA 3.02061389
! Node: Basic PowerPC Built-in Functions Available on ISA 3.12068367
! Node: PowerPC AltiVec/VSX Built-in Functions2071580
! Node: PowerPC AltiVec Built-in Functions on ISA 2.052079649
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062105049
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072112115
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02121925
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.12137642
! Node: PowerPC Hardware Transactional Memory Built-in Functions2170865
! Node: PowerPC Atomic Memory Operation Functions2179380
! Node: PowerPC Matrix-Multiply Assist Built-in Functions2181943
! Node: PRU Built-in Functions2188068
! Node: RISC-V Built-in Functions2189256
! Node: RX Built-in Functions2189667
! Node: S/390 System z Built-in Functions2193669
! Node: SH Built-in Functions2198899
! Node: SPARC VIS Built-in Functions2200627
! Node: TI C6X Built-in Functions2209158
! Node: TILE-Gx Built-in Functions2210189
! Node: TILEPro Built-in Functions2211308
! Node: x86 Built-in Functions2212408
! Node: x86 transactional memory intrinsics2276488
! Node: x86 control-flow protection intrinsics2279755
! Node: Target Format Checks2281526
! Node: Solaris Format Checks2281958
! Node: Darwin Format Checks2282384
! Node: Pragmas2283347
! Node: AArch64 Pragmas2284288
! Node: ARM Pragmas2284745
! Node: M32C Pragmas2285372
! Node: MeP Pragmas2286444
! Node: PRU Pragmas2288496
! Node: RS/6000 and PowerPC Pragmas2289074
! Node: S/390 Pragmas2289814
! Node: Darwin Pragmas2290380
! Node: Solaris Pragmas2291433
! Node: Symbol-Renaming Pragmas2292597
! Node: Structure-Layout Pragmas2294234
! Node: Weak Pragmas2296514
! Node: Diagnostic Pragmas2297249
! Node: Visibility Pragmas2301440
! Node: Push/Pop Macro Pragmas2302125
! Node: Function Specific Option Pragmas2303098
! Node: Loop-Specific Pragmas2305064
! Node: Unnamed Fields2306664
! Node: Thread-Local2308861
! Node: C99 Thread-Local Edits2310967
! Node: C++98 Thread-Local Edits2312965
! Node: Binary constants2316410
! Node: C++ Extensions2317081
! Node: C++ Volatiles2318711
! Node: Restricted Pointers2321059
! Node: Vague Linkage2322650
! Node: C++ Interface2326273
! Ref: C++ Interface-Footnote-12330070
! Node: Template Instantiation2330208
! Node: Bound member functions2336299
! Node: C++ Attributes2337831
! Node: Function Multiversioning2341903
! Node: Type Traits2343710
! Node: C++ Concepts2350660
! Node: Deprecated Features2352166
! Node: Backwards Compatibility2353991
! Node: Objective-C2355063
! Node: GNU Objective-C runtime API2355670
! Node: Modern GNU Objective-C runtime API2356677
! Node: Traditional GNU Objective-C runtime API2359113
! Node: Executing code before main2359840
! Node: What you can and what you cannot do in +load2362584
! Node: Type encoding2364954
! Node: Legacy type encoding2370095
! Node: @encode2371185
! Node: Method signatures2371730
! Node: Garbage Collection2373722
! Node: Constant string objects2376412
! Node: compatibility_alias2378921
! Node: Exceptions2379646
! Node: Synchronization2382356
! Node: Fast enumeration2383540
! Node: Using fast enumeration2383852
! Node: c99-like fast enumeration syntax2385063
! Node: Fast enumeration details2385766
! Node: Fast enumeration protocol2388106
! Node: Messaging with the GNU Objective-C runtime2391258
! Node: Dynamically registering methods2392630
! Node: Forwarding hook2394321
! Node: Compatibility2397361
! Node: Gcov2403917
! Node: Gcov Intro2404452
! Node: Invoking Gcov2407170
! Node: Gcov and Optimization2430036
! Node: Gcov Data Files2433779
! Node: Cross-profiling2435188
! Node: Gcov-tool2437042
! Node: Gcov-tool Intro2437467
! Node: Invoking Gcov-tool2439437
! Node: Gcov-dump2442015
! Node: Gcov-dump Intro2442338
! Node: Invoking Gcov-dump2442605
! Node: lto-dump2443262
! Node: lto-dump Intro2443561
! Node: Invoking lto-dump2443811
! Node: Trouble2444907
! Node: Actual Bugs2446324
! Node: Interoperation2446771
! Node: Incompatibilities2453662
! Node: Fixed Headers2461814
! Node: Standard Libraries2463472
! Node: Disappointments2464844
! Node: C++ Misunderstandings2469203
! Node: Static Definitions2470014
! Node: Name lookup2471067
! Ref: Name lookup-Footnote-12475848
! Node: Temporaries2476037
! Node: Copy Assignment2478013
! Node: Non-bugs2479848
! Node: Warnings and Errors2490354
! Node: Bugs2492116
! Node: Bug Criteria2492583
! Node: Bug Reporting2494793
! Node: Service2495011
! Node: Contributing2495831
! Node: Funding2496572
! Node: GNU Project2499062
! Node: Copying2499708
! Node: GNU Free Documentation License2537216
! Node: Contributors2562334
! Node: Option Index2603307
! Node: Keyword Index2893457
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 68694,69131 ----
  
  Tag Table:
  Node: Top2135
! Node: G++ and GCC4093
! Node: Standards6153
! Node: Invoking GCC20209
! Node: Option Summary25436
! Node: Overall Options82552
! Node: Invoking G++110132
! Node: C Dialect Options111655
! Node: C++ Dialect Options131313
! Node: Objective-C and Objective-C++ Dialect Options189333
! Node: Diagnostic Message Formatting Options201238
! Node: Warning Options230023
! Ref: Wtrigraphs331531
! Node: Static Analyzer Options369118
! Node: Debugging Options385899
! Node: Optimize Options405847
! Ref: Type-punning476186
! Node: Instrumentation Options591592
! Node: Preprocessor Options635239
! Ref: dashMF640086
! Ref: fdollars-in-identifiers644748
! Node: Assembler Options658073
! Node: Link Options658764
! Ref: Link Options-Footnote-1675640
! Node: Directory Options675976
! Node: Code Gen Options684379
! Node: Developer Options712891
! Node: Submodel Options754276
! Node: AArch64 Options756086
! Ref: aarch64-feature-modifiers771460
! Node: Adapteva Epiphany Options776696
! Node: AMD GCN Options782648
! Node: ARC Options784211
! Node: ARM Options805437
! Node: AVR Options846623
! Node: Blackfin Options873145
! Node: C6X Options881037
! Node: CRIS Options882580
! Node: CR16 Options885764
! Node: C-SKY Options886676
! Node: Darwin Options892403
! Node: DEC Alpha Options900183
! Node: eBPF Options911799
! Node: FR30 Options913081
! Node: FT32 Options913641
! Node: FRV Options914587
! Node: GNU/Linux Options921351
! Node: H8/300 Options922732
! Node: HPPA Options924184
! Node: IA-64 Options933716
! Node: LM32 Options941844
! Node: M32C Options942367
! Node: M32R/D Options943640
! Node: M680x0 Options947185
! Node: MCore Options961260
! Node: MeP Options962762
! Node: MicroBlaze Options966722
! Node: MIPS Options969812
! Node: MMIX Options1006351
! Node: MN10300 Options1008828
! Node: Moxie Options1011371
! Node: MSP430 Options1011858
! Node: NDS32 Options1019619
! Node: Nios II Options1021789
! Node: Nvidia PTX Options1035005
! Node: OpenRISC Options1037514
! Node: PDP-11 Options1040034
! Node: picoChip Options1041283
! Node: PowerPC Options1043421
! Node: PRU Options1043641
! Node: RISC-V Options1045850
! Node: RL78 Options1053502
! Node: RS/6000 and PowerPC Options1057277
! Node: RX Options1098793
! Node: S/390 and zSeries Options1107395
! Node: Score Options1118195
! Node: SH Options1119044
! Node: Solaris 2 Options1134184
! Node: SPARC Options1135422
! Node: System V Options1151074
! Node: TILE-Gx Options1151902
! Node: TILEPro Options1152920
! Node: V850 Options1153424
! Node: VAX Options1160111
! Node: Visium Options1160649
! Node: VMS Options1162957
! Node: VxWorks Options1163773
! Node: x86 Options1164925
! Node: x86 Windows Options1232330
! Node: Xstormy16 Options1235135
! Node: Xtensa Options1235429
! Node: zSeries Options1241565
! Node: Spec Files1241761
! Node: Environment Variables1267840
! Node: Precompiled Headers1277273
! Node: C++ Modules1283482
! Ref: C++ Modules-Footnote-11289621
! Node: C++ Module Mapper1289874
! Node: C++ Module Preprocessing1295027
! Node: C++ Compiled Module Interface1296856
! Ref: C++ Compiled Module Interface-Footnote-11300240
! Ref: C++ Compiled Module Interface-Footnote-21300329
! Node: C Implementation1300385
! Node: Translation implementation1302075
! Node: Environment implementation1302666
! Node: Identifiers implementation1303220
! Node: Characters implementation1304306
! Node: Integers implementation1307956
! Node: Floating point implementation1310005
! Node: Arrays and pointers implementation1313068
! Ref: Arrays and pointers implementation-Footnote-11314528
! Node: Hints implementation1314654
! Node: Structures unions enumerations and bit-fields implementation1316149
! Node: Qualifiers implementation1318373
! Node: Declarators implementation1320434
! Node: Statements implementation1320775
! Node: Preprocessing directives implementation1321101
! Node: Library functions implementation1323422
! Node: Architecture implementation1324071
! Node: Locale-specific behavior implementation1325716
! Node: C++ Implementation1326021
! Node: Conditionally-supported behavior1327304
! Node: Exception handling1327921
! Node: C Extensions1328388
! Node: Statement Exprs1333611
! Node: Local Labels1338983
! Node: Labels as Values1341956
! Ref: Labels as Values-Footnote-11344483
! Node: Nested Functions1344668
! Node: Nonlocal Gotos1348622
! Node: Constructing Calls1350888
! Node: Typeof1355600
! Node: Conditionals1359529
! Node: __int1281360418
! Node: Long Long1360943
! Node: Complex1362434
! Node: Floating Types1365202
! Node: Half-Precision1368669
! Node: Decimal Float1371080
! Node: Hex Floats1372934
! Node: Fixed-Point1374008
! Node: Named Address Spaces1377266
! Ref: AVR Named Address Spaces1377947
! Node: Zero Length1384559
! Node: Empty Structures1388740
! Node: Variable Length1389146
! Node: Variadic Macros1391864
! Node: Escaped Newlines1394242
! Node: Subscripting1395103
! Node: Pointer Arith1395828
! Node: Variadic Pointer Args1396405
! Node: Pointers to Arrays1397130
! Node: Initializers1397883
! Node: Compound Literals1398384
! Node: Designated Inits1401951
! Node: Case Ranges1405875
! Node: Cast to Union1406556
! Node: Mixed Labels and Declarations1408290
! Node: Function Attributes1408927
! Node: Common Function Attributes1413394
! Ref: Common Function Attributes-Footnote-11487269
! Node: AArch64 Function Attributes1487586
! Node: AMD GCN Function Attributes1493780
! Node: ARC Function Attributes1496833
! Node: ARM Function Attributes1499770
! Node: AVR Function Attributes1504909
! Node: Blackfin Function Attributes1509444
! Node: BPF Function Attributes1511941
! Node: CR16 Function Attributes1512529
! Node: C-SKY Function Attributes1513048
! Node: Epiphany Function Attributes1514347
! Node: H8/300 Function Attributes1517102
! Node: IA-64 Function Attributes1518300
! Node: M32C Function Attributes1519342
! Node: M32R/D Function Attributes1521680
! Node: m68k Function Attributes1523154
! Node: MCORE Function Attributes1524098
! Node: MeP Function Attributes1524909
! Node: MicroBlaze Function Attributes1526210
! Node: Microsoft Windows Function Attributes1527717
! Node: MIPS Function Attributes1532286
! Node: MSP430 Function Attributes1537904
! Node: NDS32 Function Attributes1541983
! Node: Nios II Function Attributes1544407
! Node: Nvidia PTX Function Attributes1545704
! Node: PowerPC Function Attributes1546319
! Node: RISC-V Function Attributes1553093
! Node: RL78 Function Attributes1554509
! Node: RX Function Attributes1555748
! Node: S/390 Function Attributes1558295
! Node: SH Function Attributes1560123
! Node: Symbian OS Function Attributes1563551
! Node: V850 Function Attributes1563887
! Node: Visium Function Attributes1564432
! Node: x86 Function Attributes1564960
! Node: Xstormy16 Function Attributes1588762
! Node: Variable Attributes1589269
! Node: Common Variable Attributes1590802
! Node: ARC Variable Attributes1611267
! Node: AVR Variable Attributes1611649
! Node: Blackfin Variable Attributes1616811
! Node: H8/300 Variable Attributes1617669
! Node: IA-64 Variable Attributes1618742
! Node: M32R/D Variable Attributes1619493
! Node: MeP Variable Attributes1620276
! Node: Microsoft Windows Variable Attributes1622369
! Node: MSP430 Variable Attributes1624822
! Node: Nvidia PTX Variable Attributes1626036
! Node: PowerPC Variable Attributes1626653
! Node: RL78 Variable Attributes1627210
! Node: V850 Variable Attributes1627629
! Node: x86 Variable Attributes1628262
! Node: Xstormy16 Variable Attributes1629318
! Node: Type Attributes1629888
! Node: Common Type Attributes1631552
! Node: ARC Type Attributes1653309
! Node: ARM Type Attributes1653781
! Node: MeP Type Attributes1654563
! Node: PowerPC Type Attributes1654965
! Node: x86 Type Attributes1655954
! Node: Label Attributes1656946
! Node: Enumerator Attributes1658973
! Node: Statement Attributes1660292
! Node: Attribute Syntax1661775
! Node: Function Prototypes1673033
! Node: C++ Comments1674813
! Node: Dollar Signs1675332
! Node: Character Escapes1675797
! Node: Alignment1676081
! Node: Inline1677734
! Node: Volatiles1682551
! Node: Using Assembly Language with C1685450
! Node: Basic Asm1686687
! Node: Extended Asm1692137
! Ref: Volatile1696251
! Ref: AssemblerTemplate1700364
! Ref: OutputOperands1704604
! Ref: FlagOutputOperands1711567
! Ref: InputOperands1714514
! Ref: Clobbers and Scratch Registers1718782
! Ref: GotoLabels1727423
! Ref: x86Operandmodifiers1731046
! Ref: x86floatingpointasmoperands1735862
! Ref: msp430Operandmodifiers1739191
! Node: Constraints1740849
! Node: Simple Constraints1741955
! Node: Multi-Alternative1749269
! Node: Modifiers1750944
! Node: Machine Constraints1753743
! Node: Asm Labels1809968
! Node: Explicit Register Variables1811588
! Ref: Explicit Reg Vars1811802
! Node: Global Register Variables1812411
! Ref: Global Reg Vars1812619
! Node: Local Register Variables1817401
! Ref: Local Reg Vars1817621
! Node: Size of an asm1821249
! Node: Alternate Keywords1822727
! Node: Incomplete Enums1824232
! Node: Function Names1824989
! Node: Return Address1826893
! Node: Vector Extensions1831480
! Node: Offsetof1841245
! Node: __sync Builtins1842078
! Node: __atomic Builtins1848521
! Node: Integer Overflow Builtins1862146
! Node: x86 specific memory model extensions for transactional memory1868629
! Node: Object Size Checking1869895
! Node: Other Builtins1876151
! Node: Target Builtins1927799
! Node: AArch64 Built-in Functions1929574
! Node: Alpha Built-in Functions1930262
! Node: Altera Nios II Built-in Functions1933310
! Node: ARC Built-in Functions1937679
! Node: ARC SIMD Built-in Functions1942891
! Node: ARM iWMMXt Built-in Functions1951787
! Node: ARM C Language Extensions (ACLE)1958783
! Node: ARM Floating Point Status and Control Intrinsics1960060
! Node: ARM ARMv8-M Security Extensions1960545
! Node: AVR Built-in Functions1961825
! Node: Blackfin Built-in Functions1965586
! Node: BPF Built-in Functions1966204
! Node: FR-V Built-in Functions1967104
! Node: Argument Types1967967
! Node: Directly-mapped Integer Functions1969721
! Node: Directly-mapped Media Functions1970805
! Node: Raw read/write Functions1979011
! Node: Other Built-in Functions1979919
! Node: MIPS DSP Built-in Functions1981105
! Node: MIPS Paired-Single Support1993602
! Node: MIPS Loongson Built-in Functions1995101
! Node: Paired-Single Arithmetic2001623
! Node: Paired-Single Built-in Functions2002571
! Node: MIPS-3D Built-in Functions2005238
! Node: MIPS SIMD Architecture (MSA) Support2010632
! Node: MIPS SIMD Architecture Built-in Functions2013472
! Node: Other MIPS Built-in Functions2040326
! Node: MSP430 Built-in Functions2041335
! Node: NDS32 Built-in Functions2042736
! Node: picoChip Built-in Functions2044029
! Node: Basic PowerPC Built-in Functions2045378
! Node: Basic PowerPC Built-in Functions Available on all Configurations2046236
! Node: Basic PowerPC Built-in Functions Available on ISA 2.052054745
! Node: Basic PowerPC Built-in Functions Available on ISA 2.062059580
! Node: Basic PowerPC Built-in Functions Available on ISA 2.072061660
! Node: Basic PowerPC Built-in Functions Available on ISA 3.02062514
! Node: Basic PowerPC Built-in Functions Available on ISA 3.12069492
! Node: PowerPC AltiVec/VSX Built-in Functions2072705
! Node: PowerPC AltiVec Built-in Functions on ISA 2.052080774
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062106174
! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072113240
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02123050
! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.12138767
! Node: PowerPC Hardware Transactional Memory Built-in Functions2171990
! Node: PowerPC Atomic Memory Operation Functions2180505
! Node: PowerPC Matrix-Multiply Assist Built-in Functions2183068
! Node: PRU Built-in Functions2189193
! Node: RISC-V Built-in Functions2190381
! Node: RX Built-in Functions2190792
! Node: S/390 System z Built-in Functions2194794
! Node: SH Built-in Functions2200024
! Node: SPARC VIS Built-in Functions2201752
! Node: TI C6X Built-in Functions2210283
! Node: TILE-Gx Built-in Functions2211314
! Node: TILEPro Built-in Functions2212433
! Node: x86 Built-in Functions2213533
! Node: x86 transactional memory intrinsics2277668
! Node: x86 control-flow protection intrinsics2280935
! Node: Target Format Checks2282706
! Node: Solaris Format Checks2283138
! Node: Darwin Format Checks2283564
! Node: Pragmas2284527
! Node: AArch64 Pragmas2285468
! Node: ARM Pragmas2285925
! Node: M32C Pragmas2286552
! Node: MeP Pragmas2287624
! Node: PRU Pragmas2289676
! Node: RS/6000 and PowerPC Pragmas2290254
! Node: S/390 Pragmas2290994
! Node: Darwin Pragmas2291560
! Node: Solaris Pragmas2292613
! Node: Symbol-Renaming Pragmas2293777
! Node: Structure-Layout Pragmas2295414
! Node: Weak Pragmas2297694
! Node: Diagnostic Pragmas2298429
! Node: Visibility Pragmas2302620
! Node: Push/Pop Macro Pragmas2303305
! Node: Function Specific Option Pragmas2304278
! Node: Loop-Specific Pragmas2306244
! Node: Unnamed Fields2307844
! Node: Thread-Local2310041
! Node: C99 Thread-Local Edits2312147
! Node: C++98 Thread-Local Edits2314145
! Node: Binary constants2317590
! Node: C++ Extensions2318261
! Node: C++ Volatiles2319891
! Node: Restricted Pointers2322239
! Node: Vague Linkage2323830
! Node: C++ Interface2327453
! Ref: C++ Interface-Footnote-12331250
! Node: Template Instantiation2331388
! Node: Bound member functions2337479
! Node: C++ Attributes2339011
! Node: Function Multiversioning2343083
! Node: Type Traits2344890
! Node: C++ Concepts2351840
! Node: Deprecated Features2353346
! Node: Backwards Compatibility2355171
! Node: Objective-C2356243
! Node: GNU Objective-C runtime API2356850
! Node: Modern GNU Objective-C runtime API2357857
! Node: Traditional GNU Objective-C runtime API2360293
! Node: Executing code before main2361020
! Node: What you can and what you cannot do in +load2363764
! Node: Type encoding2366134
! Node: Legacy type encoding2371275
! Node: @encode2372365
! Node: Method signatures2372910
! Node: Garbage Collection2374902
! Node: Constant string objects2377592
! Node: compatibility_alias2380101
! Node: Exceptions2380826
! Node: Synchronization2383536
! Node: Fast enumeration2384720
! Node: Using fast enumeration2385032
! Node: c99-like fast enumeration syntax2386243
! Node: Fast enumeration details2386946
! Node: Fast enumeration protocol2389286
! Node: Messaging with the GNU Objective-C runtime2392438
! Node: Dynamically registering methods2393810
! Node: Forwarding hook2395501
! Node: Compatibility2398541
! Node: Gcov2405097
! Node: Gcov Intro2405632
! Node: Invoking Gcov2408350
! Node: Gcov and Optimization2431216
! Node: Gcov Data Files2434959
! Node: Cross-profiling2436368
! Node: Gcov-tool2438222
! Node: Gcov-tool Intro2438647
! Node: Invoking Gcov-tool2440617
! Node: Gcov-dump2443195
! Node: Gcov-dump Intro2443518
! Node: Invoking Gcov-dump2443785
! Node: lto-dump2444442
! Node: lto-dump Intro2444741
! Node: Invoking lto-dump2444991
! Node: Trouble2446087
! Node: Actual Bugs2447504
! Node: Interoperation2447951
! Node: Incompatibilities2454842
! Node: Fixed Headers2462994
! Node: Standard Libraries2464652
! Node: Disappointments2466024
! Node: C++ Misunderstandings2470383
! Node: Static Definitions2471194
! Node: Name lookup2472247
! Ref: Name lookup-Footnote-12477028
! Node: Temporaries2477217
! Node: Copy Assignment2479193
! Node: Non-bugs2481028
! Node: Warnings and Errors2491534
! Node: Bugs2493296
! Node: Bug Criteria2493763
! Node: Bug Reporting2495973
! Node: Service2496191
! Node: Contributing2497011
! Node: Funding2497752
! Node: GNU Project2500242
! Node: Copying2500888
! Node: GNU Free Documentation License2538396
! Node: Contributors2563514
! Node: Option Index2604487
! Node: Keyword Index2894856
  
  End Tag Table
diff -Nrcpad gcc-11.4.0/gcc/doc/gccinstall.info gcc-11.5.0/gcc/doc/gccinstall.info
*** gcc-11.4.0/gcc/doc/gccinstall.info	Mon May 29 09:02:37 2023
--- gcc-11.5.0/gcc/doc/gccinstall.info	Fri Jul 19 06:06:44 2024
***************
*** 1,4 ****
! This is gccinstall.info, produced by makeinfo version 6.8 from
  install.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
--- 1,4 ----
! This is gccinstall.info, produced by makeinfo version 6.5 from
  install.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
*************** Perl version between 5.6.1 and 5.6.24
*** 240,245 ****
--- 240,248 ----
  
       Used by 'automake'.
  
+      If available, enables parallel testing of 'libgomp' in case that
+      'flock' is not available.
+ 
     Several support libraries are necessary to build GCC, some are
  required, others optional.  While any sufficiently new version of
  required tools usually work, library requirements are generally
*************** Concept Index
*** 4877,4883 ****
  * Menu:
  
  * Binaries:                              Binaries.           (line    6)
! * build_configargs:                      Configuration.      (line 1757)
  * Configuration:                         Configuration.      (line    6)
  * configurations supported by GCC:       Configurations.     (line    6)
  * Downloading GCC:                       Downloading the source.
--- 4880,4886 ----
  * Menu:
  
  * Binaries:                              Binaries.           (line    6)
! * build_configargs:                      Configuration.      (line 1758)
  * Configuration:                         Configuration.      (line    6)
  * configurations supported by GCC:       Configurations.     (line    6)
  * Downloading GCC:                       Downloading the source.
*************** Concept Index
*** 4887,4893 ****
  * FDL, GNU Free Documentation License:   GNU Free Documentation License.
                                                               (line    6)
  * Host specific installation:            Specific.           (line    6)
! * host_configargs:                       Configuration.      (line 1761)
  * Installing GCC: Binaries:              Binaries.           (line    6)
  * Installing GCC: Building:              Building.           (line    6)
  * Installing GCC: Configuration:         Configuration.      (line    6)
--- 4890,4896 ----
  * FDL, GNU Free Documentation License:   GNU Free Documentation License.
                                                               (line    6)
  * Host specific installation:            Specific.           (line    6)
! * host_configargs:                       Configuration.      (line 1762)
  * Installing GCC: Binaries:              Binaries.           (line    6)
  * Installing GCC: Building:              Building.           (line    6)
  * Installing GCC: Configuration:         Configuration.      (line    6)
*************** Concept Index
*** 4897,4903 ****
  * Specific installation notes:           Specific.           (line    6)
  * Target specific installation:          Specific.           (line    6)
  * Target specific installation notes:    Specific.           (line    6)
! * target_configargs:                     Configuration.      (line 1765)
  * Testing:                               Testing.            (line    6)
  * Testsuite:                             Testing.            (line    6)
  
--- 4900,4906 ----
  * Specific installation notes:           Specific.           (line    6)
  * Target specific installation:          Specific.           (line    6)
  * Target specific installation notes:    Specific.           (line    6)
! * target_configargs:                     Configuration.      (line 1766)
  * Testing:                               Testing.            (line    6)
  * Testsuite:                             Testing.            (line    6)
  
*************** Node: Top1696
*** 4908,5015 ****
  Node: Installing GCC2254
  Node: Prerequisites3888
  Ref: GNAT-prerequisite5954
! Node: Downloading the source15566
! Node: Configuration17237
! Ref: with-gnu-as33325
! Ref: with-as34220
! Ref: with-gnu-ld35629
! Ref: WithAixSoname60535
! Ref: AixLdCommand61196
! Node: Building102949
! Node: Testing119072
! Node: Final install127020
! Node: Binaries132320
! Node: Specific133427
! Ref: aarch64-x-x133934
! Ref: alpha-x-x135954
! Ref: amd64-x-solaris2136168
! Ref: amdgcn-x-amdhsa136250
! Ref: arc-x-elf32136776
! Ref: arc-linux-uclibc136952
! Ref: arm-x-eabi137093
! Ref: avr137346
! Ref: bfin137927
! Ref: cr16138190
! Ref: cris138606
! Ref: dos138932
! Ref: epiphany-x-elf139257
! Ref: x-x-freebsd139362
! Ref: ft32-x-elf141162
! Ref: h8300-hms141260
! Ref: hppa-hp-hpux141612
! Ref: hppa-hp-hpux10143984
! Ref: hppa-hp-hpux11144397
! Ref: x-x-linux-gnu149799
! Ref: ix86-x-linux149992
! Ref: ix86-x-solaris2150305
! Ref: ia64-x-linux151381
! Ref: ia64-x-hpux152151
! Ref: x-ibm-aix152706
! Ref: TransferAixShobj156368
! Ref: iq2000-x-elf160178
! Ref: lm32-x-elf160318
! Ref: lm32-x-uclinux160422
! Ref: m32c-x-elf160550
! Ref: m32r-x-elf160652
! Ref: m68k-x-x160754
! Ref: m68k-x-uclinux161792
! Ref: microblaze-x-elf162037
! Ref: mips-x-x162156
! Ref: moxie-x-elf164066
! Ref: msp430-x-elf164113
! Ref: nds32le-x-elf164670
! Ref: nds32be-x-elf164742
! Ref: nvptx-x-none164811
! Ref: or1k-x-elf165374
! Ref: or1k-x-linux165505
! Ref: powerpc-x-x165586
! Ref: powerpc-x-darwin165777
! Ref: powerpc-x-elf166271
! Ref: powerpc-x-linux-gnu166356
! Ref: powerpc-x-netbsd166451
! Ref: powerpc-x-eabisim166539
! Ref: powerpc-x-eabi166665
! Ref: powerpcle-x-elf166741
! Ref: powerpcle-x-eabisim166833
! Ref: powerpcle-x-eabi166966
! Ref: rl78-x-elf167049
! Ref: riscv32-x-elf167155
! Ref: riscv32-x-linux167344
! Ref: riscv64-x-elf167501
! Ref: riscv64-x-linux167690
! Ref: rx-x-elf167847
! Ref: s390-x-linux167893
! Ref: s390x-x-linux167965
! Ref: s390x-ibm-tpf168052
! Ref: x-x-solaris2168183
! Ref: sparc-x-x171290
! Ref: sparc-sun-solaris2171792
! Ref: sparc-x-linux172935
! Ref: sparc64-x-solaris2172966
! Ref: sparcv9-x-solaris2173684
! Ref: c6x-x-x173771
! Ref: tilegx-*-linux173863
! Ref: tilegxbe-*-linux174005
! Ref: tilepro-*-linux174148
! Ref: visium-x-elf174269
! Ref: x-x-vxworks174377
! Ref: x86-64-x-x175900
! Ref: x86-64-x-solaris2176228
! Ref: xtensa-x-elf176878
! Ref: xtensa-x-linux177549
! Ref: windows177890
! Ref: x-x-cygwin179731
! Ref: x-x-mingw32180284
! Ref: older180510
! Ref: elf182627
! Node: Old182885
! Node: Configurations186018
! Node: GNU Free Documentation License189556
! Node: Concept Index214684
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 4911,5013 ----
  Node: Installing GCC2254
  Node: Prerequisites3888
  Ref: GNAT-prerequisite5954
! Node: Downloading the source15668
! Node: Configuration17339
! Ref: with-gnu-as33427
! Ref: with-as34322
! Ref: with-gnu-ld35731
! Ref: WithAixSoname60637
! Ref: AixLdCommand61298
! Node: Building103051
! Node: Testing119174
! Node: Final install127122
! Node: Binaries132422
! Node: Specific133529
! Ref: aarch64-x-x134036
! Ref: alpha-x-x136056
! Ref: amd64-x-solaris2136270
! Ref: amdgcn-x-amdhsa136352
! Ref: arc-x-elf32136878
! Ref: arc-linux-uclibc137054
! Ref: arm-x-eabi137195
! Ref: avr137448
! Ref: bfin138029
! Ref: cr16138292
! Ref: cris138708
! Ref: dos139034
! Ref: epiphany-x-elf139359
! Ref: x-x-freebsd139464
! Ref: ft32-x-elf141264
! Ref: h8300-hms141362
! Ref: hppa-hp-hpux141714
! Ref: hppa-hp-hpux10144086
! Ref: hppa-hp-hpux11144499
! Ref: x-x-linux-gnu149901
! Ref: ix86-x-linux150094
! Ref: ix86-x-solaris2150407
! Ref: ia64-x-linux151483
! Ref: ia64-x-hpux152253
! Ref: x-ibm-aix152808
! Ref: TransferAixShobj156470
! Ref: iq2000-x-elf160280
! Ref: lm32-x-elf160420
! Ref: lm32-x-uclinux160524
! Ref: m32c-x-elf160652
! Ref: m32r-x-elf160754
! Ref: m68k-x-x160856
! Ref: m68k-x-uclinux161894
! Ref: microblaze-x-elf162139
! Ref: mips-x-x162258
! Ref: moxie-x-elf164168
! Ref: msp430-x-elf164215
! Ref: nds32le-x-elf164772
! Ref: nds32be-x-elf164844
! Ref: nvptx-x-none164913
! Ref: or1k-x-elf165476
! Ref: or1k-x-linux165607
! Ref: powerpc-x-x165688
! Ref: powerpc-x-darwin165879
! Ref: powerpc-x-elf166373
! Ref: powerpc-x-linux-gnu166458
! Ref: powerpc-x-netbsd166553
! Ref: powerpc-x-eabisim166641
! Ref: powerpc-x-eabi166767
! Ref: powerpcle-x-elf166843
! Ref: powerpcle-x-eabisim166935
! Ref: powerpcle-x-eabi167068
! Ref: rl78-x-elf167151
! Ref: riscv32-x-elf167257
! Ref: riscv32-x-linux167446
! Ref: riscv64-x-elf167603
! Ref: riscv64-x-linux167792
! Ref: rx-x-elf167949
! Ref: s390-x-linux167995
! Ref: s390x-x-linux168067
! Ref: s390x-ibm-tpf168154
! Ref: x-x-solaris2168285
! Ref: sparc-x-x171392
! Ref: sparc-sun-solaris2171894
! Ref: sparc-x-linux173037
! Ref: sparc64-x-solaris2173068
! Ref: sparcv9-x-solaris2173786
! Ref: c6x-x-x173873
! Ref: tilegx-*-linux173965
! Ref: tilegxbe-*-linux174107
! Ref: tilepro-*-linux174250
! Ref: visium-x-elf174371
! Ref: x-x-vxworks174479
! Ref: x86-64-x-x176002
! Ref: x86-64-x-solaris2176330
! Ref: xtensa-x-elf176980
! Ref: xtensa-x-linux177651
! Ref: windows177992
! Ref: x-x-cygwin179833
! Ref: x-x-mingw32180386
! Ref: older180612
! Ref: elf182729
! Node: Old182987
! Node: Configurations186120
! Node: GNU Free Documentation License189658
! Node: Concept Index214786
  
  End Tag Table
diff -Nrcpad gcc-11.4.0/gcc/doc/gccint.info gcc-11.5.0/gcc/doc/gccint.info
*** gcc-11.4.0/gcc/doc/gccint.info	Mon May 29 09:02:47 2023
--- gcc-11.5.0/gcc/doc/gccint.info	Fri Jul 19 06:06:49 2024
***************
*** 1,4 ****
! This is gccint.info, produced by makeinfo version 6.8 from gccint.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
--- 1,4 ----
! This is gccint.info, produced by makeinfo version 6.5 from gccint.texi.
  
  Copyright (C) 1988-2021 Free Software Foundation, Inc.
  
*************** Copies published by the Free Software Fo
*** 47,53 ****
  development.
  
  
! File: gccint.info,  Node: Top,  Next: Contributing,  Up: (dir)
  
  Introduction
  ************
--- 47,53 ----
  development.
  
  
! File: gccint.info,  Node: Top,  Next: Contributing
  
  Introduction
  ************
*************** Introduction
*** 55,61 ****
  This manual documents the internals of the GNU compilers, including how
  to port them to new targets and some information about how to write
  front ends for new languages.  It corresponds to the compilers (GCC)
! version 11.4.0.  The use of the GNU compilers is documented in a
  separate manual.  *Note Introduction: (gcc)Top.
  
   This manual is mainly a reference manual rather than a tutorial.  It
--- 55,61 ----
  This manual documents the internals of the GNU compilers, including how
  to port them to new targets and some information about how to write
  front ends for new languages.  It corresponds to the compilers (GCC)
! version 11.5.0.  The use of the GNU compilers is documented in a
  separate manual.  *Note Introduction: (gcc)Top.
  
   This manual is mainly a reference manual rather than a tutorial.  It
*************** kinds of expressions:
*** 10714,10720 ****
       vector.  For example { 0, 1 } could be seen as two patterns with
       one element each or one pattern with two elements (BASE0 and
       BASE1).  The canonical encoding is always the one with the fewest
!      patterns or (if both encodings have the same number of petterns)
       the one with the fewest encoded elements.
  
       'vector_cst_encoding_nelts (V)' gives the total number of encoded
--- 10714,10720 ----
       vector.  For example { 0, 1 } could be seen as two patterns with
       one element each or one pattern with two elements (BASE0 and
       BASE1).  The canonical encoding is always the one with the fewest
!      patterns or (if both encodings have the same number of patterns)
       the one with the fewest encoded elements.
  
       'vector_cst_encoding_nelts (V)' gives the total number of encoded
*************** File: gccint.info,  Node: GIMPLE_CALL,
*** 14083,14089 ****
       call needs no further simplification.  All the call flags in
       'call_expr' are copied over to the new 'GIMPLE_CALL'.
  
!  -- GIMPLE function: gcall *gimple_build_call_vec (tree fn, vec<tree>
            args)
       Identical to 'gimple_build_call' but the arguments are stored in a
       'vec<tree>'.
--- 14083,14089 ----
       call needs no further simplification.  All the call flags in
       'call_expr' are copied over to the new 'GIMPLE_CALL'.
  
!  -- GIMPLE function: gcall *gimple_build_call_vec (tree fn, 'vec<tree>'
            args)
       Identical to 'gimple_build_call' but the arguments are stored in a
       'vec<tree>'.
*************** File: gccint.info,  Node: GIMPLE_SWITCH,
*** 14890,14896 ****
  -----------------------
  
   -- GIMPLE function: gswitch *gimple_build_switch (tree index, tree
!           default_label, vec<tree> *args)
       Build a 'GIMPLE_SWITCH' statement.  'INDEX' is the index variable
       to switch on, and 'DEFAULT_LABEL' represents the default label.
       'ARGS' is a vector of 'CASE_LABEL_EXPR' trees that contain the
--- 14890,14896 ----
  -----------------------
  
   -- GIMPLE function: gswitch *gimple_build_switch (tree index, tree
!           default_label, 'vec'<tree> *args)
       Build a 'GIMPLE_SWITCH' statement.  'INDEX' is the index variable
       to switch on, and 'DEFAULT_LABEL' represents the default label.
       'ARGS' is a vector of 'CASE_LABEL_EXPR' trees that contain the
*************** The simplest RTL expressions are those t
*** 17578,17584 ****
       vector.  For example { 0, 1 } could be seen as two patterns with
       one element each or one pattern with two elements (BASE0 and
       BASE1).  The canonical encoding is always the one with the fewest
!      patterns or (if both encodings have the same number of petterns)
       the one with the fewest encoded elements.
  
       'const_vector_encoding_nelts (V)' gives the total number of encoded
--- 17578,17584 ----
       vector.  For example { 0, 1 } could be seen as two patterns with
       one element each or one pattern with two elements (BASE0 and
       BASE1).  The canonical encoding is always the one with the fewest
!      patterns or (if both encodings have the same number of patterns)
       the one with the fewest encoded elements.
  
       'const_vector_encoding_nelts (V)' gives the total number of encoded
*************** expression simplified to a simple operan
*** 46501,46508 ****
  
   which moves the outer 'plus' operation to the inner arms of the
  'vec_cond' expression but only if the actual plus operations both
! simplify.  Note this is currently only supported for code generation
! targeting 'GIMPLE'.
  
   As intermediate conversions are often optional there is a way to avoid
  the need to repeat patterns both with and without such conversions.
--- 46501,46509 ----
  
   which moves the outer 'plus' operation to the inner arms of the
  'vec_cond' expression but only if the actual plus operations both
! simplify.  Note that on 'GENERIC' a simple operand means that the result
! satisfies '!EXPR_P' which can be limiting if the operation itself
! simplifies but the remaining operand is an (unrelated) expression.
  
   As intermediate conversions are often optional there is a way to avoid
  the need to repeat patterns both with and without such conversions.
*************** alphabetical order.
*** 48980,48986 ****
  
     * Ralf Corsepius for SH testing and minor bug fixing.
  
!    * François-Xavier Coudert for contributions to GNU Fortran.
  
     * Stan Cox for care and feeding of the x86 port and lots of behind
       the scenes hacking.
--- 48981,48987 ----
  
     * Ralf Corsepius for SH testing and minor bug fixing.
  
!    * Franc,ois-Xavier Coudert for contributions to GNU Fortran.
  
     * Stan Cox for care and feeding of the x86 port and lots of behind
       the scenes hacking.
*************** alphabetical order.
*** 49023,49029 ****
       disbursement, configuration architecture, libio maintenance, and
       early math work.
  
!    * François Dumont for his work on libstdc++-v3, especially
       maintaining and improving 'debug-mode' and associative and
       unordered containers.
  
--- 49024,49030 ----
       disbursement, configuration architecture, libio maintenance, and
       early math work.
  
!    * Franc,ois Dumont for his work on libstdc++-v3, especially
       maintaining and improving 'debug-mode' and associative and
       unordered containers.
  
*************** alphabetical order.
*** 49282,49294 ****
  
     * Weiwen Liu for testing and various bug fixes.
  
!    * Manuel López-Ibáñez for improving '-Wconversion' and many other
       diagnostics fixes and improvements.
  
     * Dave Love for his ongoing work with the Fortran front end and
       runtime libraries.
  
!    * Martin von Löwis for internal consistency checking infrastructure,
       various C++ improvements including namespace support, and tons of
       assistance with libstdc++/compiler merges.
  
--- 49283,49295 ----
  
     * Weiwen Liu for testing and various bug fixes.
  
!    * Manuel Lo'pez-Iba'n~ez for improving '-Wconversion' and many other
       diagnostics fixes and improvements.
  
     * Dave Love for his ongoing work with the Fortran front end and
       runtime libraries.
  
!    * Martin von Lo"wis for internal consistency checking infrastructure,
       various C++ improvements including namespace support, and tons of
       assistance with libstdc++/compiler merges.
  
*************** alphabetical order.
*** 49480,49486 ****
  
     * Craig Rodrigues for processing tons of bug reports.
  
!    * Ola Rönnerup for work on mt_alloc.
  
     * Gavin Romig-Koch for lots of behind the scenes MIPS work.
  
--- 49481,49487 ----
  
     * Craig Rodrigues for processing tons of bug reports.
  
!    * Ola Ro"nnerup for work on mt_alloc.
  
     * Gavin Romig-Koch for lots of behind the scenes MIPS work.
  
*************** alphabetical order.
*** 49494,49500 ****
  
     * Paul Rubin wrote most of the preprocessor.
  
!    * Pétur Runólfsson for major performance improvements in C++
       formatted I/O and large file support in C++ filebuf.
  
     * Chip Salzenberg for libstdc++ patches and improvements to locales,
--- 49495,49501 ----
  
     * Paul Rubin wrote most of the preprocessor.
  
!    * Pe'tur Runo'lfsson for major performance improvements in C++
       formatted I/O and large file support in C++ filebuf.
  
     * Chip Salzenberg for libstdc++ patches and improvements to locales,
*************** alphabetical order.
*** 49515,49521 ****
  
     * William Schelter did most of the work on the Intel 80386 support.
  
!    * Tobias Schlüter for work on GNU Fortran.
  
     * Bernd Schmidt for various code generation improvements and major
       work in the reload pass, serving as release manager for GCC 2.95.3,
--- 49516,49522 ----
  
     * William Schelter did most of the work on the Intel 80386 support.
  
!    * Tobias Schlu"ter for work on GNU Fortran.
  
     * Bernd Schmidt for various code generation improvements and major
       work in the reload pass, serving as release manager for GCC 2.95.3,
*************** contributions to testing:
*** 50012,50018 ****
  
     * Robert A. French
  
!    * Jörgen Freyh
  
     * Mark K. Gardner
  
--- 50013,50019 ----
  
     * Robert A. French
  
!    * Jo"rgen Freyh
  
     * Mark K. Gardner
  
*************** Concept Index
*** 50234,50276 ****
  * __absvsi2:                             Integer library routines.
                                                               (line  105)
  * __addda3:                              Fixed-point fractional library routines.
!                                                              (line   44)
  * __adddf3:                              Soft float library routines.
                                                               (line   22)
  * __adddq3:                              Fixed-point fractional library routines.
!                                                              (line   31)
  * __addha3:                              Fixed-point fractional library routines.
!                                                              (line   41)
  * __addhq3:                              Fixed-point fractional library routines.
!                                                              (line   29)
  * __addqq3:                              Fixed-point fractional library routines.
!                                                              (line   27)
  * __addsa3:                              Fixed-point fractional library routines.
!                                                              (line   43)
  * __addsf3:                              Soft float library routines.
                                                               (line   21)
  * __addsq3:                              Fixed-point fractional library routines.
!                                                              (line   30)
  * __addta3:                              Fixed-point fractional library routines.
!                                                              (line   45)
  * __addtf3:                              Soft float library routines.
                                                               (line   23)
  * __adduda3:                             Fixed-point fractional library routines.
!                                                              (line   51)
  * __addudq3:                             Fixed-point fractional library routines.
-                                                              (line   39)
- * __adduha3:                             Fixed-point fractional library routines.
                                                               (line   47)
  * __adduhq3:                             Fixed-point fractional library routines.
!                                                              (line   35)
  * __adduqq3:                             Fixed-point fractional library routines.
!                                                              (line   33)
  * __addusa3:                             Fixed-point fractional library routines.
!                                                              (line   49)
  * __addusq3:                             Fixed-point fractional library routines.
!                                                              (line   37)
  * __adduta3:                             Fixed-point fractional library routines.
!                                                              (line   53)
  * __addvdi3:                             Integer library routines.
                                                               (line  110)
  * __addvsi3:                             Integer library routines.
--- 50235,50277 ----
  * __absvsi2:                             Integer library routines.
                                                               (line  105)
  * __addda3:                              Fixed-point fractional library routines.
!                                                              (line   52)
  * __adddf3:                              Soft float library routines.
                                                               (line   22)
  * __adddq3:                              Fixed-point fractional library routines.
!                                                              (line   39)
  * __addha3:                              Fixed-point fractional library routines.
!                                                              (line   49)
  * __addhq3:                              Fixed-point fractional library routines.
!                                                              (line   37)
  * __addqq3:                              Fixed-point fractional library routines.
!                                                              (line   35)
  * __addsa3:                              Fixed-point fractional library routines.
!                                                              (line   51)
  * __addsf3:                              Soft float library routines.
                                                               (line   21)
  * __addsq3:                              Fixed-point fractional library routines.
!                                                              (line   38)
  * __addta3:                              Fixed-point fractional library routines.
!                                                              (line   53)
  * __addtf3:                              Soft float library routines.
                                                               (line   23)
  * __adduda3:                             Fixed-point fractional library routines.
!                                                              (line   59)
  * __addudq3:                             Fixed-point fractional library routines.
                                                               (line   47)
+ * __adduha3:                             Fixed-point fractional library routines.
+                                                              (line   55)
  * __adduhq3:                             Fixed-point fractional library routines.
!                                                              (line   43)
  * __adduqq3:                             Fixed-point fractional library routines.
!                                                              (line   41)
  * __addusa3:                             Fixed-point fractional library routines.
!                                                              (line   57)
  * __addusq3:                             Fixed-point fractional library routines.
!                                                              (line   45)
  * __adduta3:                             Fixed-point fractional library routines.
!                                                              (line   61)
  * __addvdi3:                             Integer library routines.
                                                               (line  110)
  * __addvsi3:                             Integer library routines.
*************** Concept Index
*** 50278,50340 ****
  * __addxf3:                              Soft float library routines.
                                                               (line   25)
  * __ashlda3:                             Fixed-point fractional library routines.
!                                                              (line  350)
  * __ashldi3:                             Integer library routines.
                                                               (line   13)
  * __ashldq3:                             Fixed-point fractional library routines.
!                                                              (line  338)
  * __ashlha3:                             Fixed-point fractional library routines.
!                                                              (line  348)
  * __ashlhq3:                             Fixed-point fractional library routines.
!                                                              (line  336)
  * __ashlqq3:                             Fixed-point fractional library routines.
!                                                              (line  335)
  * __ashlsa3:                             Fixed-point fractional library routines.
!                                                              (line  349)
  * __ashlsi3:                             Integer library routines.
                                                               (line   12)
  * __ashlsq3:                             Fixed-point fractional library routines.
!                                                              (line  337)
  * __ashlta3:                             Fixed-point fractional library routines.
!                                                              (line  351)
  * __ashlti3:                             Integer library routines.
                                                               (line   14)
  * __ashluda3:                            Fixed-point fractional library routines.
!                                                              (line  357)
  * __ashludq3:                            Fixed-point fractional library routines.
!                                                              (line  346)
  * __ashluha3:                            Fixed-point fractional library routines.
!                                                              (line  353)
  * __ashluhq3:                            Fixed-point fractional library routines.
!                                                              (line  342)
  * __ashluqq3:                            Fixed-point fractional library routines.
!                                                              (line  340)
  * __ashlusa3:                            Fixed-point fractional library routines.
!                                                              (line  355)
  * __ashlusq3:                            Fixed-point fractional library routines.
!                                                              (line  344)
  * __ashluta3:                            Fixed-point fractional library routines.
!                                                              (line  359)
  * __ashrda3:                             Fixed-point fractional library routines.
!                                                              (line  370)
  * __ashrdi3:                             Integer library routines.
                                                               (line   18)
  * __ashrdq3:                             Fixed-point fractional library routines.
!                                                              (line  366)
  * __ashrha3:                             Fixed-point fractional library routines.
!                                                              (line  368)
  * __ashrhq3:                             Fixed-point fractional library routines.
!                                                              (line  364)
  * __ashrqq3:                             Fixed-point fractional library routines.
!                                                              (line  363)
  * __ashrsa3:                             Fixed-point fractional library routines.
!                                                              (line  369)
  * __ashrsi3:                             Integer library routines.
                                                               (line   17)
  * __ashrsq3:                             Fixed-point fractional library routines.
!                                                              (line  365)
  * __ashrta3:                             Fixed-point fractional library routines.
!                                                              (line  371)
  * __ashrti3:                             Integer library routines.
                                                               (line   19)
  * __bid_adddd3:                          Decimal float library routines.
--- 50279,50341 ----
  * __addxf3:                              Soft float library routines.
                                                               (line   25)
  * __ashlda3:                             Fixed-point fractional library routines.
!                                                              (line  358)
  * __ashldi3:                             Integer library routines.
                                                               (line   13)
  * __ashldq3:                             Fixed-point fractional library routines.
!                                                              (line  346)
  * __ashlha3:                             Fixed-point fractional library routines.
!                                                              (line  356)
  * __ashlhq3:                             Fixed-point fractional library routines.
!                                                              (line  344)
  * __ashlqq3:                             Fixed-point fractional library routines.
!                                                              (line  343)
  * __ashlsa3:                             Fixed-point fractional library routines.
!                                                              (line  357)
  * __ashlsi3:                             Integer library routines.
                                                               (line   12)
  * __ashlsq3:                             Fixed-point fractional library routines.
!                                                              (line  345)
  * __ashlta3:                             Fixed-point fractional library routines.
!                                                              (line  359)
  * __ashlti3:                             Integer library routines.
                                                               (line   14)
  * __ashluda3:                            Fixed-point fractional library routines.
!                                                              (line  365)
  * __ashludq3:                            Fixed-point fractional library routines.
!                                                              (line  354)
  * __ashluha3:                            Fixed-point fractional library routines.
!                                                              (line  361)
  * __ashluhq3:                            Fixed-point fractional library routines.
!                                                              (line  350)
  * __ashluqq3:                            Fixed-point fractional library routines.
!                                                              (line  348)
  * __ashlusa3:                            Fixed-point fractional library routines.
!                                                              (line  363)
  * __ashlusq3:                            Fixed-point fractional library routines.
!                                                              (line  352)
  * __ashluta3:                            Fixed-point fractional library routines.
!                                                              (line  367)
  * __ashrda3:                             Fixed-point fractional library routines.
!                                                              (line  378)
  * __ashrdi3:                             Integer library routines.
                                                               (line   18)
  * __ashrdq3:                             Fixed-point fractional library routines.
!                                                              (line  374)
  * __ashrha3:                             Fixed-point fractional library routines.
!                                                              (line  376)
  * __ashrhq3:                             Fixed-point fractional library routines.
!                                                              (line  372)
  * __ashrqq3:                             Fixed-point fractional library routines.
!                                                              (line  371)
  * __ashrsa3:                             Fixed-point fractional library routines.
!                                                              (line  377)
  * __ashrsi3:                             Integer library routines.
                                                               (line   17)
  * __ashrsq3:                             Fixed-point fractional library routines.
!                                                              (line  373)
  * __ashrta3:                             Fixed-point fractional library routines.
!                                                              (line  379)
  * __ashrti3:                             Integer library routines.
                                                               (line   19)
  * __bid_adddd3:                          Decimal float library routines.
*************** Concept Index
*** 50533,50579 ****
  * __clzti2:                              Integer library routines.
                                                               (line  131)
  * __cmpda2:                              Fixed-point fractional library routines.
!                                                              (line  450)
  * __cmpdf2:                              Soft float library routines.
                                                               (line  163)
  * __cmpdi2:                              Integer library routines.
                                                               (line   86)
  * __cmpdq2:                              Fixed-point fractional library routines.
!                                                              (line  439)
  * __cmpha2:                              Fixed-point fractional library routines.
!                                                              (line  448)
  * __cmphq2:                              Fixed-point fractional library routines.
!                                                              (line  437)
  * __cmpqq2:                              Fixed-point fractional library routines.
!                                                              (line  436)
  * __cmpsa2:                              Fixed-point fractional library routines.
!                                                              (line  449)
  * __cmpsf2:                              Soft float library routines.
                                                               (line  162)
  * __cmpsq2:                              Fixed-point fractional library routines.
!                                                              (line  438)
  * __cmpta2:                              Fixed-point fractional library routines.
!                                                              (line  451)
  * __cmptf2:                              Soft float library routines.
                                                               (line  164)
  * __cmpti2:                              Integer library routines.
                                                               (line   87)
  * __cmpuda2:                             Fixed-point fractional library routines.
!                                                              (line  456)
  * __cmpudq2:                             Fixed-point fractional library routines.
!                                                              (line  446)
  * __cmpuha2:                             Fixed-point fractional library routines.
!                                                              (line  453)
  * __cmpuhq2:                             Fixed-point fractional library routines.
!                                                              (line  443)
  * __cmpuqq2:                             Fixed-point fractional library routines.
!                                                              (line  441)
  * __cmpusa2:                             Fixed-point fractional library routines.
!                                                              (line  455)
  * __cmpusq2:                             Fixed-point fractional library routines.
!                                                              (line  444)
  * __cmputa2:                             Fixed-point fractional library routines.
!                                                              (line  458)
  * __CTOR_LIST__:                         Initialization.     (line   25)
  * __ctzdi2:                              Integer library routines.
                                                               (line  137)
--- 50534,50580 ----
  * __clzti2:                              Integer library routines.
                                                               (line  131)
  * __cmpda2:                              Fixed-point fractional library routines.
!                                                              (line  458)
  * __cmpdf2:                              Soft float library routines.
                                                               (line  163)
  * __cmpdi2:                              Integer library routines.
                                                               (line   86)
  * __cmpdq2:                              Fixed-point fractional library routines.
!                                                              (line  447)
  * __cmpha2:                              Fixed-point fractional library routines.
!                                                              (line  456)
  * __cmphq2:                              Fixed-point fractional library routines.
!                                                              (line  445)
  * __cmpqq2:                              Fixed-point fractional library routines.
!                                                              (line  444)
  * __cmpsa2:                              Fixed-point fractional library routines.
!                                                              (line  457)
  * __cmpsf2:                              Soft float library routines.
                                                               (line  162)
  * __cmpsq2:                              Fixed-point fractional library routines.
!                                                              (line  446)
  * __cmpta2:                              Fixed-point fractional library routines.
!                                                              (line  459)
  * __cmptf2:                              Soft float library routines.
                                                               (line  164)
  * __cmpti2:                              Integer library routines.
                                                               (line   87)
  * __cmpuda2:                             Fixed-point fractional library routines.
!                                                              (line  464)
  * __cmpudq2:                             Fixed-point fractional library routines.
!                                                              (line  454)
  * __cmpuha2:                             Fixed-point fractional library routines.
!                                                              (line  461)
  * __cmpuhq2:                             Fixed-point fractional library routines.
!                                                              (line  451)
  * __cmpuqq2:                             Fixed-point fractional library routines.
!                                                              (line  449)
  * __cmpusa2:                             Fixed-point fractional library routines.
!                                                              (line  463)
  * __cmpusq2:                             Fixed-point fractional library routines.
!                                                              (line  452)
  * __cmputa2:                             Fixed-point fractional library routines.
!                                                              (line  466)
  * __CTOR_LIST__:                         Initialization.     (line   25)
  * __ctzdi2:                              Integer library routines.
                                                               (line  137)
*************** Concept Index
*** 50582,50588 ****
  * __ctzti2:                              Integer library routines.
                                                               (line  138)
  * __divda3:                              Fixed-point fractional library routines.
!                                                              (line  226)
  * __divdc3:                              Soft float library routines.
                                                               (line  250)
  * __divdf3:                              Soft float library routines.
--- 50583,50589 ----
  * __ctzti2:                              Integer library routines.
                                                               (line  138)
  * __divda3:                              Fixed-point fractional library routines.
!                                                              (line  234)
  * __divdc3:                              Soft float library routines.
                                                               (line  250)
  * __divdf3:                              Soft float library routines.
*************** Concept Index
*** 50590,50604 ****
  * __divdi3:                              Integer library routines.
                                                               (line   24)
  * __divdq3:                              Fixed-point fractional library routines.
!                                                              (line  221)
  * __divha3:                              Fixed-point fractional library routines.
!                                                              (line  223)
  * __divhq3:                              Fixed-point fractional library routines.
!                                                              (line  219)
  * __divqq3:                              Fixed-point fractional library routines.
-                                                              (line  217)
- * __divsa3:                              Fixed-point fractional library routines.
                                                               (line  225)
  * __divsc3:                              Soft float library routines.
                                                               (line  248)
  * __divsf3:                              Soft float library routines.
--- 50591,50605 ----
  * __divdi3:                              Integer library routines.
                                                               (line   24)
  * __divdq3:                              Fixed-point fractional library routines.
!                                                              (line  229)
  * __divha3:                              Fixed-point fractional library routines.
!                                                              (line  231)
  * __divhq3:                              Fixed-point fractional library routines.
!                                                              (line  227)
  * __divqq3:                              Fixed-point fractional library routines.
                                                               (line  225)
+ * __divsa3:                              Fixed-point fractional library routines.
+                                                              (line  233)
  * __divsc3:                              Soft float library routines.
                                                               (line  248)
  * __divsf3:                              Soft float library routines.
*************** Concept Index
*** 50606,50614 ****
  * __divsi3:                              Integer library routines.
                                                               (line   23)
  * __divsq3:                              Fixed-point fractional library routines.
!                                                              (line  220)
  * __divta3:                              Fixed-point fractional library routines.
!                                                              (line  227)
  * __divtc3:                              Soft float library routines.
                                                               (line  252)
  * __divtf3:                              Soft float library routines.
--- 50607,50615 ----
  * __divsi3:                              Integer library routines.
                                                               (line   23)
  * __divsq3:                              Fixed-point fractional library routines.
!                                                              (line  228)
  * __divta3:                              Fixed-point fractional library routines.
!                                                              (line  235)
  * __divtc3:                              Soft float library routines.
                                                               (line  252)
  * __divtf3:                              Soft float library routines.
*************** Concept Index
*** 50917,52169 ****
  * __floatuntixf:                         Soft float library routines.
                                                               (line  153)
  * __fractdadf:                           Fixed-point fractional library routines.
!                                                              (line  635)
  * __fractdadi:                           Fixed-point fractional library routines.
!                                                              (line  632)
  * __fractdadq:                           Fixed-point fractional library routines.
!                                                              (line  615)
  * __fractdaha2:                          Fixed-point fractional library routines.
!                                                              (line  616)
  * __fractdahi:                           Fixed-point fractional library routines.
!                                                              (line  630)
  * __fractdahq:                           Fixed-point fractional library routines.
!                                                              (line  613)
  * __fractdaqi:                           Fixed-point fractional library routines.
!                                                              (line  629)
  * __fractdaqq:                           Fixed-point fractional library routines.
!                                                              (line  612)
  * __fractdasa2:                          Fixed-point fractional library routines.
!                                                              (line  617)
  * __fractdasf:                           Fixed-point fractional library routines.
!                                                              (line  634)
  * __fractdasi:                           Fixed-point fractional library routines.
!                                                              (line  631)
  * __fractdasq:                           Fixed-point fractional library routines.
!                                                              (line  614)
  * __fractdata2:                          Fixed-point fractional library routines.
!                                                              (line  618)
  * __fractdati:                           Fixed-point fractional library routines.
!                                                              (line  633)
  * __fractdauda:                          Fixed-point fractional library routines.
!                                                              (line  626)
  * __fractdaudq:                          Fixed-point fractional library routines.
!                                                              (line  622)
  * __fractdauha:                          Fixed-point fractional library routines.
!                                                              (line  624)
  * __fractdauhq:                          Fixed-point fractional library routines.
!                                                              (line  620)
  * __fractdauqq:                          Fixed-point fractional library routines.
!                                                              (line  619)
  * __fractdausa:                          Fixed-point fractional library routines.
!                                                              (line  625)
  * __fractdausq:                          Fixed-point fractional library routines.
!                                                              (line  621)
  * __fractdauta:                          Fixed-point fractional library routines.
!                                                              (line  627)
  * __fractdfda:                           Fixed-point fractional library routines.
!                                                              (line 1024)
  * __fractdfdq:                           Fixed-point fractional library routines.
!                                                              (line 1021)
  * __fractdfha:                           Fixed-point fractional library routines.
!                                                              (line 1022)
  * __fractdfhq:                           Fixed-point fractional library routines.
!                                                              (line 1019)
  * __fractdfqq:                           Fixed-point fractional library routines.
!                                                              (line 1018)
  * __fractdfsa:                           Fixed-point fractional library routines.
!                                                              (line 1023)
  * __fractdfsq:                           Fixed-point fractional library routines.
!                                                              (line 1020)
  * __fractdfta:                           Fixed-point fractional library routines.
!                                                              (line 1025)
  * __fractdfuda:                          Fixed-point fractional library routines.
!                                                              (line 1032)
  * __fractdfudq:                          Fixed-point fractional library routines.
!                                                              (line 1029)
  * __fractdfuha:                          Fixed-point fractional library routines.
!                                                              (line 1030)
  * __fractdfuhq:                          Fixed-point fractional library routines.
!                                                              (line 1027)
  * __fractdfuqq:                          Fixed-point fractional library routines.
!                                                              (line 1026)
  * __fractdfusa:                          Fixed-point fractional library routines.
!                                                              (line 1031)
  * __fractdfusq:                          Fixed-point fractional library routines.
!                                                              (line 1028)
  * __fractdfuta:                          Fixed-point fractional library routines.
!                                                              (line 1033)
  * __fractdida:                           Fixed-point fractional library routines.
!                                                              (line  974)
  * __fractdidq:                           Fixed-point fractional library routines.
!                                                              (line  971)
  * __fractdiha:                           Fixed-point fractional library routines.
!                                                              (line  972)
  * __fractdihq:                           Fixed-point fractional library routines.
!                                                              (line  969)
  * __fractdiqq:                           Fixed-point fractional library routines.
!                                                              (line  968)
  * __fractdisa:                           Fixed-point fractional library routines.
!                                                              (line  973)
  * __fractdisq:                           Fixed-point fractional library routines.
!                                                              (line  970)
  * __fractdita:                           Fixed-point fractional library routines.
!                                                              (line  975)
  * __fractdiuda:                          Fixed-point fractional library routines.
!                                                              (line  982)
  * __fractdiudq:                          Fixed-point fractional library routines.
!                                                              (line  979)
  * __fractdiuha:                          Fixed-point fractional library routines.
!                                                              (line  980)
  * __fractdiuhq:                          Fixed-point fractional library routines.
!                                                              (line  977)
  * __fractdiuqq:                          Fixed-point fractional library routines.
!                                                              (line  976)
  * __fractdiusa:                          Fixed-point fractional library routines.
!                                                              (line  981)
  * __fractdiusq:                          Fixed-point fractional library routines.
!                                                              (line  978)
  * __fractdiuta:                          Fixed-point fractional library routines.
!                                                              (line  983)
  * __fractdqda:                           Fixed-point fractional library routines.
!                                                              (line  543)
  * __fractdqdf:                           Fixed-point fractional library routines.
!                                                              (line  565)
  * __fractdqdi:                           Fixed-point fractional library routines.
!                                                              (line  562)
  * __fractdqha:                           Fixed-point fractional library routines.
!                                                              (line  541)
  * __fractdqhi:                           Fixed-point fractional library routines.
!                                                              (line  560)
  * __fractdqhq2:                          Fixed-point fractional library routines.
!                                                              (line  539)
  * __fractdqqi:                           Fixed-point fractional library routines.
!                                                              (line  559)
  * __fractdqqq2:                          Fixed-point fractional library routines.
!                                                              (line  538)
  * __fractdqsa:                           Fixed-point fractional library routines.
!                                                              (line  542)
  * __fractdqsf:                           Fixed-point fractional library routines.
!                                                              (line  564)
  * __fractdqsi:                           Fixed-point fractional library routines.
!                                                              (line  561)
  * __fractdqsq2:                          Fixed-point fractional library routines.
!                                                              (line  540)
  * __fractdqta:                           Fixed-point fractional library routines.
!                                                              (line  544)
  * __fractdqti:                           Fixed-point fractional library routines.
!                                                              (line  563)
  * __fractdquda:                          Fixed-point fractional library routines.
!                                                              (line  555)
  * __fractdqudq:                          Fixed-point fractional library routines.
!                                                              (line  550)
  * __fractdquha:                          Fixed-point fractional library routines.
!                                                              (line  552)
  * __fractdquhq:                          Fixed-point fractional library routines.
!                                                              (line  547)
  * __fractdquqq:                          Fixed-point fractional library routines.
!                                                              (line  545)
  * __fractdqusa:                          Fixed-point fractional library routines.
!                                                              (line  554)
  * __fractdqusq:                          Fixed-point fractional library routines.
!                                                              (line  548)
  * __fractdquta:                          Fixed-point fractional library routines.
!                                                              (line  557)
  * __fracthada2:                          Fixed-point fractional library routines.
!                                                              (line  571)
  * __fracthadf:                           Fixed-point fractional library routines.
!                                                              (line  589)
  * __fracthadi:                           Fixed-point fractional library routines.
!                                                              (line  586)
  * __fracthadq:                           Fixed-point fractional library routines.
!                                                              (line  569)
  * __fracthahi:                           Fixed-point fractional library routines.
!                                                              (line  584)
  * __fracthahq:                           Fixed-point fractional library routines.
!                                                              (line  567)
  * __fracthaqi:                           Fixed-point fractional library routines.
!                                                              (line  583)
  * __fracthaqq:                           Fixed-point fractional library routines.
!                                                              (line  566)
  * __fracthasa2:                          Fixed-point fractional library routines.
!                                                              (line  570)
  * __fracthasf:                           Fixed-point fractional library routines.
!                                                              (line  588)
  * __fracthasi:                           Fixed-point fractional library routines.
!                                                              (line  585)
  * __fracthasq:                           Fixed-point fractional library routines.
!                                                              (line  568)
  * __fracthata2:                          Fixed-point fractional library routines.
!                                                              (line  572)
  * __fracthati:                           Fixed-point fractional library routines.
!                                                              (line  587)
  * __fracthauda:                          Fixed-point fractional library routines.
!                                                              (line  580)
  * __fracthaudq:                          Fixed-point fractional library routines.
!                                                              (line  576)
  * __fracthauha:                          Fixed-point fractional library routines.
!                                                              (line  578)
  * __fracthauhq:                          Fixed-point fractional library routines.
!                                                              (line  574)
  * __fracthauqq:                          Fixed-point fractional library routines.
!                                                              (line  573)
  * __fracthausa:                          Fixed-point fractional library routines.
!                                                              (line  579)
  * __fracthausq:                          Fixed-point fractional library routines.
!                                                              (line  575)
  * __fracthauta:                          Fixed-point fractional library routines.
!                                                              (line  581)
  * __fracthida:                           Fixed-point fractional library routines.
!                                                              (line  942)
  * __fracthidq:                           Fixed-point fractional library routines.
!                                                              (line  939)
  * __fracthiha:                           Fixed-point fractional library routines.
!                                                              (line  940)
  * __fracthihq:                           Fixed-point fractional library routines.
!                                                              (line  937)
  * __fracthiqq:                           Fixed-point fractional library routines.
!                                                              (line  936)
  * __fracthisa:                           Fixed-point fractional library routines.
!                                                              (line  941)
  * __fracthisq:                           Fixed-point fractional library routines.
!                                                              (line  938)
  * __fracthita:                           Fixed-point fractional library routines.
!                                                              (line  943)
  * __fracthiuda:                          Fixed-point fractional library routines.
!                                                              (line  950)
  * __fracthiudq:                          Fixed-point fractional library routines.
!                                                              (line  947)
  * __fracthiuha:                          Fixed-point fractional library routines.
!                                                              (line  948)
  * __fracthiuhq:                          Fixed-point fractional library routines.
!                                                              (line  945)
  * __fracthiuqq:                          Fixed-point fractional library routines.
!                                                              (line  944)
  * __fracthiusa:                          Fixed-point fractional library routines.
!                                                              (line  949)
  * __fracthiusq:                          Fixed-point fractional library routines.
!                                                              (line  946)
  * __fracthiuta:                          Fixed-point fractional library routines.
!                                                              (line  951)
  * __fracthqda:                           Fixed-point fractional library routines.
!                                                              (line  497)
  * __fracthqdf:                           Fixed-point fractional library routines.
!                                                              (line  513)
  * __fracthqdi:                           Fixed-point fractional library routines.
!                                                              (line  510)
  * __fracthqdq2:                          Fixed-point fractional library routines.
!                                                              (line  494)
  * __fracthqha:                           Fixed-point fractional library routines.
!                                                              (line  495)
  * __fracthqhi:                           Fixed-point fractional library routines.
!                                                              (line  508)
  * __fracthqqi:                           Fixed-point fractional library routines.
!                                                              (line  507)
  * __fracthqqq2:                          Fixed-point fractional library routines.
!                                                              (line  492)
  * __fracthqsa:                           Fixed-point fractional library routines.
!                                                              (line  496)
  * __fracthqsf:                           Fixed-point fractional library routines.
!                                                              (line  512)
  * __fracthqsi:                           Fixed-point fractional library routines.
!                                                              (line  509)
  * __fracthqsq2:                          Fixed-point fractional library routines.
!                                                              (line  493)
  * __fracthqta:                           Fixed-point fractional library routines.
!                                                              (line  498)
  * __fracthqti:                           Fixed-point fractional library routines.
!                                                              (line  511)
  * __fracthquda:                          Fixed-point fractional library routines.
!                                                              (line  505)
  * __fracthqudq:                          Fixed-point fractional library routines.
!                                                              (line  502)
  * __fracthquha:                          Fixed-point fractional library routines.
!                                                              (line  503)
  * __fracthquhq:                          Fixed-point fractional library routines.
!                                                              (line  500)
  * __fracthquqq:                          Fixed-point fractional library routines.
!                                                              (line  499)
  * __fracthqusa:                          Fixed-point fractional library routines.
!                                                              (line  504)
  * __fracthqusq:                          Fixed-point fractional library routines.
!                                                              (line  501)
  * __fracthquta:                          Fixed-point fractional library routines.
!                                                              (line  506)
  * __fractqida:                           Fixed-point fractional library routines.
!                                                              (line  924)
  * __fractqidq:                           Fixed-point fractional library routines.
!                                                              (line  921)
  * __fractqiha:                           Fixed-point fractional library routines.
!                                                              (line  922)
  * __fractqihq:                           Fixed-point fractional library routines.
!                                                              (line  919)
  * __fractqiqq:                           Fixed-point fractional library routines.
!                                                              (line  918)
  * __fractqisa:                           Fixed-point fractional library routines.
!                                                              (line  923)
  * __fractqisq:                           Fixed-point fractional library routines.
!                                                              (line  920)
  * __fractqita:                           Fixed-point fractional library routines.
-                                                              (line  925)
- * __fractqiuda:                          Fixed-point fractional library routines.
                                                               (line  933)
  * __fractqiudq:                          Fixed-point fractional library routines.
!                                                              (line  929)
  * __fractqiuha:                          Fixed-point fractional library routines.
!                                                              (line  931)
  * __fractqiuhq:                          Fixed-point fractional library routines.
!                                                              (line  927)
  * __fractqiuqq:                          Fixed-point fractional library routines.
!                                                              (line  926)
  * __fractqiusa:                          Fixed-point fractional library routines.
!                                                              (line  932)
  * __fractqiusq:                          Fixed-point fractional library routines.
!                                                              (line  928)
  * __fractqiuta:                          Fixed-point fractional library routines.
!                                                              (line  934)
  * __fractqqda:                           Fixed-point fractional library routines.
!                                                              (line  473)
  * __fractqqdf:                           Fixed-point fractional library routines.
!                                                              (line  491)
  * __fractqqdi:                           Fixed-point fractional library routines.
!                                                              (line  488)
  * __fractqqdq2:                          Fixed-point fractional library routines.
!                                                              (line  470)
  * __fractqqha:                           Fixed-point fractional library routines.
!                                                              (line  471)
  * __fractqqhi:                           Fixed-point fractional library routines.
!                                                              (line  486)
  * __fractqqhq2:                          Fixed-point fractional library routines.
!                                                              (line  468)
  * __fractqqqi:                           Fixed-point fractional library routines.
!                                                              (line  485)
  * __fractqqsa:                           Fixed-point fractional library routines.
!                                                              (line  472)
  * __fractqqsf:                           Fixed-point fractional library routines.
!                                                              (line  490)
  * __fractqqsi:                           Fixed-point fractional library routines.
!                                                              (line  487)
  * __fractqqsq2:                          Fixed-point fractional library routines.
!                                                              (line  469)
  * __fractqqta:                           Fixed-point fractional library routines.
!                                                              (line  474)
  * __fractqqti:                           Fixed-point fractional library routines.
!                                                              (line  489)
  * __fractqquda:                          Fixed-point fractional library routines.
!                                                              (line  482)
  * __fractqqudq:                          Fixed-point fractional library routines.
!                                                              (line  478)
  * __fractqquha:                          Fixed-point fractional library routines.
!                                                              (line  480)
  * __fractqquhq:                          Fixed-point fractional library routines.
!                                                              (line  476)
  * __fractqquqq:                          Fixed-point fractional library routines.
!                                                              (line  475)
  * __fractqqusa:                          Fixed-point fractional library routines.
!                                                              (line  481)
  * __fractqqusq:                          Fixed-point fractional library routines.
!                                                              (line  477)
  * __fractqquta:                          Fixed-point fractional library routines.
!                                                              (line  483)
  * __fractsada2:                          Fixed-point fractional library routines.
!                                                              (line  595)
  * __fractsadf:                           Fixed-point fractional library routines.
!                                                              (line  611)
  * __fractsadi:                           Fixed-point fractional library routines.
!                                                              (line  608)
  * __fractsadq:                           Fixed-point fractional library routines.
!                                                              (line  593)
  * __fractsaha2:                          Fixed-point fractional library routines.
!                                                              (line  594)
  * __fractsahi:                           Fixed-point fractional library routines.
!                                                              (line  606)
  * __fractsahq:                           Fixed-point fractional library routines.
!                                                              (line  591)
  * __fractsaqi:                           Fixed-point fractional library routines.
!                                                              (line  605)
  * __fractsaqq:                           Fixed-point fractional library routines.
!                                                              (line  590)
  * __fractsasf:                           Fixed-point fractional library routines.
!                                                              (line  610)
  * __fractsasi:                           Fixed-point fractional library routines.
!                                                              (line  607)
  * __fractsasq:                           Fixed-point fractional library routines.
!                                                              (line  592)
  * __fractsata2:                          Fixed-point fractional library routines.
!                                                              (line  596)
  * __fractsati:                           Fixed-point fractional library routines.
!                                                              (line  609)
  * __fractsauda:                          Fixed-point fractional library routines.
!                                                              (line  603)
  * __fractsaudq:                          Fixed-point fractional library routines.
!                                                              (line  600)
  * __fractsauha:                          Fixed-point fractional library routines.
!                                                              (line  601)
  * __fractsauhq:                          Fixed-point fractional library routines.
!                                                              (line  598)
  * __fractsauqq:                          Fixed-point fractional library routines.
!                                                              (line  597)
  * __fractsausa:                          Fixed-point fractional library routines.
!                                                              (line  602)
  * __fractsausq:                          Fixed-point fractional library routines.
!                                                              (line  599)
  * __fractsauta:                          Fixed-point fractional library routines.
!                                                              (line  604)
  * __fractsfda:                           Fixed-point fractional library routines.
!                                                              (line 1008)
  * __fractsfdq:                           Fixed-point fractional library routines.
!                                                              (line 1005)
  * __fractsfha:                           Fixed-point fractional library routines.
!                                                              (line 1006)
  * __fractsfhq:                           Fixed-point fractional library routines.
!                                                              (line 1003)
  * __fractsfqq:                           Fixed-point fractional library routines.
!                                                              (line 1002)
  * __fractsfsa:                           Fixed-point fractional library routines.
!                                                              (line 1007)
  * __fractsfsq:                           Fixed-point fractional library routines.
!                                                              (line 1004)
  * __fractsfta:                           Fixed-point fractional library routines.
!                                                              (line 1009)
  * __fractsfuda:                          Fixed-point fractional library routines.
!                                                              (line 1016)
  * __fractsfudq:                          Fixed-point fractional library routines.
!                                                              (line 1013)
  * __fractsfuha:                          Fixed-point fractional library routines.
!                                                              (line 1014)
  * __fractsfuhq:                          Fixed-point fractional library routines.
!                                                              (line 1011)
  * __fractsfuqq:                          Fixed-point fractional library routines.
!                                                              (line 1010)
  * __fractsfusa:                          Fixed-point fractional library routines.
!                                                              (line 1015)
  * __fractsfusq:                          Fixed-point fractional library routines.
!                                                              (line 1012)
  * __fractsfuta:                          Fixed-point fractional library routines.
!                                                              (line 1017)
  * __fractsida:                           Fixed-point fractional library routines.
!                                                              (line  958)
  * __fractsidq:                           Fixed-point fractional library routines.
!                                                              (line  955)
  * __fractsiha:                           Fixed-point fractional library routines.
!                                                              (line  956)
  * __fractsihq:                           Fixed-point fractional library routines.
!                                                              (line  953)
  * __fractsiqq:                           Fixed-point fractional library routines.
!                                                              (line  952)
  * __fractsisa:                           Fixed-point fractional library routines.
!                                                              (line  957)
  * __fractsisq:                           Fixed-point fractional library routines.
!                                                              (line  954)
  * __fractsita:                           Fixed-point fractional library routines.
!                                                              (line  959)
  * __fractsiuda:                          Fixed-point fractional library routines.
!                                                              (line  966)
  * __fractsiudq:                          Fixed-point fractional library routines.
!                                                              (line  963)
  * __fractsiuha:                          Fixed-point fractional library routines.
!                                                              (line  964)
  * __fractsiuhq:                          Fixed-point fractional library routines.
!                                                              (line  961)
  * __fractsiuqq:                          Fixed-point fractional library routines.
!                                                              (line  960)
  * __fractsiusa:                          Fixed-point fractional library routines.
!                                                              (line  965)
  * __fractsiusq:                          Fixed-point fractional library routines.
!                                                              (line  962)
  * __fractsiuta:                          Fixed-point fractional library routines.
!                                                              (line  967)
  * __fractsqda:                           Fixed-point fractional library routines.
!                                                              (line  519)
  * __fractsqdf:                           Fixed-point fractional library routines.
!                                                              (line  537)
  * __fractsqdi:                           Fixed-point fractional library routines.
!                                                              (line  534)
  * __fractsqdq2:                          Fixed-point fractional library routines.
!                                                              (line  516)
  * __fractsqha:                           Fixed-point fractional library routines.
!                                                              (line  517)
  * __fractsqhi:                           Fixed-point fractional library routines.
!                                                              (line  532)
  * __fractsqhq2:                          Fixed-point fractional library routines.
!                                                              (line  515)
  * __fractsqqi:                           Fixed-point fractional library routines.
!                                                              (line  531)
  * __fractsqqq2:                          Fixed-point fractional library routines.
!                                                              (line  514)
  * __fractsqsa:                           Fixed-point fractional library routines.
!                                                              (line  518)
  * __fractsqsf:                           Fixed-point fractional library routines.
!                                                              (line  536)
  * __fractsqsi:                           Fixed-point fractional library routines.
!                                                              (line  533)
  * __fractsqta:                           Fixed-point fractional library routines.
!                                                              (line  520)
  * __fractsqti:                           Fixed-point fractional library routines.
!                                                              (line  535)
  * __fractsquda:                          Fixed-point fractional library routines.
!                                                              (line  528)
  * __fractsqudq:                          Fixed-point fractional library routines.
!                                                              (line  524)
  * __fractsquha:                          Fixed-point fractional library routines.
!                                                              (line  526)
  * __fractsquhq:                          Fixed-point fractional library routines.
!                                                              (line  522)
  * __fractsquqq:                          Fixed-point fractional library routines.
!                                                              (line  521)
  * __fractsqusa:                          Fixed-point fractional library routines.
!                                                              (line  527)
  * __fractsqusq:                          Fixed-point fractional library routines.
!                                                              (line  523)
  * __fractsquta:                          Fixed-point fractional library routines.
!                                                              (line  529)
  * __fracttada2:                          Fixed-point fractional library routines.
!                                                              (line  642)
  * __fracttadf:                           Fixed-point fractional library routines.
!                                                              (line  663)
  * __fracttadi:                           Fixed-point fractional library routines.
!                                                              (line  660)
  * __fracttadq:                           Fixed-point fractional library routines.
!                                                              (line  639)
  * __fracttaha2:                          Fixed-point fractional library routines.
!                                                              (line  640)
  * __fracttahi:                           Fixed-point fractional library routines.
!                                                              (line  658)
  * __fracttahq:                           Fixed-point fractional library routines.
!                                                              (line  637)
  * __fracttaqi:                           Fixed-point fractional library routines.
!                                                              (line  657)
  * __fracttaqq:                           Fixed-point fractional library routines.
!                                                              (line  636)
  * __fracttasa2:                          Fixed-point fractional library routines.
!                                                              (line  641)
  * __fracttasf:                           Fixed-point fractional library routines.
!                                                              (line  662)
  * __fracttasi:                           Fixed-point fractional library routines.
!                                                              (line  659)
  * __fracttasq:                           Fixed-point fractional library routines.
!                                                              (line  638)
  * __fracttati:                           Fixed-point fractional library routines.
!                                                              (line  661)
  * __fracttauda:                          Fixed-point fractional library routines.
!                                                              (line  653)
  * __fracttaudq:                          Fixed-point fractional library routines.
!                                                              (line  648)
  * __fracttauha:                          Fixed-point fractional library routines.
!                                                              (line  650)
  * __fracttauhq:                          Fixed-point fractional library routines.
!                                                              (line  645)
  * __fracttauqq:                          Fixed-point fractional library routines.
!                                                              (line  643)
  * __fracttausa:                          Fixed-point fractional library routines.
!                                                              (line  652)
  * __fracttausq:                          Fixed-point fractional library routines.
!                                                              (line  646)
  * __fracttauta:                          Fixed-point fractional library routines.
!                                                              (line  655)
  * __fracttida:                           Fixed-point fractional library routines.
!                                                              (line  990)
  * __fracttidq:                           Fixed-point fractional library routines.
!                                                              (line  987)
  * __fracttiha:                           Fixed-point fractional library routines.
!                                                              (line  988)
  * __fracttihq:                           Fixed-point fractional library routines.
!                                                              (line  985)
  * __fracttiqq:                           Fixed-point fractional library routines.
!                                                              (line  984)
  * __fracttisa:                           Fixed-point fractional library routines.
!                                                              (line  989)
  * __fracttisq:                           Fixed-point fractional library routines.
!                                                              (line  986)
  * __fracttita:                           Fixed-point fractional library routines.
-                                                              (line  991)
- * __fracttiuda:                          Fixed-point fractional library routines.
                                                               (line  999)
  * __fracttiudq:                          Fixed-point fractional library routines.
!                                                              (line  995)
  * __fracttiuha:                          Fixed-point fractional library routines.
!                                                              (line  997)
  * __fracttiuhq:                          Fixed-point fractional library routines.
!                                                              (line  993)
  * __fracttiuqq:                          Fixed-point fractional library routines.
!                                                              (line  992)
  * __fracttiusa:                          Fixed-point fractional library routines.
!                                                              (line  998)
  * __fracttiusq:                          Fixed-point fractional library routines.
!                                                              (line  994)
  * __fracttiuta:                          Fixed-point fractional library routines.
!                                                              (line 1000)
  * __fractudada:                          Fixed-point fractional library routines.
!                                                              (line  857)
  * __fractudadf:                          Fixed-point fractional library routines.
!                                                              (line  880)
  * __fractudadi:                          Fixed-point fractional library routines.
!                                                              (line  877)
  * __fractudadq:                          Fixed-point fractional library routines.
!                                                              (line  853)
  * __fractudaha:                          Fixed-point fractional library routines.
!                                                              (line  855)
  * __fractudahi:                          Fixed-point fractional library routines.
!                                                              (line  875)
  * __fractudahq:                          Fixed-point fractional library routines.
!                                                              (line  851)
  * __fractudaqi:                          Fixed-point fractional library routines.
!                                                              (line  874)
  * __fractudaqq:                          Fixed-point fractional library routines.
!                                                              (line  850)
  * __fractudasa:                          Fixed-point fractional library routines.
!                                                              (line  856)
  * __fractudasf:                          Fixed-point fractional library routines.
!                                                              (line  879)
  * __fractudasi:                          Fixed-point fractional library routines.
!                                                              (line  876)
  * __fractudasq:                          Fixed-point fractional library routines.
!                                                              (line  852)
  * __fractudata:                          Fixed-point fractional library routines.
!                                                              (line  858)
  * __fractudati:                          Fixed-point fractional library routines.
!                                                              (line  878)
  * __fractudaudq:                         Fixed-point fractional library routines.
!                                                              (line  866)
  * __fractudauha2:                        Fixed-point fractional library routines.
!                                                              (line  868)
  * __fractudauhq:                         Fixed-point fractional library routines.
!                                                              (line  862)
  * __fractudauqq:                         Fixed-point fractional library routines.
!                                                              (line  860)
  * __fractudausa2:                        Fixed-point fractional library routines.
!                                                              (line  870)
  * __fractudausq:                         Fixed-point fractional library routines.
-                                                              (line  864)
- * __fractudauta2:                        Fixed-point fractional library routines.
                                                               (line  872)
  * __fractudqda:                          Fixed-point fractional library routines.
!                                                              (line  764)
  * __fractudqdf:                          Fixed-point fractional library routines.
!                                                              (line  790)
  * __fractudqdi:                          Fixed-point fractional library routines.
!                                                              (line  786)
  * __fractudqdq:                          Fixed-point fractional library routines.
!                                                              (line  759)
  * __fractudqha:                          Fixed-point fractional library routines.
!                                                              (line  761)
  * __fractudqhi:                          Fixed-point fractional library routines.
!                                                              (line  784)
  * __fractudqhq:                          Fixed-point fractional library routines.
!                                                              (line  756)
  * __fractudqqi:                          Fixed-point fractional library routines.
!                                                              (line  782)
  * __fractudqqq:                          Fixed-point fractional library routines.
!                                                              (line  754)
  * __fractudqsa:                          Fixed-point fractional library routines.
!                                                              (line  763)
  * __fractudqsf:                          Fixed-point fractional library routines.
!                                                              (line  789)
  * __fractudqsi:                          Fixed-point fractional library routines.
!                                                              (line  785)
  * __fractudqsq:                          Fixed-point fractional library routines.
!                                                              (line  757)
  * __fractudqta:                          Fixed-point fractional library routines.
!                                                              (line  766)
  * __fractudqti:                          Fixed-point fractional library routines.
!                                                              (line  787)
  * __fractudquda:                         Fixed-point fractional library routines.
!                                                              (line  778)
  * __fractudquha:                         Fixed-point fractional library routines.
!                                                              (line  774)
  * __fractudquhq2:                        Fixed-point fractional library routines.
!                                                              (line  770)
  * __fractudquqq2:                        Fixed-point fractional library routines.
-                                                              (line  768)
- * __fractudqusa:                         Fixed-point fractional library routines.
                                                               (line  776)
  * __fractudqusq2:                        Fixed-point fractional library routines.
-                                                              (line  772)
- * __fractudquta:                         Fixed-point fractional library routines.
                                                               (line  780)
  * __fractuhada:                          Fixed-point fractional library routines.
!                                                              (line  798)
  * __fractuhadf:                          Fixed-point fractional library routines.
!                                                              (line  821)
  * __fractuhadi:                          Fixed-point fractional library routines.
!                                                              (line  818)
  * __fractuhadq:                          Fixed-point fractional library routines.
!                                                              (line  794)
  * __fractuhaha:                          Fixed-point fractional library routines.
!                                                              (line  796)
  * __fractuhahi:                          Fixed-point fractional library routines.
!                                                              (line  816)
  * __fractuhahq:                          Fixed-point fractional library routines.
!                                                              (line  792)
  * __fractuhaqi:                          Fixed-point fractional library routines.
!                                                              (line  815)
  * __fractuhaqq:                          Fixed-point fractional library routines.
!                                                              (line  791)
  * __fractuhasa:                          Fixed-point fractional library routines.
!                                                              (line  797)
  * __fractuhasf:                          Fixed-point fractional library routines.
!                                                              (line  820)
  * __fractuhasi:                          Fixed-point fractional library routines.
!                                                              (line  817)
  * __fractuhasq:                          Fixed-point fractional library routines.
!                                                              (line  793)
  * __fractuhata:                          Fixed-point fractional library routines.
!                                                              (line  799)
  * __fractuhati:                          Fixed-point fractional library routines.
!                                                              (line  819)
  * __fractuhauda2:                        Fixed-point fractional library routines.
!                                                              (line  811)
  * __fractuhaudq:                         Fixed-point fractional library routines.
!                                                              (line  807)
  * __fractuhauhq:                         Fixed-point fractional library routines.
!                                                              (line  803)
  * __fractuhauqq:                         Fixed-point fractional library routines.
-                                                              (line  801)
- * __fractuhausa2:                        Fixed-point fractional library routines.
                                                               (line  809)
  * __fractuhausq:                         Fixed-point fractional library routines.
-                                                              (line  805)
- * __fractuhauta2:                        Fixed-point fractional library routines.
                                                               (line  813)
  * __fractuhqda:                          Fixed-point fractional library routines.
!                                                              (line  701)
  * __fractuhqdf:                          Fixed-point fractional library routines.
!                                                              (line  722)
  * __fractuhqdi:                          Fixed-point fractional library routines.
!                                                              (line  719)
  * __fractuhqdq:                          Fixed-point fractional library routines.
!                                                              (line  698)
  * __fractuhqha:                          Fixed-point fractional library routines.
!                                                              (line  699)
  * __fractuhqhi:                          Fixed-point fractional library routines.
!                                                              (line  717)
  * __fractuhqhq:                          Fixed-point fractional library routines.
!                                                              (line  696)
  * __fractuhqqi:                          Fixed-point fractional library routines.
!                                                              (line  716)
  * __fractuhqqq:                          Fixed-point fractional library routines.
!                                                              (line  695)
  * __fractuhqsa:                          Fixed-point fractional library routines.
!                                                              (line  700)
  * __fractuhqsf:                          Fixed-point fractional library routines.
!                                                              (line  721)
  * __fractuhqsi:                          Fixed-point fractional library routines.
!                                                              (line  718)
  * __fractuhqsq:                          Fixed-point fractional library routines.
!                                                              (line  697)
  * __fractuhqta:                          Fixed-point fractional library routines.
!                                                              (line  702)
  * __fractuhqti:                          Fixed-point fractional library routines.
!                                                              (line  720)
  * __fractuhquda:                         Fixed-point fractional library routines.
!                                                              (line  712)
  * __fractuhqudq2:                        Fixed-point fractional library routines.
!                                                              (line  707)
  * __fractuhquha:                         Fixed-point fractional library routines.
!                                                              (line  709)
  * __fractuhquqq2:                        Fixed-point fractional library routines.
-                                                              (line  703)
- * __fractuhqusa:                         Fixed-point fractional library routines.
                                                               (line  711)
  * __fractuhqusq2:                        Fixed-point fractional library routines.
!                                                              (line  705)
  * __fractuhquta:                         Fixed-point fractional library routines.
!                                                              (line  714)
  * __fractunsdadi:                        Fixed-point fractional library routines.
!                                                              (line 1554)
  * __fractunsdahi:                        Fixed-point fractional library routines.
!                                                              (line 1552)
  * __fractunsdaqi:                        Fixed-point fractional library routines.
!                                                              (line 1551)
  * __fractunsdasi:                        Fixed-point fractional library routines.
!                                                              (line 1553)
  * __fractunsdati:                        Fixed-point fractional library routines.
!                                                              (line 1555)
  * __fractunsdida:                        Fixed-point fractional library routines.
!                                                              (line 1706)
  * __fractunsdidq:                        Fixed-point fractional library routines.
!                                                              (line 1703)
  * __fractunsdiha:                        Fixed-point fractional library routines.
!                                                              (line 1704)
  * __fractunsdihq:                        Fixed-point fractional library routines.
!                                                              (line 1701)
  * __fractunsdiqq:                        Fixed-point fractional library routines.
!                                                              (line 1700)
  * __fractunsdisa:                        Fixed-point fractional library routines.
!                                                              (line 1705)
  * __fractunsdisq:                        Fixed-point fractional library routines.
!                                                              (line 1702)
  * __fractunsdita:                        Fixed-point fractional library routines.
!                                                              (line 1707)
  * __fractunsdiuda:                       Fixed-point fractional library routines.
!                                                              (line 1718)
  * __fractunsdiudq:                       Fixed-point fractional library routines.
!                                                              (line 1713)
  * __fractunsdiuha:                       Fixed-point fractional library routines.
!                                                              (line 1715)
  * __fractunsdiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1710)
  * __fractunsdiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1708)
  * __fractunsdiusa:                       Fixed-point fractional library routines.
!                                                              (line 1717)
  * __fractunsdiusq:                       Fixed-point fractional library routines.
!                                                              (line 1711)
  * __fractunsdiuta:                       Fixed-point fractional library routines.
!                                                              (line 1720)
  * __fractunsdqdi:                        Fixed-point fractional library routines.
!                                                              (line 1538)
  * __fractunsdqhi:                        Fixed-point fractional library routines.
!                                                              (line 1536)
  * __fractunsdqqi:                        Fixed-point fractional library routines.
!                                                              (line 1535)
  * __fractunsdqsi:                        Fixed-point fractional library routines.
!                                                              (line 1537)
  * __fractunsdqti:                        Fixed-point fractional library routines.
!                                                              (line 1539)
  * __fractunshadi:                        Fixed-point fractional library routines.
!                                                              (line 1544)
  * __fractunshahi:                        Fixed-point fractional library routines.
!                                                              (line 1542)
  * __fractunshaqi:                        Fixed-point fractional library routines.
!                                                              (line 1541)
  * __fractunshasi:                        Fixed-point fractional library routines.
!                                                              (line 1543)
  * __fractunshati:                        Fixed-point fractional library routines.
!                                                              (line 1545)
  * __fractunshida:                        Fixed-point fractional library routines.
!                                                              (line 1662)
  * __fractunshidq:                        Fixed-point fractional library routines.
!                                                              (line 1659)
  * __fractunshiha:                        Fixed-point fractional library routines.
!                                                              (line 1660)
  * __fractunshihq:                        Fixed-point fractional library routines.
!                                                              (line 1657)
  * __fractunshiqq:                        Fixed-point fractional library routines.
!                                                              (line 1656)
  * __fractunshisa:                        Fixed-point fractional library routines.
!                                                              (line 1661)
  * __fractunshisq:                        Fixed-point fractional library routines.
!                                                              (line 1658)
  * __fractunshita:                        Fixed-point fractional library routines.
!                                                              (line 1663)
  * __fractunshiuda:                       Fixed-point fractional library routines.
!                                                              (line 1674)
  * __fractunshiudq:                       Fixed-point fractional library routines.
!                                                              (line 1669)
  * __fractunshiuha:                       Fixed-point fractional library routines.
!                                                              (line 1671)
  * __fractunshiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1666)
  * __fractunshiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1664)
  * __fractunshiusa:                       Fixed-point fractional library routines.
!                                                              (line 1673)
  * __fractunshiusq:                       Fixed-point fractional library routines.
!                                                              (line 1667)
  * __fractunshiuta:                       Fixed-point fractional library routines.
!                                                              (line 1676)
  * __fractunshqdi:                        Fixed-point fractional library routines.
!                                                              (line 1528)
  * __fractunshqhi:                        Fixed-point fractional library routines.
!                                                              (line 1526)
  * __fractunshqqi:                        Fixed-point fractional library routines.
!                                                              (line 1525)
  * __fractunshqsi:                        Fixed-point fractional library routines.
!                                                              (line 1527)
  * __fractunshqti:                        Fixed-point fractional library routines.
!                                                              (line 1529)
  * __fractunsqida:                        Fixed-point fractional library routines.
!                                                              (line 1640)
  * __fractunsqidq:                        Fixed-point fractional library routines.
!                                                              (line 1637)
  * __fractunsqiha:                        Fixed-point fractional library routines.
!                                                              (line 1638)
  * __fractunsqihq:                        Fixed-point fractional library routines.
!                                                              (line 1635)
  * __fractunsqiqq:                        Fixed-point fractional library routines.
!                                                              (line 1634)
  * __fractunsqisa:                        Fixed-point fractional library routines.
!                                                              (line 1639)
  * __fractunsqisq:                        Fixed-point fractional library routines.
!                                                              (line 1636)
  * __fractunsqita:                        Fixed-point fractional library routines.
!                                                              (line 1641)
  * __fractunsqiuda:                       Fixed-point fractional library routines.
!                                                              (line 1652)
  * __fractunsqiudq:                       Fixed-point fractional library routines.
!                                                              (line 1647)
  * __fractunsqiuha:                       Fixed-point fractional library routines.
!                                                              (line 1649)
  * __fractunsqiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1644)
  * __fractunsqiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1642)
  * __fractunsqiusa:                       Fixed-point fractional library routines.
!                                                              (line 1651)
  * __fractunsqiusq:                       Fixed-point fractional library routines.
!                                                              (line 1645)
  * __fractunsqiuta:                       Fixed-point fractional library routines.
!                                                              (line 1654)
  * __fractunsqqdi:                        Fixed-point fractional library routines.
!                                                              (line 1523)
  * __fractunsqqhi:                        Fixed-point fractional library routines.
!                                                              (line 1521)
  * __fractunsqqqi:                        Fixed-point fractional library routines.
!                                                              (line 1520)
  * __fractunsqqsi:                        Fixed-point fractional library routines.
!                                                              (line 1522)
  * __fractunsqqti:                        Fixed-point fractional library routines.
!                                                              (line 1524)
  * __fractunssadi:                        Fixed-point fractional library routines.
!                                                              (line 1549)
  * __fractunssahi:                        Fixed-point fractional library routines.
!                                                              (line 1547)
  * __fractunssaqi:                        Fixed-point fractional library routines.
!                                                              (line 1546)
  * __fractunssasi:                        Fixed-point fractional library routines.
!                                                              (line 1548)
  * __fractunssati:                        Fixed-point fractional library routines.
!                                                              (line 1550)
  * __fractunssida:                        Fixed-point fractional library routines.
!                                                              (line 1684)
  * __fractunssidq:                        Fixed-point fractional library routines.
!                                                              (line 1681)
  * __fractunssiha:                        Fixed-point fractional library routines.
!                                                              (line 1682)
  * __fractunssihq:                        Fixed-point fractional library routines.
!                                                              (line 1679)
  * __fractunssiqq:                        Fixed-point fractional library routines.
!                                                              (line 1678)
  * __fractunssisa:                        Fixed-point fractional library routines.
!                                                              (line 1683)
  * __fractunssisq:                        Fixed-point fractional library routines.
!                                                              (line 1680)
  * __fractunssita:                        Fixed-point fractional library routines.
!                                                              (line 1685)
  * __fractunssiuda:                       Fixed-point fractional library routines.
!                                                              (line 1696)
  * __fractunssiudq:                       Fixed-point fractional library routines.
!                                                              (line 1691)
  * __fractunssiuha:                       Fixed-point fractional library routines.
!                                                              (line 1693)
  * __fractunssiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1688)
  * __fractunssiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1686)
  * __fractunssiusa:                       Fixed-point fractional library routines.
!                                                              (line 1695)
  * __fractunssiusq:                       Fixed-point fractional library routines.
!                                                              (line 1689)
  * __fractunssiuta:                       Fixed-point fractional library routines.
!                                                              (line 1698)
  * __fractunssqdi:                        Fixed-point fractional library routines.
!                                                              (line 1533)
  * __fractunssqhi:                        Fixed-point fractional library routines.
!                                                              (line 1531)
  * __fractunssqqi:                        Fixed-point fractional library routines.
!                                                              (line 1530)
  * __fractunssqsi:                        Fixed-point fractional library routines.
!                                                              (line 1532)
  * __fractunssqti:                        Fixed-point fractional library routines.
!                                                              (line 1534)
  * __fractunstadi:                        Fixed-point fractional library routines.
!                                                              (line 1559)
  * __fractunstahi:                        Fixed-point fractional library routines.
!                                                              (line 1557)
  * __fractunstaqi:                        Fixed-point fractional library routines.
!                                                              (line 1556)
  * __fractunstasi:                        Fixed-point fractional library routines.
!                                                              (line 1558)
  * __fractunstati:                        Fixed-point fractional library routines.
!                                                              (line 1560)
  * __fractunstida:                        Fixed-point fractional library routines.
!                                                              (line 1729)
  * __fractunstidq:                        Fixed-point fractional library routines.
!                                                              (line 1725)
  * __fractunstiha:                        Fixed-point fractional library routines.
!                                                              (line 1727)
  * __fractunstihq:                        Fixed-point fractional library routines.
!                                                              (line 1723)
  * __fractunstiqq:                        Fixed-point fractional library routines.
!                                                              (line 1722)
  * __fractunstisa:                        Fixed-point fractional library routines.
!                                                              (line 1728)
  * __fractunstisq:                        Fixed-point fractional library routines.
!                                                              (line 1724)
  * __fractunstita:                        Fixed-point fractional library routines.
!                                                              (line 1730)
  * __fractunstiuda:                       Fixed-point fractional library routines.
!                                                              (line 1744)
  * __fractunstiudq:                       Fixed-point fractional library routines.
!                                                              (line 1738)
  * __fractunstiuha:                       Fixed-point fractional library routines.
!                                                              (line 1740)
  * __fractunstiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1734)
  * __fractunstiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1732)
  * __fractunstiusa:                       Fixed-point fractional library routines.
!                                                              (line 1742)
  * __fractunstiusq:                       Fixed-point fractional library routines.
!                                                              (line 1736)
  * __fractunstiuta:                       Fixed-point fractional library routines.
!                                                              (line 1746)
  * __fractunsudadi:                       Fixed-point fractional library routines.
!                                                              (line 1620)
  * __fractunsudahi:                       Fixed-point fractional library routines.
!                                                              (line 1616)
  * __fractunsudaqi:                       Fixed-point fractional library routines.
!                                                              (line 1614)
  * __fractunsudasi:                       Fixed-point fractional library routines.
!                                                              (line 1618)
  * __fractunsudati:                       Fixed-point fractional library routines.
!                                                              (line 1622)
  * __fractunsudqdi:                       Fixed-point fractional library routines.
!                                                              (line 1594)
  * __fractunsudqhi:                       Fixed-point fractional library routines.
!                                                              (line 1590)
  * __fractunsudqqi:                       Fixed-point fractional library routines.
!                                                              (line 1588)
  * __fractunsudqsi:                       Fixed-point fractional library routines.
!                                                              (line 1592)
  * __fractunsudqti:                       Fixed-point fractional library routines.
-                                                              (line 1596)
- * __fractunsuhadi:                       Fixed-point fractional library routines.
                                                               (line 1604)
  * __fractunsuhahi:                       Fixed-point fractional library routines.
!                                                              (line 1600)
  * __fractunsuhaqi:                       Fixed-point fractional library routines.
!                                                              (line 1598)
  * __fractunsuhasi:                       Fixed-point fractional library routines.
!                                                              (line 1602)
  * __fractunsuhati:                       Fixed-point fractional library routines.
!                                                              (line 1606)
  * __fractunsuhqdi:                       Fixed-point fractional library routines.
!                                                              (line 1575)
  * __fractunsuhqhi:                       Fixed-point fractional library routines.
!                                                              (line 1573)
  * __fractunsuhqqi:                       Fixed-point fractional library routines.
!                                                              (line 1572)
  * __fractunsuhqsi:                       Fixed-point fractional library routines.
!                                                              (line 1574)
  * __fractunsuhqti:                       Fixed-point fractional library routines.
!                                                              (line 1576)
  * __fractunsuqqdi:                       Fixed-point fractional library routines.
!                                                              (line 1568)
  * __fractunsuqqhi:                       Fixed-point fractional library routines.
!                                                              (line 1564)
  * __fractunsuqqqi:                       Fixed-point fractional library routines.
!                                                              (line 1562)
  * __fractunsuqqsi:                       Fixed-point fractional library routines.
!                                                              (line 1566)
  * __fractunsuqqti:                       Fixed-point fractional library routines.
!                                                              (line 1570)
  * __fractunsusadi:                       Fixed-point fractional library routines.
!                                                              (line 1611)
  * __fractunsusahi:                       Fixed-point fractional library routines.
!                                                              (line 1609)
  * __fractunsusaqi:                       Fixed-point fractional library routines.
!                                                              (line 1608)
  * __fractunsusasi:                       Fixed-point fractional library routines.
!                                                              (line 1610)
  * __fractunsusati:                       Fixed-point fractional library routines.
!                                                              (line 1612)
  * __fractunsusqdi:                       Fixed-point fractional library routines.
!                                                              (line 1584)
  * __fractunsusqhi:                       Fixed-point fractional library routines.
!                                                              (line 1580)
  * __fractunsusqqi:                       Fixed-point fractional library routines.
!                                                              (line 1578)
  * __fractunsusqsi:                       Fixed-point fractional library routines.
!                                                              (line 1582)
  * __fractunsusqti:                       Fixed-point fractional library routines.
!                                                              (line 1586)
  * __fractunsutadi:                       Fixed-point fractional library routines.
!                                                              (line 1630)
  * __fractunsutahi:                       Fixed-point fractional library routines.
!                                                              (line 1626)
  * __fractunsutaqi:                       Fixed-point fractional library routines.
!                                                              (line 1624)
  * __fractunsutasi:                       Fixed-point fractional library routines.
!                                                              (line 1628)
  * __fractunsutati:                       Fixed-point fractional library routines.
!                                                              (line 1632)
  * __fractuqqda:                          Fixed-point fractional library routines.
!                                                              (line  671)
  * __fractuqqdf:                          Fixed-point fractional library routines.
!                                                              (line  694)
  * __fractuqqdi:                          Fixed-point fractional library routines.
!                                                              (line  691)
  * __fractuqqdq:                          Fixed-point fractional library routines.
!                                                              (line  667)
  * __fractuqqha:                          Fixed-point fractional library routines.
!                                                              (line  669)
  * __fractuqqhi:                          Fixed-point fractional library routines.
!                                                              (line  689)
  * __fractuqqhq:                          Fixed-point fractional library routines.
!                                                              (line  665)
  * __fractuqqqi:                          Fixed-point fractional library routines.
!                                                              (line  688)
  * __fractuqqqq:                          Fixed-point fractional library routines.
!                                                              (line  664)
  * __fractuqqsa:                          Fixed-point fractional library routines.
!                                                              (line  670)
  * __fractuqqsf:                          Fixed-point fractional library routines.
!                                                              (line  693)
  * __fractuqqsi:                          Fixed-point fractional library routines.
!                                                              (line  690)
  * __fractuqqsq:                          Fixed-point fractional library routines.
!                                                              (line  666)
  * __fractuqqta:                          Fixed-point fractional library routines.
!                                                              (line  672)
  * __fractuqqti:                          Fixed-point fractional library routines.
!                                                              (line  692)
  * __fractuqquda:                         Fixed-point fractional library routines.
!                                                              (line  684)
  * __fractuqqudq2:                        Fixed-point fractional library routines.
!                                                              (line  678)
  * __fractuqquha:                         Fixed-point fractional library routines.
!                                                              (line  680)
  * __fractuqquhq2:                        Fixed-point fractional library routines.
-                                                              (line  674)
- * __fractuqqusa:                         Fixed-point fractional library routines.
                                                               (line  682)
  * __fractuqqusq2:                        Fixed-point fractional library routines.
!                                                              (line  676)
  * __fractuqquta:                         Fixed-point fractional library routines.
!                                                              (line  686)
  * __fractusada:                          Fixed-point fractional library routines.
!                                                              (line  828)
  * __fractusadf:                          Fixed-point fractional library routines.
!                                                              (line  849)
  * __fractusadi:                          Fixed-point fractional library routines.
!                                                              (line  846)
  * __fractusadq:                          Fixed-point fractional library routines.
!                                                              (line  825)
  * __fractusaha:                          Fixed-point fractional library routines.
!                                                              (line  826)
  * __fractusahi:                          Fixed-point fractional library routines.
!                                                              (line  844)
  * __fractusahq:                          Fixed-point fractional library routines.
!                                                              (line  823)
  * __fractusaqi:                          Fixed-point fractional library routines.
!                                                              (line  843)
  * __fractusaqq:                          Fixed-point fractional library routines.
!                                                              (line  822)
  * __fractusasa:                          Fixed-point fractional library routines.
!                                                              (line  827)
  * __fractusasf:                          Fixed-point fractional library routines.
!                                                              (line  848)
  * __fractusasi:                          Fixed-point fractional library routines.
!                                                              (line  845)
  * __fractusasq:                          Fixed-point fractional library routines.
!                                                              (line  824)
  * __fractusata:                          Fixed-point fractional library routines.
!                                                              (line  829)
  * __fractusati:                          Fixed-point fractional library routines.
!                                                              (line  847)
  * __fractusauda2:                        Fixed-point fractional library routines.
!                                                              (line  839)
  * __fractusaudq:                         Fixed-point fractional library routines.
!                                                              (line  835)
  * __fractusauha2:                        Fixed-point fractional library routines.
!                                                              (line  837)
  * __fractusauhq:                         Fixed-point fractional library routines.
!                                                              (line  832)
  * __fractusauqq:                         Fixed-point fractional library routines.
!                                                              (line  830)
  * __fractusausq:                         Fixed-point fractional library routines.
-                                                              (line  833)
- * __fractusauta2:                        Fixed-point fractional library routines.
                                                               (line  841)
  * __fractusqda:                          Fixed-point fractional library routines.
!                                                              (line  730)
  * __fractusqdf:                          Fixed-point fractional library routines.
!                                                              (line  753)
  * __fractusqdi:                          Fixed-point fractional library routines.
!                                                              (line  750)
  * __fractusqdq:                          Fixed-point fractional library routines.
!                                                              (line  726)
  * __fractusqha:                          Fixed-point fractional library routines.
!                                                              (line  728)
  * __fractusqhi:                          Fixed-point fractional library routines.
!                                                              (line  748)
  * __fractusqhq:                          Fixed-point fractional library routines.
!                                                              (line  724)
  * __fractusqqi:                          Fixed-point fractional library routines.
!                                                              (line  747)
  * __fractusqqq:                          Fixed-point fractional library routines.
!                                                              (line  723)
  * __fractusqsa:                          Fixed-point fractional library routines.
!                                                              (line  729)
  * __fractusqsf:                          Fixed-point fractional library routines.
!                                                              (line  752)
  * __fractusqsi:                          Fixed-point fractional library routines.
!                                                              (line  749)
  * __fractusqsq:                          Fixed-point fractional library routines.
!                                                              (line  725)
  * __fractusqta:                          Fixed-point fractional library routines.
!                                                              (line  731)
  * __fractusqti:                          Fixed-point fractional library routines.
!                                                              (line  751)
  * __fractusquda:                         Fixed-point fractional library routines.
!                                                              (line  743)
  * __fractusqudq2:                        Fixed-point fractional library routines.
!                                                              (line  737)
  * __fractusquha:                         Fixed-point fractional library routines.
!                                                              (line  739)
  * __fractusquhq2:                        Fixed-point fractional library routines.
!                                                              (line  735)
  * __fractusquqq2:                        Fixed-point fractional library routines.
-                                                              (line  733)
- * __fractusqusa:                         Fixed-point fractional library routines.
                                                               (line  741)
  * __fractusquta:                         Fixed-point fractional library routines.
!                                                              (line  745)
  * __fractutada:                          Fixed-point fractional library routines.
!                                                              (line  891)
  * __fractutadf:                          Fixed-point fractional library routines.
!                                                              (line  917)
  * __fractutadi:                          Fixed-point fractional library routines.
!                                                              (line  913)
  * __fractutadq:                          Fixed-point fractional library routines.
!                                                              (line  886)
  * __fractutaha:                          Fixed-point fractional library routines.
!                                                              (line  888)
  * __fractutahi:                          Fixed-point fractional library routines.
!                                                              (line  911)
  * __fractutahq:                          Fixed-point fractional library routines.
!                                                              (line  883)
  * __fractutaqi:                          Fixed-point fractional library routines.
!                                                              (line  909)
  * __fractutaqq:                          Fixed-point fractional library routines.
!                                                              (line  881)
  * __fractutasa:                          Fixed-point fractional library routines.
!                                                              (line  890)
  * __fractutasf:                          Fixed-point fractional library routines.
!                                                              (line  916)
  * __fractutasi:                          Fixed-point fractional library routines.
!                                                              (line  912)
  * __fractutasq:                          Fixed-point fractional library routines.
!                                                              (line  884)
  * __fractutata:                          Fixed-point fractional library routines.
!                                                              (line  893)
  * __fractutati:                          Fixed-point fractional library routines.
!                                                              (line  914)
  * __fractutauda2:                        Fixed-point fractional library routines.
!                                                              (line  907)
  * __fractutaudq:                         Fixed-point fractional library routines.
!                                                              (line  901)
  * __fractutauha2:                        Fixed-point fractional library routines.
!                                                              (line  903)
  * __fractutauhq:                         Fixed-point fractional library routines.
!                                                              (line  897)
  * __fractutauqq:                         Fixed-point fractional library routines.
!                                                              (line  895)
  * __fractutausa2:                        Fixed-point fractional library routines.
!                                                              (line  905)
  * __fractutausq:                         Fixed-point fractional library routines.
!                                                              (line  899)
  * __gedf2:                               Soft float library routines.
                                                               (line  205)
  * __gesf2:                               Soft float library routines.
--- 50918,52170 ----
  * __floatuntixf:                         Soft float library routines.
                                                               (line  153)
  * __fractdadf:                           Fixed-point fractional library routines.
!                                                              (line  643)
  * __fractdadi:                           Fixed-point fractional library routines.
!                                                              (line  640)
  * __fractdadq:                           Fixed-point fractional library routines.
!                                                              (line  623)
  * __fractdaha2:                          Fixed-point fractional library routines.
!                                                              (line  624)
  * __fractdahi:                           Fixed-point fractional library routines.
!                                                              (line  638)
  * __fractdahq:                           Fixed-point fractional library routines.
!                                                              (line  621)
  * __fractdaqi:                           Fixed-point fractional library routines.
!                                                              (line  637)
  * __fractdaqq:                           Fixed-point fractional library routines.
!                                                              (line  620)
  * __fractdasa2:                          Fixed-point fractional library routines.
!                                                              (line  625)
  * __fractdasf:                           Fixed-point fractional library routines.
!                                                              (line  642)
  * __fractdasi:                           Fixed-point fractional library routines.
!                                                              (line  639)
  * __fractdasq:                           Fixed-point fractional library routines.
!                                                              (line  622)
  * __fractdata2:                          Fixed-point fractional library routines.
!                                                              (line  626)
  * __fractdati:                           Fixed-point fractional library routines.
!                                                              (line  641)
  * __fractdauda:                          Fixed-point fractional library routines.
!                                                              (line  634)
  * __fractdaudq:                          Fixed-point fractional library routines.
!                                                              (line  630)
  * __fractdauha:                          Fixed-point fractional library routines.
!                                                              (line  632)
  * __fractdauhq:                          Fixed-point fractional library routines.
!                                                              (line  628)
  * __fractdauqq:                          Fixed-point fractional library routines.
!                                                              (line  627)
  * __fractdausa:                          Fixed-point fractional library routines.
!                                                              (line  633)
  * __fractdausq:                          Fixed-point fractional library routines.
!                                                              (line  629)
  * __fractdauta:                          Fixed-point fractional library routines.
!                                                              (line  635)
  * __fractdfda:                           Fixed-point fractional library routines.
!                                                              (line 1032)
  * __fractdfdq:                           Fixed-point fractional library routines.
!                                                              (line 1029)
  * __fractdfha:                           Fixed-point fractional library routines.
!                                                              (line 1030)
  * __fractdfhq:                           Fixed-point fractional library routines.
!                                                              (line 1027)
  * __fractdfqq:                           Fixed-point fractional library routines.
!                                                              (line 1026)
  * __fractdfsa:                           Fixed-point fractional library routines.
!                                                              (line 1031)
  * __fractdfsq:                           Fixed-point fractional library routines.
!                                                              (line 1028)
  * __fractdfta:                           Fixed-point fractional library routines.
!                                                              (line 1033)
  * __fractdfuda:                          Fixed-point fractional library routines.
!                                                              (line 1040)
  * __fractdfudq:                          Fixed-point fractional library routines.
!                                                              (line 1037)
  * __fractdfuha:                          Fixed-point fractional library routines.
!                                                              (line 1038)
  * __fractdfuhq:                          Fixed-point fractional library routines.
!                                                              (line 1035)
  * __fractdfuqq:                          Fixed-point fractional library routines.
!                                                              (line 1034)
  * __fractdfusa:                          Fixed-point fractional library routines.
!                                                              (line 1039)
  * __fractdfusq:                          Fixed-point fractional library routines.
!                                                              (line 1036)
  * __fractdfuta:                          Fixed-point fractional library routines.
!                                                              (line 1041)
  * __fractdida:                           Fixed-point fractional library routines.
!                                                              (line  982)
  * __fractdidq:                           Fixed-point fractional library routines.
!                                                              (line  979)
  * __fractdiha:                           Fixed-point fractional library routines.
!                                                              (line  980)
  * __fractdihq:                           Fixed-point fractional library routines.
!                                                              (line  977)
  * __fractdiqq:                           Fixed-point fractional library routines.
!                                                              (line  976)
  * __fractdisa:                           Fixed-point fractional library routines.
!                                                              (line  981)
  * __fractdisq:                           Fixed-point fractional library routines.
!                                                              (line  978)
  * __fractdita:                           Fixed-point fractional library routines.
!                                                              (line  983)
  * __fractdiuda:                          Fixed-point fractional library routines.
!                                                              (line  990)
  * __fractdiudq:                          Fixed-point fractional library routines.
!                                                              (line  987)
  * __fractdiuha:                          Fixed-point fractional library routines.
!                                                              (line  988)
  * __fractdiuhq:                          Fixed-point fractional library routines.
!                                                              (line  985)
  * __fractdiuqq:                          Fixed-point fractional library routines.
!                                                              (line  984)
  * __fractdiusa:                          Fixed-point fractional library routines.
!                                                              (line  989)
  * __fractdiusq:                          Fixed-point fractional library routines.
!                                                              (line  986)
  * __fractdiuta:                          Fixed-point fractional library routines.
!                                                              (line  991)
  * __fractdqda:                           Fixed-point fractional library routines.
!                                                              (line  551)
  * __fractdqdf:                           Fixed-point fractional library routines.
!                                                              (line  573)
  * __fractdqdi:                           Fixed-point fractional library routines.
!                                                              (line  570)
  * __fractdqha:                           Fixed-point fractional library routines.
!                                                              (line  549)
  * __fractdqhi:                           Fixed-point fractional library routines.
!                                                              (line  568)
  * __fractdqhq2:                          Fixed-point fractional library routines.
!                                                              (line  547)
  * __fractdqqi:                           Fixed-point fractional library routines.
!                                                              (line  567)
  * __fractdqqq2:                          Fixed-point fractional library routines.
!                                                              (line  546)
  * __fractdqsa:                           Fixed-point fractional library routines.
!                                                              (line  550)
  * __fractdqsf:                           Fixed-point fractional library routines.
!                                                              (line  572)
  * __fractdqsi:                           Fixed-point fractional library routines.
!                                                              (line  569)
  * __fractdqsq2:                          Fixed-point fractional library routines.
!                                                              (line  548)
  * __fractdqta:                           Fixed-point fractional library routines.
!                                                              (line  552)
  * __fractdqti:                           Fixed-point fractional library routines.
!                                                              (line  571)
  * __fractdquda:                          Fixed-point fractional library routines.
!                                                              (line  563)
  * __fractdqudq:                          Fixed-point fractional library routines.
!                                                              (line  558)
  * __fractdquha:                          Fixed-point fractional library routines.
!                                                              (line  560)
  * __fractdquhq:                          Fixed-point fractional library routines.
!                                                              (line  555)
  * __fractdquqq:                          Fixed-point fractional library routines.
!                                                              (line  553)
  * __fractdqusa:                          Fixed-point fractional library routines.
!                                                              (line  562)
  * __fractdqusq:                          Fixed-point fractional library routines.
!                                                              (line  556)
  * __fractdquta:                          Fixed-point fractional library routines.
!                                                              (line  565)
  * __fracthada2:                          Fixed-point fractional library routines.
!                                                              (line  579)
  * __fracthadf:                           Fixed-point fractional library routines.
!                                                              (line  597)
  * __fracthadi:                           Fixed-point fractional library routines.
!                                                              (line  594)
  * __fracthadq:                           Fixed-point fractional library routines.
!                                                              (line  577)
  * __fracthahi:                           Fixed-point fractional library routines.
!                                                              (line  592)
  * __fracthahq:                           Fixed-point fractional library routines.
!                                                              (line  575)
  * __fracthaqi:                           Fixed-point fractional library routines.
!                                                              (line  591)
  * __fracthaqq:                           Fixed-point fractional library routines.
!                                                              (line  574)
  * __fracthasa2:                          Fixed-point fractional library routines.
!                                                              (line  578)
  * __fracthasf:                           Fixed-point fractional library routines.
!                                                              (line  596)
  * __fracthasi:                           Fixed-point fractional library routines.
!                                                              (line  593)
  * __fracthasq:                           Fixed-point fractional library routines.
!                                                              (line  576)
  * __fracthata2:                          Fixed-point fractional library routines.
!                                                              (line  580)
  * __fracthati:                           Fixed-point fractional library routines.
!                                                              (line  595)
  * __fracthauda:                          Fixed-point fractional library routines.
!                                                              (line  588)
  * __fracthaudq:                          Fixed-point fractional library routines.
!                                                              (line  584)
  * __fracthauha:                          Fixed-point fractional library routines.
!                                                              (line  586)
  * __fracthauhq:                          Fixed-point fractional library routines.
!                                                              (line  582)
  * __fracthauqq:                          Fixed-point fractional library routines.
!                                                              (line  581)
  * __fracthausa:                          Fixed-point fractional library routines.
!                                                              (line  587)
  * __fracthausq:                          Fixed-point fractional library routines.
!                                                              (line  583)
  * __fracthauta:                          Fixed-point fractional library routines.
!                                                              (line  589)
  * __fracthida:                           Fixed-point fractional library routines.
!                                                              (line  950)
  * __fracthidq:                           Fixed-point fractional library routines.
!                                                              (line  947)
  * __fracthiha:                           Fixed-point fractional library routines.
!                                                              (line  948)
  * __fracthihq:                           Fixed-point fractional library routines.
!                                                              (line  945)
  * __fracthiqq:                           Fixed-point fractional library routines.
!                                                              (line  944)
  * __fracthisa:                           Fixed-point fractional library routines.
!                                                              (line  949)
  * __fracthisq:                           Fixed-point fractional library routines.
!                                                              (line  946)
  * __fracthita:                           Fixed-point fractional library routines.
!                                                              (line  951)
  * __fracthiuda:                          Fixed-point fractional library routines.
!                                                              (line  958)
  * __fracthiudq:                          Fixed-point fractional library routines.
!                                                              (line  955)
  * __fracthiuha:                          Fixed-point fractional library routines.
!                                                              (line  956)
  * __fracthiuhq:                          Fixed-point fractional library routines.
!                                                              (line  953)
  * __fracthiuqq:                          Fixed-point fractional library routines.
!                                                              (line  952)
  * __fracthiusa:                          Fixed-point fractional library routines.
!                                                              (line  957)
  * __fracthiusq:                          Fixed-point fractional library routines.
!                                                              (line  954)
  * __fracthiuta:                          Fixed-point fractional library routines.
!                                                              (line  959)
  * __fracthqda:                           Fixed-point fractional library routines.
!                                                              (line  505)
  * __fracthqdf:                           Fixed-point fractional library routines.
!                                                              (line  521)
  * __fracthqdi:                           Fixed-point fractional library routines.
!                                                              (line  518)
  * __fracthqdq2:                          Fixed-point fractional library routines.
!                                                              (line  502)
  * __fracthqha:                           Fixed-point fractional library routines.
!                                                              (line  503)
  * __fracthqhi:                           Fixed-point fractional library routines.
!                                                              (line  516)
  * __fracthqqi:                           Fixed-point fractional library routines.
!                                                              (line  515)
  * __fracthqqq2:                          Fixed-point fractional library routines.
!                                                              (line  500)
  * __fracthqsa:                           Fixed-point fractional library routines.
!                                                              (line  504)
  * __fracthqsf:                           Fixed-point fractional library routines.
!                                                              (line  520)
  * __fracthqsi:                           Fixed-point fractional library routines.
!                                                              (line  517)
  * __fracthqsq2:                          Fixed-point fractional library routines.
!                                                              (line  501)
  * __fracthqta:                           Fixed-point fractional library routines.
!                                                              (line  506)
  * __fracthqti:                           Fixed-point fractional library routines.
!                                                              (line  519)
  * __fracthquda:                          Fixed-point fractional library routines.
!                                                              (line  513)
  * __fracthqudq:                          Fixed-point fractional library routines.
!                                                              (line  510)
  * __fracthquha:                          Fixed-point fractional library routines.
!                                                              (line  511)
  * __fracthquhq:                          Fixed-point fractional library routines.
!                                                              (line  508)
  * __fracthquqq:                          Fixed-point fractional library routines.
!                                                              (line  507)
  * __fracthqusa:                          Fixed-point fractional library routines.
!                                                              (line  512)
  * __fracthqusq:                          Fixed-point fractional library routines.
!                                                              (line  509)
  * __fracthquta:                          Fixed-point fractional library routines.
!                                                              (line  514)
  * __fractqida:                           Fixed-point fractional library routines.
!                                                              (line  932)
  * __fractqidq:                           Fixed-point fractional library routines.
!                                                              (line  929)
  * __fractqiha:                           Fixed-point fractional library routines.
!                                                              (line  930)
  * __fractqihq:                           Fixed-point fractional library routines.
!                                                              (line  927)
  * __fractqiqq:                           Fixed-point fractional library routines.
!                                                              (line  926)
  * __fractqisa:                           Fixed-point fractional library routines.
!                                                              (line  931)
  * __fractqisq:                           Fixed-point fractional library routines.
!                                                              (line  928)
  * __fractqita:                           Fixed-point fractional library routines.
                                                               (line  933)
+ * __fractqiuda:                          Fixed-point fractional library routines.
+                                                              (line  941)
  * __fractqiudq:                          Fixed-point fractional library routines.
!                                                              (line  937)
  * __fractqiuha:                          Fixed-point fractional library routines.
!                                                              (line  939)
  * __fractqiuhq:                          Fixed-point fractional library routines.
!                                                              (line  935)
  * __fractqiuqq:                          Fixed-point fractional library routines.
!                                                              (line  934)
  * __fractqiusa:                          Fixed-point fractional library routines.
!                                                              (line  940)
  * __fractqiusq:                          Fixed-point fractional library routines.
!                                                              (line  936)
  * __fractqiuta:                          Fixed-point fractional library routines.
!                                                              (line  942)
  * __fractqqda:                           Fixed-point fractional library routines.
!                                                              (line  481)
  * __fractqqdf:                           Fixed-point fractional library routines.
!                                                              (line  499)
  * __fractqqdi:                           Fixed-point fractional library routines.
!                                                              (line  496)
  * __fractqqdq2:                          Fixed-point fractional library routines.
!                                                              (line  478)
  * __fractqqha:                           Fixed-point fractional library routines.
!                                                              (line  479)
  * __fractqqhi:                           Fixed-point fractional library routines.
!                                                              (line  494)
  * __fractqqhq2:                          Fixed-point fractional library routines.
!                                                              (line  476)
  * __fractqqqi:                           Fixed-point fractional library routines.
!                                                              (line  493)
  * __fractqqsa:                           Fixed-point fractional library routines.
!                                                              (line  480)
  * __fractqqsf:                           Fixed-point fractional library routines.
!                                                              (line  498)
  * __fractqqsi:                           Fixed-point fractional library routines.
!                                                              (line  495)
  * __fractqqsq2:                          Fixed-point fractional library routines.
!                                                              (line  477)
  * __fractqqta:                           Fixed-point fractional library routines.
!                                                              (line  482)
  * __fractqqti:                           Fixed-point fractional library routines.
!                                                              (line  497)
  * __fractqquda:                          Fixed-point fractional library routines.
!                                                              (line  490)
  * __fractqqudq:                          Fixed-point fractional library routines.
!                                                              (line  486)
  * __fractqquha:                          Fixed-point fractional library routines.
!                                                              (line  488)
  * __fractqquhq:                          Fixed-point fractional library routines.
!                                                              (line  484)
  * __fractqquqq:                          Fixed-point fractional library routines.
!                                                              (line  483)
  * __fractqqusa:                          Fixed-point fractional library routines.
!                                                              (line  489)
  * __fractqqusq:                          Fixed-point fractional library routines.
!                                                              (line  485)
  * __fractqquta:                          Fixed-point fractional library routines.
!                                                              (line  491)
  * __fractsada2:                          Fixed-point fractional library routines.
!                                                              (line  603)
  * __fractsadf:                           Fixed-point fractional library routines.
!                                                              (line  619)
  * __fractsadi:                           Fixed-point fractional library routines.
!                                                              (line  616)
  * __fractsadq:                           Fixed-point fractional library routines.
!                                                              (line  601)
  * __fractsaha2:                          Fixed-point fractional library routines.
!                                                              (line  602)
  * __fractsahi:                           Fixed-point fractional library routines.
!                                                              (line  614)
  * __fractsahq:                           Fixed-point fractional library routines.
!                                                              (line  599)
  * __fractsaqi:                           Fixed-point fractional library routines.
!                                                              (line  613)
  * __fractsaqq:                           Fixed-point fractional library routines.
!                                                              (line  598)
  * __fractsasf:                           Fixed-point fractional library routines.
!                                                              (line  618)
  * __fractsasi:                           Fixed-point fractional library routines.
!                                                              (line  615)
  * __fractsasq:                           Fixed-point fractional library routines.
!                                                              (line  600)
  * __fractsata2:                          Fixed-point fractional library routines.
!                                                              (line  604)
  * __fractsati:                           Fixed-point fractional library routines.
!                                                              (line  617)
  * __fractsauda:                          Fixed-point fractional library routines.
!                                                              (line  611)
  * __fractsaudq:                          Fixed-point fractional library routines.
!                                                              (line  608)
  * __fractsauha:                          Fixed-point fractional library routines.
!                                                              (line  609)
  * __fractsauhq:                          Fixed-point fractional library routines.
!                                                              (line  606)
  * __fractsauqq:                          Fixed-point fractional library routines.
!                                                              (line  605)
  * __fractsausa:                          Fixed-point fractional library routines.
!                                                              (line  610)
  * __fractsausq:                          Fixed-point fractional library routines.
!                                                              (line  607)
  * __fractsauta:                          Fixed-point fractional library routines.
!                                                              (line  612)
  * __fractsfda:                           Fixed-point fractional library routines.
!                                                              (line 1016)
  * __fractsfdq:                           Fixed-point fractional library routines.
!                                                              (line 1013)
  * __fractsfha:                           Fixed-point fractional library routines.
!                                                              (line 1014)
  * __fractsfhq:                           Fixed-point fractional library routines.
!                                                              (line 1011)
  * __fractsfqq:                           Fixed-point fractional library routines.
!                                                              (line 1010)
  * __fractsfsa:                           Fixed-point fractional library routines.
!                                                              (line 1015)
  * __fractsfsq:                           Fixed-point fractional library routines.
!                                                              (line 1012)
  * __fractsfta:                           Fixed-point fractional library routines.
!                                                              (line 1017)
  * __fractsfuda:                          Fixed-point fractional library routines.
!                                                              (line 1024)
  * __fractsfudq:                          Fixed-point fractional library routines.
!                                                              (line 1021)
  * __fractsfuha:                          Fixed-point fractional library routines.
!                                                              (line 1022)
  * __fractsfuhq:                          Fixed-point fractional library routines.
!                                                              (line 1019)
  * __fractsfuqq:                          Fixed-point fractional library routines.
!                                                              (line 1018)
  * __fractsfusa:                          Fixed-point fractional library routines.
!                                                              (line 1023)
  * __fractsfusq:                          Fixed-point fractional library routines.
!                                                              (line 1020)
  * __fractsfuta:                          Fixed-point fractional library routines.
!                                                              (line 1025)
  * __fractsida:                           Fixed-point fractional library routines.
!                                                              (line  966)
  * __fractsidq:                           Fixed-point fractional library routines.
!                                                              (line  963)
  * __fractsiha:                           Fixed-point fractional library routines.
!                                                              (line  964)
  * __fractsihq:                           Fixed-point fractional library routines.
!                                                              (line  961)
  * __fractsiqq:                           Fixed-point fractional library routines.
!                                                              (line  960)
  * __fractsisa:                           Fixed-point fractional library routines.
!                                                              (line  965)
  * __fractsisq:                           Fixed-point fractional library routines.
!                                                              (line  962)
  * __fractsita:                           Fixed-point fractional library routines.
!                                                              (line  967)
  * __fractsiuda:                          Fixed-point fractional library routines.
!                                                              (line  974)
  * __fractsiudq:                          Fixed-point fractional library routines.
!                                                              (line  971)
  * __fractsiuha:                          Fixed-point fractional library routines.
!                                                              (line  972)
  * __fractsiuhq:                          Fixed-point fractional library routines.
!                                                              (line  969)
  * __fractsiuqq:                          Fixed-point fractional library routines.
!                                                              (line  968)
  * __fractsiusa:                          Fixed-point fractional library routines.
!                                                              (line  973)
  * __fractsiusq:                          Fixed-point fractional library routines.
!                                                              (line  970)
  * __fractsiuta:                          Fixed-point fractional library routines.
!                                                              (line  975)
  * __fractsqda:                           Fixed-point fractional library routines.
!                                                              (line  527)
  * __fractsqdf:                           Fixed-point fractional library routines.
!                                                              (line  545)
  * __fractsqdi:                           Fixed-point fractional library routines.
!                                                              (line  542)
  * __fractsqdq2:                          Fixed-point fractional library routines.
!                                                              (line  524)
  * __fractsqha:                           Fixed-point fractional library routines.
!                                                              (line  525)
  * __fractsqhi:                           Fixed-point fractional library routines.
!                                                              (line  540)
  * __fractsqhq2:                          Fixed-point fractional library routines.
!                                                              (line  523)
  * __fractsqqi:                           Fixed-point fractional library routines.
!                                                              (line  539)
  * __fractsqqq2:                          Fixed-point fractional library routines.
!                                                              (line  522)
  * __fractsqsa:                           Fixed-point fractional library routines.
!                                                              (line  526)
  * __fractsqsf:                           Fixed-point fractional library routines.
!                                                              (line  544)
  * __fractsqsi:                           Fixed-point fractional library routines.
!                                                              (line  541)
  * __fractsqta:                           Fixed-point fractional library routines.
!                                                              (line  528)
  * __fractsqti:                           Fixed-point fractional library routines.
!                                                              (line  543)
  * __fractsquda:                          Fixed-point fractional library routines.
!                                                              (line  536)
  * __fractsqudq:                          Fixed-point fractional library routines.
!                                                              (line  532)
  * __fractsquha:                          Fixed-point fractional library routines.
!                                                              (line  534)
  * __fractsquhq:                          Fixed-point fractional library routines.
!                                                              (line  530)
  * __fractsquqq:                          Fixed-point fractional library routines.
!                                                              (line  529)
  * __fractsqusa:                          Fixed-point fractional library routines.
!                                                              (line  535)
  * __fractsqusq:                          Fixed-point fractional library routines.
!                                                              (line  531)
  * __fractsquta:                          Fixed-point fractional library routines.
!                                                              (line  537)
  * __fracttada2:                          Fixed-point fractional library routines.
!                                                              (line  650)
  * __fracttadf:                           Fixed-point fractional library routines.
!                                                              (line  671)
  * __fracttadi:                           Fixed-point fractional library routines.
!                                                              (line  668)
  * __fracttadq:                           Fixed-point fractional library routines.
!                                                              (line  647)
  * __fracttaha2:                          Fixed-point fractional library routines.
!                                                              (line  648)
  * __fracttahi:                           Fixed-point fractional library routines.
!                                                              (line  666)
  * __fracttahq:                           Fixed-point fractional library routines.
!                                                              (line  645)
  * __fracttaqi:                           Fixed-point fractional library routines.
!                                                              (line  665)
  * __fracttaqq:                           Fixed-point fractional library routines.
!                                                              (line  644)
  * __fracttasa2:                          Fixed-point fractional library routines.
!                                                              (line  649)
  * __fracttasf:                           Fixed-point fractional library routines.
!                                                              (line  670)
  * __fracttasi:                           Fixed-point fractional library routines.
!                                                              (line  667)
  * __fracttasq:                           Fixed-point fractional library routines.
!                                                              (line  646)
  * __fracttati:                           Fixed-point fractional library routines.
!                                                              (line  669)
  * __fracttauda:                          Fixed-point fractional library routines.
!                                                              (line  661)
  * __fracttaudq:                          Fixed-point fractional library routines.
!                                                              (line  656)
  * __fracttauha:                          Fixed-point fractional library routines.
!                                                              (line  658)
  * __fracttauhq:                          Fixed-point fractional library routines.
!                                                              (line  653)
  * __fracttauqq:                          Fixed-point fractional library routines.
!                                                              (line  651)
  * __fracttausa:                          Fixed-point fractional library routines.
!                                                              (line  660)
  * __fracttausq:                          Fixed-point fractional library routines.
!                                                              (line  654)
  * __fracttauta:                          Fixed-point fractional library routines.
!                                                              (line  663)
  * __fracttida:                           Fixed-point fractional library routines.
!                                                              (line  998)
  * __fracttidq:                           Fixed-point fractional library routines.
!                                                              (line  995)
  * __fracttiha:                           Fixed-point fractional library routines.
!                                                              (line  996)
  * __fracttihq:                           Fixed-point fractional library routines.
!                                                              (line  993)
  * __fracttiqq:                           Fixed-point fractional library routines.
!                                                              (line  992)
  * __fracttisa:                           Fixed-point fractional library routines.
!                                                              (line  997)
  * __fracttisq:                           Fixed-point fractional library routines.
!                                                              (line  994)
  * __fracttita:                           Fixed-point fractional library routines.
                                                               (line  999)
+ * __fracttiuda:                          Fixed-point fractional library routines.
+                                                              (line 1007)
  * __fracttiudq:                          Fixed-point fractional library routines.
!                                                              (line 1003)
  * __fracttiuha:                          Fixed-point fractional library routines.
!                                                              (line 1005)
  * __fracttiuhq:                          Fixed-point fractional library routines.
!                                                              (line 1001)
  * __fracttiuqq:                          Fixed-point fractional library routines.
!                                                              (line 1000)
  * __fracttiusa:                          Fixed-point fractional library routines.
!                                                              (line 1006)
  * __fracttiusq:                          Fixed-point fractional library routines.
!                                                              (line 1002)
  * __fracttiuta:                          Fixed-point fractional library routines.
!                                                              (line 1008)
  * __fractudada:                          Fixed-point fractional library routines.
!                                                              (line  865)
  * __fractudadf:                          Fixed-point fractional library routines.
!                                                              (line  888)
  * __fractudadi:                          Fixed-point fractional library routines.
!                                                              (line  885)
  * __fractudadq:                          Fixed-point fractional library routines.
!                                                              (line  861)
  * __fractudaha:                          Fixed-point fractional library routines.
!                                                              (line  863)
  * __fractudahi:                          Fixed-point fractional library routines.
!                                                              (line  883)
  * __fractudahq:                          Fixed-point fractional library routines.
!                                                              (line  859)
  * __fractudaqi:                          Fixed-point fractional library routines.
!                                                              (line  882)
  * __fractudaqq:                          Fixed-point fractional library routines.
!                                                              (line  858)
  * __fractudasa:                          Fixed-point fractional library routines.
!                                                              (line  864)
  * __fractudasf:                          Fixed-point fractional library routines.
!                                                              (line  887)
  * __fractudasi:                          Fixed-point fractional library routines.
!                                                              (line  884)
  * __fractudasq:                          Fixed-point fractional library routines.
!                                                              (line  860)
  * __fractudata:                          Fixed-point fractional library routines.
!                                                              (line  866)
  * __fractudati:                          Fixed-point fractional library routines.
!                                                              (line  886)
  * __fractudaudq:                         Fixed-point fractional library routines.
!                                                              (line  874)
  * __fractudauha2:                        Fixed-point fractional library routines.
!                                                              (line  876)
  * __fractudauhq:                         Fixed-point fractional library routines.
!                                                              (line  870)
  * __fractudauqq:                         Fixed-point fractional library routines.
!                                                              (line  868)
  * __fractudausa2:                        Fixed-point fractional library routines.
!                                                              (line  878)
  * __fractudausq:                         Fixed-point fractional library routines.
                                                               (line  872)
+ * __fractudauta2:                        Fixed-point fractional library routines.
+                                                              (line  880)
  * __fractudqda:                          Fixed-point fractional library routines.
!                                                              (line  772)
  * __fractudqdf:                          Fixed-point fractional library routines.
!                                                              (line  798)
  * __fractudqdi:                          Fixed-point fractional library routines.
!                                                              (line  794)
  * __fractudqdq:                          Fixed-point fractional library routines.
!                                                              (line  767)
  * __fractudqha:                          Fixed-point fractional library routines.
!                                                              (line  769)
  * __fractudqhi:                          Fixed-point fractional library routines.
!                                                              (line  792)
  * __fractudqhq:                          Fixed-point fractional library routines.
!                                                              (line  764)
  * __fractudqqi:                          Fixed-point fractional library routines.
!                                                              (line  790)
  * __fractudqqq:                          Fixed-point fractional library routines.
!                                                              (line  762)
  * __fractudqsa:                          Fixed-point fractional library routines.
!                                                              (line  771)
  * __fractudqsf:                          Fixed-point fractional library routines.
!                                                              (line  797)
  * __fractudqsi:                          Fixed-point fractional library routines.
!                                                              (line  793)
  * __fractudqsq:                          Fixed-point fractional library routines.
!                                                              (line  765)
  * __fractudqta:                          Fixed-point fractional library routines.
!                                                              (line  774)
  * __fractudqti:                          Fixed-point fractional library routines.
!                                                              (line  795)
  * __fractudquda:                         Fixed-point fractional library routines.
!                                                              (line  786)
  * __fractudquha:                         Fixed-point fractional library routines.
!                                                              (line  782)
  * __fractudquhq2:                        Fixed-point fractional library routines.
!                                                              (line  778)
  * __fractudquqq2:                        Fixed-point fractional library routines.
                                                               (line  776)
+ * __fractudqusa:                         Fixed-point fractional library routines.
+                                                              (line  784)
  * __fractudqusq2:                        Fixed-point fractional library routines.
                                                               (line  780)
+ * __fractudquta:                         Fixed-point fractional library routines.
+                                                              (line  788)
  * __fractuhada:                          Fixed-point fractional library routines.
!                                                              (line  806)
  * __fractuhadf:                          Fixed-point fractional library routines.
!                                                              (line  829)
  * __fractuhadi:                          Fixed-point fractional library routines.
!                                                              (line  826)
  * __fractuhadq:                          Fixed-point fractional library routines.
!                                                              (line  802)
  * __fractuhaha:                          Fixed-point fractional library routines.
!                                                              (line  804)
  * __fractuhahi:                          Fixed-point fractional library routines.
!                                                              (line  824)
  * __fractuhahq:                          Fixed-point fractional library routines.
!                                                              (line  800)
  * __fractuhaqi:                          Fixed-point fractional library routines.
!                                                              (line  823)
  * __fractuhaqq:                          Fixed-point fractional library routines.
!                                                              (line  799)
  * __fractuhasa:                          Fixed-point fractional library routines.
!                                                              (line  805)
  * __fractuhasf:                          Fixed-point fractional library routines.
!                                                              (line  828)
  * __fractuhasi:                          Fixed-point fractional library routines.
!                                                              (line  825)
  * __fractuhasq:                          Fixed-point fractional library routines.
!                                                              (line  801)
  * __fractuhata:                          Fixed-point fractional library routines.
!                                                              (line  807)
  * __fractuhati:                          Fixed-point fractional library routines.
!                                                              (line  827)
  * __fractuhauda2:                        Fixed-point fractional library routines.
!                                                              (line  819)
  * __fractuhaudq:                         Fixed-point fractional library routines.
!                                                              (line  815)
  * __fractuhauhq:                         Fixed-point fractional library routines.
!                                                              (line  811)
  * __fractuhauqq:                         Fixed-point fractional library routines.
                                                               (line  809)
+ * __fractuhausa2:                        Fixed-point fractional library routines.
+                                                              (line  817)
  * __fractuhausq:                         Fixed-point fractional library routines.
                                                               (line  813)
+ * __fractuhauta2:                        Fixed-point fractional library routines.
+                                                              (line  821)
  * __fractuhqda:                          Fixed-point fractional library routines.
!                                                              (line  709)
  * __fractuhqdf:                          Fixed-point fractional library routines.
!                                                              (line  730)
  * __fractuhqdi:                          Fixed-point fractional library routines.
!                                                              (line  727)
  * __fractuhqdq:                          Fixed-point fractional library routines.
!                                                              (line  706)
  * __fractuhqha:                          Fixed-point fractional library routines.
!                                                              (line  707)
  * __fractuhqhi:                          Fixed-point fractional library routines.
!                                                              (line  725)
  * __fractuhqhq:                          Fixed-point fractional library routines.
!                                                              (line  704)
  * __fractuhqqi:                          Fixed-point fractional library routines.
!                                                              (line  724)
  * __fractuhqqq:                          Fixed-point fractional library routines.
!                                                              (line  703)
  * __fractuhqsa:                          Fixed-point fractional library routines.
!                                                              (line  708)
  * __fractuhqsf:                          Fixed-point fractional library routines.
!                                                              (line  729)
  * __fractuhqsi:                          Fixed-point fractional library routines.
!                                                              (line  726)
  * __fractuhqsq:                          Fixed-point fractional library routines.
!                                                              (line  705)
  * __fractuhqta:                          Fixed-point fractional library routines.
!                                                              (line  710)
  * __fractuhqti:                          Fixed-point fractional library routines.
!                                                              (line  728)
  * __fractuhquda:                         Fixed-point fractional library routines.
!                                                              (line  720)
  * __fractuhqudq2:                        Fixed-point fractional library routines.
!                                                              (line  715)
  * __fractuhquha:                         Fixed-point fractional library routines.
!                                                              (line  717)
  * __fractuhquqq2:                        Fixed-point fractional library routines.
                                                               (line  711)
+ * __fractuhqusa:                         Fixed-point fractional library routines.
+                                                              (line  719)
  * __fractuhqusq2:                        Fixed-point fractional library routines.
!                                                              (line  713)
  * __fractuhquta:                         Fixed-point fractional library routines.
!                                                              (line  722)
  * __fractunsdadi:                        Fixed-point fractional library routines.
!                                                              (line 1562)
  * __fractunsdahi:                        Fixed-point fractional library routines.
!                                                              (line 1560)
  * __fractunsdaqi:                        Fixed-point fractional library routines.
!                                                              (line 1559)
  * __fractunsdasi:                        Fixed-point fractional library routines.
!                                                              (line 1561)
  * __fractunsdati:                        Fixed-point fractional library routines.
!                                                              (line 1563)
  * __fractunsdida:                        Fixed-point fractional library routines.
!                                                              (line 1714)
  * __fractunsdidq:                        Fixed-point fractional library routines.
!                                                              (line 1711)
  * __fractunsdiha:                        Fixed-point fractional library routines.
!                                                              (line 1712)
  * __fractunsdihq:                        Fixed-point fractional library routines.
!                                                              (line 1709)
  * __fractunsdiqq:                        Fixed-point fractional library routines.
!                                                              (line 1708)
  * __fractunsdisa:                        Fixed-point fractional library routines.
!                                                              (line 1713)
  * __fractunsdisq:                        Fixed-point fractional library routines.
!                                                              (line 1710)
  * __fractunsdita:                        Fixed-point fractional library routines.
!                                                              (line 1715)
  * __fractunsdiuda:                       Fixed-point fractional library routines.
!                                                              (line 1726)
  * __fractunsdiudq:                       Fixed-point fractional library routines.
!                                                              (line 1721)
  * __fractunsdiuha:                       Fixed-point fractional library routines.
!                                                              (line 1723)
  * __fractunsdiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1718)
  * __fractunsdiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1716)
  * __fractunsdiusa:                       Fixed-point fractional library routines.
!                                                              (line 1725)
  * __fractunsdiusq:                       Fixed-point fractional library routines.
!                                                              (line 1719)
  * __fractunsdiuta:                       Fixed-point fractional library routines.
!                                                              (line 1728)
  * __fractunsdqdi:                        Fixed-point fractional library routines.
!                                                              (line 1546)
  * __fractunsdqhi:                        Fixed-point fractional library routines.
!                                                              (line 1544)
  * __fractunsdqqi:                        Fixed-point fractional library routines.
!                                                              (line 1543)
  * __fractunsdqsi:                        Fixed-point fractional library routines.
!                                                              (line 1545)
  * __fractunsdqti:                        Fixed-point fractional library routines.
!                                                              (line 1547)
  * __fractunshadi:                        Fixed-point fractional library routines.
!                                                              (line 1552)
  * __fractunshahi:                        Fixed-point fractional library routines.
!                                                              (line 1550)
  * __fractunshaqi:                        Fixed-point fractional library routines.
!                                                              (line 1549)
  * __fractunshasi:                        Fixed-point fractional library routines.
!                                                              (line 1551)
  * __fractunshati:                        Fixed-point fractional library routines.
!                                                              (line 1553)
  * __fractunshida:                        Fixed-point fractional library routines.
!                                                              (line 1670)
  * __fractunshidq:                        Fixed-point fractional library routines.
!                                                              (line 1667)
  * __fractunshiha:                        Fixed-point fractional library routines.
!                                                              (line 1668)
  * __fractunshihq:                        Fixed-point fractional library routines.
!                                                              (line 1665)
  * __fractunshiqq:                        Fixed-point fractional library routines.
!                                                              (line 1664)
  * __fractunshisa:                        Fixed-point fractional library routines.
!                                                              (line 1669)
  * __fractunshisq:                        Fixed-point fractional library routines.
!                                                              (line 1666)
  * __fractunshita:                        Fixed-point fractional library routines.
!                                                              (line 1671)
  * __fractunshiuda:                       Fixed-point fractional library routines.
!                                                              (line 1682)
  * __fractunshiudq:                       Fixed-point fractional library routines.
!                                                              (line 1677)
  * __fractunshiuha:                       Fixed-point fractional library routines.
!                                                              (line 1679)
  * __fractunshiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1674)
  * __fractunshiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1672)
  * __fractunshiusa:                       Fixed-point fractional library routines.
!                                                              (line 1681)
  * __fractunshiusq:                       Fixed-point fractional library routines.
!                                                              (line 1675)
  * __fractunshiuta:                       Fixed-point fractional library routines.
!                                                              (line 1684)
  * __fractunshqdi:                        Fixed-point fractional library routines.
!                                                              (line 1536)
  * __fractunshqhi:                        Fixed-point fractional library routines.
!                                                              (line 1534)
  * __fractunshqqi:                        Fixed-point fractional library routines.
!                                                              (line 1533)
  * __fractunshqsi:                        Fixed-point fractional library routines.
!                                                              (line 1535)
  * __fractunshqti:                        Fixed-point fractional library routines.
!                                                              (line 1537)
  * __fractunsqida:                        Fixed-point fractional library routines.
!                                                              (line 1648)
  * __fractunsqidq:                        Fixed-point fractional library routines.
!                                                              (line 1645)
  * __fractunsqiha:                        Fixed-point fractional library routines.
!                                                              (line 1646)
  * __fractunsqihq:                        Fixed-point fractional library routines.
!                                                              (line 1643)
  * __fractunsqiqq:                        Fixed-point fractional library routines.
!                                                              (line 1642)
  * __fractunsqisa:                        Fixed-point fractional library routines.
!                                                              (line 1647)
  * __fractunsqisq:                        Fixed-point fractional library routines.
!                                                              (line 1644)
  * __fractunsqita:                        Fixed-point fractional library routines.
!                                                              (line 1649)
  * __fractunsqiuda:                       Fixed-point fractional library routines.
!                                                              (line 1660)
  * __fractunsqiudq:                       Fixed-point fractional library routines.
!                                                              (line 1655)
  * __fractunsqiuha:                       Fixed-point fractional library routines.
!                                                              (line 1657)
  * __fractunsqiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1652)
  * __fractunsqiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1650)
  * __fractunsqiusa:                       Fixed-point fractional library routines.
!                                                              (line 1659)
  * __fractunsqiusq:                       Fixed-point fractional library routines.
!                                                              (line 1653)
  * __fractunsqiuta:                       Fixed-point fractional library routines.
!                                                              (line 1662)
  * __fractunsqqdi:                        Fixed-point fractional library routines.
!                                                              (line 1531)
  * __fractunsqqhi:                        Fixed-point fractional library routines.
!                                                              (line 1529)
  * __fractunsqqqi:                        Fixed-point fractional library routines.
!                                                              (line 1528)
  * __fractunsqqsi:                        Fixed-point fractional library routines.
!                                                              (line 1530)
  * __fractunsqqti:                        Fixed-point fractional library routines.
!                                                              (line 1532)
  * __fractunssadi:                        Fixed-point fractional library routines.
!                                                              (line 1557)
  * __fractunssahi:                        Fixed-point fractional library routines.
!                                                              (line 1555)
  * __fractunssaqi:                        Fixed-point fractional library routines.
!                                                              (line 1554)
  * __fractunssasi:                        Fixed-point fractional library routines.
!                                                              (line 1556)
  * __fractunssati:                        Fixed-point fractional library routines.
!                                                              (line 1558)
  * __fractunssida:                        Fixed-point fractional library routines.
!                                                              (line 1692)
  * __fractunssidq:                        Fixed-point fractional library routines.
!                                                              (line 1689)
  * __fractunssiha:                        Fixed-point fractional library routines.
!                                                              (line 1690)
  * __fractunssihq:                        Fixed-point fractional library routines.
!                                                              (line 1687)
  * __fractunssiqq:                        Fixed-point fractional library routines.
!                                                              (line 1686)
  * __fractunssisa:                        Fixed-point fractional library routines.
!                                                              (line 1691)
  * __fractunssisq:                        Fixed-point fractional library routines.
!                                                              (line 1688)
  * __fractunssita:                        Fixed-point fractional library routines.
!                                                              (line 1693)
  * __fractunssiuda:                       Fixed-point fractional library routines.
!                                                              (line 1704)
  * __fractunssiudq:                       Fixed-point fractional library routines.
!                                                              (line 1699)
  * __fractunssiuha:                       Fixed-point fractional library routines.
!                                                              (line 1701)
  * __fractunssiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1696)
  * __fractunssiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1694)
  * __fractunssiusa:                       Fixed-point fractional library routines.
!                                                              (line 1703)
  * __fractunssiusq:                       Fixed-point fractional library routines.
!                                                              (line 1697)
  * __fractunssiuta:                       Fixed-point fractional library routines.
!                                                              (line 1706)
  * __fractunssqdi:                        Fixed-point fractional library routines.
!                                                              (line 1541)
  * __fractunssqhi:                        Fixed-point fractional library routines.
!                                                              (line 1539)
  * __fractunssqqi:                        Fixed-point fractional library routines.
!                                                              (line 1538)
  * __fractunssqsi:                        Fixed-point fractional library routines.
!                                                              (line 1540)
  * __fractunssqti:                        Fixed-point fractional library routines.
!                                                              (line 1542)
  * __fractunstadi:                        Fixed-point fractional library routines.
!                                                              (line 1567)
  * __fractunstahi:                        Fixed-point fractional library routines.
!                                                              (line 1565)
  * __fractunstaqi:                        Fixed-point fractional library routines.
!                                                              (line 1564)
  * __fractunstasi:                        Fixed-point fractional library routines.
!                                                              (line 1566)
  * __fractunstati:                        Fixed-point fractional library routines.
!                                                              (line 1568)
  * __fractunstida:                        Fixed-point fractional library routines.
!                                                              (line 1737)
  * __fractunstidq:                        Fixed-point fractional library routines.
!                                                              (line 1733)
  * __fractunstiha:                        Fixed-point fractional library routines.
!                                                              (line 1735)
  * __fractunstihq:                        Fixed-point fractional library routines.
!                                                              (line 1731)
  * __fractunstiqq:                        Fixed-point fractional library routines.
!                                                              (line 1730)
  * __fractunstisa:                        Fixed-point fractional library routines.
!                                                              (line 1736)
  * __fractunstisq:                        Fixed-point fractional library routines.
!                                                              (line 1732)
  * __fractunstita:                        Fixed-point fractional library routines.
!                                                              (line 1738)
  * __fractunstiuda:                       Fixed-point fractional library routines.
!                                                              (line 1752)
  * __fractunstiudq:                       Fixed-point fractional library routines.
!                                                              (line 1746)
  * __fractunstiuha:                       Fixed-point fractional library routines.
!                                                              (line 1748)
  * __fractunstiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1742)
  * __fractunstiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1740)
  * __fractunstiusa:                       Fixed-point fractional library routines.
!                                                              (line 1750)
  * __fractunstiusq:                       Fixed-point fractional library routines.
!                                                              (line 1744)
  * __fractunstiuta:                       Fixed-point fractional library routines.
!                                                              (line 1754)
  * __fractunsudadi:                       Fixed-point fractional library routines.
!                                                              (line 1628)
  * __fractunsudahi:                       Fixed-point fractional library routines.
!                                                              (line 1624)
  * __fractunsudaqi:                       Fixed-point fractional library routines.
!                                                              (line 1622)
  * __fractunsudasi:                       Fixed-point fractional library routines.
!                                                              (line 1626)
  * __fractunsudati:                       Fixed-point fractional library routines.
!                                                              (line 1630)
  * __fractunsudqdi:                       Fixed-point fractional library routines.
!                                                              (line 1602)
  * __fractunsudqhi:                       Fixed-point fractional library routines.
!                                                              (line 1598)
  * __fractunsudqqi:                       Fixed-point fractional library routines.
!                                                              (line 1596)
  * __fractunsudqsi:                       Fixed-point fractional library routines.
!                                                              (line 1600)
  * __fractunsudqti:                       Fixed-point fractional library routines.
                                                               (line 1604)
+ * __fractunsuhadi:                       Fixed-point fractional library routines.
+                                                              (line 1612)
  * __fractunsuhahi:                       Fixed-point fractional library routines.
!                                                              (line 1608)
  * __fractunsuhaqi:                       Fixed-point fractional library routines.
!                                                              (line 1606)
  * __fractunsuhasi:                       Fixed-point fractional library routines.
!                                                              (line 1610)
  * __fractunsuhati:                       Fixed-point fractional library routines.
!                                                              (line 1614)
  * __fractunsuhqdi:                       Fixed-point fractional library routines.
!                                                              (line 1583)
  * __fractunsuhqhi:                       Fixed-point fractional library routines.
!                                                              (line 1581)
  * __fractunsuhqqi:                       Fixed-point fractional library routines.
!                                                              (line 1580)
  * __fractunsuhqsi:                       Fixed-point fractional library routines.
!                                                              (line 1582)
  * __fractunsuhqti:                       Fixed-point fractional library routines.
!                                                              (line 1584)
  * __fractunsuqqdi:                       Fixed-point fractional library routines.
!                                                              (line 1576)
  * __fractunsuqqhi:                       Fixed-point fractional library routines.
!                                                              (line 1572)
  * __fractunsuqqqi:                       Fixed-point fractional library routines.
!                                                              (line 1570)
  * __fractunsuqqsi:                       Fixed-point fractional library routines.
!                                                              (line 1574)
  * __fractunsuqqti:                       Fixed-point fractional library routines.
!                                                              (line 1578)
  * __fractunsusadi:                       Fixed-point fractional library routines.
!                                                              (line 1619)
  * __fractunsusahi:                       Fixed-point fractional library routines.
!                                                              (line 1617)
  * __fractunsusaqi:                       Fixed-point fractional library routines.
!                                                              (line 1616)
  * __fractunsusasi:                       Fixed-point fractional library routines.
!                                                              (line 1618)
  * __fractunsusati:                       Fixed-point fractional library routines.
!                                                              (line 1620)
  * __fractunsusqdi:                       Fixed-point fractional library routines.
!                                                              (line 1592)
  * __fractunsusqhi:                       Fixed-point fractional library routines.
!                                                              (line 1588)
  * __fractunsusqqi:                       Fixed-point fractional library routines.
!                                                              (line 1586)
  * __fractunsusqsi:                       Fixed-point fractional library routines.
!                                                              (line 1590)
  * __fractunsusqti:                       Fixed-point fractional library routines.
!                                                              (line 1594)
  * __fractunsutadi:                       Fixed-point fractional library routines.
!                                                              (line 1638)
  * __fractunsutahi:                       Fixed-point fractional library routines.
!                                                              (line 1634)
  * __fractunsutaqi:                       Fixed-point fractional library routines.
!                                                              (line 1632)
  * __fractunsutasi:                       Fixed-point fractional library routines.
!                                                              (line 1636)
  * __fractunsutati:                       Fixed-point fractional library routines.
!                                                              (line 1640)
  * __fractuqqda:                          Fixed-point fractional library routines.
!                                                              (line  679)
  * __fractuqqdf:                          Fixed-point fractional library routines.
!                                                              (line  702)
  * __fractuqqdi:                          Fixed-point fractional library routines.
!                                                              (line  699)
  * __fractuqqdq:                          Fixed-point fractional library routines.
!                                                              (line  675)
  * __fractuqqha:                          Fixed-point fractional library routines.
!                                                              (line  677)
  * __fractuqqhi:                          Fixed-point fractional library routines.
!                                                              (line  697)
  * __fractuqqhq:                          Fixed-point fractional library routines.
!                                                              (line  673)
  * __fractuqqqi:                          Fixed-point fractional library routines.
!                                                              (line  696)
  * __fractuqqqq:                          Fixed-point fractional library routines.
!                                                              (line  672)
  * __fractuqqsa:                          Fixed-point fractional library routines.
!                                                              (line  678)
  * __fractuqqsf:                          Fixed-point fractional library routines.
!                                                              (line  701)
  * __fractuqqsi:                          Fixed-point fractional library routines.
!                                                              (line  698)
  * __fractuqqsq:                          Fixed-point fractional library routines.
!                                                              (line  674)
  * __fractuqqta:                          Fixed-point fractional library routines.
!                                                              (line  680)
  * __fractuqqti:                          Fixed-point fractional library routines.
!                                                              (line  700)
  * __fractuqquda:                         Fixed-point fractional library routines.
!                                                              (line  692)
  * __fractuqqudq2:                        Fixed-point fractional library routines.
!                                                              (line  686)
  * __fractuqquha:                         Fixed-point fractional library routines.
!                                                              (line  688)
  * __fractuqquhq2:                        Fixed-point fractional library routines.
                                                               (line  682)
+ * __fractuqqusa:                         Fixed-point fractional library routines.
+                                                              (line  690)
  * __fractuqqusq2:                        Fixed-point fractional library routines.
!                                                              (line  684)
  * __fractuqquta:                         Fixed-point fractional library routines.
!                                                              (line  694)
  * __fractusada:                          Fixed-point fractional library routines.
!                                                              (line  836)
  * __fractusadf:                          Fixed-point fractional library routines.
!                                                              (line  857)
  * __fractusadi:                          Fixed-point fractional library routines.
!                                                              (line  854)
  * __fractusadq:                          Fixed-point fractional library routines.
!                                                              (line  833)
  * __fractusaha:                          Fixed-point fractional library routines.
!                                                              (line  834)
  * __fractusahi:                          Fixed-point fractional library routines.
!                                                              (line  852)
  * __fractusahq:                          Fixed-point fractional library routines.
!                                                              (line  831)
  * __fractusaqi:                          Fixed-point fractional library routines.
!                                                              (line  851)
  * __fractusaqq:                          Fixed-point fractional library routines.
!                                                              (line  830)
  * __fractusasa:                          Fixed-point fractional library routines.
!                                                              (line  835)
  * __fractusasf:                          Fixed-point fractional library routines.
!                                                              (line  856)
  * __fractusasi:                          Fixed-point fractional library routines.
!                                                              (line  853)
  * __fractusasq:                          Fixed-point fractional library routines.
!                                                              (line  832)
  * __fractusata:                          Fixed-point fractional library routines.
!                                                              (line  837)
  * __fractusati:                          Fixed-point fractional library routines.
!                                                              (line  855)
  * __fractusauda2:                        Fixed-point fractional library routines.
!                                                              (line  847)
  * __fractusaudq:                         Fixed-point fractional library routines.
!                                                              (line  843)
  * __fractusauha2:                        Fixed-point fractional library routines.
!                                                              (line  845)
  * __fractusauhq:                         Fixed-point fractional library routines.
!                                                              (line  840)
  * __fractusauqq:                         Fixed-point fractional library routines.
!                                                              (line  838)
  * __fractusausq:                         Fixed-point fractional library routines.
                                                               (line  841)
+ * __fractusauta2:                        Fixed-point fractional library routines.
+                                                              (line  849)
  * __fractusqda:                          Fixed-point fractional library routines.
!                                                              (line  738)
  * __fractusqdf:                          Fixed-point fractional library routines.
!                                                              (line  761)
  * __fractusqdi:                          Fixed-point fractional library routines.
!                                                              (line  758)
  * __fractusqdq:                          Fixed-point fractional library routines.
!                                                              (line  734)
  * __fractusqha:                          Fixed-point fractional library routines.
!                                                              (line  736)
  * __fractusqhi:                          Fixed-point fractional library routines.
!                                                              (line  756)
  * __fractusqhq:                          Fixed-point fractional library routines.
!                                                              (line  732)
  * __fractusqqi:                          Fixed-point fractional library routines.
!                                                              (line  755)
  * __fractusqqq:                          Fixed-point fractional library routines.
!                                                              (line  731)
  * __fractusqsa:                          Fixed-point fractional library routines.
!                                                              (line  737)
  * __fractusqsf:                          Fixed-point fractional library routines.
!                                                              (line  760)
  * __fractusqsi:                          Fixed-point fractional library routines.
!                                                              (line  757)
  * __fractusqsq:                          Fixed-point fractional library routines.
!                                                              (line  733)
  * __fractusqta:                          Fixed-point fractional library routines.
!                                                              (line  739)
  * __fractusqti:                          Fixed-point fractional library routines.
!                                                              (line  759)
  * __fractusquda:                         Fixed-point fractional library routines.
!                                                              (line  751)
  * __fractusqudq2:                        Fixed-point fractional library routines.
!                                                              (line  745)
  * __fractusquha:                         Fixed-point fractional library routines.
!                                                              (line  747)
  * __fractusquhq2:                        Fixed-point fractional library routines.
!                                                              (line  743)
  * __fractusquqq2:                        Fixed-point fractional library routines.
                                                               (line  741)
+ * __fractusqusa:                         Fixed-point fractional library routines.
+                                                              (line  749)
  * __fractusquta:                         Fixed-point fractional library routines.
!                                                              (line  753)
  * __fractutada:                          Fixed-point fractional library routines.
!                                                              (line  899)
  * __fractutadf:                          Fixed-point fractional library routines.
!                                                              (line  925)
  * __fractutadi:                          Fixed-point fractional library routines.
!                                                              (line  921)
  * __fractutadq:                          Fixed-point fractional library routines.
!                                                              (line  894)
  * __fractutaha:                          Fixed-point fractional library routines.
!                                                              (line  896)
  * __fractutahi:                          Fixed-point fractional library routines.
!                                                              (line  919)
  * __fractutahq:                          Fixed-point fractional library routines.
!                                                              (line  891)
  * __fractutaqi:                          Fixed-point fractional library routines.
!                                                              (line  917)
  * __fractutaqq:                          Fixed-point fractional library routines.
!                                                              (line  889)
  * __fractutasa:                          Fixed-point fractional library routines.
!                                                              (line  898)
  * __fractutasf:                          Fixed-point fractional library routines.
!                                                              (line  924)
  * __fractutasi:                          Fixed-point fractional library routines.
!                                                              (line  920)
  * __fractutasq:                          Fixed-point fractional library routines.
!                                                              (line  892)
  * __fractutata:                          Fixed-point fractional library routines.
!                                                              (line  901)
  * __fractutati:                          Fixed-point fractional library routines.
!                                                              (line  922)
  * __fractutauda2:                        Fixed-point fractional library routines.
!                                                              (line  915)
  * __fractutaudq:                         Fixed-point fractional library routines.
!                                                              (line  909)
  * __fractutauha2:                        Fixed-point fractional library routines.
!                                                              (line  911)
  * __fractutauhq:                         Fixed-point fractional library routines.
!                                                              (line  905)
  * __fractutauqq:                         Fixed-point fractional library routines.
!                                                              (line  903)
  * __fractutausa2:                        Fixed-point fractional library routines.
!                                                              (line  913)
  * __fractutausq:                         Fixed-point fractional library routines.
!                                                              (line  907)
  * __gedf2:                               Soft float library routines.
                                                               (line  205)
  * __gesf2:                               Soft float library routines.
*************** Concept Index
*** 52189,52209 ****
  * __lshrti3:                             Integer library routines.
                                                               (line   31)
  * __lshruda3:                            Fixed-point fractional library routines.
!                                                              (line  388)
  * __lshrudq3:                            Fixed-point fractional library routines.
!                                                              (line  382)
  * __lshruha3:                            Fixed-point fractional library routines.
!                                                              (line  384)
  * __lshruhq3:                            Fixed-point fractional library routines.
!                                                              (line  378)
  * __lshruqq3:                            Fixed-point fractional library routines.
!                                                              (line  376)
  * __lshrusa3:                            Fixed-point fractional library routines.
!                                                              (line  386)
  * __lshrusq3:                            Fixed-point fractional library routines.
!                                                              (line  380)
  * __lshruta3:                            Fixed-point fractional library routines.
!                                                              (line  390)
  * __ltdf2:                               Soft float library routines.
                                                               (line  211)
  * __ltsf2:                               Soft float library routines.
--- 52190,52210 ----
  * __lshrti3:                             Integer library routines.
                                                               (line   31)
  * __lshruda3:                            Fixed-point fractional library routines.
!                                                              (line  396)
  * __lshrudq3:                            Fixed-point fractional library routines.
!                                                              (line  390)
  * __lshruha3:                            Fixed-point fractional library routines.
!                                                              (line  392)
  * __lshruhq3:                            Fixed-point fractional library routines.
!                                                              (line  386)
  * __lshruqq3:                            Fixed-point fractional library routines.
!                                                              (line  384)
  * __lshrusa3:                            Fixed-point fractional library routines.
!                                                              (line  394)
  * __lshrusq3:                            Fixed-point fractional library routines.
!                                                              (line  388)
  * __lshruta3:                            Fixed-point fractional library routines.
!                                                              (line  398)
  * __ltdf2:                               Soft float library routines.
                                                               (line  211)
  * __ltsf2:                               Soft float library routines.
*************** Concept Index
*** 52224,52230 ****
  * __morestack_segments:                  Miscellaneous routines.
                                                               (line   44)
  * __mulda3:                              Fixed-point fractional library routines.
!                                                              (line  170)
  * __muldc3:                              Soft float library routines.
                                                               (line  239)
  * __muldf3:                              Soft float library routines.
--- 52225,52231 ----
  * __morestack_segments:                  Miscellaneous routines.
                                                               (line   44)
  * __mulda3:                              Fixed-point fractional library routines.
!                                                              (line  178)
  * __muldc3:                              Soft float library routines.
                                                               (line  239)
  * __muldf3:                              Soft float library routines.
*************** Concept Index
*** 52232,52246 ****
  * __muldi3:                              Integer library routines.
                                                               (line   42)
  * __muldq3:                              Fixed-point fractional library routines.
!                                                              (line  157)
  * __mulha3:                              Fixed-point fractional library routines.
!                                                              (line  167)
  * __mulhq3:                              Fixed-point fractional library routines.
!                                                              (line  155)
  * __mulqq3:                              Fixed-point fractional library routines.
!                                                              (line  153)
  * __mulsa3:                              Fixed-point fractional library routines.
!                                                              (line  169)
  * __mulsc3:                              Soft float library routines.
                                                               (line  237)
  * __mulsf3:                              Soft float library routines.
--- 52233,52247 ----
  * __muldi3:                              Integer library routines.
                                                               (line   42)
  * __muldq3:                              Fixed-point fractional library routines.
!                                                              (line  165)
  * __mulha3:                              Fixed-point fractional library routines.
!                                                              (line  175)
  * __mulhq3:                              Fixed-point fractional library routines.
!                                                              (line  163)
  * __mulqq3:                              Fixed-point fractional library routines.
!                                                              (line  161)
  * __mulsa3:                              Fixed-point fractional library routines.
!                                                              (line  177)
  * __mulsc3:                              Soft float library routines.
                                                               (line  237)
  * __mulsf3:                              Soft float library routines.
*************** Concept Index
*** 52248,52256 ****
  * __mulsi3:                              Integer library routines.
                                                               (line   41)
  * __mulsq3:                              Fixed-point fractional library routines.
!                                                              (line  156)
  * __multa3:                              Fixed-point fractional library routines.
!                                                              (line  171)
  * __multc3:                              Soft float library routines.
                                                               (line  241)
  * __multf3:                              Soft float library routines.
--- 52249,52257 ----
  * __mulsi3:                              Integer library routines.
                                                               (line   41)
  * __mulsq3:                              Fixed-point fractional library routines.
!                                                              (line  164)
  * __multa3:                              Fixed-point fractional library routines.
!                                                              (line  179)
  * __multc3:                              Soft float library routines.
                                                               (line  241)
  * __multf3:                              Soft float library routines.
*************** Concept Index
*** 52258,52278 ****
  * __multi3:                              Integer library routines.
                                                               (line   43)
  * __muluda3:                             Fixed-point fractional library routines.
!                                                              (line  177)
  * __muludq3:                             Fixed-point fractional library routines.
-                                                              (line  165)
- * __muluha3:                             Fixed-point fractional library routines.
                                                               (line  173)
  * __muluhq3:                             Fixed-point fractional library routines.
!                                                              (line  161)
  * __muluqq3:                             Fixed-point fractional library routines.
!                                                              (line  159)
  * __mulusa3:                             Fixed-point fractional library routines.
!                                                              (line  175)
  * __mulusq3:                             Fixed-point fractional library routines.
!                                                              (line  163)
  * __muluta3:                             Fixed-point fractional library routines.
!                                                              (line  179)
  * __mulvdi3:                             Integer library routines.
                                                               (line  114)
  * __mulvsi3:                             Integer library routines.
--- 52259,52279 ----
  * __multi3:                              Integer library routines.
                                                               (line   43)
  * __muluda3:                             Fixed-point fractional library routines.
!                                                              (line  185)
  * __muludq3:                             Fixed-point fractional library routines.
                                                               (line  173)
+ * __muluha3:                             Fixed-point fractional library routines.
+                                                              (line  181)
  * __muluhq3:                             Fixed-point fractional library routines.
!                                                              (line  169)
  * __muluqq3:                             Fixed-point fractional library routines.
!                                                              (line  167)
  * __mulusa3:                             Fixed-point fractional library routines.
!                                                              (line  183)
  * __mulusq3:                             Fixed-point fractional library routines.
!                                                              (line  171)
  * __muluta3:                             Fixed-point fractional library routines.
!                                                              (line  187)
  * __mulvdi3:                             Integer library routines.
                                                               (line  114)
  * __mulvsi3:                             Integer library routines.
*************** Concept Index
*** 52284,52330 ****
  * __nedf2:                               Soft float library routines.
                                                               (line  199)
  * __negda2:                              Fixed-point fractional library routines.
!                                                              (line  298)
  * __negdf2:                              Soft float library routines.
                                                               (line   55)
  * __negdi2:                              Integer library routines.
                                                               (line   46)
  * __negdq2:                              Fixed-point fractional library routines.
-                                                              (line  288)
- * __negha2:                              Fixed-point fractional library routines.
                                                               (line  296)
  * __neghq2:                              Fixed-point fractional library routines.
!                                                              (line  286)
  * __negqq2:                              Fixed-point fractional library routines.
!                                                              (line  285)
  * __negsa2:                              Fixed-point fractional library routines.
!                                                              (line  297)
  * __negsf2:                              Soft float library routines.
                                                               (line   54)
  * __negsq2:                              Fixed-point fractional library routines.
!                                                              (line  287)
  * __negta2:                              Fixed-point fractional library routines.
!                                                              (line  299)
  * __negtf2:                              Soft float library routines.
                                                               (line   56)
  * __negti2:                              Integer library routines.
                                                               (line   47)
  * __neguda2:                             Fixed-point fractional library routines.
!                                                              (line  303)
  * __negudq2:                             Fixed-point fractional library routines.
!                                                              (line  294)
  * __neguha2:                             Fixed-point fractional library routines.
!                                                              (line  300)
  * __neguhq2:                             Fixed-point fractional library routines.
!                                                              (line  291)
  * __neguqq2:                             Fixed-point fractional library routines.
!                                                              (line  289)
  * __negusa2:                             Fixed-point fractional library routines.
!                                                              (line  302)
  * __negusq2:                             Fixed-point fractional library routines.
!                                                              (line  292)
  * __neguta2:                             Fixed-point fractional library routines.
!                                                              (line  305)
  * __negvdi2:                             Integer library routines.
                                                               (line  118)
  * __negvsi2:                             Integer library routines.
--- 52285,52331 ----
  * __nedf2:                               Soft float library routines.
                                                               (line  199)
  * __negda2:                              Fixed-point fractional library routines.
!                                                              (line  306)
  * __negdf2:                              Soft float library routines.
                                                               (line   55)
  * __negdi2:                              Integer library routines.
                                                               (line   46)
  * __negdq2:                              Fixed-point fractional library routines.
                                                               (line  296)
+ * __negha2:                              Fixed-point fractional library routines.
+                                                              (line  304)
  * __neghq2:                              Fixed-point fractional library routines.
!                                                              (line  294)
  * __negqq2:                              Fixed-point fractional library routines.
!                                                              (line  293)
  * __negsa2:                              Fixed-point fractional library routines.
!                                                              (line  305)
  * __negsf2:                              Soft float library routines.
                                                               (line   54)
  * __negsq2:                              Fixed-point fractional library routines.
!                                                              (line  295)
  * __negta2:                              Fixed-point fractional library routines.
!                                                              (line  307)
  * __negtf2:                              Soft float library routines.
                                                               (line   56)
  * __negti2:                              Integer library routines.
                                                               (line   47)
  * __neguda2:                             Fixed-point fractional library routines.
!                                                              (line  311)
  * __negudq2:                             Fixed-point fractional library routines.
!                                                              (line  302)
  * __neguha2:                             Fixed-point fractional library routines.
!                                                              (line  308)
  * __neguhq2:                             Fixed-point fractional library routines.
!                                                              (line  299)
  * __neguqq2:                             Fixed-point fractional library routines.
!                                                              (line  297)
  * __negusa2:                             Fixed-point fractional library routines.
!                                                              (line  310)
  * __negusq2:                             Fixed-point fractional library routines.
!                                                              (line  300)
  * __neguta2:                             Fixed-point fractional library routines.
!                                                              (line  313)
  * __negvdi2:                             Integer library routines.
                                                               (line  118)
  * __negvsi2:                             Integer library routines.
*************** Concept Index
*** 52356,53358 ****
  * __powixf2:                             Soft float library routines.
                                                               (line  234)
  * __satfractdadq:                        Fixed-point fractional library routines.
!                                                              (line 1152)
  * __satfractdaha2:                       Fixed-point fractional library routines.
!                                                              (line 1153)
  * __satfractdahq:                        Fixed-point fractional library routines.
!                                                              (line 1150)
  * __satfractdaqq:                        Fixed-point fractional library routines.
!                                                              (line 1149)
  * __satfractdasa2:                       Fixed-point fractional library routines.
!                                                              (line 1154)
  * __satfractdasq:                        Fixed-point fractional library routines.
!                                                              (line 1151)
  * __satfractdata2:                       Fixed-point fractional library routines.
!                                                              (line 1155)
  * __satfractdauda:                       Fixed-point fractional library routines.
!                                                              (line 1165)
  * __satfractdaudq:                       Fixed-point fractional library routines.
!                                                              (line 1160)
  * __satfractdauha:                       Fixed-point fractional library routines.
!                                                              (line 1162)
  * __satfractdauhq:                       Fixed-point fractional library routines.
!                                                              (line 1158)
  * __satfractdauqq:                       Fixed-point fractional library routines.
-                                                              (line 1156)
- * __satfractdausa:                       Fixed-point fractional library routines.
                                                               (line 1164)
  * __satfractdausq:                       Fixed-point fractional library routines.
!                                                              (line 1159)
  * __satfractdauta:                       Fixed-point fractional library routines.
!                                                              (line 1166)
  * __satfractdfda:                        Fixed-point fractional library routines.
!                                                              (line 1505)
  * __satfractdfdq:                        Fixed-point fractional library routines.
!                                                              (line 1502)
  * __satfractdfha:                        Fixed-point fractional library routines.
!                                                              (line 1503)
  * __satfractdfhq:                        Fixed-point fractional library routines.
!                                                              (line 1500)
  * __satfractdfqq:                        Fixed-point fractional library routines.
!                                                              (line 1499)
  * __satfractdfsa:                        Fixed-point fractional library routines.
!                                                              (line 1504)
  * __satfractdfsq:                        Fixed-point fractional library routines.
!                                                              (line 1501)
  * __satfractdfta:                        Fixed-point fractional library routines.
-                                                              (line 1506)
- * __satfractdfuda:                       Fixed-point fractional library routines.
                                                               (line 1514)
  * __satfractdfudq:                       Fixed-point fractional library routines.
!                                                              (line 1510)
  * __satfractdfuha:                       Fixed-point fractional library routines.
!                                                              (line 1512)
  * __satfractdfuhq:                       Fixed-point fractional library routines.
!                                                              (line 1508)
  * __satfractdfuqq:                       Fixed-point fractional library routines.
!                                                              (line 1507)
  * __satfractdfusa:                       Fixed-point fractional library routines.
!                                                              (line 1513)
  * __satfractdfusq:                       Fixed-point fractional library routines.
!                                                              (line 1509)
  * __satfractdfuta:                       Fixed-point fractional library routines.
!                                                              (line 1515)
  * __satfractdida:                        Fixed-point fractional library routines.
!                                                              (line 1455)
  * __satfractdidq:                        Fixed-point fractional library routines.
!                                                              (line 1452)
  * __satfractdiha:                        Fixed-point fractional library routines.
!                                                              (line 1453)
  * __satfractdihq:                        Fixed-point fractional library routines.
!                                                              (line 1450)
  * __satfractdiqq:                        Fixed-point fractional library routines.
!                                                              (line 1449)
  * __satfractdisa:                        Fixed-point fractional library routines.
!                                                              (line 1454)
  * __satfractdisq:                        Fixed-point fractional library routines.
!                                                              (line 1451)
  * __satfractdita:                        Fixed-point fractional library routines.
!                                                              (line 1456)
  * __satfractdiuda:                       Fixed-point fractional library routines.
!                                                              (line 1463)
  * __satfractdiudq:                       Fixed-point fractional library routines.
!                                                              (line 1460)
  * __satfractdiuha:                       Fixed-point fractional library routines.
!                                                              (line 1461)
  * __satfractdiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1458)
  * __satfractdiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1457)
  * __satfractdiusa:                       Fixed-point fractional library routines.
!                                                              (line 1462)
  * __satfractdiusq:                       Fixed-point fractional library routines.
!                                                              (line 1459)
  * __satfractdiuta:                       Fixed-point fractional library routines.
!                                                              (line 1464)
  * __satfractdqda:                        Fixed-point fractional library routines.
!                                                              (line 1097)
  * __satfractdqha:                        Fixed-point fractional library routines.
!                                                              (line 1095)
  * __satfractdqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1093)
  * __satfractdqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1092)
  * __satfractdqsa:                        Fixed-point fractional library routines.
!                                                              (line 1096)
  * __satfractdqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1094)
  * __satfractdqta:                        Fixed-point fractional library routines.
!                                                              (line 1098)
  * __satfractdquda:                       Fixed-point fractional library routines.
!                                                              (line 1109)
  * __satfractdqudq:                       Fixed-point fractional library routines.
!                                                              (line 1104)
  * __satfractdquha:                       Fixed-point fractional library routines.
!                                                              (line 1106)
  * __satfractdquhq:                       Fixed-point fractional library routines.
!                                                              (line 1101)
  * __satfractdquqq:                       Fixed-point fractional library routines.
!                                                              (line 1099)
  * __satfractdqusa:                       Fixed-point fractional library routines.
!                                                              (line 1108)
  * __satfractdqusq:                       Fixed-point fractional library routines.
!                                                              (line 1102)
  * __satfractdquta:                       Fixed-point fractional library routines.
!                                                              (line 1111)
  * __satfracthada2:                       Fixed-point fractional library routines.
!                                                              (line 1118)
  * __satfracthadq:                        Fixed-point fractional library routines.
!                                                              (line 1116)
  * __satfracthahq:                        Fixed-point fractional library routines.
!                                                              (line 1114)
  * __satfracthaqq:                        Fixed-point fractional library routines.
!                                                              (line 1113)
  * __satfracthasa2:                       Fixed-point fractional library routines.
!                                                              (line 1117)
  * __satfracthasq:                        Fixed-point fractional library routines.
!                                                              (line 1115)
  * __satfracthata2:                       Fixed-point fractional library routines.
!                                                              (line 1119)
  * __satfracthauda:                       Fixed-point fractional library routines.
!                                                              (line 1130)
  * __satfracthaudq:                       Fixed-point fractional library routines.
!                                                              (line 1125)
  * __satfracthauha:                       Fixed-point fractional library routines.
!                                                              (line 1127)
  * __satfracthauhq:                       Fixed-point fractional library routines.
!                                                              (line 1122)
  * __satfracthauqq:                       Fixed-point fractional library routines.
!                                                              (line 1120)
  * __satfracthausa:                       Fixed-point fractional library routines.
!                                                              (line 1129)
  * __satfracthausq:                       Fixed-point fractional library routines.
!                                                              (line 1123)
  * __satfracthauta:                       Fixed-point fractional library routines.
!                                                              (line 1132)
  * __satfracthida:                        Fixed-point fractional library routines.
!                                                              (line 1423)
  * __satfracthidq:                        Fixed-point fractional library routines.
!                                                              (line 1420)
  * __satfracthiha:                        Fixed-point fractional library routines.
!                                                              (line 1421)
  * __satfracthihq:                        Fixed-point fractional library routines.
!                                                              (line 1418)
  * __satfracthiqq:                        Fixed-point fractional library routines.
!                                                              (line 1417)
  * __satfracthisa:                        Fixed-point fractional library routines.
!                                                              (line 1422)
  * __satfracthisq:                        Fixed-point fractional library routines.
!                                                              (line 1419)
  * __satfracthita:                        Fixed-point fractional library routines.
!                                                              (line 1424)
  * __satfracthiuda:                       Fixed-point fractional library routines.
!                                                              (line 1431)
  * __satfracthiudq:                       Fixed-point fractional library routines.
!                                                              (line 1428)
  * __satfracthiuha:                       Fixed-point fractional library routines.
!                                                              (line 1429)
  * __satfracthiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1426)
  * __satfracthiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1425)
  * __satfracthiusa:                       Fixed-point fractional library routines.
!                                                              (line 1430)
  * __satfracthiusq:                       Fixed-point fractional library routines.
!                                                              (line 1427)
  * __satfracthiuta:                       Fixed-point fractional library routines.
!                                                              (line 1432)
  * __satfracthqda:                        Fixed-point fractional library routines.
!                                                              (line 1063)
  * __satfracthqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1060)
  * __satfracthqha:                        Fixed-point fractional library routines.
!                                                              (line 1061)
  * __satfracthqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1058)
  * __satfracthqsa:                        Fixed-point fractional library routines.
!                                                              (line 1062)
  * __satfracthqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1059)
  * __satfracthqta:                        Fixed-point fractional library routines.
!                                                              (line 1064)
  * __satfracthquda:                       Fixed-point fractional library routines.
!                                                              (line 1071)
  * __satfracthqudq:                       Fixed-point fractional library routines.
!                                                              (line 1068)
  * __satfracthquha:                       Fixed-point fractional library routines.
!                                                              (line 1069)
  * __satfracthquhq:                       Fixed-point fractional library routines.
!                                                              (line 1066)
  * __satfracthquqq:                       Fixed-point fractional library routines.
!                                                              (line 1065)
  * __satfracthqusa:                       Fixed-point fractional library routines.
!                                                              (line 1070)
  * __satfracthqusq:                       Fixed-point fractional library routines.
!                                                              (line 1067)
  * __satfracthquta:                       Fixed-point fractional library routines.
!                                                              (line 1072)
  * __satfractqida:                        Fixed-point fractional library routines.
!                                                              (line 1401)
  * __satfractqidq:                        Fixed-point fractional library routines.
!                                                              (line 1398)
  * __satfractqiha:                        Fixed-point fractional library routines.
!                                                              (line 1399)
  * __satfractqihq:                        Fixed-point fractional library routines.
!                                                              (line 1396)
  * __satfractqiqq:                        Fixed-point fractional library routines.
!                                                              (line 1395)
  * __satfractqisa:                        Fixed-point fractional library routines.
!                                                              (line 1400)
  * __satfractqisq:                        Fixed-point fractional library routines.
!                                                              (line 1397)
  * __satfractqita:                        Fixed-point fractional library routines.
!                                                              (line 1402)
  * __satfractqiuda:                       Fixed-point fractional library routines.
!                                                              (line 1413)
  * __satfractqiudq:                       Fixed-point fractional library routines.
!                                                              (line 1408)
  * __satfractqiuha:                       Fixed-point fractional library routines.
!                                                              (line 1410)
  * __satfractqiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1405)
  * __satfractqiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1403)
  * __satfractqiusa:                       Fixed-point fractional library routines.
!                                                              (line 1412)
  * __satfractqiusq:                       Fixed-point fractional library routines.
!                                                              (line 1406)
  * __satfractqiuta:                       Fixed-point fractional library routines.
!                                                              (line 1415)
  * __satfractqqda:                        Fixed-point fractional library routines.
!                                                              (line 1042)
  * __satfractqqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1039)
  * __satfractqqha:                        Fixed-point fractional library routines.
!                                                              (line 1040)
  * __satfractqqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1037)
  * __satfractqqsa:                        Fixed-point fractional library routines.
!                                                              (line 1041)
  * __satfractqqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1038)
  * __satfractqqta:                        Fixed-point fractional library routines.
!                                                              (line 1043)
  * __satfractqquda:                       Fixed-point fractional library routines.
!                                                              (line 1054)
  * __satfractqqudq:                       Fixed-point fractional library routines.
!                                                              (line 1049)
  * __satfractqquha:                       Fixed-point fractional library routines.
!                                                              (line 1051)
  * __satfractqquhq:                       Fixed-point fractional library routines.
!                                                              (line 1046)
  * __satfractqquqq:                       Fixed-point fractional library routines.
!                                                              (line 1044)
  * __satfractqqusa:                       Fixed-point fractional library routines.
!                                                              (line 1053)
  * __satfractqqusq:                       Fixed-point fractional library routines.
!                                                              (line 1047)
  * __satfractqquta:                       Fixed-point fractional library routines.
!                                                              (line 1056)
  * __satfractsada2:                       Fixed-point fractional library routines.
!                                                              (line 1139)
  * __satfractsadq:                        Fixed-point fractional library routines.
!                                                              (line 1137)
  * __satfractsaha2:                       Fixed-point fractional library routines.
!                                                              (line 1138)
  * __satfractsahq:                        Fixed-point fractional library routines.
!                                                              (line 1135)
  * __satfractsaqq:                        Fixed-point fractional library routines.
!                                                              (line 1134)
  * __satfractsasq:                        Fixed-point fractional library routines.
!                                                              (line 1136)
  * __satfractsata2:                       Fixed-point fractional library routines.
!                                                              (line 1140)
  * __satfractsauda:                       Fixed-point fractional library routines.
!                                                              (line 1147)
  * __satfractsaudq:                       Fixed-point fractional library routines.
!                                                              (line 1144)
  * __satfractsauha:                       Fixed-point fractional library routines.
!                                                              (line 1145)
  * __satfractsauhq:                       Fixed-point fractional library routines.
!                                                              (line 1142)
  * __satfractsauqq:                       Fixed-point fractional library routines.
!                                                              (line 1141)
  * __satfractsausa:                       Fixed-point fractional library routines.
!                                                              (line 1146)
  * __satfractsausq:                       Fixed-point fractional library routines.
!                                                              (line 1143)
  * __satfractsauta:                       Fixed-point fractional library routines.
!                                                              (line 1148)
  * __satfractsfda:                        Fixed-point fractional library routines.
!                                                              (line 1489)
  * __satfractsfdq:                        Fixed-point fractional library routines.
!                                                              (line 1486)
  * __satfractsfha:                        Fixed-point fractional library routines.
!                                                              (line 1487)
  * __satfractsfhq:                        Fixed-point fractional library routines.
!                                                              (line 1484)
  * __satfractsfqq:                        Fixed-point fractional library routines.
!                                                              (line 1483)
  * __satfractsfsa:                        Fixed-point fractional library routines.
!                                                              (line 1488)
  * __satfractsfsq:                        Fixed-point fractional library routines.
!                                                              (line 1485)
  * __satfractsfta:                        Fixed-point fractional library routines.
!                                                              (line 1490)
  * __satfractsfuda:                       Fixed-point fractional library routines.
!                                                              (line 1497)
  * __satfractsfudq:                       Fixed-point fractional library routines.
!                                                              (line 1494)
  * __satfractsfuha:                       Fixed-point fractional library routines.
!                                                              (line 1495)
  * __satfractsfuhq:                       Fixed-point fractional library routines.
!                                                              (line 1492)
  * __satfractsfuqq:                       Fixed-point fractional library routines.
!                                                              (line 1491)
  * __satfractsfusa:                       Fixed-point fractional library routines.
!                                                              (line 1496)
  * __satfractsfusq:                       Fixed-point fractional library routines.
!                                                              (line 1493)
  * __satfractsfuta:                       Fixed-point fractional library routines.
!                                                              (line 1498)
  * __satfractsida:                        Fixed-point fractional library routines.
!                                                              (line 1439)
  * __satfractsidq:                        Fixed-point fractional library routines.
!                                                              (line 1436)
  * __satfractsiha:                        Fixed-point fractional library routines.
!                                                              (line 1437)
  * __satfractsihq:                        Fixed-point fractional library routines.
!                                                              (line 1434)
  * __satfractsiqq:                        Fixed-point fractional library routines.
!                                                              (line 1433)
  * __satfractsisa:                        Fixed-point fractional library routines.
!                                                              (line 1438)
  * __satfractsisq:                        Fixed-point fractional library routines.
!                                                              (line 1435)
  * __satfractsita:                        Fixed-point fractional library routines.
!                                                              (line 1440)
  * __satfractsiuda:                       Fixed-point fractional library routines.
!                                                              (line 1447)
  * __satfractsiudq:                       Fixed-point fractional library routines.
!                                                              (line 1444)
  * __satfractsiuha:                       Fixed-point fractional library routines.
!                                                              (line 1445)
  * __satfractsiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1442)
  * __satfractsiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1441)
  * __satfractsiusa:                       Fixed-point fractional library routines.
!                                                              (line 1446)
  * __satfractsiusq:                       Fixed-point fractional library routines.
!                                                              (line 1443)
  * __satfractsiuta:                       Fixed-point fractional library routines.
!                                                              (line 1448)
  * __satfractsqda:                        Fixed-point fractional library routines.
!                                                              (line 1078)
  * __satfractsqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1075)
  * __satfractsqha:                        Fixed-point fractional library routines.
!                                                              (line 1076)
  * __satfractsqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1074)
  * __satfractsqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1073)
  * __satfractsqsa:                        Fixed-point fractional library routines.
!                                                              (line 1077)
  * __satfractsqta:                        Fixed-point fractional library routines.
!                                                              (line 1079)
  * __satfractsquda:                       Fixed-point fractional library routines.
!                                                              (line 1089)
  * __satfractsqudq:                       Fixed-point fractional library routines.
!                                                              (line 1084)
  * __satfractsquha:                       Fixed-point fractional library routines.
!                                                              (line 1086)
  * __satfractsquhq:                       Fixed-point fractional library routines.
!                                                              (line 1082)
  * __satfractsquqq:                       Fixed-point fractional library routines.
-                                                              (line 1080)
- * __satfractsqusa:                       Fixed-point fractional library routines.
                                                               (line 1088)
  * __satfractsqusq:                       Fixed-point fractional library routines.
!                                                              (line 1083)
  * __satfractsquta:                       Fixed-point fractional library routines.
!                                                              (line 1090)
  * __satfracttada2:                       Fixed-point fractional library routines.
!                                                              (line 1174)
  * __satfracttadq:                        Fixed-point fractional library routines.
!                                                              (line 1171)
  * __satfracttaha2:                       Fixed-point fractional library routines.
!                                                              (line 1172)
  * __satfracttahq:                        Fixed-point fractional library routines.
!                                                              (line 1169)
  * __satfracttaqq:                        Fixed-point fractional library routines.
!                                                              (line 1168)
  * __satfracttasa2:                       Fixed-point fractional library routines.
!                                                              (line 1173)
  * __satfracttasq:                        Fixed-point fractional library routines.
!                                                              (line 1170)
  * __satfracttauda:                       Fixed-point fractional library routines.
!                                                              (line 1185)
  * __satfracttaudq:                       Fixed-point fractional library routines.
!                                                              (line 1180)
  * __satfracttauha:                       Fixed-point fractional library routines.
!                                                              (line 1182)
  * __satfracttauhq:                       Fixed-point fractional library routines.
!                                                              (line 1177)
  * __satfracttauqq:                       Fixed-point fractional library routines.
!                                                              (line 1175)
  * __satfracttausa:                       Fixed-point fractional library routines.
!                                                              (line 1184)
  * __satfracttausq:                       Fixed-point fractional library routines.
!                                                              (line 1178)
  * __satfracttauta:                       Fixed-point fractional library routines.
!                                                              (line 1187)
  * __satfracttida:                        Fixed-point fractional library routines.
!                                                              (line 1471)
  * __satfracttidq:                        Fixed-point fractional library routines.
!                                                              (line 1468)
  * __satfracttiha:                        Fixed-point fractional library routines.
!                                                              (line 1469)
  * __satfracttihq:                        Fixed-point fractional library routines.
!                                                              (line 1466)
  * __satfracttiqq:                        Fixed-point fractional library routines.
!                                                              (line 1465)
  * __satfracttisa:                        Fixed-point fractional library routines.
!                                                              (line 1470)
  * __satfracttisq:                        Fixed-point fractional library routines.
!                                                              (line 1467)
  * __satfracttita:                        Fixed-point fractional library routines.
-                                                              (line 1472)
- * __satfracttiuda:                       Fixed-point fractional library routines.
                                                               (line 1480)
  * __satfracttiudq:                       Fixed-point fractional library routines.
!                                                              (line 1476)
  * __satfracttiuha:                       Fixed-point fractional library routines.
!                                                              (line 1478)
  * __satfracttiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1474)
  * __satfracttiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1473)
  * __satfracttiusa:                       Fixed-point fractional library routines.
!                                                              (line 1479)
  * __satfracttiusq:                       Fixed-point fractional library routines.
!                                                              (line 1475)
  * __satfracttiuta:                       Fixed-point fractional library routines.
!                                                              (line 1481)
  * __satfractudada:                       Fixed-point fractional library routines.
!                                                              (line 1350)
  * __satfractudadq:                       Fixed-point fractional library routines.
!                                                              (line 1345)
  * __satfractudaha:                       Fixed-point fractional library routines.
!                                                              (line 1347)
  * __satfractudahq:                       Fixed-point fractional library routines.
!                                                              (line 1343)
  * __satfractudaqq:                       Fixed-point fractional library routines.
-                                                              (line 1341)
- * __satfractudasa:                       Fixed-point fractional library routines.
                                                               (line 1349)
  * __satfractudasq:                       Fixed-point fractional library routines.
!                                                              (line 1344)
  * __satfractudata:                       Fixed-point fractional library routines.
-                                                              (line 1351)
- * __satfractudaudq:                      Fixed-point fractional library routines.
                                                               (line 1359)
  * __satfractudauha2:                     Fixed-point fractional library routines.
!                                                              (line 1361)
  * __satfractudauhq:                      Fixed-point fractional library routines.
!                                                              (line 1355)
  * __satfractudauqq:                      Fixed-point fractional library routines.
!                                                              (line 1353)
  * __satfractudausa2:                     Fixed-point fractional library routines.
!                                                              (line 1363)
  * __satfractudausq:                      Fixed-point fractional library routines.
-                                                              (line 1357)
- * __satfractudauta2:                     Fixed-point fractional library routines.
                                                               (line 1365)
  * __satfractudqda:                       Fixed-point fractional library routines.
!                                                              (line 1274)
  * __satfractudqdq:                       Fixed-point fractional library routines.
!                                                              (line 1269)
  * __satfractudqha:                       Fixed-point fractional library routines.
!                                                              (line 1271)
  * __satfractudqhq:                       Fixed-point fractional library routines.
!                                                              (line 1266)
  * __satfractudqqq:                       Fixed-point fractional library routines.
!                                                              (line 1264)
  * __satfractudqsa:                       Fixed-point fractional library routines.
!                                                              (line 1273)
  * __satfractudqsq:                       Fixed-point fractional library routines.
!                                                              (line 1267)
  * __satfractudqta:                       Fixed-point fractional library routines.
!                                                              (line 1276)
  * __satfractudquda:                      Fixed-point fractional library routines.
!                                                              (line 1288)
  * __satfractudquha:                      Fixed-point fractional library routines.
!                                                              (line 1284)
  * __satfractudquhq2:                     Fixed-point fractional library routines.
!                                                              (line 1280)
  * __satfractudquqq2:                     Fixed-point fractional library routines.
-                                                              (line 1278)
- * __satfractudqusa:                      Fixed-point fractional library routines.
                                                               (line 1286)
  * __satfractudqusq2:                     Fixed-point fractional library routines.
-                                                              (line 1282)
- * __satfractudquta:                      Fixed-point fractional library routines.
                                                               (line 1290)
  * __satfractuhada:                       Fixed-point fractional library routines.
!                                                              (line 1302)
  * __satfractuhadq:                       Fixed-point fractional library routines.
!                                                              (line 1297)
  * __satfractuhaha:                       Fixed-point fractional library routines.
!                                                              (line 1299)
  * __satfractuhahq:                       Fixed-point fractional library routines.
!                                                              (line 1294)
  * __satfractuhaqq:                       Fixed-point fractional library routines.
!                                                              (line 1292)
  * __satfractuhasa:                       Fixed-point fractional library routines.
!                                                              (line 1301)
  * __satfractuhasq:                       Fixed-point fractional library routines.
!                                                              (line 1295)
  * __satfractuhata:                       Fixed-point fractional library routines.
!                                                              (line 1304)
  * __satfractuhauda2:                     Fixed-point fractional library routines.
!                                                              (line 1316)
  * __satfractuhaudq:                      Fixed-point fractional library routines.
!                                                              (line 1312)
  * __satfractuhauhq:                      Fixed-point fractional library routines.
!                                                              (line 1308)
  * __satfractuhauqq:                      Fixed-point fractional library routines.
-                                                              (line 1306)
- * __satfractuhausa2:                     Fixed-point fractional library routines.
                                                               (line 1314)
  * __satfractuhausq:                      Fixed-point fractional library routines.
-                                                              (line 1310)
- * __satfractuhauta2:                     Fixed-point fractional library routines.
                                                               (line 1318)
  * __satfractuhqda:                       Fixed-point fractional library routines.
!                                                              (line 1223)
  * __satfractuhqdq:                       Fixed-point fractional library routines.
!                                                              (line 1220)
  * __satfractuhqha:                       Fixed-point fractional library routines.
!                                                              (line 1221)
  * __satfractuhqhq:                       Fixed-point fractional library routines.
!                                                              (line 1218)
  * __satfractuhqqq:                       Fixed-point fractional library routines.
!                                                              (line 1217)
  * __satfractuhqsa:                       Fixed-point fractional library routines.
!                                                              (line 1222)
  * __satfractuhqsq:                       Fixed-point fractional library routines.
!                                                              (line 1219)
  * __satfractuhqta:                       Fixed-point fractional library routines.
!                                                              (line 1224)
  * __satfractuhquda:                      Fixed-point fractional library routines.
!                                                              (line 1234)
  * __satfractuhqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1229)
  * __satfractuhquha:                      Fixed-point fractional library routines.
!                                                              (line 1231)
  * __satfractuhquqq2:                     Fixed-point fractional library routines.
-                                                              (line 1225)
- * __satfractuhqusa:                      Fixed-point fractional library routines.
                                                               (line 1233)
  * __satfractuhqusq2:                     Fixed-point fractional library routines.
!                                                              (line 1227)
  * __satfractuhquta:                      Fixed-point fractional library routines.
!                                                              (line 1236)
  * __satfractunsdida:                     Fixed-point fractional library routines.
!                                                              (line 1833)
  * __satfractunsdidq:                     Fixed-point fractional library routines.
!                                                              (line 1829)
  * __satfractunsdiha:                     Fixed-point fractional library routines.
!                                                              (line 1831)
  * __satfractunsdihq:                     Fixed-point fractional library routines.
!                                                              (line 1827)
  * __satfractunsdiqq:                     Fixed-point fractional library routines.
!                                                              (line 1826)
  * __satfractunsdisa:                     Fixed-point fractional library routines.
!                                                              (line 1832)
  * __satfractunsdisq:                     Fixed-point fractional library routines.
!                                                              (line 1828)
  * __satfractunsdita:                     Fixed-point fractional library routines.
!                                                              (line 1834)
  * __satfractunsdiuda:                    Fixed-point fractional library routines.
!                                                              (line 1848)
  * __satfractunsdiudq:                    Fixed-point fractional library routines.
!                                                              (line 1842)
  * __satfractunsdiuha:                    Fixed-point fractional library routines.
!                                                              (line 1844)
  * __satfractunsdiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1838)
  * __satfractunsdiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1836)
  * __satfractunsdiusa:                    Fixed-point fractional library routines.
!                                                              (line 1846)
  * __satfractunsdiusq:                    Fixed-point fractional library routines.
!                                                              (line 1840)
  * __satfractunsdiuta:                    Fixed-point fractional library routines.
!                                                              (line 1850)
  * __satfractunshida:                     Fixed-point fractional library routines.
!                                                              (line 1785)
  * __satfractunshidq:                     Fixed-point fractional library routines.
!                                                              (line 1781)
  * __satfractunshiha:                     Fixed-point fractional library routines.
!                                                              (line 1783)
  * __satfractunshihq:                     Fixed-point fractional library routines.
!                                                              (line 1779)
  * __satfractunshiqq:                     Fixed-point fractional library routines.
!                                                              (line 1778)
  * __satfractunshisa:                     Fixed-point fractional library routines.
!                                                              (line 1784)
  * __satfractunshisq:                     Fixed-point fractional library routines.
!                                                              (line 1780)
  * __satfractunshita:                     Fixed-point fractional library routines.
!                                                              (line 1786)
  * __satfractunshiuda:                    Fixed-point fractional library routines.
!                                                              (line 1800)
  * __satfractunshiudq:                    Fixed-point fractional library routines.
!                                                              (line 1794)
  * __satfractunshiuha:                    Fixed-point fractional library routines.
!                                                              (line 1796)
  * __satfractunshiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1790)
  * __satfractunshiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1788)
  * __satfractunshiusa:                    Fixed-point fractional library routines.
!                                                              (line 1798)
  * __satfractunshiusq:                    Fixed-point fractional library routines.
!                                                              (line 1792)
  * __satfractunshiuta:                    Fixed-point fractional library routines.
!                                                              (line 1802)
  * __satfractunsqida:                     Fixed-point fractional library routines.
!                                                              (line 1759)
  * __satfractunsqidq:                     Fixed-point fractional library routines.
!                                                              (line 1755)
  * __satfractunsqiha:                     Fixed-point fractional library routines.
!                                                              (line 1757)
  * __satfractunsqihq:                     Fixed-point fractional library routines.
!                                                              (line 1753)
  * __satfractunsqiqq:                     Fixed-point fractional library routines.
!                                                              (line 1752)
  * __satfractunsqisa:                     Fixed-point fractional library routines.
!                                                              (line 1758)
  * __satfractunsqisq:                     Fixed-point fractional library routines.
!                                                              (line 1754)
  * __satfractunsqita:                     Fixed-point fractional library routines.
!                                                              (line 1760)
  * __satfractunsqiuda:                    Fixed-point fractional library routines.
!                                                              (line 1774)
  * __satfractunsqiudq:                    Fixed-point fractional library routines.
!                                                              (line 1768)
  * __satfractunsqiuha:                    Fixed-point fractional library routines.
!                                                              (line 1770)
  * __satfractunsqiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1764)
  * __satfractunsqiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1762)
  * __satfractunsqiusa:                    Fixed-point fractional library routines.
!                                                              (line 1772)
  * __satfractunsqiusq:                    Fixed-point fractional library routines.
!                                                              (line 1766)
  * __satfractunsqiuta:                    Fixed-point fractional library routines.
!                                                              (line 1776)
  * __satfractunssida:                     Fixed-point fractional library routines.
!                                                              (line 1810)
  * __satfractunssidq:                     Fixed-point fractional library routines.
!                                                              (line 1807)
  * __satfractunssiha:                     Fixed-point fractional library routines.
!                                                              (line 1808)
  * __satfractunssihq:                     Fixed-point fractional library routines.
!                                                              (line 1805)
  * __satfractunssiqq:                     Fixed-point fractional library routines.
!                                                              (line 1804)
  * __satfractunssisa:                     Fixed-point fractional library routines.
!                                                              (line 1809)
  * __satfractunssisq:                     Fixed-point fractional library routines.
!                                                              (line 1806)
  * __satfractunssita:                     Fixed-point fractional library routines.
!                                                              (line 1811)
  * __satfractunssiuda:                    Fixed-point fractional library routines.
!                                                              (line 1822)
  * __satfractunssiudq:                    Fixed-point fractional library routines.
!                                                              (line 1817)
  * __satfractunssiuha:                    Fixed-point fractional library routines.
!                                                              (line 1819)
  * __satfractunssiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1814)
  * __satfractunssiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1812)
  * __satfractunssiusa:                    Fixed-point fractional library routines.
!                                                              (line 1821)
  * __satfractunssiusq:                    Fixed-point fractional library routines.
!                                                              (line 1815)
  * __satfractunssiuta:                    Fixed-point fractional library routines.
!                                                              (line 1824)
  * __satfractunstida:                     Fixed-point fractional library routines.
!                                                              (line 1862)
  * __satfractunstidq:                     Fixed-point fractional library routines.
!                                                              (line 1857)
  * __satfractunstiha:                     Fixed-point fractional library routines.
!                                                              (line 1859)
  * __satfractunstihq:                     Fixed-point fractional library routines.
!                                                              (line 1854)
  * __satfractunstiqq:                     Fixed-point fractional library routines.
!                                                              (line 1852)
  * __satfractunstisa:                     Fixed-point fractional library routines.
!                                                              (line 1861)
  * __satfractunstisq:                     Fixed-point fractional library routines.
!                                                              (line 1855)
  * __satfractunstita:                     Fixed-point fractional library routines.
!                                                              (line 1864)
  * __satfractunstiuda:                    Fixed-point fractional library routines.
!                                                              (line 1878)
  * __satfractunstiudq:                    Fixed-point fractional library routines.
!                                                              (line 1872)
  * __satfractunstiuha:                    Fixed-point fractional library routines.
!                                                              (line 1874)
  * __satfractunstiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1868)
  * __satfractunstiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1866)
  * __satfractunstiusa:                    Fixed-point fractional library routines.
!                                                              (line 1876)
  * __satfractunstiusq:                    Fixed-point fractional library routines.
!                                                              (line 1870)
  * __satfractunstiuta:                    Fixed-point fractional library routines.
!                                                              (line 1880)
  * __satfractuqqda:                       Fixed-point fractional library routines.
!                                                              (line 1199)
  * __satfractuqqdq:                       Fixed-point fractional library routines.
!                                                              (line 1194)
  * __satfractuqqha:                       Fixed-point fractional library routines.
!                                                              (line 1196)
  * __satfractuqqhq:                       Fixed-point fractional library routines.
!                                                              (line 1191)
  * __satfractuqqqq:                       Fixed-point fractional library routines.
!                                                              (line 1189)
  * __satfractuqqsa:                       Fixed-point fractional library routines.
!                                                              (line 1198)
  * __satfractuqqsq:                       Fixed-point fractional library routines.
!                                                              (line 1192)
  * __satfractuqqta:                       Fixed-point fractional library routines.
!                                                              (line 1201)
  * __satfractuqquda:                      Fixed-point fractional library routines.
!                                                              (line 1213)
  * __satfractuqqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1207)
  * __satfractuqquha:                      Fixed-point fractional library routines.
!                                                              (line 1209)
  * __satfractuqquhq2:                     Fixed-point fractional library routines.
-                                                              (line 1203)
- * __satfractuqqusa:                      Fixed-point fractional library routines.
                                                               (line 1211)
  * __satfractuqqusq2:                     Fixed-point fractional library routines.
!                                                              (line 1205)
  * __satfractuqquta:                      Fixed-point fractional library routines.
!                                                              (line 1215)
  * __satfractusada:                       Fixed-point fractional library routines.
!                                                              (line 1326)
  * __satfractusadq:                       Fixed-point fractional library routines.
!                                                              (line 1323)
  * __satfractusaha:                       Fixed-point fractional library routines.
!                                                              (line 1324)
  * __satfractusahq:                       Fixed-point fractional library routines.
!                                                              (line 1321)
  * __satfractusaqq:                       Fixed-point fractional library routines.
!                                                              (line 1320)
  * __satfractusasa:                       Fixed-point fractional library routines.
!                                                              (line 1325)
  * __satfractusasq:                       Fixed-point fractional library routines.
!                                                              (line 1322)
  * __satfractusata:                       Fixed-point fractional library routines.
!                                                              (line 1327)
  * __satfractusauda2:                     Fixed-point fractional library routines.
!                                                              (line 1337)
  * __satfractusaudq:                      Fixed-point fractional library routines.
!                                                              (line 1333)
  * __satfractusauha2:                     Fixed-point fractional library routines.
!                                                              (line 1335)
  * __satfractusauhq:                      Fixed-point fractional library routines.
!                                                              (line 1330)
  * __satfractusauqq:                      Fixed-point fractional library routines.
!                                                              (line 1328)
  * __satfractusausq:                      Fixed-point fractional library routines.
-                                                              (line 1331)
- * __satfractusauta2:                     Fixed-point fractional library routines.
                                                               (line 1339)
  * __satfractusqda:                       Fixed-point fractional library routines.
!                                                              (line 1247)
  * __satfractusqdq:                       Fixed-point fractional library routines.
!                                                              (line 1242)
  * __satfractusqha:                       Fixed-point fractional library routines.
!                                                              (line 1244)
  * __satfractusqhq:                       Fixed-point fractional library routines.
!                                                              (line 1240)
  * __satfractusqqq:                       Fixed-point fractional library routines.
-                                                              (line 1238)
- * __satfractusqsa:                       Fixed-point fractional library routines.
                                                               (line 1246)
  * __satfractusqsq:                       Fixed-point fractional library routines.
!                                                              (line 1241)
  * __satfractusqta:                       Fixed-point fractional library routines.
!                                                              (line 1248)
  * __satfractusquda:                      Fixed-point fractional library routines.
!                                                              (line 1260)
  * __satfractusqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1254)
  * __satfractusquha:                      Fixed-point fractional library routines.
!                                                              (line 1256)
  * __satfractusquhq2:                     Fixed-point fractional library routines.
!                                                              (line 1252)
  * __satfractusquqq2:                     Fixed-point fractional library routines.
-                                                              (line 1250)
- * __satfractusqusa:                      Fixed-point fractional library routines.
                                                               (line 1258)
  * __satfractusquta:                      Fixed-point fractional library routines.
!                                                              (line 1262)
  * __satfractutada:                       Fixed-point fractional library routines.
!                                                              (line 1377)
  * __satfractutadq:                       Fixed-point fractional library routines.
!                                                              (line 1372)
  * __satfractutaha:                       Fixed-point fractional library routines.
!                                                              (line 1374)
  * __satfractutahq:                       Fixed-point fractional library routines.
!                                                              (line 1369)
  * __satfractutaqq:                       Fixed-point fractional library routines.
!                                                              (line 1367)
  * __satfractutasa:                       Fixed-point fractional library routines.
!                                                              (line 1376)
  * __satfractutasq:                       Fixed-point fractional library routines.
!                                                              (line 1370)
  * __satfractutata:                       Fixed-point fractional library routines.
!                                                              (line 1379)
  * __satfractutauda2:                     Fixed-point fractional library routines.
!                                                              (line 1393)
  * __satfractutaudq:                      Fixed-point fractional library routines.
!                                                              (line 1387)
  * __satfractutauha2:                     Fixed-point fractional library routines.
!                                                              (line 1389)
  * __satfractutauhq:                      Fixed-point fractional library routines.
!                                                              (line 1383)
  * __satfractutauqq:                      Fixed-point fractional library routines.
!                                                              (line 1381)
  * __satfractutausa2:                     Fixed-point fractional library routines.
!                                                              (line 1391)
  * __satfractutausq:                      Fixed-point fractional library routines.
!                                                              (line 1385)
  * __splitstack_find:                     Miscellaneous routines.
                                                               (line   15)
  * __ssaddda3:                            Fixed-point fractional library routines.
!                                                              (line   66)
  * __ssadddq3:                            Fixed-point fractional library routines.
!                                                              (line   61)
  * __ssaddha3:                            Fixed-point fractional library routines.
!                                                              (line   63)
  * __ssaddhq3:                            Fixed-point fractional library routines.
!                                                              (line   59)
  * __ssaddqq3:                            Fixed-point fractional library routines.
-                                                              (line   57)
- * __ssaddsa3:                            Fixed-point fractional library routines.
                                                               (line   65)
  * __ssaddsq3:                            Fixed-point fractional library routines.
!                                                              (line   60)
  * __ssaddta3:                            Fixed-point fractional library routines.
!                                                              (line   67)
  * __ssashlda3:                           Fixed-point fractional library routines.
!                                                              (line  401)
  * __ssashldq3:                           Fixed-point fractional library routines.
!                                                              (line  397)
  * __ssashlha3:                           Fixed-point fractional library routines.
!                                                              (line  399)
  * __ssashlhq3:                           Fixed-point fractional library routines.
!                                                              (line  395)
  * __ssashlsa3:                           Fixed-point fractional library routines.
!                                                              (line  400)
  * __ssashlsq3:                           Fixed-point fractional library routines.
!                                                              (line  396)
  * __ssashlta3:                           Fixed-point fractional library routines.
!                                                              (line  402)
  * __ssdivda3:                            Fixed-point fractional library routines.
!                                                              (line  260)
  * __ssdivdq3:                            Fixed-point fractional library routines.
!                                                              (line  255)
  * __ssdivha3:                            Fixed-point fractional library routines.
!                                                              (line  257)
  * __ssdivhq3:                            Fixed-point fractional library routines.
!                                                              (line  253)
  * __ssdivqq3:                            Fixed-point fractional library routines.
-                                                              (line  251)
- * __ssdivsa3:                            Fixed-point fractional library routines.
                                                               (line  259)
  * __ssdivsq3:                            Fixed-point fractional library routines.
!                                                              (line  254)
  * __ssdivta3:                            Fixed-point fractional library routines.
!                                                              (line  261)
  * __ssmulda3:                            Fixed-point fractional library routines.
!                                                              (line  192)
  * __ssmuldq3:                            Fixed-point fractional library routines.
!                                                              (line  187)
  * __ssmulha3:                            Fixed-point fractional library routines.
!                                                              (line  189)
  * __ssmulhq3:                            Fixed-point fractional library routines.
!                                                              (line  185)
  * __ssmulqq3:                            Fixed-point fractional library routines.
-                                                              (line  183)
- * __ssmulsa3:                            Fixed-point fractional library routines.
                                                               (line  191)
  * __ssmulsq3:                            Fixed-point fractional library routines.
!                                                              (line  186)
  * __ssmulta3:                            Fixed-point fractional library routines.
!                                                              (line  193)
  * __ssnegda2:                            Fixed-point fractional library routines.
!                                                              (line  315)
  * __ssnegdq2:                            Fixed-point fractional library routines.
!                                                              (line  312)
  * __ssnegha2:                            Fixed-point fractional library routines.
!                                                              (line  313)
  * __ssneghq2:                            Fixed-point fractional library routines.
!                                                              (line  310)
  * __ssnegqq2:                            Fixed-point fractional library routines.
!                                                              (line  309)
  * __ssnegsa2:                            Fixed-point fractional library routines.
!                                                              (line  314)
  * __ssnegsq2:                            Fixed-point fractional library routines.
!                                                              (line  311)
  * __ssnegta2:                            Fixed-point fractional library routines.
!                                                              (line  316)
  * __sssubda3:                            Fixed-point fractional library routines.
!                                                              (line  128)
  * __sssubdq3:                            Fixed-point fractional library routines.
!                                                              (line  123)
  * __sssubha3:                            Fixed-point fractional library routines.
!                                                              (line  125)
  * __sssubhq3:                            Fixed-point fractional library routines.
!                                                              (line  121)
  * __sssubqq3:                            Fixed-point fractional library routines.
-                                                              (line  119)
- * __sssubsa3:                            Fixed-point fractional library routines.
                                                               (line  127)
  * __sssubsq3:                            Fixed-point fractional library routines.
!                                                              (line  122)
  * __sssubta3:                            Fixed-point fractional library routines.
!                                                              (line  129)
  * __subda3:                              Fixed-point fractional library routines.
!                                                              (line  106)
  * __subdf3:                              Soft float library routines.
                                                               (line   30)
  * __subdq3:                              Fixed-point fractional library routines.
!                                                              (line   93)
  * __subha3:                              Fixed-point fractional library routines.
!                                                              (line  103)
  * __subhq3:                              Fixed-point fractional library routines.
!                                                              (line   91)
  * __subqq3:                              Fixed-point fractional library routines.
!                                                              (line   89)
  * __subsa3:                              Fixed-point fractional library routines.
!                                                              (line  105)
  * __subsf3:                              Soft float library routines.
                                                               (line   29)
  * __subsq3:                              Fixed-point fractional library routines.
!                                                              (line   92)
  * __subta3:                              Fixed-point fractional library routines.
!                                                              (line  107)
  * __subtf3:                              Soft float library routines.
                                                               (line   31)
  * __subuda3:                             Fixed-point fractional library routines.
!                                                              (line  113)
  * __subudq3:                             Fixed-point fractional library routines.
-                                                              (line  101)
- * __subuha3:                             Fixed-point fractional library routines.
                                                               (line  109)
  * __subuhq3:                             Fixed-point fractional library routines.
!                                                              (line   97)
  * __subuqq3:                             Fixed-point fractional library routines.
!                                                              (line   95)
  * __subusa3:                             Fixed-point fractional library routines.
!                                                              (line  111)
  * __subusq3:                             Fixed-point fractional library routines.
!                                                              (line   99)
  * __subuta3:                             Fixed-point fractional library routines.
!                                                              (line  115)
  * __subvdi3:                             Integer library routines.
                                                               (line  122)
  * __subvsi3:                             Integer library routines.
--- 52357,53359 ----
  * __powixf2:                             Soft float library routines.
                                                               (line  234)
  * __satfractdadq:                        Fixed-point fractional library routines.
!                                                              (line 1160)
  * __satfractdaha2:                       Fixed-point fractional library routines.
!                                                              (line 1161)
  * __satfractdahq:                        Fixed-point fractional library routines.
!                                                              (line 1158)
  * __satfractdaqq:                        Fixed-point fractional library routines.
!                                                              (line 1157)
  * __satfractdasa2:                       Fixed-point fractional library routines.
!                                                              (line 1162)
  * __satfractdasq:                        Fixed-point fractional library routines.
!                                                              (line 1159)
  * __satfractdata2:                       Fixed-point fractional library routines.
!                                                              (line 1163)
  * __satfractdauda:                       Fixed-point fractional library routines.
!                                                              (line 1173)
  * __satfractdaudq:                       Fixed-point fractional library routines.
!                                                              (line 1168)
  * __satfractdauha:                       Fixed-point fractional library routines.
!                                                              (line 1170)
  * __satfractdauhq:                       Fixed-point fractional library routines.
!                                                              (line 1166)
  * __satfractdauqq:                       Fixed-point fractional library routines.
                                                               (line 1164)
+ * __satfractdausa:                       Fixed-point fractional library routines.
+                                                              (line 1172)
  * __satfractdausq:                       Fixed-point fractional library routines.
!                                                              (line 1167)
  * __satfractdauta:                       Fixed-point fractional library routines.
!                                                              (line 1174)
  * __satfractdfda:                        Fixed-point fractional library routines.
!                                                              (line 1513)
  * __satfractdfdq:                        Fixed-point fractional library routines.
!                                                              (line 1510)
  * __satfractdfha:                        Fixed-point fractional library routines.
!                                                              (line 1511)
  * __satfractdfhq:                        Fixed-point fractional library routines.
!                                                              (line 1508)
  * __satfractdfqq:                        Fixed-point fractional library routines.
!                                                              (line 1507)
  * __satfractdfsa:                        Fixed-point fractional library routines.
!                                                              (line 1512)
  * __satfractdfsq:                        Fixed-point fractional library routines.
!                                                              (line 1509)
  * __satfractdfta:                        Fixed-point fractional library routines.
                                                               (line 1514)
+ * __satfractdfuda:                       Fixed-point fractional library routines.
+                                                              (line 1522)
  * __satfractdfudq:                       Fixed-point fractional library routines.
!                                                              (line 1518)
  * __satfractdfuha:                       Fixed-point fractional library routines.
!                                                              (line 1520)
  * __satfractdfuhq:                       Fixed-point fractional library routines.
!                                                              (line 1516)
  * __satfractdfuqq:                       Fixed-point fractional library routines.
!                                                              (line 1515)
  * __satfractdfusa:                       Fixed-point fractional library routines.
!                                                              (line 1521)
  * __satfractdfusq:                       Fixed-point fractional library routines.
!                                                              (line 1517)
  * __satfractdfuta:                       Fixed-point fractional library routines.
!                                                              (line 1523)
  * __satfractdida:                        Fixed-point fractional library routines.
!                                                              (line 1463)
  * __satfractdidq:                        Fixed-point fractional library routines.
!                                                              (line 1460)
  * __satfractdiha:                        Fixed-point fractional library routines.
!                                                              (line 1461)
  * __satfractdihq:                        Fixed-point fractional library routines.
!                                                              (line 1458)
  * __satfractdiqq:                        Fixed-point fractional library routines.
!                                                              (line 1457)
  * __satfractdisa:                        Fixed-point fractional library routines.
!                                                              (line 1462)
  * __satfractdisq:                        Fixed-point fractional library routines.
!                                                              (line 1459)
  * __satfractdita:                        Fixed-point fractional library routines.
!                                                              (line 1464)
  * __satfractdiuda:                       Fixed-point fractional library routines.
!                                                              (line 1471)
  * __satfractdiudq:                       Fixed-point fractional library routines.
!                                                              (line 1468)
  * __satfractdiuha:                       Fixed-point fractional library routines.
!                                                              (line 1469)
  * __satfractdiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1466)
  * __satfractdiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1465)
  * __satfractdiusa:                       Fixed-point fractional library routines.
!                                                              (line 1470)
  * __satfractdiusq:                       Fixed-point fractional library routines.
!                                                              (line 1467)
  * __satfractdiuta:                       Fixed-point fractional library routines.
!                                                              (line 1472)
  * __satfractdqda:                        Fixed-point fractional library routines.
!                                                              (line 1105)
  * __satfractdqha:                        Fixed-point fractional library routines.
!                                                              (line 1103)
  * __satfractdqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1101)
  * __satfractdqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1100)
  * __satfractdqsa:                        Fixed-point fractional library routines.
!                                                              (line 1104)
  * __satfractdqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1102)
  * __satfractdqta:                        Fixed-point fractional library routines.
!                                                              (line 1106)
  * __satfractdquda:                       Fixed-point fractional library routines.
!                                                              (line 1117)
  * __satfractdqudq:                       Fixed-point fractional library routines.
!                                                              (line 1112)
  * __satfractdquha:                       Fixed-point fractional library routines.
!                                                              (line 1114)
  * __satfractdquhq:                       Fixed-point fractional library routines.
!                                                              (line 1109)
  * __satfractdquqq:                       Fixed-point fractional library routines.
!                                                              (line 1107)
  * __satfractdqusa:                       Fixed-point fractional library routines.
!                                                              (line 1116)
  * __satfractdqusq:                       Fixed-point fractional library routines.
!                                                              (line 1110)
  * __satfractdquta:                       Fixed-point fractional library routines.
!                                                              (line 1119)
  * __satfracthada2:                       Fixed-point fractional library routines.
!                                                              (line 1126)
  * __satfracthadq:                        Fixed-point fractional library routines.
!                                                              (line 1124)
  * __satfracthahq:                        Fixed-point fractional library routines.
!                                                              (line 1122)
  * __satfracthaqq:                        Fixed-point fractional library routines.
!                                                              (line 1121)
  * __satfracthasa2:                       Fixed-point fractional library routines.
!                                                              (line 1125)
  * __satfracthasq:                        Fixed-point fractional library routines.
!                                                              (line 1123)
  * __satfracthata2:                       Fixed-point fractional library routines.
!                                                              (line 1127)
  * __satfracthauda:                       Fixed-point fractional library routines.
!                                                              (line 1138)
  * __satfracthaudq:                       Fixed-point fractional library routines.
!                                                              (line 1133)
  * __satfracthauha:                       Fixed-point fractional library routines.
!                                                              (line 1135)
  * __satfracthauhq:                       Fixed-point fractional library routines.
!                                                              (line 1130)
  * __satfracthauqq:                       Fixed-point fractional library routines.
!                                                              (line 1128)
  * __satfracthausa:                       Fixed-point fractional library routines.
!                                                              (line 1137)
  * __satfracthausq:                       Fixed-point fractional library routines.
!                                                              (line 1131)
  * __satfracthauta:                       Fixed-point fractional library routines.
!                                                              (line 1140)
  * __satfracthida:                        Fixed-point fractional library routines.
!                                                              (line 1431)
  * __satfracthidq:                        Fixed-point fractional library routines.
!                                                              (line 1428)
  * __satfracthiha:                        Fixed-point fractional library routines.
!                                                              (line 1429)
  * __satfracthihq:                        Fixed-point fractional library routines.
!                                                              (line 1426)
  * __satfracthiqq:                        Fixed-point fractional library routines.
!                                                              (line 1425)
  * __satfracthisa:                        Fixed-point fractional library routines.
!                                                              (line 1430)
  * __satfracthisq:                        Fixed-point fractional library routines.
!                                                              (line 1427)
  * __satfracthita:                        Fixed-point fractional library routines.
!                                                              (line 1432)
  * __satfracthiuda:                       Fixed-point fractional library routines.
!                                                              (line 1439)
  * __satfracthiudq:                       Fixed-point fractional library routines.
!                                                              (line 1436)
  * __satfracthiuha:                       Fixed-point fractional library routines.
!                                                              (line 1437)
  * __satfracthiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1434)
  * __satfracthiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1433)
  * __satfracthiusa:                       Fixed-point fractional library routines.
!                                                              (line 1438)
  * __satfracthiusq:                       Fixed-point fractional library routines.
!                                                              (line 1435)
  * __satfracthiuta:                       Fixed-point fractional library routines.
!                                                              (line 1440)
  * __satfracthqda:                        Fixed-point fractional library routines.
!                                                              (line 1071)
  * __satfracthqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1068)
  * __satfracthqha:                        Fixed-point fractional library routines.
!                                                              (line 1069)
  * __satfracthqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1066)
  * __satfracthqsa:                        Fixed-point fractional library routines.
!                                                              (line 1070)
  * __satfracthqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1067)
  * __satfracthqta:                        Fixed-point fractional library routines.
!                                                              (line 1072)
  * __satfracthquda:                       Fixed-point fractional library routines.
!                                                              (line 1079)
  * __satfracthqudq:                       Fixed-point fractional library routines.
!                                                              (line 1076)
  * __satfracthquha:                       Fixed-point fractional library routines.
!                                                              (line 1077)
  * __satfracthquhq:                       Fixed-point fractional library routines.
!                                                              (line 1074)
  * __satfracthquqq:                       Fixed-point fractional library routines.
!                                                              (line 1073)
  * __satfracthqusa:                       Fixed-point fractional library routines.
!                                                              (line 1078)
  * __satfracthqusq:                       Fixed-point fractional library routines.
!                                                              (line 1075)
  * __satfracthquta:                       Fixed-point fractional library routines.
!                                                              (line 1080)
  * __satfractqida:                        Fixed-point fractional library routines.
!                                                              (line 1409)
  * __satfractqidq:                        Fixed-point fractional library routines.
!                                                              (line 1406)
  * __satfractqiha:                        Fixed-point fractional library routines.
!                                                              (line 1407)
  * __satfractqihq:                        Fixed-point fractional library routines.
!                                                              (line 1404)
  * __satfractqiqq:                        Fixed-point fractional library routines.
!                                                              (line 1403)
  * __satfractqisa:                        Fixed-point fractional library routines.
!                                                              (line 1408)
  * __satfractqisq:                        Fixed-point fractional library routines.
!                                                              (line 1405)
  * __satfractqita:                        Fixed-point fractional library routines.
!                                                              (line 1410)
  * __satfractqiuda:                       Fixed-point fractional library routines.
!                                                              (line 1421)
  * __satfractqiudq:                       Fixed-point fractional library routines.
!                                                              (line 1416)
  * __satfractqiuha:                       Fixed-point fractional library routines.
!                                                              (line 1418)
  * __satfractqiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1413)
  * __satfractqiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1411)
  * __satfractqiusa:                       Fixed-point fractional library routines.
!                                                              (line 1420)
  * __satfractqiusq:                       Fixed-point fractional library routines.
!                                                              (line 1414)
  * __satfractqiuta:                       Fixed-point fractional library routines.
!                                                              (line 1423)
  * __satfractqqda:                        Fixed-point fractional library routines.
!                                                              (line 1050)
  * __satfractqqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1047)
  * __satfractqqha:                        Fixed-point fractional library routines.
!                                                              (line 1048)
  * __satfractqqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1045)
  * __satfractqqsa:                        Fixed-point fractional library routines.
!                                                              (line 1049)
  * __satfractqqsq2:                       Fixed-point fractional library routines.
!                                                              (line 1046)
  * __satfractqqta:                        Fixed-point fractional library routines.
!                                                              (line 1051)
  * __satfractqquda:                       Fixed-point fractional library routines.
!                                                              (line 1062)
  * __satfractqqudq:                       Fixed-point fractional library routines.
!                                                              (line 1057)
  * __satfractqquha:                       Fixed-point fractional library routines.
!                                                              (line 1059)
  * __satfractqquhq:                       Fixed-point fractional library routines.
!                                                              (line 1054)
  * __satfractqquqq:                       Fixed-point fractional library routines.
!                                                              (line 1052)
  * __satfractqqusa:                       Fixed-point fractional library routines.
!                                                              (line 1061)
  * __satfractqqusq:                       Fixed-point fractional library routines.
!                                                              (line 1055)
  * __satfractqquta:                       Fixed-point fractional library routines.
!                                                              (line 1064)
  * __satfractsada2:                       Fixed-point fractional library routines.
!                                                              (line 1147)
  * __satfractsadq:                        Fixed-point fractional library routines.
!                                                              (line 1145)
  * __satfractsaha2:                       Fixed-point fractional library routines.
!                                                              (line 1146)
  * __satfractsahq:                        Fixed-point fractional library routines.
!                                                              (line 1143)
  * __satfractsaqq:                        Fixed-point fractional library routines.
!                                                              (line 1142)
  * __satfractsasq:                        Fixed-point fractional library routines.
!                                                              (line 1144)
  * __satfractsata2:                       Fixed-point fractional library routines.
!                                                              (line 1148)
  * __satfractsauda:                       Fixed-point fractional library routines.
!                                                              (line 1155)
  * __satfractsaudq:                       Fixed-point fractional library routines.
!                                                              (line 1152)
  * __satfractsauha:                       Fixed-point fractional library routines.
!                                                              (line 1153)
  * __satfractsauhq:                       Fixed-point fractional library routines.
!                                                              (line 1150)
  * __satfractsauqq:                       Fixed-point fractional library routines.
!                                                              (line 1149)
  * __satfractsausa:                       Fixed-point fractional library routines.
!                                                              (line 1154)
  * __satfractsausq:                       Fixed-point fractional library routines.
!                                                              (line 1151)
  * __satfractsauta:                       Fixed-point fractional library routines.
!                                                              (line 1156)
  * __satfractsfda:                        Fixed-point fractional library routines.
!                                                              (line 1497)
  * __satfractsfdq:                        Fixed-point fractional library routines.
!                                                              (line 1494)
  * __satfractsfha:                        Fixed-point fractional library routines.
!                                                              (line 1495)
  * __satfractsfhq:                        Fixed-point fractional library routines.
!                                                              (line 1492)
  * __satfractsfqq:                        Fixed-point fractional library routines.
!                                                              (line 1491)
  * __satfractsfsa:                        Fixed-point fractional library routines.
!                                                              (line 1496)
  * __satfractsfsq:                        Fixed-point fractional library routines.
!                                                              (line 1493)
  * __satfractsfta:                        Fixed-point fractional library routines.
!                                                              (line 1498)
  * __satfractsfuda:                       Fixed-point fractional library routines.
!                                                              (line 1505)
  * __satfractsfudq:                       Fixed-point fractional library routines.
!                                                              (line 1502)
  * __satfractsfuha:                       Fixed-point fractional library routines.
!                                                              (line 1503)
  * __satfractsfuhq:                       Fixed-point fractional library routines.
!                                                              (line 1500)
  * __satfractsfuqq:                       Fixed-point fractional library routines.
!                                                              (line 1499)
  * __satfractsfusa:                       Fixed-point fractional library routines.
!                                                              (line 1504)
  * __satfractsfusq:                       Fixed-point fractional library routines.
!                                                              (line 1501)
  * __satfractsfuta:                       Fixed-point fractional library routines.
!                                                              (line 1506)
  * __satfractsida:                        Fixed-point fractional library routines.
!                                                              (line 1447)
  * __satfractsidq:                        Fixed-point fractional library routines.
!                                                              (line 1444)
  * __satfractsiha:                        Fixed-point fractional library routines.
!                                                              (line 1445)
  * __satfractsihq:                        Fixed-point fractional library routines.
!                                                              (line 1442)
  * __satfractsiqq:                        Fixed-point fractional library routines.
!                                                              (line 1441)
  * __satfractsisa:                        Fixed-point fractional library routines.
!                                                              (line 1446)
  * __satfractsisq:                        Fixed-point fractional library routines.
!                                                              (line 1443)
  * __satfractsita:                        Fixed-point fractional library routines.
!                                                              (line 1448)
  * __satfractsiuda:                       Fixed-point fractional library routines.
!                                                              (line 1455)
  * __satfractsiudq:                       Fixed-point fractional library routines.
!                                                              (line 1452)
  * __satfractsiuha:                       Fixed-point fractional library routines.
!                                                              (line 1453)
  * __satfractsiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1450)
  * __satfractsiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1449)
  * __satfractsiusa:                       Fixed-point fractional library routines.
!                                                              (line 1454)
  * __satfractsiusq:                       Fixed-point fractional library routines.
!                                                              (line 1451)
  * __satfractsiuta:                       Fixed-point fractional library routines.
!                                                              (line 1456)
  * __satfractsqda:                        Fixed-point fractional library routines.
!                                                              (line 1086)
  * __satfractsqdq2:                       Fixed-point fractional library routines.
!                                                              (line 1083)
  * __satfractsqha:                        Fixed-point fractional library routines.
!                                                              (line 1084)
  * __satfractsqhq2:                       Fixed-point fractional library routines.
!                                                              (line 1082)
  * __satfractsqqq2:                       Fixed-point fractional library routines.
!                                                              (line 1081)
  * __satfractsqsa:                        Fixed-point fractional library routines.
!                                                              (line 1085)
  * __satfractsqta:                        Fixed-point fractional library routines.
!                                                              (line 1087)
  * __satfractsquda:                       Fixed-point fractional library routines.
!                                                              (line 1097)
  * __satfractsqudq:                       Fixed-point fractional library routines.
!                                                              (line 1092)
  * __satfractsquha:                       Fixed-point fractional library routines.
!                                                              (line 1094)
  * __satfractsquhq:                       Fixed-point fractional library routines.
!                                                              (line 1090)
  * __satfractsquqq:                       Fixed-point fractional library routines.
                                                               (line 1088)
+ * __satfractsqusa:                       Fixed-point fractional library routines.
+                                                              (line 1096)
  * __satfractsqusq:                       Fixed-point fractional library routines.
!                                                              (line 1091)
  * __satfractsquta:                       Fixed-point fractional library routines.
!                                                              (line 1098)
  * __satfracttada2:                       Fixed-point fractional library routines.
!                                                              (line 1182)
  * __satfracttadq:                        Fixed-point fractional library routines.
!                                                              (line 1179)
  * __satfracttaha2:                       Fixed-point fractional library routines.
!                                                              (line 1180)
  * __satfracttahq:                        Fixed-point fractional library routines.
!                                                              (line 1177)
  * __satfracttaqq:                        Fixed-point fractional library routines.
!                                                              (line 1176)
  * __satfracttasa2:                       Fixed-point fractional library routines.
!                                                              (line 1181)
  * __satfracttasq:                        Fixed-point fractional library routines.
!                                                              (line 1178)
  * __satfracttauda:                       Fixed-point fractional library routines.
!                                                              (line 1193)
  * __satfracttaudq:                       Fixed-point fractional library routines.
!                                                              (line 1188)
  * __satfracttauha:                       Fixed-point fractional library routines.
!                                                              (line 1190)
  * __satfracttauhq:                       Fixed-point fractional library routines.
!                                                              (line 1185)
  * __satfracttauqq:                       Fixed-point fractional library routines.
!                                                              (line 1183)
  * __satfracttausa:                       Fixed-point fractional library routines.
!                                                              (line 1192)
  * __satfracttausq:                       Fixed-point fractional library routines.
!                                                              (line 1186)
  * __satfracttauta:                       Fixed-point fractional library routines.
!                                                              (line 1195)
  * __satfracttida:                        Fixed-point fractional library routines.
!                                                              (line 1479)
  * __satfracttidq:                        Fixed-point fractional library routines.
!                                                              (line 1476)
  * __satfracttiha:                        Fixed-point fractional library routines.
!                                                              (line 1477)
  * __satfracttihq:                        Fixed-point fractional library routines.
!                                                              (line 1474)
  * __satfracttiqq:                        Fixed-point fractional library routines.
!                                                              (line 1473)
  * __satfracttisa:                        Fixed-point fractional library routines.
!                                                              (line 1478)
  * __satfracttisq:                        Fixed-point fractional library routines.
!                                                              (line 1475)
  * __satfracttita:                        Fixed-point fractional library routines.
                                                               (line 1480)
+ * __satfracttiuda:                       Fixed-point fractional library routines.
+                                                              (line 1488)
  * __satfracttiudq:                       Fixed-point fractional library routines.
!                                                              (line 1484)
  * __satfracttiuha:                       Fixed-point fractional library routines.
!                                                              (line 1486)
  * __satfracttiuhq:                       Fixed-point fractional library routines.
!                                                              (line 1482)
  * __satfracttiuqq:                       Fixed-point fractional library routines.
!                                                              (line 1481)
  * __satfracttiusa:                       Fixed-point fractional library routines.
!                                                              (line 1487)
  * __satfracttiusq:                       Fixed-point fractional library routines.
!                                                              (line 1483)
  * __satfracttiuta:                       Fixed-point fractional library routines.
!                                                              (line 1489)
  * __satfractudada:                       Fixed-point fractional library routines.
!                                                              (line 1358)
  * __satfractudadq:                       Fixed-point fractional library routines.
!                                                              (line 1353)
  * __satfractudaha:                       Fixed-point fractional library routines.
!                                                              (line 1355)
  * __satfractudahq:                       Fixed-point fractional library routines.
!                                                              (line 1351)
  * __satfractudaqq:                       Fixed-point fractional library routines.
                                                               (line 1349)
+ * __satfractudasa:                       Fixed-point fractional library routines.
+                                                              (line 1357)
  * __satfractudasq:                       Fixed-point fractional library routines.
!                                                              (line 1352)
  * __satfractudata:                       Fixed-point fractional library routines.
                                                               (line 1359)
+ * __satfractudaudq:                      Fixed-point fractional library routines.
+                                                              (line 1367)
  * __satfractudauha2:                     Fixed-point fractional library routines.
!                                                              (line 1369)
  * __satfractudauhq:                      Fixed-point fractional library routines.
!                                                              (line 1363)
  * __satfractudauqq:                      Fixed-point fractional library routines.
!                                                              (line 1361)
  * __satfractudausa2:                     Fixed-point fractional library routines.
!                                                              (line 1371)
  * __satfractudausq:                      Fixed-point fractional library routines.
                                                               (line 1365)
+ * __satfractudauta2:                     Fixed-point fractional library routines.
+                                                              (line 1373)
  * __satfractudqda:                       Fixed-point fractional library routines.
!                                                              (line 1282)
  * __satfractudqdq:                       Fixed-point fractional library routines.
!                                                              (line 1277)
  * __satfractudqha:                       Fixed-point fractional library routines.
!                                                              (line 1279)
  * __satfractudqhq:                       Fixed-point fractional library routines.
!                                                              (line 1274)
  * __satfractudqqq:                       Fixed-point fractional library routines.
!                                                              (line 1272)
  * __satfractudqsa:                       Fixed-point fractional library routines.
!                                                              (line 1281)
  * __satfractudqsq:                       Fixed-point fractional library routines.
!                                                              (line 1275)
  * __satfractudqta:                       Fixed-point fractional library routines.
!                                                              (line 1284)
  * __satfractudquda:                      Fixed-point fractional library routines.
!                                                              (line 1296)
  * __satfractudquha:                      Fixed-point fractional library routines.
!                                                              (line 1292)
  * __satfractudquhq2:                     Fixed-point fractional library routines.
!                                                              (line 1288)
  * __satfractudquqq2:                     Fixed-point fractional library routines.
                                                               (line 1286)
+ * __satfractudqusa:                      Fixed-point fractional library routines.
+                                                              (line 1294)
  * __satfractudqusq2:                     Fixed-point fractional library routines.
                                                               (line 1290)
+ * __satfractudquta:                      Fixed-point fractional library routines.
+                                                              (line 1298)
  * __satfractuhada:                       Fixed-point fractional library routines.
!                                                              (line 1310)
  * __satfractuhadq:                       Fixed-point fractional library routines.
!                                                              (line 1305)
  * __satfractuhaha:                       Fixed-point fractional library routines.
!                                                              (line 1307)
  * __satfractuhahq:                       Fixed-point fractional library routines.
!                                                              (line 1302)
  * __satfractuhaqq:                       Fixed-point fractional library routines.
!                                                              (line 1300)
  * __satfractuhasa:                       Fixed-point fractional library routines.
!                                                              (line 1309)
  * __satfractuhasq:                       Fixed-point fractional library routines.
!                                                              (line 1303)
  * __satfractuhata:                       Fixed-point fractional library routines.
!                                                              (line 1312)
  * __satfractuhauda2:                     Fixed-point fractional library routines.
!                                                              (line 1324)
  * __satfractuhaudq:                      Fixed-point fractional library routines.
!                                                              (line 1320)
  * __satfractuhauhq:                      Fixed-point fractional library routines.
!                                                              (line 1316)
  * __satfractuhauqq:                      Fixed-point fractional library routines.
                                                               (line 1314)
+ * __satfractuhausa2:                     Fixed-point fractional library routines.
+                                                              (line 1322)
  * __satfractuhausq:                      Fixed-point fractional library routines.
                                                               (line 1318)
+ * __satfractuhauta2:                     Fixed-point fractional library routines.
+                                                              (line 1326)
  * __satfractuhqda:                       Fixed-point fractional library routines.
!                                                              (line 1231)
  * __satfractuhqdq:                       Fixed-point fractional library routines.
!                                                              (line 1228)
  * __satfractuhqha:                       Fixed-point fractional library routines.
!                                                              (line 1229)
  * __satfractuhqhq:                       Fixed-point fractional library routines.
!                                                              (line 1226)
  * __satfractuhqqq:                       Fixed-point fractional library routines.
!                                                              (line 1225)
  * __satfractuhqsa:                       Fixed-point fractional library routines.
!                                                              (line 1230)
  * __satfractuhqsq:                       Fixed-point fractional library routines.
!                                                              (line 1227)
  * __satfractuhqta:                       Fixed-point fractional library routines.
!                                                              (line 1232)
  * __satfractuhquda:                      Fixed-point fractional library routines.
!                                                              (line 1242)
  * __satfractuhqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1237)
  * __satfractuhquha:                      Fixed-point fractional library routines.
!                                                              (line 1239)
  * __satfractuhquqq2:                     Fixed-point fractional library routines.
                                                               (line 1233)
+ * __satfractuhqusa:                      Fixed-point fractional library routines.
+                                                              (line 1241)
  * __satfractuhqusq2:                     Fixed-point fractional library routines.
!                                                              (line 1235)
  * __satfractuhquta:                      Fixed-point fractional library routines.
!                                                              (line 1244)
  * __satfractunsdida:                     Fixed-point fractional library routines.
!                                                              (line 1841)
  * __satfractunsdidq:                     Fixed-point fractional library routines.
!                                                              (line 1837)
  * __satfractunsdiha:                     Fixed-point fractional library routines.
!                                                              (line 1839)
  * __satfractunsdihq:                     Fixed-point fractional library routines.
!                                                              (line 1835)
  * __satfractunsdiqq:                     Fixed-point fractional library routines.
!                                                              (line 1834)
  * __satfractunsdisa:                     Fixed-point fractional library routines.
!                                                              (line 1840)
  * __satfractunsdisq:                     Fixed-point fractional library routines.
!                                                              (line 1836)
  * __satfractunsdita:                     Fixed-point fractional library routines.
!                                                              (line 1842)
  * __satfractunsdiuda:                    Fixed-point fractional library routines.
!                                                              (line 1856)
  * __satfractunsdiudq:                    Fixed-point fractional library routines.
!                                                              (line 1850)
  * __satfractunsdiuha:                    Fixed-point fractional library routines.
!                                                              (line 1852)
  * __satfractunsdiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1846)
  * __satfractunsdiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1844)
  * __satfractunsdiusa:                    Fixed-point fractional library routines.
!                                                              (line 1854)
  * __satfractunsdiusq:                    Fixed-point fractional library routines.
!                                                              (line 1848)
  * __satfractunsdiuta:                    Fixed-point fractional library routines.
!                                                              (line 1858)
  * __satfractunshida:                     Fixed-point fractional library routines.
!                                                              (line 1793)
  * __satfractunshidq:                     Fixed-point fractional library routines.
!                                                              (line 1789)
  * __satfractunshiha:                     Fixed-point fractional library routines.
!                                                              (line 1791)
  * __satfractunshihq:                     Fixed-point fractional library routines.
!                                                              (line 1787)
  * __satfractunshiqq:                     Fixed-point fractional library routines.
!                                                              (line 1786)
  * __satfractunshisa:                     Fixed-point fractional library routines.
!                                                              (line 1792)
  * __satfractunshisq:                     Fixed-point fractional library routines.
!                                                              (line 1788)
  * __satfractunshita:                     Fixed-point fractional library routines.
!                                                              (line 1794)
  * __satfractunshiuda:                    Fixed-point fractional library routines.
!                                                              (line 1808)
  * __satfractunshiudq:                    Fixed-point fractional library routines.
!                                                              (line 1802)
  * __satfractunshiuha:                    Fixed-point fractional library routines.
!                                                              (line 1804)
  * __satfractunshiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1798)
  * __satfractunshiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1796)
  * __satfractunshiusa:                    Fixed-point fractional library routines.
!                                                              (line 1806)
  * __satfractunshiusq:                    Fixed-point fractional library routines.
!                                                              (line 1800)
  * __satfractunshiuta:                    Fixed-point fractional library routines.
!                                                              (line 1810)
  * __satfractunsqida:                     Fixed-point fractional library routines.
!                                                              (line 1767)
  * __satfractunsqidq:                     Fixed-point fractional library routines.
!                                                              (line 1763)
  * __satfractunsqiha:                     Fixed-point fractional library routines.
!                                                              (line 1765)
  * __satfractunsqihq:                     Fixed-point fractional library routines.
!                                                              (line 1761)
  * __satfractunsqiqq:                     Fixed-point fractional library routines.
!                                                              (line 1760)
  * __satfractunsqisa:                     Fixed-point fractional library routines.
!                                                              (line 1766)
  * __satfractunsqisq:                     Fixed-point fractional library routines.
!                                                              (line 1762)
  * __satfractunsqita:                     Fixed-point fractional library routines.
!                                                              (line 1768)
  * __satfractunsqiuda:                    Fixed-point fractional library routines.
!                                                              (line 1782)
  * __satfractunsqiudq:                    Fixed-point fractional library routines.
!                                                              (line 1776)
  * __satfractunsqiuha:                    Fixed-point fractional library routines.
!                                                              (line 1778)
  * __satfractunsqiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1772)
  * __satfractunsqiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1770)
  * __satfractunsqiusa:                    Fixed-point fractional library routines.
!                                                              (line 1780)
  * __satfractunsqiusq:                    Fixed-point fractional library routines.
!                                                              (line 1774)
  * __satfractunsqiuta:                    Fixed-point fractional library routines.
!                                                              (line 1784)
  * __satfractunssida:                     Fixed-point fractional library routines.
!                                                              (line 1818)
  * __satfractunssidq:                     Fixed-point fractional library routines.
!                                                              (line 1815)
  * __satfractunssiha:                     Fixed-point fractional library routines.
!                                                              (line 1816)
  * __satfractunssihq:                     Fixed-point fractional library routines.
!                                                              (line 1813)
  * __satfractunssiqq:                     Fixed-point fractional library routines.
!                                                              (line 1812)
  * __satfractunssisa:                     Fixed-point fractional library routines.
!                                                              (line 1817)
  * __satfractunssisq:                     Fixed-point fractional library routines.
!                                                              (line 1814)
  * __satfractunssita:                     Fixed-point fractional library routines.
!                                                              (line 1819)
  * __satfractunssiuda:                    Fixed-point fractional library routines.
!                                                              (line 1830)
  * __satfractunssiudq:                    Fixed-point fractional library routines.
!                                                              (line 1825)
  * __satfractunssiuha:                    Fixed-point fractional library routines.
!                                                              (line 1827)
  * __satfractunssiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1822)
  * __satfractunssiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1820)
  * __satfractunssiusa:                    Fixed-point fractional library routines.
!                                                              (line 1829)
  * __satfractunssiusq:                    Fixed-point fractional library routines.
!                                                              (line 1823)
  * __satfractunssiuta:                    Fixed-point fractional library routines.
!                                                              (line 1832)
  * __satfractunstida:                     Fixed-point fractional library routines.
!                                                              (line 1870)
  * __satfractunstidq:                     Fixed-point fractional library routines.
!                                                              (line 1865)
  * __satfractunstiha:                     Fixed-point fractional library routines.
!                                                              (line 1867)
  * __satfractunstihq:                     Fixed-point fractional library routines.
!                                                              (line 1862)
  * __satfractunstiqq:                     Fixed-point fractional library routines.
!                                                              (line 1860)
  * __satfractunstisa:                     Fixed-point fractional library routines.
!                                                              (line 1869)
  * __satfractunstisq:                     Fixed-point fractional library routines.
!                                                              (line 1863)
  * __satfractunstita:                     Fixed-point fractional library routines.
!                                                              (line 1872)
  * __satfractunstiuda:                    Fixed-point fractional library routines.
!                                                              (line 1886)
  * __satfractunstiudq:                    Fixed-point fractional library routines.
!                                                              (line 1880)
  * __satfractunstiuha:                    Fixed-point fractional library routines.
!                                                              (line 1882)
  * __satfractunstiuhq:                    Fixed-point fractional library routines.
!                                                              (line 1876)
  * __satfractunstiuqq:                    Fixed-point fractional library routines.
!                                                              (line 1874)
  * __satfractunstiusa:                    Fixed-point fractional library routines.
!                                                              (line 1884)
  * __satfractunstiusq:                    Fixed-point fractional library routines.
!                                                              (line 1878)
  * __satfractunstiuta:                    Fixed-point fractional library routines.
!                                                              (line 1888)
  * __satfractuqqda:                       Fixed-point fractional library routines.
!                                                              (line 1207)
  * __satfractuqqdq:                       Fixed-point fractional library routines.
!                                                              (line 1202)
  * __satfractuqqha:                       Fixed-point fractional library routines.
!                                                              (line 1204)
  * __satfractuqqhq:                       Fixed-point fractional library routines.
!                                                              (line 1199)
  * __satfractuqqqq:                       Fixed-point fractional library routines.
!                                                              (line 1197)
  * __satfractuqqsa:                       Fixed-point fractional library routines.
!                                                              (line 1206)
  * __satfractuqqsq:                       Fixed-point fractional library routines.
!                                                              (line 1200)
  * __satfractuqqta:                       Fixed-point fractional library routines.
!                                                              (line 1209)
  * __satfractuqquda:                      Fixed-point fractional library routines.
!                                                              (line 1221)
  * __satfractuqqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1215)
  * __satfractuqquha:                      Fixed-point fractional library routines.
!                                                              (line 1217)
  * __satfractuqquhq2:                     Fixed-point fractional library routines.
                                                               (line 1211)
+ * __satfractuqqusa:                      Fixed-point fractional library routines.
+                                                              (line 1219)
  * __satfractuqqusq2:                     Fixed-point fractional library routines.
!                                                              (line 1213)
  * __satfractuqquta:                      Fixed-point fractional library routines.
!                                                              (line 1223)
  * __satfractusada:                       Fixed-point fractional library routines.
!                                                              (line 1334)
  * __satfractusadq:                       Fixed-point fractional library routines.
!                                                              (line 1331)
  * __satfractusaha:                       Fixed-point fractional library routines.
!                                                              (line 1332)
  * __satfractusahq:                       Fixed-point fractional library routines.
!                                                              (line 1329)
  * __satfractusaqq:                       Fixed-point fractional library routines.
!                                                              (line 1328)
  * __satfractusasa:                       Fixed-point fractional library routines.
!                                                              (line 1333)
  * __satfractusasq:                       Fixed-point fractional library routines.
!                                                              (line 1330)
  * __satfractusata:                       Fixed-point fractional library routines.
!                                                              (line 1335)
  * __satfractusauda2:                     Fixed-point fractional library routines.
!                                                              (line 1345)
  * __satfractusaudq:                      Fixed-point fractional library routines.
!                                                              (line 1341)
  * __satfractusauha2:                     Fixed-point fractional library routines.
!                                                              (line 1343)
  * __satfractusauhq:                      Fixed-point fractional library routines.
!                                                              (line 1338)
  * __satfractusauqq:                      Fixed-point fractional library routines.
!                                                              (line 1336)
  * __satfractusausq:                      Fixed-point fractional library routines.
                                                               (line 1339)
+ * __satfractusauta2:                     Fixed-point fractional library routines.
+                                                              (line 1347)
  * __satfractusqda:                       Fixed-point fractional library routines.
!                                                              (line 1255)
  * __satfractusqdq:                       Fixed-point fractional library routines.
!                                                              (line 1250)
  * __satfractusqha:                       Fixed-point fractional library routines.
!                                                              (line 1252)
  * __satfractusqhq:                       Fixed-point fractional library routines.
!                                                              (line 1248)
  * __satfractusqqq:                       Fixed-point fractional library routines.
                                                               (line 1246)
+ * __satfractusqsa:                       Fixed-point fractional library routines.
+                                                              (line 1254)
  * __satfractusqsq:                       Fixed-point fractional library routines.
!                                                              (line 1249)
  * __satfractusqta:                       Fixed-point fractional library routines.
!                                                              (line 1256)
  * __satfractusquda:                      Fixed-point fractional library routines.
!                                                              (line 1268)
  * __satfractusqudq2:                     Fixed-point fractional library routines.
!                                                              (line 1262)
  * __satfractusquha:                      Fixed-point fractional library routines.
!                                                              (line 1264)
  * __satfractusquhq2:                     Fixed-point fractional library routines.
!                                                              (line 1260)
  * __satfractusquqq2:                     Fixed-point fractional library routines.
                                                               (line 1258)
+ * __satfractusqusa:                      Fixed-point fractional library routines.
+                                                              (line 1266)
  * __satfractusquta:                      Fixed-point fractional library routines.
!                                                              (line 1270)
  * __satfractutada:                       Fixed-point fractional library routines.
!                                                              (line 1385)
  * __satfractutadq:                       Fixed-point fractional library routines.
!                                                              (line 1380)
  * __satfractutaha:                       Fixed-point fractional library routines.
!                                                              (line 1382)
  * __satfractutahq:                       Fixed-point fractional library routines.
!                                                              (line 1377)
  * __satfractutaqq:                       Fixed-point fractional library routines.
!                                                              (line 1375)
  * __satfractutasa:                       Fixed-point fractional library routines.
!                                                              (line 1384)
  * __satfractutasq:                       Fixed-point fractional library routines.
!                                                              (line 1378)
  * __satfractutata:                       Fixed-point fractional library routines.
!                                                              (line 1387)
  * __satfractutauda2:                     Fixed-point fractional library routines.
!                                                              (line 1401)
  * __satfractutaudq:                      Fixed-point fractional library routines.
!                                                              (line 1395)
  * __satfractutauha2:                     Fixed-point fractional library routines.
!                                                              (line 1397)
  * __satfractutauhq:                      Fixed-point fractional library routines.
!                                                              (line 1391)
  * __satfractutauqq:                      Fixed-point fractional library routines.
!                                                              (line 1389)
  * __satfractutausa2:                     Fixed-point fractional library routines.
!                                                              (line 1399)
  * __satfractutausq:                      Fixed-point fractional library routines.
!                                                              (line 1393)
  * __splitstack_find:                     Miscellaneous routines.
                                                               (line   15)
  * __ssaddda3:                            Fixed-point fractional library routines.
!                                                              (line   74)
  * __ssadddq3:                            Fixed-point fractional library routines.
!                                                              (line   69)
  * __ssaddha3:                            Fixed-point fractional library routines.
!                                                              (line   71)
  * __ssaddhq3:                            Fixed-point fractional library routines.
!                                                              (line   67)
  * __ssaddqq3:                            Fixed-point fractional library routines.
                                                               (line   65)
+ * __ssaddsa3:                            Fixed-point fractional library routines.
+                                                              (line   73)
  * __ssaddsq3:                            Fixed-point fractional library routines.
!                                                              (line   68)
  * __ssaddta3:                            Fixed-point fractional library routines.
!                                                              (line   75)
  * __ssashlda3:                           Fixed-point fractional library routines.
!                                                              (line  409)
  * __ssashldq3:                           Fixed-point fractional library routines.
!                                                              (line  405)
  * __ssashlha3:                           Fixed-point fractional library routines.
!                                                              (line  407)
  * __ssashlhq3:                           Fixed-point fractional library routines.
!                                                              (line  403)
  * __ssashlsa3:                           Fixed-point fractional library routines.
!                                                              (line  408)
  * __ssashlsq3:                           Fixed-point fractional library routines.
!                                                              (line  404)
  * __ssashlta3:                           Fixed-point fractional library routines.
!                                                              (line  410)
  * __ssdivda3:                            Fixed-point fractional library routines.
!                                                              (line  268)
  * __ssdivdq3:                            Fixed-point fractional library routines.
!                                                              (line  263)
  * __ssdivha3:                            Fixed-point fractional library routines.
!                                                              (line  265)
  * __ssdivhq3:                            Fixed-point fractional library routines.
!                                                              (line  261)
  * __ssdivqq3:                            Fixed-point fractional library routines.
                                                               (line  259)
+ * __ssdivsa3:                            Fixed-point fractional library routines.
+                                                              (line  267)
  * __ssdivsq3:                            Fixed-point fractional library routines.
!                                                              (line  262)
  * __ssdivta3:                            Fixed-point fractional library routines.
!                                                              (line  269)
  * __ssmulda3:                            Fixed-point fractional library routines.
!                                                              (line  200)
  * __ssmuldq3:                            Fixed-point fractional library routines.
!                                                              (line  195)
  * __ssmulha3:                            Fixed-point fractional library routines.
!                                                              (line  197)
  * __ssmulhq3:                            Fixed-point fractional library routines.
!                                                              (line  193)
  * __ssmulqq3:                            Fixed-point fractional library routines.
                                                               (line  191)
+ * __ssmulsa3:                            Fixed-point fractional library routines.
+                                                              (line  199)
  * __ssmulsq3:                            Fixed-point fractional library routines.
!                                                              (line  194)
  * __ssmulta3:                            Fixed-point fractional library routines.
!                                                              (line  201)
  * __ssnegda2:                            Fixed-point fractional library routines.
!                                                              (line  323)
  * __ssnegdq2:                            Fixed-point fractional library routines.
!                                                              (line  320)
  * __ssnegha2:                            Fixed-point fractional library routines.
!                                                              (line  321)
  * __ssneghq2:                            Fixed-point fractional library routines.
!                                                              (line  318)
  * __ssnegqq2:                            Fixed-point fractional library routines.
!                                                              (line  317)
  * __ssnegsa2:                            Fixed-point fractional library routines.
!                                                              (line  322)
  * __ssnegsq2:                            Fixed-point fractional library routines.
!                                                              (line  319)
  * __ssnegta2:                            Fixed-point fractional library routines.
!                                                              (line  324)
  * __sssubda3:                            Fixed-point fractional library routines.
!                                                              (line  136)
  * __sssubdq3:                            Fixed-point fractional library routines.
!                                                              (line  131)
  * __sssubha3:                            Fixed-point fractional library routines.
!                                                              (line  133)
  * __sssubhq3:                            Fixed-point fractional library routines.
!                                                              (line  129)
  * __sssubqq3:                            Fixed-point fractional library routines.
                                                               (line  127)
+ * __sssubsa3:                            Fixed-point fractional library routines.
+                                                              (line  135)
  * __sssubsq3:                            Fixed-point fractional library routines.
!                                                              (line  130)
  * __sssubta3:                            Fixed-point fractional library routines.
!                                                              (line  137)
  * __subda3:                              Fixed-point fractional library routines.
!                                                              (line  114)
  * __subdf3:                              Soft float library routines.
                                                               (line   30)
  * __subdq3:                              Fixed-point fractional library routines.
!                                                              (line  101)
  * __subha3:                              Fixed-point fractional library routines.
!                                                              (line  111)
  * __subhq3:                              Fixed-point fractional library routines.
!                                                              (line   99)
  * __subqq3:                              Fixed-point fractional library routines.
!                                                              (line   97)
  * __subsa3:                              Fixed-point fractional library routines.
!                                                              (line  113)
  * __subsf3:                              Soft float library routines.
                                                               (line   29)
  * __subsq3:                              Fixed-point fractional library routines.
!                                                              (line  100)
  * __subta3:                              Fixed-point fractional library routines.
!                                                              (line  115)
  * __subtf3:                              Soft float library routines.
                                                               (line   31)
  * __subuda3:                             Fixed-point fractional library routines.
!                                                              (line  121)
  * __subudq3:                             Fixed-point fractional library routines.
                                                               (line  109)
+ * __subuha3:                             Fixed-point fractional library routines.
+                                                              (line  117)
  * __subuhq3:                             Fixed-point fractional library routines.
!                                                              (line  105)
  * __subuqq3:                             Fixed-point fractional library routines.
!                                                              (line  103)
  * __subusa3:                             Fixed-point fractional library routines.
!                                                              (line  119)
  * __subusq3:                             Fixed-point fractional library routines.
!                                                              (line  107)
  * __subuta3:                             Fixed-point fractional library routines.
!                                                              (line  123)
  * __subvdi3:                             Integer library routines.
                                                               (line  122)
  * __subvsi3:                             Integer library routines.
*************** Concept Index
*** 53384,53404 ****
  * __udivti3:                             Integer library routines.
                                                               (line   54)
  * __udivuda3:                            Fixed-point fractional library routines.
!                                                              (line  244)
  * __udivudq3:                            Fixed-point fractional library routines.
!                                                              (line  238)
  * __udivuha3:                            Fixed-point fractional library routines.
!                                                              (line  240)
  * __udivuhq3:                            Fixed-point fractional library routines.
!                                                              (line  234)
  * __udivuqq3:                            Fixed-point fractional library routines.
!                                                              (line  232)
  * __udivusa3:                            Fixed-point fractional library routines.
!                                                              (line  242)
  * __udivusq3:                            Fixed-point fractional library routines.
!                                                              (line  236)
  * __udivuta3:                            Fixed-point fractional library routines.
!                                                              (line  246)
  * __umoddi3:                             Integer library routines.
                                                               (line   69)
  * __umodsi3:                             Integer library routines.
--- 53385,53405 ----
  * __udivti3:                             Integer library routines.
                                                               (line   54)
  * __udivuda3:                            Fixed-point fractional library routines.
!                                                              (line  252)
  * __udivudq3:                            Fixed-point fractional library routines.
!                                                              (line  246)
  * __udivuha3:                            Fixed-point fractional library routines.
!                                                              (line  248)
  * __udivuhq3:                            Fixed-point fractional library routines.
!                                                              (line  242)
  * __udivuqq3:                            Fixed-point fractional library routines.
!                                                              (line  240)
  * __udivusa3:                            Fixed-point fractional library routines.
!                                                              (line  250)
  * __udivusq3:                            Fixed-point fractional library routines.
!                                                              (line  244)
  * __udivuta3:                            Fixed-point fractional library routines.
!                                                              (line  254)
  * __umoddi3:                             Integer library routines.
                                                               (line   69)
  * __umodsi3:                             Integer library routines.
*************** Concept Index
*** 53412,53512 ****
  * __unordtf2:                            Soft float library routines.
                                                               (line  173)
  * __usadduda3:                           Fixed-point fractional library routines.
!                                                              (line   83)
  * __usaddudq3:                           Fixed-point fractional library routines.
!                                                              (line   77)
  * __usadduha3:                           Fixed-point fractional library routines.
!                                                              (line   79)
  * __usadduhq3:                           Fixed-point fractional library routines.
!                                                              (line   73)
  * __usadduqq3:                           Fixed-point fractional library routines.
!                                                              (line   71)
  * __usaddusa3:                           Fixed-point fractional library routines.
!                                                              (line   81)
  * __usaddusq3:                           Fixed-point fractional library routines.
!                                                              (line   75)
  * __usadduta3:                           Fixed-point fractional library routines.
!                                                              (line   85)
  * __usashluda3:                          Fixed-point fractional library routines.
!                                                              (line  419)
  * __usashludq3:                          Fixed-point fractional library routines.
!                                                              (line  413)
  * __usashluha3:                          Fixed-point fractional library routines.
!                                                              (line  415)
  * __usashluhq3:                          Fixed-point fractional library routines.
!                                                              (line  409)
  * __usashluqq3:                          Fixed-point fractional library routines.
!                                                              (line  407)
  * __usashlusa3:                          Fixed-point fractional library routines.
!                                                              (line  417)
  * __usashlusq3:                          Fixed-point fractional library routines.
!                                                              (line  411)
  * __usashluta3:                          Fixed-point fractional library routines.
!                                                              (line  421)
  * __usdivuda3:                           Fixed-point fractional library routines.
!                                                              (line  278)
  * __usdivudq3:                           Fixed-point fractional library routines.
!                                                              (line  272)
  * __usdivuha3:                           Fixed-point fractional library routines.
!                                                              (line  274)
  * __usdivuhq3:                           Fixed-point fractional library routines.
!                                                              (line  268)
  * __usdivuqq3:                           Fixed-point fractional library routines.
!                                                              (line  266)
  * __usdivusa3:                           Fixed-point fractional library routines.
!                                                              (line  276)
  * __usdivusq3:                           Fixed-point fractional library routines.
!                                                              (line  270)
  * __usdivuta3:                           Fixed-point fractional library routines.
!                                                              (line  280)
  * __usmuluda3:                           Fixed-point fractional library routines.
!                                                              (line  210)
  * __usmuludq3:                           Fixed-point fractional library routines.
!                                                              (line  204)
  * __usmuluha3:                           Fixed-point fractional library routines.
!                                                              (line  206)
  * __usmuluhq3:                           Fixed-point fractional library routines.
!                                                              (line  200)
  * __usmuluqq3:                           Fixed-point fractional library routines.
!                                                              (line  198)
  * __usmulusa3:                           Fixed-point fractional library routines.
!                                                              (line  208)
  * __usmulusq3:                           Fixed-point fractional library routines.
!                                                              (line  202)
  * __usmuluta3:                           Fixed-point fractional library routines.
!                                                              (line  212)
  * __usneguda2:                           Fixed-point fractional library routines.
!                                                              (line  329)
  * __usnegudq2:                           Fixed-point fractional library routines.
!                                                              (line  324)
  * __usneguha2:                           Fixed-point fractional library routines.
!                                                              (line  326)
  * __usneguhq2:                           Fixed-point fractional library routines.
!                                                              (line  321)
  * __usneguqq2:                           Fixed-point fractional library routines.
!                                                              (line  319)
  * __usnegusa2:                           Fixed-point fractional library routines.
!                                                              (line  328)
  * __usnegusq2:                           Fixed-point fractional library routines.
!                                                              (line  322)
  * __usneguta2:                           Fixed-point fractional library routines.
!                                                              (line  331)
  * __ussubuda3:                           Fixed-point fractional library routines.
!                                                              (line  146)
  * __ussubudq3:                           Fixed-point fractional library routines.
!                                                              (line  140)
  * __ussubuha3:                           Fixed-point fractional library routines.
!                                                              (line  142)
  * __ussubuhq3:                           Fixed-point fractional library routines.
!                                                              (line  136)
  * __ussubuqq3:                           Fixed-point fractional library routines.
!                                                              (line  134)
  * __ussubusa3:                           Fixed-point fractional library routines.
!                                                              (line  144)
  * __ussubusq3:                           Fixed-point fractional library routines.
!                                                              (line  138)
  * __ussubuta3:                           Fixed-point fractional library routines.
!                                                              (line  148)
  * abort:                                 Portability.        (line   20)
  * abs:                                   Arithmetic.         (line  200)
  * abs and attributes:                    Expressions.        (line   83)
--- 53413,53513 ----
  * __unordtf2:                            Soft float library routines.
                                                               (line  173)
  * __usadduda3:                           Fixed-point fractional library routines.
!                                                              (line   91)
  * __usaddudq3:                           Fixed-point fractional library routines.
!                                                              (line   85)
  * __usadduha3:                           Fixed-point fractional library routines.
!                                                              (line   87)
  * __usadduhq3:                           Fixed-point fractional library routines.
!                                                              (line   81)
  * __usadduqq3:                           Fixed-point fractional library routines.
!                                                              (line   79)
  * __usaddusa3:                           Fixed-point fractional library routines.
!                                                              (line   89)
  * __usaddusq3:                           Fixed-point fractional library routines.
!                                                              (line   83)
  * __usadduta3:                           Fixed-point fractional library routines.
!                                                              (line   93)
  * __usashluda3:                          Fixed-point fractional library routines.
!                                                              (line  427)
  * __usashludq3:                          Fixed-point fractional library routines.
!                                                              (line  421)
  * __usashluha3:                          Fixed-point fractional library routines.
!                                                              (line  423)
  * __usashluhq3:                          Fixed-point fractional library routines.
!                                                              (line  417)
  * __usashluqq3:                          Fixed-point fractional library routines.
!                                                              (line  415)
  * __usashlusa3:                          Fixed-point fractional library routines.
!                                                              (line  425)
  * __usashlusq3:                          Fixed-point fractional library routines.
!                                                              (line  419)
  * __usashluta3:                          Fixed-point fractional library routines.
!                                                              (line  429)
  * __usdivuda3:                           Fixed-point fractional library routines.
!                                                              (line  286)
  * __usdivudq3:                           Fixed-point fractional library routines.
!                                                              (line  280)
  * __usdivuha3:                           Fixed-point fractional library routines.
!                                                              (line  282)
  * __usdivuhq3:                           Fixed-point fractional library routines.
!                                                              (line  276)
  * __usdivuqq3:                           Fixed-point fractional library routines.
!                                                              (line  274)
  * __usdivusa3:                           Fixed-point fractional library routines.
!                                                              (line  284)
  * __usdivusq3:                           Fixed-point fractional library routines.
!                                                              (line  278)
  * __usdivuta3:                           Fixed-point fractional library routines.
!                                                              (line  288)
  * __usmuluda3:                           Fixed-point fractional library routines.
!                                                              (line  218)
  * __usmuludq3:                           Fixed-point fractional library routines.
!                                                              (line  212)
  * __usmuluha3:                           Fixed-point fractional library routines.
!                                                              (line  214)
  * __usmuluhq3:                           Fixed-point fractional library routines.
!                                                              (line  208)
  * __usmuluqq3:                           Fixed-point fractional library routines.
!                                                              (line  206)
  * __usmulusa3:                           Fixed-point fractional library routines.
!                                                              (line  216)
  * __usmulusq3:                           Fixed-point fractional library routines.
!                                                              (line  210)
  * __usmuluta3:                           Fixed-point fractional library routines.
!                                                              (line  220)
  * __usneguda2:                           Fixed-point fractional library routines.
!                                                              (line  337)
  * __usnegudq2:                           Fixed-point fractional library routines.
!                                                              (line  332)
  * __usneguha2:                           Fixed-point fractional library routines.
!                                                              (line  334)
  * __usneguhq2:                           Fixed-point fractional library routines.
!                                                              (line  329)
  * __usneguqq2:                           Fixed-point fractional library routines.
!                                                              (line  327)
  * __usnegusa2:                           Fixed-point fractional library routines.
!                                                              (line  336)
  * __usnegusq2:                           Fixed-point fractional library routines.
!                                                              (line  330)
  * __usneguta2:                           Fixed-point fractional library routines.
!                                                              (line  339)
  * __ussubuda3:                           Fixed-point fractional library routines.
!                                                              (line  154)
  * __ussubudq3:                           Fixed-point fractional library routines.
!                                                              (line  148)
  * __ussubuha3:                           Fixed-point fractional library routines.
!                                                              (line  150)
  * __ussubuhq3:                           Fixed-point fractional library routines.
!                                                              (line  144)
  * __ussubuqq3:                           Fixed-point fractional library routines.
!                                                              (line  142)
  * __ussubusa3:                           Fixed-point fractional library routines.
!                                                              (line  152)
  * __ussubusq3:                           Fixed-point fractional library routines.
!                                                              (line  146)
  * __ussubuta3:                           Fixed-point fractional library routines.
!                                                              (line  156)
  * abort:                                 Portability.        (line   20)
  * abs:                                   Arithmetic.         (line  200)
  * abs and attributes:                    Expressions.        (line   83)
*************** Concept Index
*** 53677,53683 ****
  * AS_NEEDS_DASH_FOR_PIPED_INPUT:         Driver.             (line   88)
  * atan2M3 instruction pattern:           Standard Names.     (line 1099)
  * atanM2 instruction pattern:            Standard Names.     (line 1010)
! * atomic:                                GTY Options.        (line  196)
  * atomic_addMODE instruction pattern:    Standard Names.     (line 2583)
  * atomic_add_fetchMODE instruction pattern: Standard Names.  (line 2612)
  * atomic_andMODE instruction pattern:    Standard Names.     (line 2583)
--- 53678,53684 ----
  * AS_NEEDS_DASH_FOR_PIPED_INPUT:         Driver.             (line   88)
  * atan2M3 instruction pattern:           Standard Names.     (line 1099)
  * atanM2 instruction pattern:            Standard Names.     (line 1010)
! * atomic:                                GTY Options.        (line  197)
  * atomic_addMODE instruction pattern:    Standard Names.     (line 2583)
  * atomic_add_fetchMODE instruction pattern: Standard Names.  (line 2612)
  * atomic_andMODE instruction pattern:    Standard Names.     (line 2583)
*************** Concept Index
*** 56503,56509 ****
                                                               (line    6)
  * source code, location information:     Guidelines for Diagnostics.
                                                               (line  183)
! * special:                               GTY Options.        (line  237)
  * special predicates:                    Predicates.         (line   31)
  * SPECS:                                 Target Fragment.    (line  194)
  * speculation_barrier instruction pattern: Standard Names.   (line 2381)
--- 56504,56510 ----
                                                               (line    6)
  * source code, location information:     Guidelines for Diagnostics.
                                                               (line  183)
! * special:                               GTY Options.        (line  238)
  * special predicates:                    Predicates.         (line   31)
  * SPECS:                                 Target Fragment.    (line  194)
  * speculation_barrier instruction pattern: Standard Names.   (line 2381)
*************** Concept Index
*** 57618,57624 ****
  * use:                                   Side Effects.       (line  168)
  * used:                                  Flags.              (line  325)
  * used, in symbol_ref:                   Flags.              (line  211)
! * user:                                  GTY Options.        (line  244)
  * user experience guidelines:            User Experience Guidelines.
                                                               (line    6)
  * user gc:                               User GC.            (line    6)
--- 57619,57625 ----
  * use:                                   Side Effects.       (line  168)
  * used:                                  Flags.              (line  325)
  * used, in symbol_ref:                   Flags.              (line  211)
! * user:                                  GTY Options.        (line  245)
  * user experience guidelines:            User Experience Guidelines.
                                                               (line    6)
  * user gc:                               User GC.            (line    6)
*************** Concept Index
*** 57866,58329 ****
  
  Tag Table:
  Node: Top1789
! Node: Contributing5175
! Node: Portability5905
! Node: Interface7693
! Node: Libgcc10734
! Node: Integer library routines12561
! Node: Soft float library routines19529
! Node: Decimal float library routines31467
! Node: Fixed-point fractional library routines47225
! Node: Exception handling routines147621
! Node: Miscellaneous routines148728
! Node: Languages150848
! Node: Source Tree152395
! Node: Configure Terms152977
! Node: Top Level155933
! Node: gcc Directory159518
! Node: Subdirectories160470
! Node: Configuration162638
! Node: Config Fragments163358
! Node: System Config164583
! Node: Configuration Files165519
! Node: Build168135
! Node: Makefile168547
! Ref: Makefile-Footnote-1175322
! Ref: Makefile-Footnote-2175469
! Node: Library Files175543
! Node: Headers176105
! Node: Documentation178188
! Node: Texinfo Manuals179047
! Node: Man Page Generation181376
! Node: Miscellaneous Docs183289
! Node: Front End184676
! Node: Front End Directory188355
! Node: Front End Config189671
! Node: Front End Makefile192507
! Node: Back End196275
! Node: Testsuites201161
! Node: Test Idioms202150
! Node: Test Directives205548
! Node: Directives206075
! Node: Selectors217850
! Node: Effective-Target Keywords219206
! Ref: arm_fp_ok232079
! Ref: arm_fp_dp_ok232246
! Ref: arm_neon_ok233279
! Ref: arm_neon_ok_no_float_abi233448
! Ref: arm_neonv2_ok233615
! Ref: arm_fp16_ok233782
! Ref: arm_neon_fp16_ok234124
! Ref: arm_vfp3_ok235056
! Ref: arm_arch_v8a_hard_ok235199
! Ref: arm_v8_1a_neon_ok235949
! Ref: arm_v8_2a_fp16_scalar_ok236377
! Ref: arm_v8_2a_fp16_neon_ok236828
! Ref: arm_v8_2a_dotprod_neon_ok237303
! Ref: arm_fp16fml_neon_ok237723
! Ref: arm_coproc1_ok240223
! Ref: arm_coproc2_ok240349
! Ref: arm_coproc3_ok240577
! Ref: arm_simd32_ok240944
! Ref: arm_qbit_ok241122
! Ref: arm_dsp_ok241311
! Ref: arm_softfp_ok241488
! Ref: arm_hard_ok241561
! Ref: arm_v8_1_lob_ok241636
! Ref: stack_size_et255932
! Node: Add Options258421
! Ref: arm_fp16_ieee259659
! Ref: arm_fp16_alternative259914
! Ref: stack_size_ao262478
! Node: Require Support262840
! Node: Final Actions265742
! Node: Ada Tests275711
! Node: C Tests276874
! Node: LTO Testing281246
! Node: gcov Testing282889
! Node: profopt Testing285859
! Node: compat Testing287574
! Node: Torture Tests291814
! Node: GIMPLE Tests293448
! Node: RTL Tests294690
! Node: Options295996
! Node: Option file format296437
! Node: Option properties303426
! Node: Passes319512
! Node: Parsing pass320385
! Node: Gimplification pass323913
! Node: Pass manager325746
! Node: IPA passes327587
! Node: Small IPA passes328480
! Node: Regular IPA passes331917
! Node: Late IPA passes336695
! Node: Tree SSA passes337654
! Node: RTL passes359261
! Node: Optimization info371525
! Node: Dump setup372344
! Node: Optimization groups373473
! Node: Dump files and streams374452
! Node: Dump output verbosity375650
! Node: Dump types376706
! Node: Dump examples379048
! Node: poly_int380529
! Node: Overview of poly_int382009
! Node: Consequences of using poly_int384613
! Node: Comparisons involving poly_int386248
! Node: Comparison functions for poly_int387886
! Node: Properties of the poly_int comparisons389093
! Node: Comparing potentially-unordered poly_ints391535
! Node: Comparing ordered poly_ints392446
! Node: Checking for a poly_int marker value394470
! Node: Range checks on poly_ints395319
! Node: Sorting poly_ints397973
! Node: Arithmetic on poly_ints398746
! Node: Using poly_int with C++ arithmetic operators399547
! Node: wi arithmetic on poly_ints401078
! Node: Division of poly_ints401930
! Node: Other poly_int arithmetic403437
! Node: Alignment of poly_ints404843
! Node: Computing bounds on poly_ints408120
! Node: Converting poly_ints409509
! Node: Miscellaneous poly_int routines413056
! Node: Guidelines for using poly_int413696
! Node: GENERIC418628
! Node: Deficiencies420450
! Node: Tree overview420691
! Node: Macros and Functions424815
! Node: Identifiers425640
! Node: Containers427249
! Node: Types428406
! Node: Declarations440817
! Node: Working with declarations441312
! Node: Internal structure446916
! Node: Current structure hierarchy447300
! Node: Adding new DECL node types449393
! Node: Attributes453677
! Node: Expression trees454921
! Node: Constant expressions456675
! Node: Storage References462767
! Node: Unary and Binary Expressions466286
! Node: Vectors487188
! Node: Statements495678
! Node: Basic Statements496210
! Node: Blocks500985
! Node: Statement Sequences502686
! Node: Empty Statements503019
! Node: Jumps503593
! Node: Cleanups504246
! Node: OpenMP506287
! Node: OpenACC512132
! Node: Functions513249
! Node: Function Basics513720
! Node: Function Properties517404
! Node: Language-dependent trees520185
! Node: C and C++ Trees521072
! Node: Types for C++523957
! Node: Namespaces528927
! Node: Classes532033
! Node: Functions for C++536941
! Node: Statements for C and C++543198
! Node: C++ Expressions551705
! Node: GIMPLE553216
! Node: Tuple representation556881
! Node: Class hierarchy of GIMPLE statements563841
! Node: GIMPLE instruction set568829
! Node: GIMPLE Exception Handling570461
! Node: Temporaries572373
! Ref: Temporaries-Footnote-1573691
! Node: Operands573756
! Node: Compound Expressions574517
! Node: Compound Lvalues574751
! Node: Conditional Expressions575513
! Node: Logical Operators576172
! Node: Manipulating GIMPLE statements583534
! Node: Tuple specific accessors589470
! Node: GIMPLE_ASM590249
! Node: GIMPLE_ASSIGN592632
! Node: GIMPLE_BIND597336
! Node: GIMPLE_CALL599150
! Node: GIMPLE_CATCH603291
! Node: GIMPLE_COND604441
! Node: GIMPLE_DEBUG607236
! Node: GIMPLE_EH_FILTER611834
! Node: GIMPLE_LABEL613397
! Node: GIMPLE_GOTO614010
! Node: GIMPLE_NOP614533
! Node: GIMPLE_OMP_ATOMIC_LOAD614895
! Node: GIMPLE_OMP_ATOMIC_STORE615891
! Node: GIMPLE_OMP_CONTINUE616590
! Node: GIMPLE_OMP_CRITICAL618069
! Node: GIMPLE_OMP_FOR619063
! Node: GIMPLE_OMP_MASTER622479
! Node: GIMPLE_OMP_ORDERED622857
! Node: GIMPLE_OMP_PARALLEL623251
! Node: GIMPLE_OMP_RETURN626020
! Node: GIMPLE_OMP_SECTION626665
! Node: GIMPLE_OMP_SECTIONS627325
! Node: GIMPLE_OMP_SINGLE628935
! Node: GIMPLE_PHI629881
! Node: GIMPLE_RESX631160
! Node: GIMPLE_RETURN631879
! Node: GIMPLE_SWITCH632453
! Node: GIMPLE_TRY634326
! Node: GIMPLE_WITH_CLEANUP_EXPR636098
! Node: GIMPLE sequences636977
! Node: Sequence iterators640183
! Node: Adding a new GIMPLE statement code648640
! Node: Statement and operand traversals649985
! Node: Tree SSA652577
! Node: Annotations654365
! Node: SSA Operands654770
! Node: SSA668573
! Node: Alias analysis678279
! Node: Memory model682053
! Node: RTL683412
! Node: RTL Objects685654
! Node: RTL Classes689538
! Node: Accessors694837
! Node: Special Accessors697010
! Node: Flags702797
! Node: Machine Modes718060
! Node: Constants735684
! Node: Regs and Memory747483
! Node: Arithmetic766881
! Node: Comparisons777056
! Node: Bit-Fields781348
! Node: Vector Operations782899
! Node: Conversions785003
! Node: RTL Declarations789501
! Node: Side Effects790345
! Node: Incdec807354
! Node: Assembler810690
! Node: Debug Information812235
! Node: Insns814162
! Node: Calls842018
! Node: RTL SSA844611
! Node: Using RTL SSA846002
! Node: RTL SSA Instructions847919
! Ref: RTL SSA Instructions-Footnote-1849305
! Node: RTL SSA Basic Blocks849439
! Ref: real RTL SSA insns849907
! Ref: RTL SSA Basic Blocks-Footnote-1852129
! Node: RTL SSA Resources852263
! Node: RTL SSA Accesses853380
! Ref: RTL SSA Accesses-Footnote-1855081
! Node: RTL SSA Phi Nodes855224
! Node: RTL SSA Access Lists857228
! Node: Changing RTL Instructions861509
! Node: Changing One RTL SSA Instruction862118
! Node: Changing Multiple RTL SSA Instructions867053
! Node: Sharing871296
! Node: Reading RTL874493
! Node: Control Flow875484
! Node: Basic Blocks877252
! Node: Edges882706
! Node: Profile information891325
! Node: Maintaining the CFG896009
! Node: Liveness information901777
! Node: Loop Analysis and Representation903903
! Node: Loop representation904939
! Node: Loop querying912305
! Node: Loop manipulation915126
! Node: LCSSA917462
! Node: Scalar evolutions919531
! Node: loop-iv922775
! Node: Number of iterations924697
! Node: Dependency analysis928778
! Node: Machine Desc935129
! Node: Overview937692
! Node: Patterns939732
! Node: Example944699
! Node: RTL Template946160
! Node: Output Template956816
! Node: Output Statement960997
! Node: Predicates965336
! Node: Machine-Independent Predicates968254
! Node: Defining Predicates973198
! Node: Constraints979161
! Node: Simple Constraints980630
! Node: Multi-Alternative993470
! Node: Class Preferences996679
! Node: Modifiers997571
! Node: Machine Constraints1002305
! Node: Disable Insn Alternatives1064409
! Node: Define Constraints1067901
! Node: C Constraint Interface1076490
! Node: Standard Names1079617
! Ref: shift patterns1117837
! Ref: prologue instruction pattern1177981
! Ref: window_save instruction pattern1178474
! Ref: epilogue instruction pattern1178751
! Node: Pattern Ordering1200727
! Node: Dependent Patterns1201963
! Node: Jump Patterns1203583
! Ref: Jump Patterns-Footnote-11205728
! Node: Looping Patterns1205776
! Node: Insn Canonicalizations1211415
! Node: Expander Definitions1216622
! Node: Insn Splitting1224836
! Node: Including Patterns1239866
! Node: Peephole Definitions1241650
! Node: define_peephole1242903
! Node: define_peephole21249233
! Node: Insn Attributes1253322
! Node: Defining Attributes1254504
! Ref: define_enum_attr1257996
! Node: Expressions1259032
! Node: Tagging Insns1265782
! Node: Attr Example1270135
! Node: Insn Lengths1272508
! Node: Constant Attributes1275916
! Node: Mnemonic Attribute1277092
! Node: Delay Slots1278611
! Node: Processor pipeline description1281834
! Ref: Processor pipeline description-Footnote-11300646
! Node: Conditional Execution1300970
! Node: Define Subst1304453
! Node: Define Subst Example1306488
! Node: Define Subst Pattern Matching1309483
! Node: Define Subst Output Template1310709
! Node: Constant Definitions1313032
! Ref: define_enum1316814
! Node: Iterators1317302
! Node: Mode Iterators1317947
! Node: Defining Mode Iterators1318925
! Node: Substitutions1320419
! Node: Examples1322661
! Node: Code Iterators1324109
! Node: Int Iterators1327239
! Node: Subst Iterators1329703
! Node: Parameterized Names1331423
! Node: Target Macros1335441
! Node: Target Structure1338504
! Node: Driver1340996
! Node: Run-time Target1359966
! Node: Per-Function Data1369499
! Node: Storage Layout1372263
! Node: Type Layout1399917
! Node: Registers1413258
! Node: Register Basics1414232
! Node: Allocation Order1421794
! Node: Values in Registers1424278
! Node: Leaf Functions1431754
! Node: Stack Registers1434613
! Node: Register Classes1435885
! Node: Stack and Calling1470667
! Node: Frame Layout1471273
! Node: Exception Handling1483108
! Node: Stack Checking1489318
! Node: Frame Registers1494943
! Node: Elimination1503494
! Node: Stack Arguments1507350
! Node: Register Arguments1514546
! Node: Scalar Return1539407
! Node: Aggregate Return1545863
! Node: Caller Saves1550417
! Node: Function Entry1551159
! Node: Profiling1562711
! Node: Tail Calls1564821
! Node: Shrink-wrapping separate components1566731
! Node: Stack Smashing Protection1569772
! Node: Miscellaneous Register Hooks1572261
! Node: Varargs1573126
! Node: Trampolines1582526
! Node: Library Calls1592023
! Node: Addressing Modes1597109
! Node: Anchored Addresses1626502
! Node: Condition Code1629145
! Node: CC0 Condition Codes1631472
! Node: MODE_CC Condition Codes1634718
! Node: Costs1641544
! Node: Scheduling1663506
! Node: Sections1687428
! Node: PIC1703793
! Node: Assembler Format1705852
! Node: File Framework1706990
! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1714589
! Node: Data Output1716264
! Node: Uninitialized Data1724552
! Node: Label Output1729566
! Node: Initialization1754177
! Node: Macros for Initialization1760138
! Node: Instruction Output1767289
! Node: Dispatch Tables1777918
! Node: Exception Region Output1783669
! Node: Alignment Output1790751
! Node: Debugging Info1794438
! Node: All Debuggers1795092
! Node: DBX Options1797864
! Node: DBX Hooks1803302
! Node: File Names and DBX1804611
! Node: DWARF1806715
! Node: VMS Debug1812530
! Node: Floating Point1813109
! Node: Mode Switching1815864
! Node: Target Attributes1820301
! Node: Emulated TLS1829777
! Node: MIPS Coprocessors1833167
! Node: PCH Target1834326
! Node: C++ ABI1836168
! Node: D Language and ABI1840960
! Node: Named Address Spaces1843903
! Node: Misc1849830
! Ref: TARGET_SHIFT_TRUNCATION_MASK1857701
! Node: Host Config1916787
! Node: Host Common1917856
! Node: Filesystem1920230
! Node: Host Misc1924345
! Node: Fragments1926794
! Node: Target Fragment1927989
! Node: Host Fragment1938801
! Node: Collect21939041
! Node: Header Dirs1941677
! Node: Type Information1943100
! Node: GTY Options1946376
! Node: Inheritance and GTY1957635
! Ref: Inheritance and GTY-Footnote-11959200
! Node: User GC1959470
! Node: GGC Roots1963209
! Node: Files1963922
! Node: Invoking the garbage collector1966629
! Node: Troubleshooting1968134
! Node: Plugins1969209
! Node: Plugins loading1970338
! Node: Plugin API1971437
! Node: Plugins pass1979304
! Node: Plugins GC1981275
! Node: Plugins description1982992
! Node: Plugins attr1983528
! Node: Plugins recording1985808
! Node: Plugins gate1986658
! Node: Plugins tracking1987249
! Node: Plugins building1987837
! Node: LTO1991338
! Node: LTO Overview1992210
! Node: LTO object file layout1998037
! Node: IPA2002667
! Node: WHOPR2011717
! Node: Internal flags2016277
! Node: Match and Simplify2017688
! Node: GIMPLE API2018650
! Node: The Language2021445
! Node: Static Analyzer2033944
! Node: Analyzer Internals2034209
! Node: Debugging the Analyzer2050096
! Node: User Experience Guidelines2052533
! Node: Guidelines for Diagnostics2053469
! Ref: input_location_example2061644
! Node: Guidelines for Options2071329
! Node: Funding2071506
! Node: GNU Project2074013
! Node: Copying2074662
! Node: GNU Free Documentation License2112173
! Node: Contributors2137294
! Node: Option Index2178270
! Node: Concept Index2179147
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 57867,58325 ----
  
  Tag Table:
  Node: Top1789
! Node: Contributing5163
! Node: Portability5893
! Node: Interface7681
! Node: Libgcc10722
! Node: Integer library routines12549
! Node: Soft float library routines19517
! Node: Decimal float library routines31455
! Node: Fixed-point fractional library routines47213
! Node: Exception handling routines147609
! Node: Miscellaneous routines148716
! Node: Languages150836
! Node: Source Tree152383
! Node: Configure Terms152965
! Node: Top Level155921
! Node: gcc Directory159506
! Node: Subdirectories160458
! Node: Configuration162626
! Node: Config Fragments163346
! Node: System Config164571
! Node: Configuration Files165507
! Node: Build168123
! Node: Makefile168535
! Ref: Makefile-Footnote-1175310
! Ref: Makefile-Footnote-2175457
! Node: Library Files175531
! Node: Headers176093
! Node: Documentation178176
! Node: Texinfo Manuals179035
! Node: Man Page Generation181364
! Node: Miscellaneous Docs183277
! Node: Front End184664
! Node: Front End Directory188343
! Node: Front End Config189659
! Node: Front End Makefile192495
! Node: Back End196263
! Node: Testsuites201149
! Node: Test Idioms202138
! Node: Test Directives205536
! Node: Directives206063
! Node: Selectors217838
! Node: Effective-Target Keywords219194
! Ref: arm_fp_ok232067
! Ref: arm_fp_dp_ok232234
! Ref: arm_neon_ok233267
! Ref: arm_neon_ok_no_float_abi233436
! Ref: arm_neonv2_ok233603
! Ref: arm_fp16_ok233770
! Ref: arm_neon_fp16_ok234112
! Ref: arm_vfp3_ok235044
! Ref: arm_arch_v8a_hard_ok235187
! Ref: arm_v8_1a_neon_ok235937
! Ref: arm_v8_2a_fp16_scalar_ok236365
! Ref: arm_v8_2a_fp16_neon_ok236816
! Ref: arm_v8_2a_dotprod_neon_ok237291
! Ref: arm_fp16fml_neon_ok237711
! Ref: arm_coproc1_ok240211
! Ref: arm_coproc2_ok240337
! Ref: arm_coproc3_ok240565
! Ref: arm_simd32_ok240932
! Ref: arm_qbit_ok241110
! Ref: arm_dsp_ok241299
! Ref: arm_softfp_ok241476
! Ref: arm_hard_ok241549
! Ref: arm_v8_1_lob_ok241624
! Ref: stack_size_et255920
! Node: Add Options258409
! Ref: arm_fp16_ieee259647
! Ref: arm_fp16_alternative259902
! Ref: stack_size_ao262466
! Node: Require Support262828
! Node: Final Actions265730
! Node: Ada Tests275699
! Node: C Tests276862
! Node: LTO Testing281234
! Node: gcov Testing282877
! Node: profopt Testing285847
! Node: compat Testing287562
! Node: Torture Tests291802
! Node: GIMPLE Tests293436
! Node: RTL Tests294678
! Node: Options295984
! Node: Option file format296425
! Node: Option properties303414
! Node: Passes319500
! Node: Parsing pass320373
! Node: Gimplification pass323901
! Node: Pass manager325734
! Node: IPA passes327575
! Node: Small IPA passes328468
! Node: Regular IPA passes331905
! Node: Late IPA passes336683
! Node: Tree SSA passes337642
! Node: RTL passes359249
! Node: Optimization info371513
! Node: Dump setup372332
! Node: Optimization groups373461
! Node: Dump files and streams374440
! Node: Dump output verbosity375638
! Node: Dump types376694
! Node: Dump examples379036
! Node: poly_int380517
! Node: Overview of poly_int381997
! Node: Consequences of using poly_int384601
! Node: Comparisons involving poly_int386236
! Node: Comparison functions for poly_int387874
! Node: Properties of the poly_int comparisons389081
! Node: Comparing potentially-unordered poly_ints391523
! Node: Comparing ordered poly_ints392434
! Node: Checking for a poly_int marker value394458
! Node: Range checks on poly_ints395307
! Node: Sorting poly_ints397961
! Node: Arithmetic on poly_ints398734
! Node: Using poly_int with C++ arithmetic operators399535
! Node: wi arithmetic on poly_ints401066
! Node: Division of poly_ints401918
! Node: Other poly_int arithmetic403425
! Node: Alignment of poly_ints404831
! Node: Computing bounds on poly_ints408108
! Node: Converting poly_ints409497
! Node: Miscellaneous poly_int routines413044
! Node: Guidelines for using poly_int413684
! Node: GENERIC418616
! Node: Deficiencies420438
! Node: Tree overview420679
! Node: Macros and Functions424803
! Node: Identifiers425628
! Node: Containers427237
! Node: Types428394
! Node: Declarations440805
! Node: Working with declarations441300
! Node: Internal structure446904
! Node: Current structure hierarchy447288
! Node: Adding new DECL node types449381
! Node: Attributes453665
! Node: Expression trees454909
! Node: Constant expressions456663
! Node: Storage References462755
! Node: Unary and Binary Expressions466274
! Node: Vectors487176
! Node: Statements495666
! Node: Basic Statements496198
! Node: Blocks500973
! Node: Statement Sequences502674
! Node: Empty Statements503007
! Node: Jumps503581
! Node: Cleanups504234
! Node: OpenMP506275
! Node: OpenACC512120
! Node: Functions513237
! Node: Function Basics513708
! Node: Function Properties517392
! Node: Language-dependent trees520173
! Node: C and C++ Trees521060
! Node: Types for C++523945
! Node: Namespaces528915
! Node: Classes532021
! Node: Functions for C++536929
! Node: Statements for C and C++543186
! Node: C++ Expressions551693
! Node: GIMPLE553204
! Node: Tuple representation556869
! Node: Class hierarchy of GIMPLE statements563829
! Node: GIMPLE instruction set568817
! Node: GIMPLE Exception Handling570449
! Node: Temporaries572361
! Ref: Temporaries-Footnote-1573679
! Node: Operands573744
! Node: Compound Expressions574505
! Node: Compound Lvalues574739
! Node: Conditional Expressions575501
! Node: Logical Operators576160
! Node: Manipulating GIMPLE statements583522
! Node: Tuple specific accessors589458
! Node: GIMPLE_ASM590237
! Node: GIMPLE_ASSIGN592620
! Node: GIMPLE_BIND597324
! Node: GIMPLE_CALL599138
! Node: GIMPLE_CATCH603281
! Node: GIMPLE_COND604431
! Node: GIMPLE_DEBUG607226
! Node: GIMPLE_EH_FILTER611824
! Node: GIMPLE_LABEL613387
! Node: GIMPLE_GOTO614000
! Node: GIMPLE_NOP614523
! Node: GIMPLE_OMP_ATOMIC_LOAD614885
! Node: GIMPLE_OMP_ATOMIC_STORE615881
! Node: GIMPLE_OMP_CONTINUE616580
! Node: GIMPLE_OMP_CRITICAL618059
! Node: GIMPLE_OMP_FOR619053
! Node: GIMPLE_OMP_MASTER622469
! Node: GIMPLE_OMP_ORDERED622847
! Node: GIMPLE_OMP_PARALLEL623241
! Node: GIMPLE_OMP_RETURN626010
! Node: GIMPLE_OMP_SECTION626655
! Node: GIMPLE_OMP_SECTIONS627315
! Node: GIMPLE_OMP_SINGLE628925
! Node: GIMPLE_PHI629871
! Node: GIMPLE_RESX631150
! Node: GIMPLE_RETURN631869
! Node: GIMPLE_SWITCH632443
! Node: GIMPLE_TRY634318
! Node: GIMPLE_WITH_CLEANUP_EXPR636090
! Node: GIMPLE sequences636969
! Node: Sequence iterators640175
! Node: Adding a new GIMPLE statement code648632
! Node: Statement and operand traversals649977
! Node: Tree SSA652569
! Node: Annotations654357
! Node: SSA Operands654762
! Node: SSA668565
! Node: Alias analysis678271
! Node: Memory model682045
! Node: RTL683404
! Node: RTL Objects685646
! Node: RTL Classes689530
! Node: Accessors694829
! Node: Special Accessors697002
! Node: Flags702789
! Node: Machine Modes718052
! Node: Constants735676
! Node: Regs and Memory747475
! Node: Arithmetic766873
! Node: Comparisons777048
! Node: Bit-Fields781340
! Node: Vector Operations782891
! Node: Conversions784995
! Node: RTL Declarations789493
! Node: Side Effects790337
! Node: Incdec807346
! Node: Assembler810682
! Node: Debug Information812227
! Node: Insns814154
! Node: Calls842010
! Node: RTL SSA844603
! Node: Using RTL SSA845994
! Node: RTL SSA Instructions847911
! Ref: RTL SSA Instructions-Footnote-1849297
! Node: RTL SSA Basic Blocks849431
! Ref: real RTL SSA insns849899
! Ref: RTL SSA Basic Blocks-Footnote-1852121
! Node: RTL SSA Resources852255
! Node: RTL SSA Accesses853372
! Ref: RTL SSA Accesses-Footnote-1855073
! Node: RTL SSA Phi Nodes855216
! Node: RTL SSA Access Lists857220
! Node: Changing RTL Instructions861501
! Node: Changing One RTL SSA Instruction862110
! Node: Changing Multiple RTL SSA Instructions867045
! Node: Sharing871288
! Node: Reading RTL874485
! Node: Control Flow875476
! Node: Basic Blocks877244
! Node: Edges882698
! Node: Profile information891317
! Node: Maintaining the CFG896001
! Node: Liveness information901769
! Node: Loop Analysis and Representation903895
! Node: Loop representation904931
! Node: Loop querying912297
! Node: Loop manipulation915118
! Node: LCSSA917454
! Node: Scalar evolutions919523
! Node: loop-iv922767
! Node: Number of iterations924689
! Node: Dependency analysis928770
! Node: Machine Desc935121
! Node: Overview937684
! Node: Patterns939724
! Node: Example944691
! Node: RTL Template946152
! Node: Output Template956808
! Node: Output Statement960989
! Node: Predicates965328
! Node: Machine-Independent Predicates968246
! Node: Defining Predicates973190
! Node: Constraints979153
! Node: Simple Constraints980622
! Node: Multi-Alternative993462
! Node: Class Preferences996671
! Node: Modifiers997563
! Node: Machine Constraints1002297
! Node: Disable Insn Alternatives1064401
! Node: Define Constraints1067893
! Node: C Constraint Interface1076482
! Node: Standard Names1079609
! Ref: shift patterns1117829
! Ref: prologue instruction pattern1177973
! Ref: window_save instruction pattern1178466
! Ref: epilogue instruction pattern1178743
! Node: Pattern Ordering1200719
! Node: Dependent Patterns1201955
! Node: Jump Patterns1203575
! Ref: Jump Patterns-Footnote-11205720
! Node: Looping Patterns1205768
! Node: Insn Canonicalizations1211407
! Node: Expander Definitions1216614
! Node: Insn Splitting1224828
! Node: Including Patterns1239858
! Node: Peephole Definitions1241642
! Node: define_peephole1242895
! Node: define_peephole21249225
! Node: Insn Attributes1253314
! Node: Defining Attributes1254496
! Ref: define_enum_attr1257988
! Node: Expressions1259024
! Node: Tagging Insns1265774
! Node: Attr Example1270127
! Node: Insn Lengths1272500
! Node: Constant Attributes1275908
! Node: Mnemonic Attribute1277084
! Node: Delay Slots1278603
! Node: Processor pipeline description1281826
! Ref: Processor pipeline description-Footnote-11300638
! Node: Conditional Execution1300962
! Node: Define Subst1304445
! Node: Define Subst Example1306480
! Node: Define Subst Pattern Matching1309475
! Node: Define Subst Output Template1310701
! Node: Constant Definitions1313024
! Ref: define_enum1316806
! Node: Iterators1317294
! Node: Mode Iterators1317939
! Node: Defining Mode Iterators1318917
! Node: Substitutions1320411
! Node: Examples1322653
! Node: Code Iterators1324101
! Node: Int Iterators1327231
! Node: Subst Iterators1329695
! Node: Parameterized Names1331415
! Node: Target Macros1335433
! Node: Target Structure1338496
! Node: Driver1340988
! Node: Run-time Target1359958
! Node: Per-Function Data1369491
! Node: Storage Layout1372255
! Node: Type Layout1399909
! Node: Registers1413250
! Node: Register Basics1414224
! Node: Allocation Order1421786
! Node: Values in Registers1424270
! Node: Leaf Functions1431746
! Node: Stack Registers1434605
! Node: Register Classes1435877
! Node: Stack and Calling1470659
! Node: Frame Layout1471265
! Node: Exception Handling1483100
! Node: Stack Checking1489310
! Node: Frame Registers1494935
! Node: Elimination1503486
! Node: Stack Arguments1507342
! Node: Register Arguments1514538
! Node: Scalar Return1539399
! Node: Aggregate Return1545855
! Node: Caller Saves1550409
! Node: Function Entry1551151
! Node: Profiling1562703
! Node: Tail Calls1564813
! Node: Shrink-wrapping separate components1566723
! Node: Stack Smashing Protection1569764
! Node: Miscellaneous Register Hooks1572253
! Node: Varargs1573118
! Node: Trampolines1582518
! Node: Library Calls1592015
! Node: Addressing Modes1597101
! Node: Anchored Addresses1626494
! Node: Condition Code1629137
! Node: CC0 Condition Codes1631464
! Node: MODE_CC Condition Codes1634710
! Node: Costs1641536
! Node: Scheduling1663498
! Node: Sections1687420
! Node: PIC1703785
! Node: Assembler Format1705844
! Node: File Framework1706982
! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1714581
! Node: Data Output1716256
! Node: Uninitialized Data1724544
! Node: Label Output1729558
! Node: Initialization1754169
! Node: Macros for Initialization1760130
! Node: Instruction Output1767281
! Node: Dispatch Tables1777910
! Node: Exception Region Output1783661
! Node: Alignment Output1790743
! Node: Debugging Info1794430
! Node: All Debuggers1795084
! Node: DBX Options1797856
! Node: DBX Hooks1803294
! Node: File Names and DBX1804603
! Node: DWARF1806707
! Node: VMS Debug1812522
! Node: Floating Point1813101
! Node: Mode Switching1815856
! Node: Target Attributes1820293
! Node: Emulated TLS1829769
! Node: MIPS Coprocessors1833159
! Node: PCH Target1834318
! Node: C++ ABI1836160
! Node: D Language and ABI1840952
! Node: Named Address Spaces1843895
! Node: Misc1849822
! Ref: TARGET_SHIFT_TRUNCATION_MASK1857693
! Node: Host Config1916779
! Node: Host Common1917848
! Node: Filesystem1920222
! Node: Host Misc1924337
! Node: Fragments1926786
! Node: Target Fragment1927981
! Node: Host Fragment1938793
! Node: Collect21939033
! Node: Header Dirs1941669
! Node: Type Information1943092
! Node: GTY Options1946368
! Node: Inheritance and GTY1957627
! Ref: Inheritance and GTY-Footnote-11959192
! Node: User GC1959462
! Node: GGC Roots1963201
! Node: Files1963914
! Node: Invoking the garbage collector1966621
! Node: Troubleshooting1968126
! Node: Plugins1969201
! Node: Plugins loading1970330
! Node: Plugin API1971429
! Node: Plugins pass1979296
! Node: Plugins GC1981267
! Node: Plugins description1982984
! Node: Plugins attr1983520
! Node: Plugins recording1985800
! Node: Plugins gate1986650
! Node: Plugins tracking1987241
! Node: Plugins building1987829
! Node: LTO1991330
! Node: LTO Overview1992202
! Node: LTO object file layout1998029
! Node: IPA2002659
! Node: WHOPR2011709
! Node: Internal flags2016269
! Node: Match and Simplify2017680
! Node: GIMPLE API2018642
! Node: The Language2021437
! Node: Static Analyzer2034053
! Node: Analyzer Internals2034318
! Node: Debugging the Analyzer2050205
! Node: User Experience Guidelines2052642
! Node: Guidelines for Diagnostics2053578
! Ref: input_location_example2061753
! Node: Guidelines for Options2071438
! Node: Funding2071615
! Node: GNU Project2074122
! Node: Copying2074771
! Node: GNU Free Documentation License2112282
! Node: Contributors2137403
! Node: Option Index2178379
! Node: Concept Index2179256
  
  End Tag Table
diff -Nrcpad gcc-11.4.0/gcc/doc/gcov-dump.1 gcc-11.5.0/gcc/doc/gcov-dump.1
*** gcc-11.4.0/gcc/doc/gcov-dump.1	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/gcov-dump.1	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV-DUMP 1"
! .TH GCOV-DUMP 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV-DUMP 1"
! .TH GCOV-DUMP 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** any later version published by the Free
*** 201,207 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 197,203 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/gcov-tool.1 gcc-11.5.0/gcc/doc/gcov-tool.1
*** gcc-11.4.0/gcc/doc/gcov-tool.1	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/gcov-tool.1	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV-TOOL 1"
! .TH GCOV-TOOL 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV-TOOL 1"
! .TH GCOV-TOOL 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** Set the verbose mode.
*** 344,350 ****
  .RE
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), \fBgcc\fR\|(1), \fBgcov\fR\|(1) and the Info entry for
  \&\fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
--- 340,346 ----
  .RE
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), \fIgcc\fR\|(1), \fIgcov\fR\|(1) and the Info entry for
  \&\fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
*************** any later version published by the Free
*** 356,362 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 352,358 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/gcov.1 gcc-11.5.0/gcc/doc/gcov.1
*** gcc-11.4.0/gcc/doc/gcov.1	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/gcov.1	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GCOV 1"
! .TH GCOV 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GCOV 1"
! .TH GCOV 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** That can help users to find profile clas
*** 1016,1022 ****
  to a misleading profile.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), \fBgcc\fR\|(1) and the Info entry for \fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1996\-2021 Free Software Foundation, Inc.
--- 1012,1018 ----
  to a misleading profile.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), \fIgcc\fR\|(1) and the Info entry for \fIgcc\fR.
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 1996\-2021 Free Software Foundation, Inc.
*************** any later version published by the Free
*** 1027,1033 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 1023,1029 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/generic.texi gcc-11.5.0/gcc/doc/generic.texi
*** gcc-11.4.0/gcc/doc/generic.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/generic.texi	Fri Jul 19 05:52:43 2024
*************** vector.  For example @{ 0, 1 @} could be
*** 1144,1150 ****
  one element each or one pattern with two elements (@var{base0} and
  @var{base1}).  The canonical encoding is always the one with the
  fewest patterns or (if both encodings have the same number of
! petterns) the one with the fewest encoded elements.
  
  @samp{vector_cst_encoding_nelts (@var{v})} gives the total number of
  encoded elements in @var{v}, which is 6 in the example above.
--- 1144,1150 ----
  one element each or one pattern with two elements (@var{base0} and
  @var{base1}).  The canonical encoding is always the one with the
  fewest patterns or (if both encodings have the same number of
! patterns) the one with the fewest encoded elements.
  
  @samp{vector_cst_encoding_nelts (@var{v})} gives the total number of
  encoded elements in @var{v}, which is 6 in the example above.
diff -Nrcpad gcc-11.4.0/gcc/doc/gfdl.7 gcc-11.5.0/gcc/doc/gfdl.7
*** gcc-11.4.0/gcc/doc/gfdl.7	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/gfdl.7	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GFDL 7"
! .TH GFDL 7 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GFDL 7"
! .TH GFDL 7 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** free software license, such as the \s-1G
*** 641,647 ****
  to permit their use in free software.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBfsf\-funding\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
--- 637,643 ----
  to permit their use in free software.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIfsf\-funding\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
diff -Nrcpad gcc-11.4.0/gcc/doc/gfortran.1 gcc-11.5.0/gcc/doc/gfortran.1
*** gcc-11.4.0/gcc/doc/gfortran.1	Mon May 29 09:02:36 2023
--- gcc-11.5.0/gcc/doc/gfortran.1	Fri Jul 19 06:06:44 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GFORTRAN 1"
! .TH GFORTRAN 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GFORTRAN 1"
! .TH GFORTRAN 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** For instructions on reporting bugs, see
*** 1733,1740 ****
  <\fBhttps://gcc.gnu.org/bugs/\fR>.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7),
! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBgcc\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
--- 1729,1736 ----
  <\fBhttps://gcc.gnu.org/bugs/\fR>.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1)
  and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR,
  \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
  .SH "AUTHOR"
*************** under the terms of the \s-1GNU\s0 Free D
*** 1750,1756 ****
  any later version published by the Free Software Foundation; with the
  Invariant Sections being \*(L"Funding Free Software\*(R", the Front-Cover
  Texts being (a) (see below), and with the Back-Cover Texts being (b)
! (see below).  A copy of the license is included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 1746,1752 ----
  any later version published by the Free Software Foundation; with the
  Invariant Sections being \*(L"Funding Free Software\*(R", the Front-Cover
  Texts being (a) (see below), and with the Back-Cover Texts being (b)
! (see below).  A copy of the license is included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/gpl.7 gcc-11.5.0/gcc/doc/gpl.7
*** gcc-11.4.0/gcc/doc/gpl.7	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/gpl.7	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "GPL 7"
! .TH GPL 7 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GPL 7"
! .TH GPL 7 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** the \s-1GNU\s0 Lesser General Public Lic
*** 841,847 ****
  first, please read <\fBhttps://www.gnu.org/licenses/why\-not\-lgpl.html\fR>.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 2007 Free Software Foundation, Inc.
--- 837,843 ----
  first, please read <\fBhttps://www.gnu.org/licenses/why\-not\-lgpl.html\fR>.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7).
  .SH "COPYRIGHT"
  .IX Header "COPYRIGHT"
  Copyright (c) 2007 Free Software Foundation, Inc.
diff -Nrcpad gcc-11.4.0/gcc/doc/install.texi gcc-11.5.0/gcc/doc/install.texi
*** gcc-11.4.0/gcc/doc/install.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/install.texi	Fri Jul 19 05:52:43 2024
*************** tables.
*** 363,368 ****
--- 363,371 ----
  
  Used by @command{automake}.
  
+ If available, enables parallel testing of @samp{libgomp} in case that
+ @command{flock} is not available.
+ 
  @end table
  
  Several support libraries are necessary to build GCC, some are required,
diff -Nrcpad gcc-11.4.0/gcc/doc/invoke.texi gcc-11.5.0/gcc/doc/invoke.texi
*** gcc-11.4.0/gcc/doc/invoke.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/invoke.texi	Fri Jul 19 05:52:43 2024
*************** and Objective-C++ programs:
*** 4346,4355 ****
  Use @var{class-name} as the name of the class to instantiate for each
  literal string specified with the syntax @code{@@"@dots{}"}.  The default
  class name is @code{NXConstantString} if the GNU runtime is being used, and
! @code{NSConstantString} if the NeXT runtime is being used (see below).  The
! @option{-fconstant-cfstrings} option, if also present, overrides the
! @option{-fconstant-string-class} setting and cause @code{@@"@dots{}"} literals
! to be laid out as constant CoreFoundation strings.
  
  @item -fgnu-runtime
  @opindex fgnu-runtime
--- 4346,4357 ----
  Use @var{class-name} as the name of the class to instantiate for each
  literal string specified with the syntax @code{@@"@dots{}"}.  The default
  class name is @code{NXConstantString} if the GNU runtime is being used, and
! @code{NSConstantString} if the NeXT runtime is being used (see below).  On
! Darwin (macOS, MacOS X) platforms, the @option{-fconstant-cfstrings} option, if
! also present, overrides the @option{-fconstant-string-class} setting and cause
! @code{@@"@dots{}"} literals to be laid out as constant CoreFoundation strings.
! Note that @option{-fconstant-cfstrings} is an alias for the target-specific
! @option{-mconstant-cfstrings} equivalent.
  
  @item -fgnu-runtime
  @opindex fgnu-runtime
*************** performance of the code.  Permissible va
*** 18231,18238 ****
  @samp{cortex-a78}, @samp{cortex-a78ae}, @samp{cortex-a78c},
  @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor},
  @samp{neoverse-512tvb}, @samp{neoverse-e1}, @samp{neoverse-n1},
! @samp{neoverse-n2}, @samp{neoverse-v1},@samp{neoverse-v2}, @samp{qdf24xx},
! @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan},
  @samp{octeontx}, @samp{octeontx81},  @samp{octeontx83},
  @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96}
  @samp{octeontx2t93}, @samp{octeontx2f95}, @samp{octeontx2f95n},
--- 18233,18240 ----
  @samp{cortex-a78}, @samp{cortex-a78ae}, @samp{cortex-a78c},
  @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor},
  @samp{neoverse-512tvb}, @samp{neoverse-e1}, @samp{neoverse-n1},
! @samp{neoverse-n2}, @samp{neoverse-v1},@samp{neoverse-v2}, @samp{grace},
! @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan},
  @samp{octeontx}, @samp{octeontx81},  @samp{octeontx83},
  @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96}
  @samp{octeontx2t93}, @samp{octeontx2f95}, @samp{octeontx2f95n},
*************** performance of the code.  Permissible va
*** 18245,18251 ****
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
  @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55},
  @samp{cortex-r82}, @samp{cortex-x1}, @samp{ampere1},
! @samp{ampere1a}, @samp{native}.
  
  The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
--- 18247,18253 ----
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
  @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55},
  @samp{cortex-r82}, @samp{cortex-x1}, @samp{ampere1},
! @samp{ampere1a}, @samp{cobalt-100} and @samp{native}.
  
  The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
*************** This is by default ON@.
*** 21812,21821 ****
  @opindex gfull
  Emit debugging information for all symbols and types.
  
  @item -mmacosx-version-min=@var{version}
! The earliest version of MacOS X that this executable will run on
! is @var{version}.  Typical values of @var{version} include @code{10.1},
! @code{10.2}, and @code{10.3.9}.
  
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
--- 21814,21834 ----
  @opindex gfull
  Emit debugging information for all symbols and types.
  
+ @opindex fconstant-cfstrings
+ @item -fconstant-cfstrings
+ The @option{-fconstant-cfstrings} is an alias for @option{-mconstant-cfstrings}.
+ 
+ @opindex mconstant-cfstrings
+ @item -mconstant-cfstrings
+ When the NeXT runtime is being used (the default on these systems), override
+ any @option{-fconstant-string-class} setting and cause @code{@@"@dots{}"}
+ literals to be laid out as constant CoreFoundation strings.
+ 
+ @opindex mmacosx-version-min
  @item -mmacosx-version-min=@var{version}
! The earliest version of MacOS X that this executable will run on is
! @var{version}.  Typical values supported for @var{version} include @code{12},
! @code{10.12}, and @code{10.5.8}.
  
  If the compiler was built to use the system's headers by default,
  then the default for this option is the system version on which the
*************** MWAITX, SHA, CLZERO, AES, PCLMUL, CX16,
*** 30340,30345 ****
--- 30353,30367 ----
  SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
  WBNOINVD, PKU, VPCLMULQDQ, VAES, and 64-bit instruction set extensions.)
  
+ @item znver4
+ AMD Family 19h core based CPUs with x86-64 instruction set support. (This
+ supersets BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED,
+ MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
+ SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
+ WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD,
+ AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI,
+ AVX512BITALG, AVX512VPOPCNTDQ, GFNI and 64-bit instruction set extensions.)
+ 
  @item btver1
  CPUs based on AMD Family 14h cores with x86-64 instruction set support.  (This
  supersets MMX, SSE, SSE2, SSE3, SSSE3, SSE4A, CX16, ABM and 64-bit
*************** on x86-64 processors in 64-bit environme
*** 31757,31763 ****
  Generate code for a 16-bit, 32-bit or 64-bit environment.
  The @option{-m32} option sets @code{int}, @code{long}, and pointer types
  to 32 bits, and
! generates code that runs on any i386 system.
  
  The @option{-m64} option sets @code{int} to 32 bits and @code{long} and pointer
  types to 64 bits, and generates code for the x86-64 architecture.
--- 31779,31785 ----
  Generate code for a 16-bit, 32-bit or 64-bit environment.
  The @option{-m32} option sets @code{int}, @code{long}, and pointer types
  to 32 bits, and
! generates code that runs in 32-bit mode.
  
  The @option{-m64} option sets @code{int} to 32 bits and @code{long} and pointer
  types to 64 bits, and generates code for the x86-64 architecture.
diff -Nrcpad gcc-11.4.0/gcc/doc/lto-dump.1 gcc-11.5.0/gcc/doc/lto-dump.1
*** gcc-11.4.0/gcc/doc/lto-dump.1	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/doc/lto-dump.1	Fri Jul 19 05:55:07 2024
***************
*** 1,4 ****
! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
--- 1,4 ----
! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
  .\"
  .\" Standard preamble:
  .\" ========================================================================
***************
*** 54,73 ****
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .nr rF 0
! .if \n(.g .if rF .nr rF 1
! .if (\n(rF:(\n(.g==0)) \{\
! .    if \nF \{\
! .        de IX
! .        tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .        if !\nF==2 \{\
! .            nr % 0
! .            nr F 2
! .        \}
  .    \}
  .\}
- .rr rF
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
--- 54,69 ----
  .\" Avoid warning from groff about undefined register 'F'.
  .de IX
  ..
! .if !\nF .nr F 0
! .if \nF>0 \{\
! .    de IX
! .    tm Index:\\$1\t\\n%\t"\\$2"
  ..
! .    if !\nF==2 \{\
! .        nr % 0
! .        nr F 2
  .    \}
  .\}
  .\"
  .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
***************
*** 133,139 ****
  .\" ========================================================================
  .\"
  .IX Title "LTO-DUMP 1"
! .TH LTO-DUMP 1 "2023-05-28" "gcc-11.4.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "LTO-DUMP 1"
! .TH LTO-DUMP 1 "2024-07-19" "gcc-11.5.0" "GNU"
  .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  .\" way too many mistakes in technical documents.
  .if n .ad l
*************** any later version published by the Free
*** 222,228 ****
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fBgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
--- 218,224 ----
  Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
  Free Software\*(R", the Front-Cover texts being (a) (see below), and with
  the Back-Cover Texts being (b) (see below).  A copy of the license is
! included in the \fIgfdl\fR\|(7) man page.
  .PP
  (a) The \s-1FSF\s0's Front-Cover Text is:
  .PP
diff -Nrcpad gcc-11.4.0/gcc/doc/match-and-simplify.texi gcc-11.5.0/gcc/doc/match-and-simplify.texi
*** gcc-11.4.0/gcc/doc/match-and-simplify.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/match-and-simplify.texi	Fri Jul 19 05:52:43 2024
*************** for example
*** 374,381 ****
  
  which moves the outer @code{plus} operation to the inner arms
  of the @code{vec_cond} expression but only if the actual plus
! operations both simplify.  Note this is currently only supported
! for code generation targeting @code{GIMPLE}.
  
  As intermediate conversions are often optional there is a way to
  avoid the need to repeat patterns both with and without such
--- 374,383 ----
  
  which moves the outer @code{plus} operation to the inner arms
  of the @code{vec_cond} expression but only if the actual plus
! operations both simplify.  Note that on @code{GENERIC} a simple
! operand means that the result satisfies @code{!EXPR_P} which
! can be limiting if the operation itself simplifies but the
! remaining operand is an (unrelated) expression.
  
  As intermediate conversions are often optional there is a way to
  avoid the need to repeat patterns both with and without such
diff -Nrcpad gcc-11.4.0/gcc/doc/rtl.texi gcc-11.5.0/gcc/doc/rtl.texi
*** gcc-11.4.0/gcc/doc/rtl.texi	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/doc/rtl.texi	Fri Jul 19 05:52:43 2024
*************** vector.  For example @{ 0, 1 @} could be
*** 1844,1850 ****
  one element each or one pattern with two elements (@var{base0} and
  @var{base1}).  The canonical encoding is always the one with the
  fewest patterns or (if both encodings have the same number of
! petterns) the one with the fewest encoded elements.
  
  @samp{const_vector_encoding_nelts (@var{v})} gives the total number of
  encoded elements in @var{v}, which is 6 in the example above.
--- 1844,1850 ----
  one element each or one pattern with two elements (@var{base0} and
  @var{base1}).  The canonical encoding is always the one with the
  fewest patterns or (if both encodings have the same number of
! patterns) the one with the fewest encoded elements.
  
  @samp{const_vector_encoding_nelts (@var{v})} gives the total number of
  encoded elements in @var{v}, which is 6 in the example above.
diff -Nrcpad gcc-11.4.0/gcc/dwarf2out.c gcc-11.5.0/gcc/dwarf2out.c
*** gcc-11.4.0/gcc/dwarf2out.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/dwarf2out.c	Fri Jul 19 05:52:43 2024
*************** process_scope_var (tree stmt, tree decl,
*** 26120,26126 ****
  
    if (die != NULL && die->die_parent == NULL)
      add_child_die (context_die, die);
!   else if (TREE_CODE (decl_or_origin) == IMPORTED_DECL)
      {
        if (early_dwarf)
  	dwarf2out_imported_module_or_decl_1 (decl_or_origin, DECL_NAME (decl_or_origin),
--- 26120,26127 ----
  
    if (die != NULL && die->die_parent == NULL)
      add_child_die (context_die, die);
! 
!   if (TREE_CODE (decl_or_origin) == IMPORTED_DECL)
      {
        if (early_dwarf)
  	dwarf2out_imported_module_or_decl_1 (decl_or_origin, DECL_NAME (decl_or_origin),
*************** prune_unused_types_walk (dw_die_ref die)
*** 29692,29699 ****
--- 29693,29705 ----
      case DW_TAG_reference_type:
      case DW_TAG_rvalue_reference_type:
      case DW_TAG_volatile_type:
+     case DW_TAG_restrict_type:
+     case DW_TAG_shared_type:
+     case DW_TAG_atomic_type:
+     case DW_TAG_immutable_type:
      case DW_TAG_typedef:
      case DW_TAG_array_type:
+     case DW_TAG_coarray_type:
      case DW_TAG_friend:
      case DW_TAG_enumeration_type:
      case DW_TAG_subroutine_type:
*************** prune_unused_types_walk (dw_die_ref die)
*** 29702,29707 ****
--- 29708,29715 ----
      case DW_TAG_subrange_type:
      case DW_TAG_ptr_to_member_type:
      case DW_TAG_file_type:
+     case DW_TAG_unspecified_type:
+     case DW_TAG_dynamic_type:
        /* Type nodes are useful only when other DIEs reference them --- don't
  	 mark them.  */
        /* FALLTHROUGH */
*************** dwarf2out_finish (const char *filename)
*** 31696,31719 ****
        reset_dies (comp_unit_die ());
        for (limbo_die_node *node = cu_die_list; node; node = node->next)
  	reset_dies (node->die);
- 
-       hash_table<comdat_type_hasher> comdat_type_table (100);
        for (ctnode = comdat_type_list; ctnode != NULL; ctnode = ctnode->next)
  	{
- 	  comdat_type_node **slot
- 	      = comdat_type_table.find_slot (ctnode, INSERT);
- 
- 	  /* Don't reset types twice.  */
- 	  if (*slot != HTAB_EMPTY_ENTRY)
- 	    continue;
- 
  	  /* Remove the pointer to the line table.  */
  	  remove_AT (ctnode->root_die, DW_AT_stmt_list);
- 
  	  if (debug_info_level >= DINFO_LEVEL_TERSE)
  	    reset_dies (ctnode->root_die);
- 
- 	  *slot = ctnode;
  	}
  
        /* Reset die CU symbol so we don't output it twice.  */
--- 31704,31715 ----
diff -Nrcpad gcc-11.4.0/gcc/expmed.c gcc-11.5.0/gcc/expmed.c
*** gcc-11.4.0/gcc/expmed.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/expmed.c	Fri Jul 19 05:52:43 2024
*************** emit_store_flag_1 (rtx target, enum rtx_
*** 5589,5599 ****
    enum insn_code icode;
    machine_mode compare_mode;
    enum mode_class mclass;
-   enum rtx_code scode;
  
    if (unsignedp)
      code = unsigned_condition (code);
-   scode = swap_condition (code);
  
    /* If one operand is constant, make it the second one.  Only do this
       if the other operand is not constant as well.  */
--- 5589,5597 ----
*************** emit_store_flag_1 (rtx target, enum rtx_
*** 5761,5766 ****
--- 5759,5766 ----
  
  	  if (GET_MODE_CLASS (mode) == MODE_FLOAT)
  	    {
+ 	      enum rtx_code scode = swap_condition (code);
+ 
  	      tem = emit_cstore (target, icode, scode, mode, compare_mode,
  				 unsignedp, op1, op0, normalizep, target_mode);
  	      if (tem)
diff -Nrcpad gcc-11.4.0/gcc/fold-const.c gcc-11.5.0/gcc/fold-const.c
*** gcc-11.4.0/gcc/fold-const.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fold-const.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 83,88 ****
--- 83,89 ----
  #include "tree-vector-builder.h"
  #include "vec-perm-indices.h"
  #include "asan.h"
+ #include "internal-fn.h"
  
  /* Nonzero if we are folding constants inside an initializer; zero
     otherwise.  */
*************** static tree
*** 6171,6177 ****
  merge_truthop_with_opposite_arm (location_t loc, tree op, tree cmpop,
  				 bool rhs_only)
  {
-   tree type = TREE_TYPE (cmpop);
    enum tree_code code = TREE_CODE (cmpop);
    enum tree_code truthop_code = TREE_CODE (op);
    tree lhs = TREE_OPERAND (op, 0);
--- 6172,6177 ----
*************** merge_truthop_with_opposite_arm (locatio
*** 6187,6192 ****
--- 6187,6194 ----
    if (TREE_CODE_CLASS (code) != tcc_comparison)
      return NULL_TREE;
  
+   tree type = TREE_TYPE (TREE_OPERAND (cmpop, 0));
+ 
    if (rhs_code == truthop_code)
      {
        tree newrhs = merge_truthop_with_opposite_arm (loc, rhs, cmpop, rhs_only);
*************** native_encode_initializer (tree init, un
*** 8401,8406 ****
--- 8403,8410 ----
  		  if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN)
  		    return 0;
  
+ 		  if (TREE_CODE (val) == NON_LVALUE_EXPR)
+ 		    val = TREE_OPERAND (val, 0);
  		  if (TREE_CODE (val) != INTEGER_CST)
  		    return 0;
  
*************** multiple_of_p (tree type, const_tree top
*** 14185,14191 ****
  	      && TREE_CODE (op2) == INTEGER_CST
  	      && integer_pow2p (bottom)
  	      && wi::multiple_of_p (wi::to_widest (op2),
! 				    wi::to_widest (bottom), UNSIGNED))
  	    return 1;
  
  	  op1 = gimple_assign_rhs1 (stmt);
--- 14189,14195 ----
  	      && TREE_CODE (op2) == INTEGER_CST
  	      && integer_pow2p (bottom)
  	      && wi::multiple_of_p (wi::to_widest (op2),
! 				    wi::to_widest (bottom), SIGNED))
  	    return 1;
  
  	  op1 = gimple_assign_rhs1 (stmt);
*************** tree_call_nonnegative_warnv_p (tree type
*** 14732,14738 ****
      CASE_CFN_FFS:
      CASE_CFN_PARITY:
      CASE_CFN_POPCOUNT:
-     CASE_CFN_CLZ:
      CASE_CFN_CLRSB:
      case CFN_BUILT_IN_BSWAP16:
      case CFN_BUILT_IN_BSWAP32:
--- 14736,14741 ----
*************** tree_call_nonnegative_warnv_p (tree type
*** 14741,14746 ****
--- 14744,14765 ----
        /* Always true.  */
        return true;
  
+     CASE_CFN_CLZ:
+       if (fn != CFN_CLZ)
+ 	return true;
+       else if (INTEGRAL_TYPE_P (TREE_TYPE (arg0)))
+ 	{
+ 	  tree atype = TREE_TYPE (arg0);
+ 	  int val = 0;
+ 	  if (direct_internal_fn_supported_p (IFN_CLZ, atype,
+ 					      OPTIMIZE_FOR_BOTH)
+ 	      && CLZ_DEFINED_VALUE_AT_ZERO (SCALAR_INT_TYPE_MODE (atype),
+ 					    val) == 2
+ 	      && val >= 0)
+ 	    return true;
+ 	}
+       break;
+ 
      CASE_CFN_SQRT:
      CASE_CFN_SQRT_FN:
        /* sqrt(-0.0) is -0.0.  */
diff -Nrcpad gcc-11.4.0/gcc/fortran/ChangeLog gcc-11.5.0/gcc/fortran/ChangeLog
*** gcc-11.4.0/gcc/fortran/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/fortran/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,152 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-04-06  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-28  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/114474
+ 	* primary.c (gfc_variable_attr): Catch variables used in structure
+ 	constructors within DATA statements that are still tagged with a
+ 	temporary type BT_PROCEDURE from match_actual_arg and which have the
+ 	target attribute, and fix their typespec.
+ 
+ 2024-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-12-03  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* trans-stmt.c (gfc_trans_allocate): Set e3_has_nodescriptor to true
+ 	only for non-named arrays.
+ 
+ 2024-04-02  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-03-22  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	PR fortran/107426
+ 	* gfortran.h (gfc_save_module_list, gfc_restore_old_module_list):
+ 	New declarations.
+ 	* module.c (old_module_list_tail): New global variable.
+ 	(gfc_save_module_list, gfc_restore_old_module_list): New functions.
+ 	(gfc_use_modules): Set module_list and old_module_list_tail.
+ 	* parse.c (next_statement): Save module_list before doing any work.
+ 	(reject_statement): Restore module_list to its saved value.
+ 
+ 2024-03-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/50410
+ 	* trans-expr.c (gfc_conv_structure): Check for NULL pointer.
+ 
+ 2024-03-20  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-18  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103715
+ 	* frontend-passes.c (check_externals_expr): Prevent invalid read
+ 	in case of mismatch of external subroutine with function.
+ 
+ 2024-02-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-01-27  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104908
+ 	* trans-array.c (gfc_conv_array_ref): Restrict use of transformed
+ 	descriptor (sym->backend_decl) to the unlimited polymorphic case.
+ 
+ 2023-12-01  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-11-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111880
+ 	* resolve.c (resolve_common_vars): Do not call gfc_add_in_common
+ 	for symbols that are USE associated or used in a submodule.
+ 
+ 2023-10-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-10-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111837
+ 	* frontend-passes.c (traverse_io_block): Dependency check of loop
+ 	nest shall be triangular, not banded.
+ 
+ 2023-08-06  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-12-18  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/107397
+ 	* decl.c (add_init_expr_to_sym): Add check with new error message.
+ 
+ 2023-08-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/103506
+ 	* parse.c (parse_module): Remove use of a bool error value
+ 	that prevented proper setting of the namespace pointer.
+ 
+ 2023-07-20  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/95947
+ 	PR fortran/110658
+ 	* trans-expr.c (gfc_conv_procedure_call): For intrinsic procedures
+ 	whose result characteristics depends on the first argument and which
+ 	can be of type character, the character length will not be deferred.
+ 
+ 2023-07-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/110288
+ 	* symbol.c (gfc_copy_formal_args_intr): When deriving the formal
+ 	argument attributes from the actual ones for intrinsic procedure
+ 	calls, take special care of CHARACTER arguments that we do not
+ 	wrongly treat them formally as deferred-length.
+ 
+ 2023-07-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/110585
+ 	* arith.c (gfc_compare_expr): Handle equality comparison of constant
+ 	complex gfc_expr arguments.
+ 
+ 2023-06-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-06-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/96024
+ 	* primary.c (gfc_convert_to_structure_constructor): Only do
+ 	constant string ctor length verification and truncation/padding
+ 	if constant length has INTEGER type.
+ 
+ 2023-06-04  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-06-02  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/100607
+ 	* resolve.c (resolve_select_rank): Remove duplicate error.
+ 	(resolve_fl_var_and_proc): Prevent NULL pointer dereference and
+ 	suppress error message for temporary.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/fortran/arith.c gcc-11.5.0/gcc/fortran/arith.c
*** gcc-11.4.0/gcc/fortran/arith.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/arith.c	Fri Jul 19 05:52:43 2024
*************** gfc_compare_expr (gfc_expr *op1, gfc_exp
*** 1080,1085 ****
--- 1080,1090 ----
  	    || (op1->value.logical && !op2->value.logical));
        break;
  
+     case BT_COMPLEX:
+       gcc_assert (op == INTRINSIC_EQ);
+       rc = mpc_cmp (op1->value.complex, op2->value.complex);
+       break;
+ 
      default:
        gfc_internal_error ("gfc_compare_expr(): Bad basic type");
      }
diff -Nrcpad gcc-11.4.0/gcc/fortran/decl.c gcc-11.5.0/gcc/fortran/decl.c
*** gcc-11.4.0/gcc/fortran/decl.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/decl.c	Fri Jul 19 05:52:43 2024
*************** add_init_expr_to_sym (const char *name,
*** 2141,2146 ****
--- 2141,2154 ----
  	    sym->ts.f90_type = init->ts.f90_type;
  	}
  
+       /* Catch the case:  type(t), parameter :: x = z'1'.  */
+       if (sym->ts.type == BT_DERIVED && init->ts.type == BT_BOZ)
+ 	{
+ 	  gfc_error ("Entity %qs at %L is incompatible with a BOZ "
+ 		     "literal constant", name, &sym->declared_at);
+ 	  return false;
+ 	}
+ 
        /* Add initializer.  Make sure we keep the ranks sane.  */
        if (sym->attr.dimension && init->rank == 0)
  	{
diff -Nrcpad gcc-11.4.0/gcc/fortran/frontend-passes.c gcc-11.5.0/gcc/fortran/frontend-passes.c
*** gcc-11.4.0/gcc/fortran/frontend-passes.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/frontend-passes.c	Fri Jul 19 05:52:43 2024
*************** traverse_io_block (gfc_code *code, bool
*** 1326,1332 ****
        if (iters[i])
  	{
  	  gfc_expr *var = iters[i]->var;
! 	  for (int j = i - 1; j < i; j++)
  	    {
  	      if (iters[j]
  		  && (var_in_expr (var, iters[j]->start)
--- 1326,1332 ----
        if (iters[i])
  	{
  	  gfc_expr *var = iters[i]->var;
! 	  for (int j = 0; j < i; j++)
  	    {
  	      if (iters[j]
  		  && (var_in_expr (var, iters[j]->start)
*************** check_externals_expr (gfc_expr **ep, int
*** 5782,5787 ****
--- 5782,5790 ----
    if (e->expr_type != EXPR_FUNCTION)
      return 0;
  
+   if (e->symtree && e->symtree->n.sym->attr.subroutine)
+     return 0;
+ 
    sym = e->value.function.esym;
    if (sym == NULL)
      return 0;
diff -Nrcpad gcc-11.4.0/gcc/fortran/gfortran.h gcc-11.5.0/gcc/fortran/gfortran.h
*** gcc-11.4.0/gcc/fortran/gfortran.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/gfortran.h	Fri Jul 19 05:52:43 2024
*************** void gfc_module_done_2 (void);
*** 3578,3583 ****
--- 3578,3585 ----
  void gfc_dump_module (const char *, int);
  bool gfc_check_symbol_access (gfc_symbol *);
  void gfc_free_use_stmts (gfc_use_list *);
+ void gfc_save_module_list ();
+ void gfc_restore_old_module_list ();
  const char *gfc_dt_lower_string (const char *);
  const char *gfc_dt_upper_string (const char *);
  
diff -Nrcpad gcc-11.4.0/gcc/fortran/gfortran.info gcc-11.5.0/gcc/fortran/gfortran.info
*** gcc-11.4.0/gcc/fortran/gfortran.info	Mon May 29 09:02:39 2023
--- gcc-11.5.0/gcc/fortran/gfortran.info	Fri Jul 19 06:06:46 2024
***************
*** 1,4 ****
! This is gfortran.info, produced by makeinfo version 6.8 from
  gfortran.texi.
  
  Copyright (C) 1999-2021 Free Software Foundation, Inc.
--- 1,4 ----
! This is gfortran.info, produced by makeinfo version 6.5 from
  gfortran.texi.
  
  Copyright (C) 1999-2021 Free Software Foundation, Inc.
*************** the other form by either removing 'no-'
*** 1568,1574 ****
  
       Use of '-fno-underscoring' is not recommended unless you are
       experimenting with issues such as integration of GNU Fortran into
!      existing system environments (vis-à-vis existing libraries, tools,
       and so on).
  
       For example, with '-funderscoring', and assuming that 'j()' and
--- 1568,1574 ----
  
       Use of '-fno-underscoring' is not recommended unless you are
       experimenting with issues such as integration of GNU Fortran into
!      existing system environments (vis-a`-vis existing libraries, tools,
       and so on).
  
       For example, with '-funderscoring', and assuming that 'j()' and
*************** significant help to the GNU Fortran proj
*** 20064,20070 ****
     - Steven Bosscher
     - Paul Brook
     - Tobias Burnus
!    - François-Xavier Coudert
     - Bud Davis
     - Jerry DeLisle
     - Erik Edelmann
--- 20064,20070 ----
     - Steven Bosscher
     - Paul Brook
     - Tobias Burnus
!    - Franc,ois-Xavier Coudert
     - Bud Davis
     - Jerry DeLisle
     - Erik Edelmann
*************** significant help to the GNU Fortran proj
*** 20086,20092 ****
     - Tim Prince
     - Christopher D. Rickett
     - Richard Sandiford
!    - Tobias Schlüter
     - Roger Sayle
     - Paul Thomas
     - Andy Vaught
--- 20086,20092 ----
     - Tim Prince
     - Christopher D. Rickett
     - Richard Sandiford
!    - Tobias Schlu"ter
     - Roger Sayle
     - Paul Thomas
     - Andy Vaught
*************** patches, and much needed feedback and en
*** 20099,20105 ****
  project:
  
     - Bill Clodius
!    - Dominique d'Humières
     - Kate Hedstrom
     - Erik Schnetter
     - Joost VandeVondele
--- 20099,20105 ----
  project:
  
     - Bill Clodius
!    - Dominique d'Humie`res
     - Kate Hedstrom
     - Erik Schnetter
     - Joost VandeVondele
*************** Node: Option Index782806
*** 23677,23684 ****
  Node: Keyword Index801940
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 23677,23679 ----
diff -Nrcpad gcc-11.4.0/gcc/fortran/module.c gcc-11.5.0/gcc/fortran/module.c
*** gcc-11.4.0/gcc/fortran/module.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/module.c	Fri Jul 19 05:52:43 2024
*************** static const char *module_name;
*** 195,201 ****
--- 195,206 ----
  /* The name of the .smod file that the submodule will write to.  */
  static const char *submodule_name;
  
+ /* The list of use statements to apply to the current namespace
+    before parsing the non-use statements.  */
  static gfc_use_list *module_list;
+ /* The end of the MODULE_LIST list above at the time the recognition
+    of the current statement started.  */
+ static gfc_use_list **old_module_list_tail;
  
  /* If we're reading an intrinsic module, this is its ID.  */
  static intmod_id current_intmod;
*************** gfc_use_modules (void)
*** 7476,7481 ****
--- 7481,7488 ----
        gfc_use_module (module_list);
        free (module_list);
      }
+   module_list = NULL;
+   old_module_list_tail = &module_list;
    gfc_rename_list = NULL;
  }
  
*************** gfc_free_use_stmts (gfc_use_list *use_st
*** 7499,7504 ****
--- 7506,7535 ----
  }
  
  
+ /* Remember the end of the MODULE_LIST list, so that the list can be restored
+    to its previous state if the current statement is erroneous.  */
+ 
+ void
+ gfc_save_module_list ()
+ {
+   gfc_use_list **tail = &module_list;
+   while (*tail != NULL)
+     tail = &(*tail)->next;
+   old_module_list_tail = tail;
+ }
+ 
+ 
+ /* Restore the MODULE_LIST list to its previous value and free the use
+    statements that are no longer part of the list.  */
+ 
+ void
+ gfc_restore_old_module_list ()
+ {
+   gfc_free_use_stmts (*old_module_list_tail);
+   *old_module_list_tail = NULL;
+ }
+ 
+ 
  void
  gfc_module_init_2 (void)
  {
diff -Nrcpad gcc-11.4.0/gcc/fortran/parse.c gcc-11.5.0/gcc/fortran/parse.c
*** gcc-11.4.0/gcc/fortran/parse.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/parse.c	Fri Jul 19 05:52:43 2024
*************** next_statement (void)
*** 1519,1524 ****
--- 1519,1525 ----
    locus old_locus;
  
    gfc_enforce_clean_symbol_state ();
+   gfc_save_module_list ();
  
    gfc_new_block = NULL;
  
*************** reject_statement (void)
*** 2674,2679 ****
--- 2675,2683 ----
  
    gfc_reject_data (gfc_current_ns);
  
+   /* Don't queue use-association of a module if we reject the use statement.  */
+   gfc_restore_old_module_list ();
+ 
    gfc_new_block = NULL;
    gfc_undo_symbols ();
    gfc_clear_warning ();
*************** parse_module (void)
*** 6160,6166 ****
  {
    gfc_statement st;
    gfc_gsymbol *s;
-   bool error;
  
    s = gfc_get_gsymbol (gfc_new_block->name, false);
    if (s->defined || (s->type != GSYM_UNKNOWN && s->type != GSYM_MODULE))
--- 6164,6169 ----
*************** parse_module (void)
*** 6183,6189 ****
  
    st = parse_spec (ST_NONE);
  
-   error = false;
  loop:
    switch (st)
      {
--- 6186,6191 ----
*************** loop:
*** 6202,6217 ****
      default:
        gfc_error ("Unexpected %s statement in MODULE at %C",
  		 gfc_ascii_statement (st));
- 
-       error = true;
        reject_statement ();
        st = next_statement ();
        goto loop;
      }
! 
!   /* Make sure not to free the namespace twice on error.  */
!   if (!error)
!     s->ns = gfc_current_ns;
  }
  
  
--- 6204,6214 ----
      default:
        gfc_error ("Unexpected %s statement in MODULE at %C",
  		 gfc_ascii_statement (st));
        reject_statement ();
        st = next_statement ();
        goto loop;
      }
!   s->ns = gfc_current_ns;
  }
  
  
diff -Nrcpad gcc-11.4.0/gcc/fortran/primary.c gcc-11.5.0/gcc/fortran/primary.c
*** gcc-11.4.0/gcc/fortran/primary.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/primary.c	Fri Jul 19 05:52:43 2024
*************** gfc_variable_attr (gfc_expr *expr, gfc_t
*** 2663,2668 ****
--- 2663,2680 ----
    if (ts != NULL && expr->ts.type == BT_UNKNOWN)
      *ts = sym->ts;
  
+   /* Catch left-overs from match_actual_arg, where an actual argument of a
+      procedure is given a temporary ts.type == BT_PROCEDURE.  The fixup is
+      needed for structure constructors in DATA statements, where a pointer
+      is associated with a data target, and the argument has not been fully
+      resolved yet.  Components references are dealt with further below.  */
+   if (ts != NULL
+       && expr->ts.type == BT_PROCEDURE
+       && expr->ref == NULL
+       && attr.flavor != FL_PROCEDURE
+       && attr.target)
+     *ts = sym->ts;
+ 
    has_inquiry_part = false;
    for (ref = expr->ref; ref; ref = ref->next)
      if (ref->type == REF_INQUIRY)
*************** gfc_convert_to_structure_constructor (gf
*** 3188,3197 ****
  	goto cleanup;
  
        /* For a constant string constructor, make sure the length is
! 	 correct; truncate of fill with blanks if needed.  */
        if (this_comp->ts.type == BT_CHARACTER && !this_comp->attr.allocatable
  	  && this_comp->ts.u.cl && this_comp->ts.u.cl->length
  	  && this_comp->ts.u.cl->length->expr_type == EXPR_CONSTANT
  	  && actual->expr->ts.type == BT_CHARACTER
  	  && actual->expr->expr_type == EXPR_CONSTANT)
  	{
--- 3200,3210 ----
  	goto cleanup;
  
        /* For a constant string constructor, make sure the length is
! 	 correct; truncate or fill with blanks if needed.  */
        if (this_comp->ts.type == BT_CHARACTER && !this_comp->attr.allocatable
  	  && this_comp->ts.u.cl && this_comp->ts.u.cl->length
  	  && this_comp->ts.u.cl->length->expr_type == EXPR_CONSTANT
+ 	  && this_comp->ts.u.cl->length->ts.type == BT_INTEGER
  	  && actual->expr->ts.type == BT_CHARACTER
  	  && actual->expr->expr_type == EXPR_CONSTANT)
  	{
diff -Nrcpad gcc-11.4.0/gcc/fortran/resolve.c gcc-11.5.0/gcc/fortran/resolve.c
*** gcc-11.4.0/gcc/fortran/resolve.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/resolve.c	Fri Jul 19 05:52:43 2024
*************** resolve_common_vars (gfc_common_head *co
*** 965,972 ****
  
        /* gfc_add_in_common may have been called before, but the reported errors
  	 have been ignored to continue parsing.
! 	 We do the checks again here.  */
!       if (!csym->attr.use_assoc)
  	{
  	  gfc_add_in_common (&csym->attr, csym->name, &common_block->where);
  	  gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L",
--- 965,972 ----
  
        /* gfc_add_in_common may have been called before, but the reported errors
  	 have been ignored to continue parsing.
! 	 We do the checks again here, unless the symbol is USE associated.  */
!       if (!csym->attr.use_assoc && !csym->attr.used_in_submodule)
  	{
  	  gfc_add_in_common (&csym->attr, csym->name, &common_block->where);
  	  gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L",
*************** resolve_select_rank (gfc_code *code, gfc
*** 9864,9874 ****
  			       || gfc_expr_attr (code->expr1).pointer))
  	gfc_error ("RANK (*) at %L cannot be used with the pointer or "
  		   "allocatable selector at %L", &c->where, &code->expr1->where);
- 
-       if (case_value == -1 && (gfc_expr_attr (code->expr1).allocatable
- 			       || gfc_expr_attr (code->expr1).pointer))
- 	gfc_error ("RANK (*) at %L cannot be used with the pointer or "
- 		   "allocatable selector at %L", &c->where, &code->expr1->where);
      }
  
    /* Add EXEC_SELECT to switch on rank.  */
--- 9864,9869 ----
*************** resolve_fl_var_and_proc (gfc_symbol *sym
*** 12806,12812 ****
  
        if (allocatable)
  	{
! 	  if (dimension && as->type != AS_ASSUMED_RANK)
  	    {
  	      gfc_error ("Allocatable array %qs at %L must have a deferred "
  			 "shape or assumed rank", sym->name, &sym->declared_at);
--- 12801,12810 ----
  
        if (allocatable)
  	{
! 	  if (dimension
! 	      && as
! 	      && as->type != AS_ASSUMED_RANK
! 	      && !sym->attr.select_rank_temporary)
  	    {
  	      gfc_error ("Allocatable array %qs at %L must have a deferred "
  			 "shape or assumed rank", sym->name, &sym->declared_at);
diff -Nrcpad gcc-11.4.0/gcc/fortran/symbol.c gcc-11.5.0/gcc/fortran/symbol.c
*** gcc-11.4.0/gcc/fortran/symbol.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/symbol.c	Fri Jul 19 05:52:43 2024
*************** gfc_copy_formal_args_intr (gfc_symbol *d
*** 4705,4710 ****
--- 4705,4717 ----
        formal_arg->sym->attr.flavor = FL_VARIABLE;
        formal_arg->sym->attr.dummy = 1;
  
+       /* Do not treat an actual deferred-length character argument wrongly
+ 	 as template for the formal argument.  */
+       if (formal_arg->sym->ts.type == BT_CHARACTER
+ 	  && !(formal_arg->sym->attr.allocatable
+ 	       || formal_arg->sym->attr.pointer))
+ 	formal_arg->sym->ts.deferred = false;
+ 
        if (formal_arg->sym->ts.type == BT_CHARACTER)
  	formal_arg->sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL);
  
diff -Nrcpad gcc-11.4.0/gcc/fortran/trans-array.c gcc-11.5.0/gcc/fortran/trans-array.c
*** gcc-11.4.0/gcc/fortran/trans-array.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/trans-array.c	Fri Jul 19 05:52:43 2024
*************** gfc_conv_array_ref (gfc_se * se, gfc_arr
*** 3723,3729 ****
      }
  
    decl = se->expr;
!   if (IS_CLASS_ARRAY (sym) && sym->attr.dummy && ar->as->type != AS_DEFERRED)
      decl = sym->backend_decl;
  
    cst_offset = offset = gfc_index_zero_node;
--- 3723,3732 ----
      }
  
    decl = se->expr;
!   if (UNLIMITED_POLY(sym)
!       && IS_CLASS_ARRAY (sym)
!       && sym->attr.dummy
!       && ar->as->type != AS_DEFERRED)
      decl = sym->backend_decl;
  
    cst_offset = offset = gfc_index_zero_node;
diff -Nrcpad gcc-11.4.0/gcc/fortran/trans-expr.c gcc-11.5.0/gcc/fortran/trans-expr.c
*** gcc-11.4.0/gcc/fortran/trans-expr.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/trans-expr.c	Fri Jul 19 05:52:43 2024
*************** gfc_conv_procedure_call (gfc_se * se, gf
*** 7016,7022 ****
  	     (and other intrinsics?) and dummy functions.  In the case of SPREAD,
  	     we take the character length of the first argument for the result.
  	     For dummies, we have to look through the formal argument list for
! 	     this function and use the character length found there.*/
  	  if (ts.deferred)
  	    cl.backend_decl = gfc_create_var (gfc_charlen_type_node, "slen");
  	  else if (!sym->attr.dummy)
--- 7016,7027 ----
  	     (and other intrinsics?) and dummy functions.  In the case of SPREAD,
  	     we take the character length of the first argument for the result.
  	     For dummies, we have to look through the formal argument list for
! 	     this function and use the character length found there.
! 	     Likewise, we handle the case of deferred-length character dummy
! 	     arguments to intrinsics that determine the characteristics of
! 	     the result, which cannot be deferred-length.  */
! 	  if (expr->value.function.isym)
! 	    ts.deferred = false;
  	  if (ts.deferred)
  	    cl.backend_decl = gfc_create_var (gfc_charlen_type_node, "slen");
  	  else if (!sym->attr.dummy)
*************** gfc_conv_structure (gfc_se * se, gfc_exp
*** 8874,8880 ****
    cm = expr->ts.u.derived->components;
  
    for (c = gfc_constructor_first (expr->value.constructor);
!        c; c = gfc_constructor_next (c), cm = cm->next)
      {
        /* Skip absent members in default initializers and allocatable
  	 components.  Although the latter have a default initializer
--- 8879,8885 ----
    cm = expr->ts.u.derived->components;
  
    for (c = gfc_constructor_first (expr->value.constructor);
!        c && cm; c = gfc_constructor_next (c), cm = cm->next)
      {
        /* Skip absent members in default initializers and allocatable
  	 components.  Although the latter have a default initializer
diff -Nrcpad gcc-11.4.0/gcc/fortran/trans-stmt.c gcc-11.5.0/gcc/fortran/trans-stmt.c
*** gcc-11.4.0/gcc/fortran/trans-stmt.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fortran/trans-stmt.c	Fri Jul 19 05:52:43 2024
*************** gfc_trans_allocate (gfc_code * code)
*** 6661,6676 ****
        else
  	e3rhs = gfc_copy_expr (code->expr3);
  
!       // We need to propagate the bounds of the expr3 for source=/mold=;
!       // however, for nondescriptor arrays, we use internally a lower bound
!       // of zero instead of one, which needs to be corrected for the allocate obj
!       if (e3_is == E3_DESC)
! 	{
! 	  symbol_attribute attr = gfc_expr_attr (code->expr3);
! 	  if (code->expr3->expr_type == EXPR_ARRAY ||
! 	      (!attr.allocatable && !attr.pointer))
! 	    e3_has_nodescriptor = true;
! 	}
      }
  
    /* Loop over all objects to allocate.  */
--- 6661,6673 ----
        else
  	e3rhs = gfc_copy_expr (code->expr3);
  
!       // We need to propagate the bounds of the expr3 for source=/mold=.
!       // However, for non-named arrays, the lbound has to be 1 and neither the
!       // bound used inside the called function even when returning an
!       // allocatable/pointer nor the zero used internally.
!       if (e3_is == E3_DESC
! 	  && code->expr3->expr_type != EXPR_VARIABLE)
! 	e3_has_nodescriptor = true;
      }
  
    /* Loop over all objects to allocate.  */
diff -Nrcpad gcc-11.4.0/gcc/fwprop.c gcc-11.5.0/gcc/fwprop.c
*** gcc-11.4.0/gcc/fwprop.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/fwprop.c	Fri Jul 19 05:52:43 2024
*************** try_fwprop_subst (use_info *use, set_inf
*** 606,612 ****
    if (def_insn->bb () != use_insn->bb ())
      {
        src_uses = crtl->ssa->make_uses_available (attempt, src_uses,
! 						 use_insn->bb ());
        if (!src_uses.is_valid ())
  	return false;
      }
--- 606,613 ----
    if (def_insn->bb () != use_insn->bb ())
      {
        src_uses = crtl->ssa->make_uses_available (attempt, src_uses,
! 						 use_insn->bb (),
! 						 use_insn->is_debug_insn ());
        if (!src_uses.is_valid ())
  	return false;
      }
diff -Nrcpad gcc-11.4.0/gcc/gengtype-lex.c gcc-11.5.0/gcc/gengtype-lex.c
*** gcc-11.4.0/gcc/gengtype-lex.c	Mon May 29 08:50:36 2023
--- gcc-11.5.0/gcc/gengtype-lex.c	Fri Jul 19 05:55:07 2024
*************** int yy_flex_debug = 0;
*** 1188,1194 ****
  #define YY_MORE_ADJ 0
  #define YY_RESTORE_YY_MORE_OFFSET
  char *yytext;
! #line 1 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* -*- indented-text -*- */
  /* Process source files and output type information.
     Copyright (C) 2002-2021 Free Software Foundation, Inc.
--- 1188,1194 ----
  #define YY_MORE_ADJ 0
  #define YY_RESTORE_YY_MORE_OFFSET
  char *yytext;
! #line 1 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* -*- indented-text -*- */
  /* Process source files and output type information.
     Copyright (C) 2002-2021 Free Software Foundation, Inc.
*************** You should have received a copy of the G
*** 1209,1215 ****
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  #define YY_NO_INPUT 1
! #line 24 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  #ifdef HOST_GENERATOR_FILE
  #include "config.h"
  #define GENERATOR_FILE 1
--- 1209,1215 ----
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  #define YY_NO_INPUT 1
! #line 24 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  #ifdef HOST_GENERATOR_FILE
  #include "config.h"
  #define GENERATOR_FILE 1
*************** update_lineno (const char *l, size_t len
*** 1238,1244 ****
  }
  
  #line 1235 "gengtype-lex.c"
! #line 59 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
      /* Include '::' in identifiers to capture C++ scope qualifiers.  */
  
  #line 1239 "gengtype-lex.c"
--- 1238,1244 ----
  }
  
  #line 1235 "gengtype-lex.c"
! #line 59 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
      /* Include '::' in identifiers to capture C++ scope qualifiers.  */
  
  #line 1239 "gengtype-lex.c"
*************** YY_DECL
*** 1462,1468 ****
  		}
  
  	{
! #line 67 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  
    /* Do this on entry to yylex():  */
    *yylval = 0;
--- 1462,1468 ----
  		}
  
  	{
! #line 67 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  
    /* Do this on entry to yylex():  */
    *yylval = 0;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1534,1540 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 78 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return TYPEDEF;
--- 1534,1540 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 78 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return TYPEDEF;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1547,1553 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 82 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
--- 1547,1553 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 82 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1560,1566 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 86 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return UNION;
--- 1560,1566 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 86 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return UNION;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1573,1579 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 90 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
--- 1573,1579 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 90 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STRUCT;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1586,1592 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 94 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return EXTERN;
--- 1586,1592 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 94 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return EXTERN;
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1599,1605 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 98 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STATIC;
--- 1599,1605 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 98 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    BEGIN(in_struct);
    return STATIC;
*************** YY_RULE_SETUP
*** 1610,1634 ****
  
  case 7:
  YY_RULE_SETUP
! #line 106 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct_comment); }
  	YY_BREAK
  case 8:
  /* rule 8 can match eol */
  YY_RULE_SETUP
! #line 107 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 9:
  /* rule 9 can match eol */
  YY_RULE_SETUP
! #line 109 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 10:
  /* rule 10 can match eol */
  YY_RULE_SETUP
! #line 110 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 11:
--- 1610,1634 ----
  
  case 7:
  YY_RULE_SETUP
! #line 106 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct_comment); }
  	YY_BREAK
  case 8:
  /* rule 8 can match eol */
  YY_RULE_SETUP
! #line 107 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 9:
  /* rule 9 can match eol */
  YY_RULE_SETUP
! #line 109 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 10:
  /* rule 10 can match eol */
  YY_RULE_SETUP
! #line 110 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 11:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1638,1644 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 112 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* don't care */
  	YY_BREAK
  case 12:
--- 1638,1644 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 112 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* don't care */
  	YY_BREAK
  case 12:
*************** case 12:
*** 1647,1663 ****
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 114 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 13:
  /* rule 13 can match eol */
! #line 115 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 14:
  /* rule 14 can match eol */
! #line 116 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 15:
  /* rule 15 can match eol */
  YY_RULE_SETUP
! #line 116 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
      *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1);
      return IGNORABLE_CXX_KEYWORD;
--- 1647,1663 ----
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 114 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 13:
  /* rule 13 can match eol */
! #line 115 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 14:
  /* rule 14 can match eol */
! #line 116 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 15:
  /* rule 15 can match eol */
  YY_RULE_SETUP
! #line 116 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
      *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1);
      return IGNORABLE_CXX_KEYWORD;
*************** YY_LINENO_REWIND_TO(yy_bp + 3);
*** 1670,1676 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 3;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 120 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return GTY_TOKEN; }
  	YY_BREAK
  case 17:
--- 1670,1676 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 3;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 120 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return GTY_TOKEN; }
  	YY_BREAK
  case 17:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1680,1686 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 121 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return UNION; }
  	YY_BREAK
  case 18:
--- 1680,1686 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 121 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return UNION; }
  	YY_BREAK
  case 18:
*************** YY_LINENO_REWIND_TO(yy_bp + 6);
*** 1690,1696 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 6;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 122 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 19:
--- 1690,1696 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 6;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 122 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 19:
*************** YY_LINENO_REWIND_TO(yy_bp + 5);
*** 1700,1706 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 123 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 20:
--- 1700,1706 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 5;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 123 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return STRUCT; }
  	YY_BREAK
  case 20:
*************** YY_LINENO_REWIND_TO(yy_bp + 7);
*** 1710,1716 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 7;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 124 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return TYPEDEF; }
  	YY_BREAK
  case 21:
--- 1710,1716 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 7;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 124 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return TYPEDEF; }
  	YY_BREAK
  case 21:
*************** YY_LINENO_REWIND_TO(yy_bp + 4);
*** 1720,1726 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 125 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return ENUM; }
  	YY_BREAK
  case 22:
--- 1720,1726 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 125 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return ENUM; }
  	YY_BREAK
  case 22:
*************** YY_LINENO_REWIND_TO(yy_bp + 9);
*** 1730,1736 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 9;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 126 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return PTR_ALIAS; }
  	YY_BREAK
  case 23:
--- 1730,1736 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 9;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 126 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return PTR_ALIAS; }
  	YY_BREAK
  case 23:
*************** YY_LINENO_REWIND_TO(yy_bp + 10);
*** 1740,1746 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 10;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 127 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return NESTED_PTR; }
  	YY_BREAK
  case 24:
--- 1740,1746 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 10;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 127 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return NESTED_PTR; }
  	YY_BREAK
  case 24:
*************** YY_LINENO_REWIND_TO(yy_bp + 4);
*** 1750,1761 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 128 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return USER_GTY; }
  	YY_BREAK
  case 25:
  YY_RULE_SETUP
! #line 129 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return NUM;
--- 1750,1761 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 4;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 128 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return USER_GTY; }
  	YY_BREAK
  case 25:
  YY_RULE_SETUP
! #line 129 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return NUM;
*************** case 26:
*** 1767,1777 ****
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 135 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 27:
  /* rule 27 can match eol */
  YY_RULE_SETUP
! #line 135 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    size_t len;
  
--- 1767,1777 ----
  YY_LINENO_REWIND_TO(yy_cp - 1);
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
! #line 135 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 27:
  /* rule 27 can match eol */
  YY_RULE_SETUP
! #line 135 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    size_t len;
  
*************** YY_LINENO_REWIND_TO(yy_cp - 1);
*** 1790,1796 ****
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 146 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return ID;
--- 1790,1796 ----
  (yy_c_buf_p) = yy_cp -= 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 146 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
    return ID;
*************** YY_RULE_SETUP
*** 1799,1805 ****
  case 29:
  /* rule 29 can match eol */
  YY_RULE_SETUP
! #line 151 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return STRING;
--- 1799,1805 ----
  case 29:
  /* rule 29 can match eol */
  YY_RULE_SETUP
! #line 151 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return STRING;
*************** YY_RULE_SETUP
*** 1809,1815 ****
  case 30:
  /* rule 30 can match eol */
  YY_RULE_SETUP
! #line 156 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return ARRAY;
--- 1809,1815 ----
  case 30:
  /* rule 30 can match eol */
  YY_RULE_SETUP
! #line 156 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
    return ARRAY;
*************** YY_RULE_SETUP
*** 1818,1824 ****
  case 31:
  /* rule 31 can match eol */
  YY_RULE_SETUP
! #line 160 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng);
    return CHAR;
--- 1818,1824 ----
  case 31:
  /* rule 31 can match eol */
  YY_RULE_SETUP
! #line 160 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng);
    return CHAR;
*************** YY_RULE_SETUP
*** 1826,1849 ****
  	YY_BREAK
  case 32:
  YY_RULE_SETUP
! #line 165 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return ELLIPSIS; }
  	YY_BREAK
  case 33:
  YY_RULE_SETUP
! #line 166 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { return yytext[0]; }
  	YY_BREAK
  /* ignore pp-directives */
  case 34:
  /* rule 34 can match eol */
  YY_RULE_SETUP
! #line 169 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {lexer_line.line++;}
  	YY_BREAK
  case 35:
  YY_RULE_SETUP
! #line 171 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, "unexpected character `%s'", yytext);
  }
--- 1826,1849 ----
  	YY_BREAK
  case 32:
  YY_RULE_SETUP
! #line 165 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return ELLIPSIS; }
  	YY_BREAK
  case 33:
  YY_RULE_SETUP
! #line 166 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { return yytext[0]; }
  	YY_BREAK
  /* ignore pp-directives */
  case 34:
  /* rule 34 can match eol */
  YY_RULE_SETUP
! #line 169 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {lexer_line.line++;}
  	YY_BREAK
  case 35:
  YY_RULE_SETUP
! #line 171 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, "unexpected character `%s'", yytext);
  }
*************** YY_RULE_SETUP
*** 1851,1886 ****
  
  case 36:
  YY_RULE_SETUP
! #line 176 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_comment); }
  	YY_BREAK
  case 37:
  /* rule 37 can match eol */
  YY_RULE_SETUP
! #line 177 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 38:
  /* rule 38 can match eol */
  YY_RULE_SETUP
! #line 178 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 39:
! #line 180 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 40:
  /* rule 40 can match eol */
! #line 181 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 41:
  /* rule 41 can match eol */
  YY_RULE_SETUP
! #line 181 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 42:
  /* rule 42 can match eol */
  YY_RULE_SETUP
! #line 182 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 43:
--- 1851,1886 ----
  
  case 36:
  YY_RULE_SETUP
! #line 176 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_comment); }
  	YY_BREAK
  case 37:
  /* rule 37 can match eol */
  YY_RULE_SETUP
! #line 177 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 38:
  /* rule 38 can match eol */
  YY_RULE_SETUP
! #line 178 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 39:
! #line 180 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 40:
  /* rule 40 can match eol */
! #line 181 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 41:
  /* rule 41 can match eol */
  YY_RULE_SETUP
! #line 181 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 42:
  /* rule 42 can match eol */
  YY_RULE_SETUP
! #line 182 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { update_lineno (yytext, yyleng); }
  	YY_BREAK
  case 43:
*************** YY_LINENO_REWIND_TO(yy_bp + 1);
*** 1890,1910 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 183 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 44:
  /* rule 44 can match eol */
  YY_RULE_SETUP
! #line 186 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 45:
! #line 188 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 46:
  YY_RULE_SETUP
! #line 188 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 47:
--- 1890,1910 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 183 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 44:
  /* rule 44 can match eol */
  YY_RULE_SETUP
! #line 186 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { lexer_line.line++; }
  	YY_BREAK
  case 45:
! #line 188 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 46:
  YY_RULE_SETUP
! #line 188 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 47:
*************** YY_LINENO_REWIND_TO(yy_bp + 1);
*** 1914,1938 ****
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 189 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 48:
  YY_RULE_SETUP
! #line 192 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { BEGIN(INITIAL); } 
  	YY_BREAK
  case 49:
  YY_RULE_SETUP
! #line 193 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct); }
  	YY_BREAK
  case 50:
! #line 196 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  case 51:
  YY_RULE_SETUP
! #line 196 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, 
  		 "unterminated comment or string; unexpected EOF");
--- 1914,1938 ----
  (yy_c_buf_p) = yy_cp = yy_bp + 1;
  YY_DO_BEFORE_ACTION; /* set up yytext again */
  YY_RULE_SETUP
! #line 189 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  
  case 48:
  YY_RULE_SETUP
! #line 192 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { BEGIN(INITIAL); } 
  	YY_BREAK
  case 49:
  YY_RULE_SETUP
! #line 193 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  { BEGIN(in_struct); }
  	YY_BREAK
  case 50:
! #line 196 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  case 51:
  YY_RULE_SETUP
! #line 196 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  {
    error_at_line (&lexer_line, 
  		 "unterminated comment or string; unexpected EOF");
*************** YY_RULE_SETUP
*** 1941,1952 ****
  case 52:
  /* rule 52 can match eol */
  YY_RULE_SETUP
! #line 201 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 53:
  YY_RULE_SETUP
! #line 203 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  YY_FATAL_ERROR( "flex scanner jammed" );
  	YY_BREAK
  #line 1947 "gengtype-lex.c"
--- 1941,1952 ----
  case 52:
  /* rule 52 can match eol */
  YY_RULE_SETUP
! #line 201 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  /* do nothing */
  	YY_BREAK
  case 53:
  YY_RULE_SETUP
! #line 203 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  YY_FATAL_ERROR( "flex scanner jammed" );
  	YY_BREAK
  #line 1947 "gengtype-lex.c"
*************** void yyfree (void * ptr )
*** 2924,2930 ****
  
  #define YYTABLES_NAME "yytables"
  
! #line 203 "/d/gcc-11.4.0/gcc-11.4.0/gcc/gengtype-lex.l"
  
  
  void
--- 2924,2930 ----
  
  #define YYTABLES_NAME "yytables"
  
! #line 203 "/home/rguenther/src/releases/gcc-11.5.0/gcc-11.5.0/gcc/gengtype-lex.l"
  
  
  void
diff -Nrcpad gcc-11.4.0/gcc/genmatch.c gcc-11.5.0/gcc/genmatch.c
*** gcc-11.4.0/gcc/genmatch.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/genmatch.c	Fri Jul 19 05:52:43 2024
*************** expr::gen_transform (FILE *f, int indent
*** 2548,2576 ****
  	{
  	  fprintf_indent (f, indent, "if (TREE_TYPE (_o%d[0]) != %s)\n",
  			  depth, type);
! 	  indent += 2;
  	}
        if (opr->kind == id_base::CODE)
  	fprintf_indent (f, indent, "_r%d = fold_build%d_loc (loc, %s, %s",
  			depth, ops.length(), opr_name, type);
        else
! 	{
! 	  fprintf_indent (f, indent, "{\n");
! 	  fprintf_indent (f, indent, "  _r%d = maybe_build_call_expr_loc (loc, "
! 			  "%s, %s, %d", depth, opr_name, type, ops.length());
! 	}
        for (unsigned i = 0; i < ops.length (); ++i)
  	fprintf (f, ", _o%d[%u]", depth, i);
        fprintf (f, ");\n");
        if (opr->kind != id_base::CODE)
  	{
! 	  fprintf_indent (f, indent, "  if (!_r%d)\n", depth);
! 	  fprintf_indent (f, indent, "    goto %s;\n", fail_label);
! 	  fprintf_indent (f, indent, "}\n");
  	}
        if (*opr == CONVERT_EXPR)
  	{
! 	  indent -= 2;
  	  fprintf_indent (f, indent, "else\n");
  	  fprintf_indent (f, indent, "  _r%d = _o%d[0];\n", depth, depth);
  	}
--- 2548,2579 ----
  	{
  	  fprintf_indent (f, indent, "if (TREE_TYPE (_o%d[0]) != %s)\n",
  			  depth, type);
! 	  fprintf_indent (f, indent + 2, "{\n");
! 	  indent += 4;
  	}
        if (opr->kind == id_base::CODE)
  	fprintf_indent (f, indent, "_r%d = fold_build%d_loc (loc, %s, %s",
  			depth, ops.length(), opr_name, type);
        else
! 	fprintf_indent (f, indent, "_r%d = maybe_build_call_expr_loc (loc, "
! 			"%s, %s, %d", depth, opr_name, type, ops.length());
        for (unsigned i = 0; i < ops.length (); ++i)
  	fprintf (f, ", _o%d[%u]", depth, i);
        fprintf (f, ");\n");
        if (opr->kind != id_base::CODE)
  	{
! 	  fprintf_indent (f, indent, "if (!_r%d)\n", depth);
! 	  fprintf_indent (f, indent, "  goto %s;\n", fail_label);
! 	}
!       if (force_leaf)
! 	{
! 	  fprintf_indent (f, indent, "if (EXPR_P (_r%d))\n", depth);
! 	  fprintf_indent (f, indent, "  goto %s;\n", fail_label);
  	}
        if (*opr == CONVERT_EXPR)
  	{
! 	  fprintf_indent (f, indent - 2, "}\n");
! 	  indent -= 4;
  	  fprintf_indent (f, indent, "else\n");
  	  fprintf_indent (f, indent, "  _r%d = _o%d[0];\n", depth, depth);
  	}
*************** parser::parse_expr ()
*** 4300,4308 ****
        && token->type == CPP_NOT
        && !(token->flags & PREV_WHITE))
      {
-       if (!gimple)
- 	fatal_at (token, "forcing simplification to a leaf is not supported "
- 		  "for GENERIC");
        eat_token (CPP_NOT);
        e->force_leaf = true;
      }
--- 4303,4308 ----
diff -Nrcpad gcc-11.4.0/gcc/gimple-fold.c gcc-11.5.0/gcc/gimple-fold.c
*** gcc-11.4.0/gcc/gimple-fold.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/gimple-fold.c	Fri Jul 19 05:52:43 2024
*************** clear_padding_flush (clear_padding_struc
*** 4084,4090 ****
  	  i -= wordsize;
  	  continue;
  	}
!       for (size_t j = i; j < i + wordsize && j < end; j++)
  	{
  	  if (buf->buf[j])
  	    {
--- 4084,4091 ----
  	  i -= wordsize;
  	  continue;
  	}
!       size_t endsize = end - i > wordsize ? wordsize : end - i;
!       for (size_t j = i; j < i + endsize; j++)
  	{
  	  if (buf->buf[j])
  	    {
*************** clear_padding_flush (clear_padding_struc
*** 4113,4124 ****
        if (padding_bytes)
  	{
  	  if (nonzero_first == 0
! 	      && nonzero_last == wordsize
  	      && all_ones)
  	    {
  	      /* All bits are padding and we had some padding
  		 before too.  Just extend it.  */
! 	      padding_bytes += wordsize;
  	      continue;
  	    }
  	  if (all_ones && nonzero_first == 0)
--- 4114,4125 ----
        if (padding_bytes)
  	{
  	  if (nonzero_first == 0
! 	      && nonzero_last == endsize
  	      && all_ones)
  	    {
  	      /* All bits are padding and we had some padding
  		 before too.  Just extend it.  */
! 	      padding_bytes += endsize;
  	      continue;
  	    }
  	  if (all_ones && nonzero_first == 0)
*************** clear_padding_flush (clear_padding_struc
*** 4158,4164 ****
        if (nonzero_first == wordsize)
  	/* All bits in a word are 0, there are no padding bits.  */
  	continue;
!       if (all_ones && nonzero_last == wordsize)
  	{
  	  /* All bits between nonzero_first and end of word are padding
  	     bits, start counting padding_bytes.  */
--- 4159,4165 ----
        if (nonzero_first == wordsize)
  	/* All bits in a word are 0, there are no padding bits.  */
  	continue;
!       if (all_ones && nonzero_last == endsize)
  	{
  	  /* All bits between nonzero_first and end of word are padding
  	     bits, start counting padding_bytes.  */
*************** clear_padding_flush (clear_padding_struc
*** 4200,4206 ****
  		  j = k;
  		}
  	    }
! 	  if (nonzero_last == wordsize)
  	    padding_bytes = nonzero_last - zero_last;
  	  continue;
  	}
--- 4201,4207 ----
  		  j = k;
  		}
  	    }
! 	  if (nonzero_last == endsize)
  	    padding_bytes = nonzero_last - zero_last;
  	  continue;
  	}
*************** clear_padding_type (clear_padding_struct
*** 4630,4635 ****
--- 4631,4637 ----
  	  buf->off = 0;
  	  buf->size = 0;
  	  clear_padding_emit_loop (buf, elttype, end);
+ 	  off += sz;
  	  buf->base = base;
  	  buf->sz = prev_sz;
  	  buf->align = prev_align;
diff -Nrcpad gcc-11.4.0/gcc/gimple-ssa-backprop.c gcc-11.5.0/gcc/gimple-ssa-backprop.c
*** gcc-11.4.0/gcc/gimple-ssa-backprop.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/gimple-ssa-backprop.c	Fri Jul 19 05:52:43 2024
*************** strip_sign_op_1 (tree rhs)
*** 688,694 ****
      switch (gimple_assign_rhs_code (assign))
        {
        case ABS_EXPR:
-       case ABSU_EXPR:
        case NEGATE_EXPR:
  	return gimple_assign_rhs1 (assign);
  
--- 688,693 ----
diff -Nrcpad gcc-11.4.0/gcc/gimple-ssa-sprintf.c gcc-11.5.0/gcc/gimple-ssa-sprintf.c
*** gcc-11.4.0/gcc/gimple-ssa-sprintf.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/gimple-ssa-sprintf.c	Fri Jul 19 05:52:43 2024
*************** format_character (const directive &dir,
*** 2136,2143 ****
  
    res.knownrange = true;
  
!   if (dir.specifier == 'C'
!       || dir.modifier == FMT_LEN_l)
      {
        /* A wide character can result in as few as zero bytes.  */
        res.range.min = 0;
--- 2136,2142 ----
  
    res.knownrange = true;
  
!   if (dir.specifier == 'C' || dir.modifier == FMT_LEN_l)
      {
        /* A wide character can result in as few as zero bytes.  */
        res.range.min = 0;
*************** format_character (const directive &dir,
*** 2147,2156 ****
  	{
  	  if (min == 0 && max == 0)
  	    {
! 	      /* The NUL wide character results in no bytes.  */
! 	      res.range.max = 0;
! 	      res.range.likely = 0;
! 	      res.range.unlikely = 0;
  	    }
  	  else if (min >= 0 && min < 128)
  	    {
--- 2146,2158 ----
  	{
  	  if (min == 0 && max == 0)
  	    {
! 	      /* In strict reading of older ISO C or POSIX, this required
! 		 no characters to be emitted.  ISO C23 changes that, so
! 		 does POSIX, to match what has been implemented in most of the
! 		 implementations, namely emitting a single NUL character.
! 		 Let's use 0 for minimum and 1 for all the other values.  */
! 	      res.range.max = 1;
! 	      res.range.likely = res.range.unlikely = 1;
  	    }
  	  else if (min >= 0 && min < 128)
  	    {
*************** format_character (const directive &dir,
*** 2158,2168 ****
  		 is not a 1-to-1 mapping to the source character set or
  		 if the source set is not ASCII.  */
  	      bool one_2_one_ascii
! 		= (target_to_host_charmap[0] == 1 && target_to_host ('a') == 97);
  
  	      /* A wide character in the ASCII range most likely results
  		 in a single byte, and only unlikely in up to MB_LEN_MAX.  */
! 	      res.range.max = one_2_one_ascii ? 1 : target_mb_len_max ();;
  	      res.range.likely = 1;
  	      res.range.unlikely = target_mb_len_max ();
  	      res.mayfail = !one_2_one_ascii;
--- 2160,2171 ----
  		 is not a 1-to-1 mapping to the source character set or
  		 if the source set is not ASCII.  */
  	      bool one_2_one_ascii
! 		= (target_to_host_charmap[0] == 1
! 		   && target_to_host ('a') == 97);
  
  	      /* A wide character in the ASCII range most likely results
  		 in a single byte, and only unlikely in up to MB_LEN_MAX.  */
! 	      res.range.max = one_2_one_ascii ? 1 : target_mb_len_max ();
  	      res.range.likely = 1;
  	      res.range.unlikely = target_mb_len_max ();
  	      res.mayfail = !one_2_one_ascii;
*************** format_character (const directive &dir,
*** 2193,2199 ****
        /* A plain '%c' directive.  Its output is exactly 1.  */
        res.range.min = res.range.max = 1;
        res.range.likely = res.range.unlikely = 1;
-       res.knownrange = true;
      }
  
    /* Bump up the byte counters if WIDTH is greater.  */
--- 2196,2201 ----
diff -Nrcpad gcc-11.4.0/gcc/gimple-ssa-store-merging.c gcc-11.5.0/gcc/gimple-ssa-store-merging.c
*** gcc-11.4.0/gcc/gimple-ssa-store-merging.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/gimple-ssa-store-merging.c	Fri Jul 19 05:52:43 2024
*************** imm_store_chain_info::output_merged_stor
*** 4519,4530 ****
  		    }
  		  else if ((BYTES_BIG_ENDIAN ? start_gap : end_gap) > 0)
  		    {
! 		      const unsigned HOST_WIDE_INT imask
! 			= (HOST_WIDE_INT_1U << info->bitsize) - 1;
  		      tem = gimple_build (&seq, loc,
  					  BIT_AND_EXPR, TREE_TYPE (tem), tem,
! 					  build_int_cst (TREE_TYPE (tem),
! 							 imask));
  		    }
  		  const HOST_WIDE_INT shift
  		    = (BYTES_BIG_ENDIAN ? end_gap : start_gap);
--- 4519,4531 ----
  		    }
  		  else if ((BYTES_BIG_ENDIAN ? start_gap : end_gap) > 0)
  		    {
! 		      wide_int imask
! 			= wi::mask (info->bitsize, false,
! 				    TYPE_PRECISION (TREE_TYPE (tem)));
  		      tem = gimple_build (&seq, loc,
  					  BIT_AND_EXPR, TREE_TYPE (tem), tem,
! 					  wide_int_to_tree (TREE_TYPE (tem),
! 							    imask));
  		    }
  		  const HOST_WIDE_INT shift
  		    = (BYTES_BIG_ENDIAN ? end_gap : start_gap);
diff -Nrcpad gcc-11.4.0/gcc/go/ChangeLog gcc-11.5.0/gcc/go/ChangeLog
*** gcc-11.4.0/gcc/go/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/go/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,15 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2023-06-29  Paul E. Murphy  <murphyp@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-06-22  Paul E. Murphy  <murphyp@linux.ibm.com>
+ 
+ 	* go-backend.c [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS.
+ 	* go-lang.c: Likewise.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/go/go-backend.c gcc-11.5.0/gcc/go/go-backend.c
*** gcc-11.4.0/gcc/go/go-backend.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/go/go-backend.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 45,52 ****
  #define GO_EXPORT_SECTION_NAME ".go_export"
  #endif
  
! #ifndef TARGET_AIX
! #define TARGET_AIX 0
  #endif
  
  /* This file holds all the cases where the Go frontend needs
--- 45,52 ----
  #define GO_EXPORT_SECTION_NAME ".go_export"
  #endif
  
! #ifndef TARGET_AIX_OS
! #define TARGET_AIX_OS 0
  #endif
  
  /* This file holds all the cases where the Go frontend needs
*************** go_write_export_data (const char *bytes,
*** 107,113 ****
      {
        gcc_assert (targetm_common.have_named_sections);
        sec = get_section (GO_EXPORT_SECTION_NAME,
! 			 TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG,
  			 NULL);
      }
  
--- 107,113 ----
      {
        gcc_assert (targetm_common.have_named_sections);
        sec = get_section (GO_EXPORT_SECTION_NAME,
! 			 TARGET_AIX_OS ? SECTION_EXCLUDE : SECTION_DEBUG,
  			 NULL);
      }
  
diff -Nrcpad gcc-11.4.0/gcc/go/go-lang.c gcc-11.5.0/gcc/go/go-lang.c
*** gcc-11.4.0/gcc/go/go-lang.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/go/go-lang.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 39,46 ****
  #include "go-c.h"
  #include "go-gcc.h"
  
! #ifndef TARGET_AIX
! #define TARGET_AIX 0
  #endif
  
  /* Language-dependent contents of a type.  */
--- 39,46 ----
  #include "go-c.h"
  #include "go-gcc.h"
  
! #ifndef TARGET_AIX_OS
! #define TARGET_AIX_OS 0
  #endif
  
  /* Language-dependent contents of a type.  */
*************** go_langhook_init (void)
*** 119,127 ****
    args.compiling_runtime = go_compiling_runtime;
    args.debug_escape_level = go_debug_escape_level;
    args.debug_escape_hash = go_debug_escape_hash;
!   args.nil_check_size_threshold = TARGET_AIX ? -1 : 4096;
    args.debug_optimization = go_debug_optimization;
!   args.need_eqtype = TARGET_AIX ? true : false;
    args.linemap = go_get_linemap();
    args.backend = go_get_backend();
    go_create_gogo (&args);
--- 119,127 ----
    args.compiling_runtime = go_compiling_runtime;
    args.debug_escape_level = go_debug_escape_level;
    args.debug_escape_hash = go_debug_escape_hash;
!   args.nil_check_size_threshold = TARGET_AIX_OS ? -1 : 4096;
    args.debug_optimization = go_debug_optimization;
!   args.need_eqtype = TARGET_AIX_OS ? true : false;
    args.linemap = go_get_linemap();
    args.backend = go_get_backend();
    go_create_gogo (&args);
diff -Nrcpad gcc-11.4.0/gcc/internal-fn.c gcc-11.5.0/gcc/internal-fn.c
*** gcc-11.4.0/gcc/internal-fn.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/internal-fn.c	Fri Jul 19 05:52:43 2024
*************** along with GCC; see the file COPYING3.
*** 51,56 ****
--- 51,61 ----
  #include "ssa-iterators.h"
  #include "explow.h"
  #include "rtl-iter.h"
+ #include "tree-ssa-live.h"
+ #include "tree-outof-ssa.h"
+ 
+ /* For lang_hooks.types.type_for_mode.  */
+ #include "langhooks.h"
  
  /* The names of each internal function, indexed by function number.  */
  const char *const internal_fn_name_array[] = {
*************** expand_mul_overflow (location_t loc, tre
*** 1388,1394 ****
--- 1393,1403 ----
    rtx target = NULL_RTX;
    signop sign;
    enum insn_code icode;
+   int save_flag_trapv = flag_trapv;
  
+   /* We don't want any __mulv?i3 etc. calls from the expansion of
+      these internal functions, so disable -ftrapv temporarily.  */
+   flag_trapv = 0;
    done_label = gen_label_rtx ();
    do_error = gen_label_rtx ();
  
*************** expand_mul_overflow (location_t loc, tre
*** 2230,2235 ****
--- 2239,2245 ----
        else
  	expand_arith_overflow_result_store (lhs, target, mode, res);
      }
+   flag_trapv = save_flag_trapv;
  }
  
  /* Expand UBSAN_CHECK_* internal function if it has vector operands.  */
*************** expand_vector_ubsan_overflow (location_t
*** 2250,2256 ****
--- 2260,2270 ----
    rtx resvr = NULL_RTX;
    unsigned HOST_WIDE_INT const_cnt = 0;
    bool use_loop_p = (!cnt.is_constant (&const_cnt) || const_cnt > 4);
+   int save_flag_trapv = flag_trapv;
  
+   /* We don't want any __mulv?i3 etc. calls from the expansion of
+      these internal functions, so disable -ftrapv temporarily.  */
+   flag_trapv = 0;
    if (lhs)
      {
        optab op;
*************** expand_vector_ubsan_overflow (location_t
*** 2380,2385 ****
--- 2394,2400 ----
      }
    else if (resvr)
      emit_move_insn (lhsr, resvr);
+   flag_trapv = save_flag_trapv;
  }
  
  /* Expand UBSAN_CHECK_ADD call STMT.  */
*************** expand_arith_overflow (enum tree_code co
*** 2458,2464 ****
--- 2473,2483 ----
    prec0 = MIN (prec0, pr);
    pr = get_min_precision (arg1, uns1_p ? UNSIGNED : SIGNED);
    prec1 = MIN (prec1, pr);
+   int save_flag_trapv = flag_trapv;
  
+   /* We don't want any __mulv?i3 etc. calls from the expansion of
+      these internal functions, so disable -ftrapv temporarily.  */
+   flag_trapv = 0;
    /* If uns0_p && uns1_p, precop is minimum needed precision
       of unsigned type to hold the exact result, otherwise
       precop is minimum needed precision of signed type to
*************** expand_arith_overflow (enum tree_code co
*** 2499,2504 ****
--- 2518,2524 ----
  	  ops.location = loc;
  	  rtx tem = expand_expr_real_2 (&ops, NULL_RTX, mode, EXPAND_NORMAL);
  	  expand_arith_overflow_result_store (lhs, target, mode, tem);
+ 	  flag_trapv = save_flag_trapv;
  	  return;
  	}
  
*************** expand_arith_overflow (enum tree_code co
*** 2522,2537 ****
--- 2542,2560 ----
  	      if (integer_zerop (arg0) && !unsr_p)
  		{
  		  expand_neg_overflow (loc, lhs, arg1, false, NULL);
+ 		  flag_trapv = save_flag_trapv;
  		  return;
  		}
  	      /* FALLTHRU */
  	    case PLUS_EXPR:
  	      expand_addsub_overflow (loc, code, lhs, arg0, arg1, unsr_p,
  				      unsr_p, unsr_p, false, NULL);
+ 	      flag_trapv = save_flag_trapv;
  	      return;
  	    case MULT_EXPR:
  	      expand_mul_overflow (loc, lhs, arg0, arg1, unsr_p,
  				   unsr_p, unsr_p, false, NULL);
+ 	      flag_trapv = save_flag_trapv;
  	      return;
  	    default:
  	      gcc_unreachable ();
*************** expand_arith_overflow (enum tree_code co
*** 2577,2582 ****
--- 2600,2606 ----
  	  else
  	    expand_mul_overflow (loc, lhs, arg0, arg1, unsr_p,
  				 uns0_p, uns1_p, false, NULL);
+ 	  flag_trapv = save_flag_trapv;
  	  return;
  	}
  
*************** expand_call_mem_ref (tree type, gcall *s
*** 2658,2665 ****
    tree tmp = addr;
    if (TREE_CODE (tmp) == SSA_NAME)
      {
!       gimple *def = SSA_NAME_DEF_STMT (tmp);
!       if (gimple_assign_single_p (def))
  	tmp = gimple_assign_rhs1 (def);
      }
  
--- 2682,2689 ----
    tree tmp = addr;
    if (TREE_CODE (tmp) == SSA_NAME)
      {
!       gimple *def = get_gimple_for_ssa_name (tmp);
!       if (def && gimple_assign_single_p (def))
  	tmp = gimple_assign_rhs1 (def);
      }
  
diff -Nrcpad gcc-11.4.0/gcc/ipa-icf.c gcc-11.5.0/gcc/ipa-icf.c
*** gcc-11.4.0/gcc/ipa-icf.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/ipa-icf.c	Fri Jul 19 05:52:43 2024
*************** sem_item_optimizer::merge_classes (unsig
*** 3389,3394 ****
--- 3389,3395 ----
  	  continue;
  
  	sem_item *source = c->members[0];
+ 	bool this_merged_p = false;
  
  	if (DECL_NAME (source->decl)
  	    && MAIN_NAME_P (DECL_NAME (source->decl)))
*************** sem_item_optimizer::merge_classes (unsig
*** 3435,3441 ****
  	    if (dbg_cnt (merged_ipa_icf))
  	      {
  		bool merged = source->merge (alias);
! 		merged_p |= merged;
  
  		if (merged && alias->type == VAR)
  		  {
--- 3436,3442 ----
  	    if (dbg_cnt (merged_ipa_icf))
  	      {
  		bool merged = source->merge (alias);
! 		this_merged_p |= merged;
  
  		if (merged && alias->type == VAR)
  		  {
*************** sem_item_optimizer::merge_classes (unsig
*** 3444,3449 ****
--- 3445,3479 ----
  		  }
  	      }
  	  }
+ 
+ 	merged_p |= this_merged_p;
+ 	if (this_merged_p
+ 	    && source->type == FUNC
+ 	    && (!flag_wpa || flag_checking))
+ 	  {
+ 	    unsigned i;
+ 	    tree name;
+ 	    FOR_EACH_SSA_NAME (i, name, DECL_STRUCT_FUNCTION (source->decl))
+ 	      {
+ 		/* We need to either merge or reset SSA_NAME_*_INFO.
+ 		   For merging we don't preserve the mapping between
+ 		   original and alias SSA_NAMEs from successful equals
+ 		   calls.  */
+ 		if (POINTER_TYPE_P (TREE_TYPE (name)))
+ 		  {
+ 		    if (SSA_NAME_PTR_INFO (name))
+ 		      {
+ 			gcc_checking_assert (!flag_wpa);
+ 			SSA_NAME_PTR_INFO (name) = NULL;
+ 		      }
+ 		  }
+ 		else if (SSA_NAME_RANGE_INFO (name))
+ 		  {
+ 		    gcc_checking_assert (!flag_wpa);
+ 		    SSA_NAME_RANGE_INFO (name) = NULL;
+ 		  }
+ 	      }
+ 	  }
        }
  
    if (!m_merged_variables.is_empty ())
diff -Nrcpad gcc-11.4.0/gcc/jit/ChangeLog gcc-11.5.0/gcc/jit/ChangeLog
*** gcc-11.4.0/gcc/jit/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/jit/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,16 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* Make-lang.in: Implement exports list, and use a shared
+ 	libgcc.
+ 	* libgccjit.exports: New file.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/jit/Make-lang.in gcc-11.5.0/gcc/jit/Make-lang.in
*** gcc-11.4.0/gcc/jit/Make-lang.in	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/jit/Make-lang.in	Fri Jul 19 05:52:43 2024
*************** else
*** 55,61 ****
  
  ifneq (,$(findstring darwin,$(host)))
  
! LIBGCCJIT_AGE = 1
  LIBGCCJIT_BASENAME = libgccjit
  
  LIBGCCJIT_SONAME = \
--- 55,71 ----
  
  ifneq (,$(findstring darwin,$(host)))
  
! # NOTE that we are building here for the host, and so tests for target-
! # specific functionality will only work when host == target.  This causes
! # fails when building cross-compilers with different object formats (at
! # least when the respective linkers do not accept the same command line
! # options).  Fortunately, for Darwin we can safely hard-code the relevant
! # host options, since all usable linkers support them).
! 
! LIBGCCJIT_CURRENT = 15
! LIBGCCJIT_REVISION = 0
! LIBGCCJIT_AGE = 15
! LIBGCCJIT_COMPAT = 0
  LIBGCCJIT_BASENAME = libgccjit
  
  LIBGCCJIT_SONAME = \
*************** LIBGCCJIT_SONAME = \
*** 63,80 ****
  LIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib
  LIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib
  
! # Conditionalize the use of the LD_VERSION_SCRIPT_OPTION and
! # LD_SONAME_OPTION depending if configure found them, using $(if)
! # We have to define a COMMA here, otherwise the commas in the "true"
! # result are treated as separators by the $(if).
  COMMA := ,
  LIBGCCJIT_VERSION_SCRIPT_OPTION = \
! 	$(if $(LD_VERSION_SCRIPT_OPTION),\
! 	  -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map)
  
  LIBGCCJIT_SONAME_OPTION = \
! 	$(if $(LD_SONAME_OPTION), \
! 	     -Wl$(COMMA)$(LD_SONAME_OPTION)$(COMMA)$(LIBGCCJIT_SONAME))
  
  LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME)
  LIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME)
--- 73,90 ----
  LIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib
  LIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib
  
! # Darwin does not have a version script option. Exported symbols are controlled
! # by the following, and library versioning is done using libtool.
! # We have to define a COMMA here, otherwise the commas are treated as
! # separators.
  COMMA := ,
  LIBGCCJIT_VERSION_SCRIPT_OPTION = \
!   -Wl$(COMMA)-exported_symbols_list$(COMMA)$(srcdir)/jit/libgccjit.exports
  
+ # For Darwin host, we need a l64 or ld64-compatible linker, that uses
+ # -install_name to introduce this.
  LIBGCCJIT_SONAME_OPTION = \
!   -Wl$(COMMA)-install_name$(COMMA)$(LIBGCCJIT_SONAME)
  
  LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME)
  LIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME)
*************** ifneq (,$(findstring mingw,$(target)))
*** 143,157 ****
  # Create import library
  LIBGCCJIT_EXTRA_OPTS = -Wl,--out-implib,$(LIBGCCJIT_IMPORT_LIB)
  else
- 
  ifneq (,$(findstring darwin,$(host)))
! # TODO : Construct a Darwin-style symbol export file.
! LIBGCCJIT_EXTRA_OPTS = -Wl,-compatibility_version,$(LIBGCCJIT_VERSION_NUM) \
! 	-Wl,-current_version,$(LIBGCCJIT_VERSION_NUM).$(LIBGCCJIT_MINOR_NUM).$(LIBGCCJIT_AGE) \
! 	$(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
! 	$(LIBGCCJIT_SONAME_OPTION)
  else
! 
  LIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
  	$(LIBGCCJIT_SONAME_OPTION)
  endif
--- 153,170 ----
  # Create import library
  LIBGCCJIT_EXTRA_OPTS = -Wl,--out-implib,$(LIBGCCJIT_IMPORT_LIB)
  else
  ifneq (,$(findstring darwin,$(host)))
! LIBGCCJIT_VERS = $(LIBGCCJIT_CURRENT).$(LIBGCCJIT_REVISION).$(LIBGCCJIT_AGE)
! LIBGCCJIT_EXTRA_OPTS = -Wl,-current_version,$(LIBGCCJIT_VERS) \
!  -Wl,-compatibility_version,$(LIBGCCJIT_COMPAT) \
!   $(LIBGCCJIT_VERSION_SCRIPT_OPTION) $(LIBGCCJIT_SONAME_OPTION)
! # Use the default (shared) libgcc.
! JIT_LDFLAGS = $(filter-out -static-libgcc, $(LDFLAGS))
! ifeq (,$(findstring darwin8,$(host)))
! JIT_LDFLAGS += -Wl,-rpath,@loader_path
! endif
  else
! JIT_LDFLAGS = $(LDFLAGS)
  LIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
  	$(LIBGCCJIT_SONAME_OPTION)
  endif
*************** $(LIBGCCJIT_FILENAME): $(jit_OBJS) \
*** 165,171 ****
  	$(LIBDEPS) $(srcdir)/jit/libgccjit.map \
  	$(EXTRA_GCC_OBJS) $(jit.prev)
  	@$(call LINK_PROGRESS,$(INDEX.jit),start)
! 	+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ -shared \
  	     $(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \
  	     $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \
  	     $(EXTRA_GCC_OBJS) \
--- 178,184 ----
  	$(LIBDEPS) $(srcdir)/jit/libgccjit.map \
  	$(EXTRA_GCC_OBJS) $(jit.prev)
  	@$(call LINK_PROGRESS,$(INDEX.jit),start)
! 	+$(LLINKER) $(ALL_LINKERFLAGS) $(JIT_LDFLAGS) -o $@ -shared \
  	     $(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \
  	     $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \
  	     $(EXTRA_GCC_OBJS) \
diff -Nrcpad gcc-11.4.0/gcc/jit/libgccjit.exports gcc-11.5.0/gcc/jit/libgccjit.exports
*** gcc-11.4.0/gcc/jit/libgccjit.exports	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/jit/libgccjit.exports	Fri Jul 19 05:52:43 2024
***************
*** 0 ****
--- 1,171 ----
+ # Linker export list for Darwin libgccjit.dylib
+ 
+ #   Contributed by Iain Sandoe <iain@sandoe.co.uk>.
+ #
+ # This file is part of GCC.
+ #
+ # GCC is free software you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+ # the Free Software Foundation either version 3, or (at your option)
+ # any later version.
+ #
+ # GCC is distributed in the hope that it will be useful, but
+ # WITHOUT ANY WARRANTY without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with GCC see the file COPYING3.  If not see
+ # <http://www.gnu.org/licenses/>.  */
+ 
+ # The initial release of the library.
+ # Keep this list sorted alphabetically:
+ _gcc_jit_block_add_assignment
+ _gcc_jit_block_add_assignment_op
+ _gcc_jit_block_add_comment
+ _gcc_jit_block_add_eval
+ _gcc_jit_block_as_object
+ _gcc_jit_block_end_with_conditional
+ _gcc_jit_block_end_with_jump
+ _gcc_jit_block_end_with_return
+ _gcc_jit_block_end_with_void_return
+ _gcc_jit_block_get_function
+ _gcc_jit_context_acquire
+ _gcc_jit_context_compile
+ _gcc_jit_context_compile_to_file
+ _gcc_jit_context_dump_to_file
+ _gcc_jit_context_dump_reproducer_to_file
+ _gcc_jit_context_enable_dump
+ _gcc_jit_context_get_builtin_function
+ _gcc_jit_context_get_first_error
+ _gcc_jit_context_get_last_error
+ _gcc_jit_context_get_type
+ _gcc_jit_context_get_int_type
+ _gcc_jit_context_new_array_access
+ _gcc_jit_context_new_array_type
+ _gcc_jit_context_new_binary_op
+ _gcc_jit_context_new_call
+ _gcc_jit_context_new_call_through_ptr
+ _gcc_jit_context_new_cast
+ _gcc_jit_context_new_child_context
+ _gcc_jit_context_new_comparison
+ _gcc_jit_context_new_field
+ _gcc_jit_context_new_function
+ _gcc_jit_context_new_function_ptr_type
+ _gcc_jit_context_new_global
+ _gcc_jit_context_new_location
+ _gcc_jit_context_new_opaque_struct
+ _gcc_jit_context_new_param
+ _gcc_jit_context_new_rvalue_from_double
+ _gcc_jit_context_new_rvalue_from_int
+ _gcc_jit_context_new_rvalue_from_long
+ _gcc_jit_context_new_rvalue_from_ptr
+ _gcc_jit_context_new_string_literal
+ _gcc_jit_context_new_struct_type
+ _gcc_jit_context_new_unary_op
+ _gcc_jit_context_new_union_type
+ _gcc_jit_context_null
+ _gcc_jit_context_one
+ _gcc_jit_context_release
+ _gcc_jit_context_set_bool_option
+ _gcc_jit_context_set_int_option
+ _gcc_jit_context_set_logfile
+ _gcc_jit_context_set_str_option
+ _gcc_jit_context_zero
+ _gcc_jit_field_as_object
+ _gcc_jit_function_as_object
+ _gcc_jit_function_dump_to_dot
+ _gcc_jit_function_get_param
+ _gcc_jit_function_new_block
+ _gcc_jit_function_new_local
+ _gcc_jit_location_as_object
+ _gcc_jit_lvalue_as_object
+ _gcc_jit_lvalue_as_rvalue
+ _gcc_jit_lvalue_access_field
+ _gcc_jit_lvalue_get_address
+ _gcc_jit_object_get_context
+ _gcc_jit_object_get_debug_string
+ _gcc_jit_param_as_lvalue
+ _gcc_jit_param_as_object
+ _gcc_jit_param_as_rvalue
+ _gcc_jit_result_get_code
+ _gcc_jit_result_get_global
+ _gcc_jit_result_release
+ _gcc_jit_rvalue_access_field
+ _gcc_jit_rvalue_as_object
+ _gcc_jit_rvalue_dereference
+ _gcc_jit_rvalue_dereference_field
+ _gcc_jit_rvalue_get_type
+ _gcc_jit_struct_as_type
+ _gcc_jit_struct_set_fields
+ _gcc_jit_type_as_object
+ _gcc_jit_type_get_const
+ _gcc_jit_type_get_pointer
+ _gcc_jit_type_get_volatile
+ 
+ # Add support for adding arbitrary command-line options (PR jit/66628).
+ # LIBGCCJIT_ABI_1
+ _gcc_jit_context_add_command_line_option
+ 
+ # Add support for disabling the check for unreachable blocks (PR jit/66546).
+ # LIBGCCJIT_ABI_2
+ _gcc_jit_context_set_bool_allow_unreachable_blocks
+ 
+ # Add support for switch statements.
+ # LIBGCCJIT_ABI_3
+ _gcc_jit_block_end_with_switch
+ _gcc_jit_case_as_object
+ _gcc_jit_context_new_case
+ 
+ # Add timing API.
+ #LIBGCCJIT_ABI_4
+ _gcc_jit_context_get_timer
+ _gcc_jit_context_set_timer
+ _gcc_jit_timer_new
+ _gcc_jit_timer_release
+ _gcc_jit_timer_push
+ _gcc_jit_timer_pop
+ _gcc_jit_timer_print
+ 
+ # LIBGCCJIT_ABI_5
+ _gcc_jit_context_set_bool_use_external_driver
+ 
+ # LIBGCCJIT_ABI_6
+ _gcc_jit_rvalue_set_bool_require_tail_call
+ 
+ # LIBGCCJIT_ABI_7
+ _gcc_jit_type_get_aligned
+ 
+ # LIBGCCJIT_ABI_8
+ _gcc_jit_type_get_vector
+ 
+ # LIBGCCJIT_ABI_9
+ _gcc_jit_function_get_address
+ 
+ # LIBGCCJIT_ABI_10
+ _gcc_jit_context_new_rvalue_from_vector
+ 
+ # LIBGCCJIT_ABI_11
+ _gcc_jit_context_add_driver_option
+ 
+ # LIBGCCJIT_ABI_12
+ _gcc_jit_context_new_bitfield
+ 
+ # LIBGCCJIT_ABI_13
+ _gcc_jit_version_major
+ _gcc_jit_version_minor
+ _gcc_jit_version_patchlevel
+ 
+ # LIBGCCJIT_ABI_14
+ _gcc_jit_global_set_initializer
+ 
+ # LIBGCCJIT_ABI_15
+ _gcc_jit_block_add_extended_asm
+ _gcc_jit_block_end_with_extended_asm_goto
+ _gcc_jit_extended_asm_as_object
+ _gcc_jit_extended_asm_set_volatile_flag
+ _gcc_jit_extended_asm_set_inline_flag
+ _gcc_jit_extended_asm_add_output_operand
+ _gcc_jit_extended_asm_add_input_operand
+ _gcc_jit_extended_asm_add_clobber
+ _gcc_jit_context_add_top_level_asm
diff -Nrcpad gcc-11.4.0/gcc/lto/ChangeLog gcc-11.5.0/gcc/lto/ChangeLog
*** gcc-11.4.0/gcc/lto/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/lto/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/match.pd gcc-11.5.0/gcc/match.pd
*** gcc-11.4.0/gcc/match.pd	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/match.pd	Fri Jul 19 05:52:44 2024
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 1543,1549 ****
  /* (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2) */
  (simplify
    (bit_and (bit_ior @0 CONSTANT_CLASS_P@1) CONSTANT_CLASS_P@2)
!   (bit_ior (bit_and @0 @2) (bit_and @1 @2)))
  
  /* Combine successive equal operations with constants.  */
  (for bitop (bit_and bit_ior bit_xor)
--- 1543,1549 ----
  /* (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2) */
  (simplify
    (bit_and (bit_ior @0 CONSTANT_CLASS_P@1) CONSTANT_CLASS_P@2)
!   (bit_ior (bit_and @0 @2) (bit_and! @1 @2)))
  
  /* Combine successive equal operations with constants.  */
  (for bitop (bit_and bit_ior bit_xor)
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 1552,1558 ****
    (if (!CONSTANT_CLASS_P (@0))
     /* This is the canonical form regardless of whether (bitop @1 @2) can be
        folded to a constant.  */
!    (bitop @0 (bitop @1 @2))
     /* In this case we have three constants and (bitop @0 @1) doesn't fold
        to a constant.  This can happen if @0 or @1 is a POLY_INT_CST and if
        the values involved are such that the operation can't be decided at
--- 1552,1558 ----
    (if (!CONSTANT_CLASS_P (@0))
     /* This is the canonical form regardless of whether (bitop @1 @2) can be
        folded to a constant.  */
!    (bitop @0 (bitop! @1 @2))
     /* In this case we have three constants and (bitop @0 @1) doesn't fold
        to a constant.  This can happen if @0 or @1 is a POLY_INT_CST and if
        the values involved are such that the operation can't be decided at
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 2432,2444 ****
  	 forever if something doesn't simplify into a constant.  */
        (if (!CONSTANT_CLASS_P (@0))
         (if (outer_op == PLUS_EXPR)
! 	(plus (view_convert @0) (inner_op @2 (view_convert @1)))
! 	(minus (view_convert @0) (neg_inner_op @2 (view_convert @1)))))
        (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	   || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
         (if (outer_op == PLUS_EXPR)
! 	(view_convert (plus @0 (inner_op (view_convert @2) @1)))
! 	(view_convert (minus @0 (neg_inner_op (view_convert @2) @1))))
         /* If the constant operation overflows we cannot do the transform
  	  directly as we would introduce undefined overflow, for example
  	  with (a - 1) + INT_MIN.  */
--- 2432,2444 ----
  	 forever if something doesn't simplify into a constant.  */
        (if (!CONSTANT_CLASS_P (@0))
         (if (outer_op == PLUS_EXPR)
! 	(plus (view_convert @0) (inner_op! @2 (view_convert @1)))
! 	(minus (view_convert @0) (neg_inner_op! @2 (view_convert @1)))))
        (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	   || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
         (if (outer_op == PLUS_EXPR)
! 	(view_convert (plus @0 (inner_op! (view_convert @2) @1)))
! 	(view_convert (minus @0 (neg_inner_op! (view_convert @2) @1))))
         /* If the constant operation overflows we cannot do the transform
  	  directly as we would introduce undefined overflow, for example
  	  with (a - 1) + INT_MIN.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 2469,2478 ****
       /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse
  	forever if something doesn't simplify into a constant.  */
       (if (!CONSTANT_CLASS_P (@0))
!       (minus (outer_op (view_convert @1) @2) (view_convert @0)))
       (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
!       (view_convert (minus (outer_op @1 (view_convert @2)) @0))
        (if (types_match (type, @0))
         (with { tree cst = const_binop (outer_op, type, @1, @2); }
  	(if (cst && !TREE_OVERFLOW (cst))
--- 2469,2478 ----
       /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse
  	forever if something doesn't simplify into a constant.  */
       (if (!CONSTANT_CLASS_P (@0))
!       (minus (outer_op! (view_convert @1) @2) (view_convert @0)))
       (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
!       (view_convert (minus (outer_op! @1 (view_convert @2)) @0))
        (if (types_match (type, @0))
         (with { tree cst = const_binop (outer_op, type, @1, @2); }
  	(if (cst && !TREE_OVERFLOW (cst))
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 2488,2497 ****
      /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse
        forever if something doesn't simplify into a constant.  */
      (if (!CONSTANT_CLASS_P (@0))
!      (plus (view_convert @0) (minus @1 (view_convert @2))))
      (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
!      (view_convert (plus @0 (minus (view_convert @1) @2)))
       (if (types_match (type, @0))
        (with { tree cst = const_binop (MINUS_EXPR, type, @1, @2); }
         (if (cst && !TREE_OVERFLOW (cst))
--- 2488,2497 ----
      /* If all 3 captures are CONSTANT_CLASS_P, punt, as we might recurse
        forever if something doesn't simplify into a constant.  */
      (if (!CONSTANT_CLASS_P (@0))
!      (plus (view_convert @0) (minus! @1 (view_convert @2))))
      (if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
  	 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (@0)))
!      (view_convert (plus @0 (minus! (view_convert @1) @2)))
       (if (types_match (type, @0))
        (with { tree cst = const_binop (MINUS_EXPR, type, @1, @2); }
         (if (cst && !TREE_OVERFLOW (cst))
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 3376,3394 ****
        int inside_ptr = POINTER_TYPE_P (inside_type);
        int inside_float = FLOAT_TYPE_P (inside_type);
        int inside_vec = VECTOR_TYPE_P (inside_type);
!       unsigned int inside_prec = TYPE_PRECISION (inside_type);
        int inside_unsignedp = TYPE_UNSIGNED (inside_type);
        int inter_int = INTEGRAL_TYPE_P (inter_type);
        int inter_ptr = POINTER_TYPE_P (inter_type);
        int inter_float = FLOAT_TYPE_P (inter_type);
        int inter_vec = VECTOR_TYPE_P (inter_type);
!       unsigned int inter_prec = TYPE_PRECISION (inter_type);
        int inter_unsignedp = TYPE_UNSIGNED (inter_type);
        int final_int = INTEGRAL_TYPE_P (type);
        int final_ptr = POINTER_TYPE_P (type);
        int final_float = FLOAT_TYPE_P (type);
        int final_vec = VECTOR_TYPE_P (type);
!       unsigned int final_prec = TYPE_PRECISION (type);
        int final_unsignedp = TYPE_UNSIGNED (type);
      }
     (switch
--- 3376,3394 ----
        int inside_ptr = POINTER_TYPE_P (inside_type);
        int inside_float = FLOAT_TYPE_P (inside_type);
        int inside_vec = VECTOR_TYPE_P (inside_type);
!       unsigned int inside_prec = element_precision (inside_type);
        int inside_unsignedp = TYPE_UNSIGNED (inside_type);
        int inter_int = INTEGRAL_TYPE_P (inter_type);
        int inter_ptr = POINTER_TYPE_P (inter_type);
        int inter_float = FLOAT_TYPE_P (inter_type);
        int inter_vec = VECTOR_TYPE_P (inter_type);
!       unsigned int inter_prec = element_precision (inter_type);
        int inter_unsignedp = TYPE_UNSIGNED (inter_type);
        int final_int = INTEGRAL_TYPE_P (type);
        int final_ptr = POINTER_TYPE_P (type);
        int final_float = FLOAT_TYPE_P (type);
        int final_vec = VECTOR_TYPE_P (type);
!       unsigned int final_prec = element_precision (type);
        int final_unsignedp = TYPE_UNSIGNED (type);
      }
     (switch
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 3675,3680 ****
--- 3675,3684 ----
  /* (v ? w : 0) ? a : b is just (v & w) ? a : b
     Currently disabled after pass lvec because ARM understands
     VEC_COND_EXPR<v==w,-1,0> but not a plain v==w fed to BIT_IOR_EXPR.  */
+ #if GIMPLE
+ /* These can only be done in gimple as fold likes to convert:
+    (CMP) & N into (CMP) ? N : 0
+    and we try to match the same pattern again and again. */
  (simplify
   (vec_cond (vec_cond:s @0 @3 integer_zerop) @1 @2)
   (if (optimize_vectors_before_lowering_p () && types_match (@0, @3))
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 3709,3714 ****
--- 3713,3719 ----
   (vec_cond @0 @3 (vec_cond:s @1 @2 @3))
   (if (optimize_vectors_before_lowering_p () && types_match (@0, @1))
    (vec_cond (bit_and (bit_not @0) @1) @2 @3)))
+ #endif
  
  /* Canonicalize mask ? { 0, ... } : { -1, ...} to ~mask if the mask
     types are compatible.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 4707,4725 ****
  		   >= TYPE_PRECISION (TREE_TYPE (@10)))
  		  && (TYPE_UNSIGNED (TREE_TYPE (@00))
  		      == TYPE_UNSIGNED (TREE_TYPE (@10))))
! 	      || (TREE_CODE (@10) == INTEGER_CST
  		  && INTEGRAL_TYPE_P (TREE_TYPE (@00))
! 		  && int_fits_type_p (@10, TREE_TYPE (@00)))))
        (cmp @00 (convert @10))
!       (if (TREE_CODE (@10) == INTEGER_CST
  	   && INTEGRAL_TYPE_P (TREE_TYPE (@00))
! 	   && !int_fits_type_p (@10, TREE_TYPE (@00)))
         (with
  	{
  	  tree min = lower_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00));
  	  tree max = upper_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00));
! 	  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, @10));
! 	  bool below = integer_nonzerop (const_binop (LT_EXPR, type, @10, min));
  	}
  	(if (above || below)
  	 (if (cmp == EQ_EXPR || cmp == NE_EXPR)
--- 4712,4730 ----
  		   >= TYPE_PRECISION (TREE_TYPE (@10)))
  		  && (TYPE_UNSIGNED (TREE_TYPE (@00))
  		      == TYPE_UNSIGNED (TREE_TYPE (@10))))
! 	      || (TREE_CODE (@1) == INTEGER_CST
  		  && INTEGRAL_TYPE_P (TREE_TYPE (@00))
! 		  && int_fits_type_p (@1, TREE_TYPE (@00)))))
        (cmp @00 (convert @10))
!       (if (TREE_CODE (@1) == INTEGER_CST
  	   && INTEGRAL_TYPE_P (TREE_TYPE (@00))
! 	   && !int_fits_type_p (@1, TREE_TYPE (@00)))
         (with
  	{
  	  tree min = lower_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00));
  	  tree max = upper_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00));
! 	  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, @1));
! 	  bool below = integer_nonzerop (const_binop (LT_EXPR, type, @1, min));
  	}
  	(if (above || below)
  	 (if (cmp == EQ_EXPR || cmp == NE_EXPR)
diff -Nrcpad gcc-11.4.0/gcc/objc/ChangeLog gcc-11.5.0/gcc/objc/ChangeLog
*** gcc-11.4.0/gcc/objc/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/objc/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,105 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-05-10  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-05-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-next-runtime-abi-02.c (WEAK_PROTOCOLS_AFTER): New.
+ 	(next_runtime_abi_02_protocol_decl): Use WEAK_PROTOCOLS_AFTER
+ 	to determine this ABI change.
+ 	(build_v2_protocol_list_address_table): Likewise.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-next-runtime-abi-02.c (build_v2_address_table): Prevent
+ 	over-alignment of Objective-C metadata by setting DECL_USER_ALIGN
+ 	on relevant variables.
+ 	(build_v2_protocol_list_address_table): Likewise.
+ 	(generate_v2_protocol_list): Likewise.
+ 	(generate_v2_meth_descriptor_table): Likewise.
+ 	(generate_v2_meth_type_list): Likewise.
+ 	(generate_v2_property_table): Likewise.
+ 	(generate_v2_dispatch_table): Likewise.
+ 	(generate_v2_ivars_list): Likewise.
+ 	(generate_v2_class_structs): Likewise.
+ 	(build_ehtype): Likewise.
+ 	* objc-runtime-shared-support.c (generate_strings): Likewise.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-act.c (objc_init): Initialize interface and class
+ 	name hash maps before the preprocessor uses them.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-12  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-next-runtime-abi-02.c
+ 	(build_v2_objc_method_fixup_call): Early exit for cases
+ 	where the sender or receiver are known to be in error.
+ 
+ 2024-04-23  Matt Jacobson  <mhjacobson@me.com>
+ 
+ 	Backported from master:
+ 	2021-08-17  Matt Jacobson  <mhjacobson@me.com>
+ 
+ 	* objc-next-runtime-abi-02.c
+ 	(objc_next_runtime_abi_02_init): Warn about and reset
+ 	flag_objc_sjlj_exceptions regardless of flag_objc_exceptions.
+ 	(next_runtime_02_initialize): Use a checking assert that
+ 	flag_objc_sjlj_exceptions is off.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-08-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
+ 	Default receiver nilchecks on.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-08-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 		    Matt Jacobson   <mhjacobson@me.com>
+ 
+ 	PR objc/101666
+ 	* objc-act.c (objc_build_constructor): Handle empty constructor
+ 	lists.
+ 	* objc-next-runtime-abi-02.c (build_v2_objc_method_fixup_call):
+ 	Handle nil receivers.
+ 	(build_v2_build_objc_method_call): Likewise.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-next-runtime-abi-02.c (next_runtime_abi_02_protocol_decl): Do
+ 	not dead-strip the runtime meta-data symbols.
+ 	(build_v2_classrefs_table): Likewise.
+ 	(build_v2_protocol_list_address_table): Likewise.
+ 
+ 2024-03-31  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR objc/101718
+ 	* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call):
+ 	Revise for cases where scalar objects use an sret parameter.
+ 	(next_runtime_abi_02_build_objc_method_call): Likwise.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/objc/objc-act.c gcc-11.5.0/gcc/objc/objc-act.c
*** gcc-11.4.0/gcc/objc/objc-act.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/objc/objc-act.c	Fri Jul 19 05:52:44 2024
*************** bool
*** 347,352 ****
--- 347,357 ----
  objc_init (void)
  {
    bool ok;
+ 
+   /* Set up stuff used by the preprocessor as well as FE parser.  */
+   interface_hash_init ();
+   hash_init ();
+ 
  #ifdef OBJCPLUS
    if (cxx_init () == false)
  #else
*************** objc_init (void)
*** 376,383 ****
  
    /* Set up stuff used by FE parser and all runtimes.  */
    errbuf = XNEWVEC (char, 1024 * 10);
-   interface_hash_init ();
-   hash_init ();
    objc_encoding_init ();
    /* ... and then check flags and set-up for the selected runtime ... */
    if (flag_next_runtime && flag_objc_abi >= 2)
--- 381,386 ----
*************** objc_build_string_object (tree string)
*** 3376,3383 ****
    return addr;
  }
  
! /* Build a static constant CONSTRUCTOR
!    with type TYPE and elements ELTS.  */
  
  tree
  objc_build_constructor (tree type, vec<constructor_elt, va_gc> *elts)
--- 3379,3388 ----
    return addr;
  }
  
! /* Build a static constant CONSTRUCTOR with type TYPE and elements ELTS.
!    We might be presented with a NULL for ELTS, which means 'empty ctor'
!    which will subsequently be converted into a zero initializer in the
!    middle end.  */
  
  tree
  objc_build_constructor (tree type, vec<constructor_elt, va_gc> *elts)
*************** objc_build_constructor (tree type, vec<c
*** 3389,3400 ****
    TREE_READONLY (constructor) = 1;
  
  #ifdef OBJCPLUS
!   /* Adjust for impedance mismatch.  We should figure out how to build
!      CONSTRUCTORs that consistently please both the C and C++ gods.  */
!   if (!(*elts)[0].index)
      TREE_TYPE (constructor) = init_list_type_node;
  #endif
- 
    return constructor;
  }
  
--- 3394,3403 ----
    TREE_READONLY (constructor) = 1;
  
  #ifdef OBJCPLUS
!   /* If we know the initializer, then set the type to what C++ expects.  */
!   if (elts && !(*elts)[0].index)
      TREE_TYPE (constructor) = init_list_type_node;
  #endif
    return constructor;
  }
  
*************** objc_gimplify_property_ref (tree *expr_p
*** 9663,9669 ****
        call_exp = TREE_OPERAND (getter, 1);
      }
  #endif
!   gcc_assert (TREE_CODE (call_exp) == CALL_EXPR);
  
    *expr_p = call_exp;
  }
--- 9666,9674 ----
        call_exp = TREE_OPERAND (getter, 1);
      }
  #endif
!   gcc_checking_assert ((flag_objc_nilcheck
! 			&& TREE_CODE (call_exp) == COND_EXPR)
! 		       || TREE_CODE (call_exp) == CALL_EXPR);
  
    *expr_p = call_exp;
  }
diff -Nrcpad gcc-11.4.0/gcc/objc/objc-next-runtime-abi-02.c gcc-11.5.0/gcc/objc/objc-next-runtime-abi-02.c
*** gcc-11.4.0/gcc/objc/objc-next-runtime-abi-02.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/objc/objc-next-runtime-abi-02.c	Fri Jul 19 05:52:44 2024
*************** along with GCC; see the file COPYING3.
*** 70,75 ****
--- 70,76 ----
  #define TAG_MSGSENDSUPER_STRET	"objc_msgSendSuper2_stret"
  
  #define USE_FIXUP_BEFORE	100600
+ #define WEAK_PROTOCOLS_AFTER	100700
  #define TAG_FIXUP		"_fixup"
  
  
*************** objc_next_runtime_abi_02_init (objc_runt
*** 245,251 ****
  {
    extern_names = ggc_cleared_vec_alloc<hash> (SIZEHASHTABLE);
  
!   if (flag_objc_exceptions && flag_objc_sjlj_exceptions)
      {
        inform (UNKNOWN_LOCATION,
  	      "%<-fobjc-sjlj-exceptions%> is ignored for "
--- 246,252 ----
  {
    extern_names = ggc_cleared_vec_alloc<hash> (SIZEHASHTABLE);
  
!   if (flag_objc_sjlj_exceptions)
      {
        inform (UNKNOWN_LOCATION,
  	      "%<-fobjc-sjlj-exceptions%> is ignored for "
*************** objc_next_runtime_abi_02_init (objc_runt
*** 254,259 ****
--- 255,264 ----
        flag_objc_sjlj_exceptions = 0;
      }
  
+   /* NeXT ABI 2 is intended to default to checking for nil receivers.  */
+   if (! global_options_set.x_flag_objc_nilcheck)
+     flag_objc_nilcheck = 1;
+ 
    rthooks->initialize = next_runtime_02_initialize;
    rthooks->default_constant_string_class_name = DEF_CONSTANT_STRING_CLASS_NAME;
    rthooks->tag_getclass = TAG_GETCLASS;
*************** static void next_runtime_02_initialize (
*** 507,513 ****
    objc_getPropertyStruct_decl = NULL_TREE;
    objc_setPropertyStruct_decl = NULL_TREE;
  
!   gcc_assert (!flag_objc_sjlj_exceptions);
  
    /* Although we warn that fobjc-exceptions is required for exceptions
       code, we carry on and create it anyway.  */
--- 512,518 ----
    objc_getPropertyStruct_decl = NULL_TREE;
    objc_setPropertyStruct_decl = NULL_TREE;
  
!   gcc_checking_assert (!flag_objc_sjlj_exceptions);
  
    /* Although we warn that fobjc-exceptions is required for exceptions
       code, we carry on and create it anyway.  */
*************** next_runtime_abi_02_protocol_decl (tree
*** 1027,1033 ****
    /* static struct _objc_protocol _OBJC_Protocol_<mumble>; */
    snprintf (buf, BUFSIZE, "_OBJC_Protocol_%s",
  	    IDENTIFIER_POINTER (PROTOCOL_NAME (p)));
!   if (flag_next_runtime >= USE_FIXUP_BEFORE)
      {
        decl = create_hidden_decl (objc_v2_protocol_template, buf);
        DECL_WEAK (decl) = true;
--- 1032,1038 ----
    /* static struct _objc_protocol _OBJC_Protocol_<mumble>; */
    snprintf (buf, BUFSIZE, "_OBJC_Protocol_%s",
  	    IDENTIFIER_POINTER (PROTOCOL_NAME (p)));
!   if (flag_next_runtime >= WEAK_PROTOCOLS_AFTER)
      {
        decl = create_hidden_decl (objc_v2_protocol_template, buf);
        DECL_WEAK (decl) = true;
*************** next_runtime_abi_02_protocol_decl (tree
*** 1035,1040 ****
--- 1040,1046 ----
    else
      decl = start_var_decl (objc_v2_protocol_template, buf);
    OBJCMETA (decl, objc_meta, meta_protocol);
+   DECL_PRESERVE_P (decl) = 1;
    return decl;
  }
  
*************** build_v2_objc_method_fixup_call (int sup
*** 1658,1663 ****
--- 1664,1671 ----
    rcv_p = (super_flag ? objc_super_type : objc_object_type);
  
    lookup_object = build_c_cast (input_location, rcv_p, lookup_object);
+   if (sender == error_mark_node || lookup_object == error_mark_node)
+     return error_mark_node;
  
    /* Use SAVE_EXPR to avoid evaluating the receiver twice.  */
    lookup_object = save_expr (lookup_object);
*************** build_v2_objc_method_fixup_call (int sup
*** 1675,1687 ****
  
        if (TREE_CODE (ret_type) == RECORD_TYPE
  	  || TREE_CODE (ret_type) == UNION_TYPE)
! 	{
! 	  vec<constructor_elt, va_gc> *rtt = NULL;
! 	  /* ??? CHECKME. hmmm..... think we need something more
! 	     here.  */
! 	  CONSTRUCTOR_APPEND_ELT (rtt, NULL_TREE, NULL_TREE);
! 	  ftree = objc_build_constructor (ret_type, rtt);
! 	}
        else
  	ftree = fold_convert (ret_type, integer_zero_node);
  
--- 1683,1690 ----
  
        if (TREE_CODE (ret_type) == RECORD_TYPE
  	  || TREE_CODE (ret_type) == UNION_TYPE)
! 	/* An empty constructor is zero-filled by the middle end.  */
! 	ftree = objc_build_constructor (ret_type, NULL);
        else
  	ftree = fold_convert (ret_type, integer_zero_node);
  
*************** build_v2_objc_method_fixup_call (int sup
*** 1694,1704 ****
  					ifexp, ret_val, ftree,
  					tf_warning_or_error);
  #else
-      /* ??? CHECKME.   */
        ret_val = build_conditional_expr (input_location,
! 					ifexp, 1,
  					ret_val, NULL_TREE, input_location,
  					ftree, NULL_TREE, input_location);
  #endif
      }
    return ret_val;
--- 1697,1707 ----
  					ifexp, ret_val, ftree,
  					tf_warning_or_error);
  #else
        ret_val = build_conditional_expr (input_location,
! 					ifexp, 0,
  					ret_val, NULL_TREE, input_location,
  					ftree, NULL_TREE, input_location);
+       ret_val = fold_convert (ret_type, ret_val);
  #endif
      }
    return ret_val;
*************** build_v2_build_objc_method_call (int sup
*** 1740,1754 ****
    /* Param list + 2 slots for object and selector.  */
    vec_alloc (parms, nparm + 2);
  
!   /* If we are returning a struct in memory, and the address
!      of that memory location is passed as a hidden first
!      argument, then change which messenger entry point this
!      expr will call.  NB: Note that sender_cast remains
!      unchanged (it already has a struct return type).  */
!   if (!targetm.calls.struct_value_rtx (0, 0)
!       && (TREE_CODE (ret_type) == RECORD_TYPE
! 	  || TREE_CODE (ret_type) == UNION_TYPE)
!       && targetm.calls.return_in_memory (ret_type, 0))
      {
        if (super)
  	sender = umsg_id_super2_stret_fixup_decl;
--- 1743,1758 ----
    /* Param list + 2 slots for object and selector.  */
    vec_alloc (parms, nparm + 2);
  
!   /* If we are returning an item that must be returned in memory, and the
!      target ABI does this by an invisible pointer provided as the first arg,
!      we need to adjust the message signature to include this.  The second
!      part of this excludes targets that provide some alternate scheme for
!      structure returns.  */
!   if (ret_type && !VOID_TYPE_P (ret_type)
!       && targetm.calls.return_in_memory (ret_type, 0)
!       && !(targetm.calls.struct_value_rtx (0, 0)
! 	   && (TREE_CODE (ret_type) == RECORD_TYPE
! 	       || TREE_CODE (ret_type) == UNION_TYPE)))
      {
        if (super)
  	sender = umsg_id_super2_stret_fixup_decl;
*************** build_v2_build_objc_method_call (int sup
*** 1790,1800 ****
        if (TREE_CODE (ret_type) == RECORD_TYPE
  	  || TREE_CODE (ret_type) == UNION_TYPE)
  	{
! 	  vec<constructor_elt, va_gc> *rtt = NULL;
! 	  /* ??? CHECKME. hmmm..... think we need something more
! 	     here.  */
! 	  CONSTRUCTOR_APPEND_ELT (rtt, NULL_TREE, NULL_TREE);
! 	  ftree = objc_build_constructor (ret_type, rtt);
  	}
        else
  	ftree = fold_convert (ret_type, integer_zero_node);
--- 1794,1801 ----
        if (TREE_CODE (ret_type) == RECORD_TYPE
  	  || TREE_CODE (ret_type) == UNION_TYPE)
  	{
! 	/* An empty constructor is zero-filled by the middle end.  */
! 	  ftree = objc_build_constructor (ret_type, NULL);
  	}
        else
  	ftree = fold_convert (ret_type, integer_zero_node);
*************** build_v2_build_objc_method_call (int sup
*** 1807,1816 ****
        ret_val = build_conditional_expr (loc, ifexp, ret_val, ftree,
  					tf_warning_or_error);
  #else
-      /* ??? CHECKME.   */
        ret_val = build_conditional_expr (loc, ifexp, 1,
  					ret_val, NULL_TREE, loc,
  					ftree, NULL_TREE, loc);
  #endif
      }
    return ret_val;
--- 1808,1817 ----
        ret_val = build_conditional_expr (loc, ifexp, ret_val, ftree,
  					tf_warning_or_error);
  #else
        ret_val = build_conditional_expr (loc, ifexp, 1,
  					ret_val, NULL_TREE, loc,
  					ftree, NULL_TREE, loc);
+       ret_val = fold_convert (ret_type, ret_val);
  #endif
      }
    return ret_val;
*************** next_runtime_abi_02_build_objc_method_ca
*** 1853,1862 ****
  	     ? TREE_VALUE (TREE_TYPE (method_prototype))
  	     : objc_object_type;
  
!   if (!targetm.calls.struct_value_rtx (0, 0)
!       && (TREE_CODE (ret_type) == RECORD_TYPE
! 	  || TREE_CODE (ret_type) == UNION_TYPE)
!       && targetm.calls.return_in_memory (ret_type, 0))
      {
        if (super)
  	message_func_decl = umsg_id_super2_stret_fixup_decl;
--- 1854,1865 ----
  	     ? TREE_VALUE (TREE_TYPE (method_prototype))
  	     : objc_object_type;
  
!   /* See comment for the fixup version above.  */
!   if (ret_type && !VOID_TYPE_P (ret_type)
!       && targetm.calls.return_in_memory (ret_type, 0)
!       && !(targetm.calls.struct_value_rtx (0, 0)
! 	   && (TREE_CODE (ret_type) == RECORD_TYPE
! 	       || TREE_CODE (ret_type) == UNION_TYPE)))
      {
        if (super)
  	message_func_decl = umsg_id_super2_stret_fixup_decl;
*************** build_v2_classrefs_table (void)
*** 2121,2128 ****
  	  expr = convert (objc_class_type, build_fold_addr_expr (expr));
  	}
        /* The runtime wants this, even if it appears unused, so we must force the
! 	 output.
!       DECL_PRESERVE_P (decl) = 1; */
        finish_var_decl (decl, expr);
      }
  }
--- 2124,2131 ----
  	  expr = convert (objc_class_type, build_fold_addr_expr (expr));
  	}
        /* The runtime wants this, even if it appears unused, so we must force the
! 	 output.  */
!       DECL_PRESERVE_P (decl) = 1;
        finish_var_decl (decl, expr);
      }
  }
*************** build_v2_address_table (vec<tree, va_gc>
*** 2249,2254 ****
--- 2252,2258 ----
    DECL_PRESERVE_P (decl) = 1;
    expr = objc_build_constructor (type, initlist);
    OBJCMETA (decl, objc_meta, attr);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, expr);
  }
  
*************** build_v2_protocol_list_address_table (vo
*** 2314,2320 ****
        gcc_assert (ref->id && TREE_CODE (ref->id) == PROTOCOL_INTERFACE_TYPE);
        snprintf (buf, BUFSIZE, "_OBJC_LabelProtocol_%s",
  		IDENTIFIER_POINTER (PROTOCOL_NAME (ref->id)));
!       if (flag_next_runtime >= USE_FIXUP_BEFORE)
  	{
  	  decl = create_hidden_decl (objc_protocol_type, buf, /*is def=*/true);
  	  DECL_WEAK (decl) = true;
--- 2318,2324 ----
        gcc_assert (ref->id && TREE_CODE (ref->id) == PROTOCOL_INTERFACE_TYPE);
        snprintf (buf, BUFSIZE, "_OBJC_LabelProtocol_%s",
  		IDENTIFIER_POINTER (PROTOCOL_NAME (ref->id)));
!       if (flag_next_runtime >= WEAK_PROTOCOLS_AFTER)
  	{
  	  decl = create_hidden_decl (objc_protocol_type, buf, /*is def=*/true);
  	  DECL_WEAK (decl) = true;
*************** build_v2_protocol_list_address_table (vo
*** 2323,2328 ****
--- 2327,2334 ----
  	decl = create_global_decl (objc_protocol_type, buf, /*is def=*/true);
        expr = convert (objc_protocol_type, build_fold_addr_expr (ref->refdecl));
        OBJCMETA (decl, objc_meta, meta_label_protocollist);
+       DECL_PRESERVE_P (decl) = 1;
+       DECL_USER_ALIGN (decl) = 1;
        finish_var_decl (decl, expr);
      }
  
*************** generate_v2_protocol_list (tree i_or_p,
*** 2401,2406 ****
--- 2407,2413 ----
    /* ObjC2 puts all these in the base section.  */
    OBJCMETA (refs_decl, objc_meta, meta_base);
    DECL_PRESERVE_P (refs_decl) = 1;
+   DECL_USER_ALIGN (refs_decl) = 1;
    finish_var_decl (refs_decl,
  		   objc_build_constructor (TREE_TYPE (refs_decl),initlist));
    return refs_decl;
*************** generate_v2_meth_descriptor_table (tree
*** 2509,2514 ****
--- 2516,2522 ----
    CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, initlist);
    /* Get into the right section.  */
    OBJCMETA (decl, objc_meta, attr);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, objc_build_constructor (method_list_template, v));
    return decl;
  }
*************** generate_v2_meth_type_list (vec<tree>& a
*** 2527,2539 ****
  	    IDENTIFIER_POINTER (PROTOCOL_NAME (protocol)));
    tree decl = start_var_decl (list_type, nam);
    free (nam);
-   OBJCMETA (decl, objc_meta, meta_base);
    vec<constructor_elt, va_gc> *v = NULL;
  
    for (unsigned i = 0; i < size; ++i)
      CONSTRUCTOR_APPEND_ELT (v, NULL_TREE,
  			    add_objc_string (METHOD_ENCODING (all_meths[i]),
  					     meth_var_types));
    finish_var_decl (decl, objc_build_constructor (list_type, v));
    return decl;
  }
--- 2535,2548 ----
  	    IDENTIFIER_POINTER (PROTOCOL_NAME (protocol)));
    tree decl = start_var_decl (list_type, nam);
    free (nam);
    vec<constructor_elt, va_gc> *v = NULL;
  
    for (unsigned i = 0; i < size; ++i)
      CONSTRUCTOR_APPEND_ELT (v, NULL_TREE,
  			    add_objc_string (METHOD_ENCODING (all_meths[i]),
  					     meth_var_types));
+   OBJCMETA (decl, objc_meta, meta_base);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, objc_build_constructor (list_type, v));
    return decl;
  }
*************** generate_v2_property_table (tree context
*** 2656,2661 ****
--- 2665,2671 ----
    CONSTRUCTOR_APPEND_ELT (inits, NULL_TREE, initlist);
  
    OBJCMETA (decl, objc_meta, meta_base);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), inits));
    return decl;
  }
*************** generate_v2_dispatch_table (tree chain,
*** 2867,2872 ****
--- 2877,2883 ----
    CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, initlist);
  
    OBJCMETA (decl, objc_meta, attr);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl,
  		   objc_build_constructor (TREE_TYPE (decl), v));
    return decl;
*************** generate_v2_ivars_list (tree chain, cons
*** 3164,3169 ****
--- 3175,3181 ----
  			  build_int_cst (integer_type_node, size));
    CONSTRUCTOR_APPEND_ELT (inits, NULL_TREE, initlist);
    OBJCMETA (decl, objc_meta, attr);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), inits));
    generating_instance_variables = 0;
    return decl;
*************** generate_v2_class_structs (struct imp_en
*** 3431,3437 ****
    decl = start_var_decl (objc_v2_class_ro_template,
  			 newabi_append_ro (IDENTIFIER_POINTER
  						(DECL_NAME (metaclass_decl))));
- 
    /* TODO: ivarLayout needs t be built.  */
    initlist =
  	build_v2_class_ro_t_initializer (TREE_TYPE (decl), name_expr,
--- 3443,3448 ----
*************** generate_v2_class_structs (struct imp_en
*** 3441,3446 ****
--- 3452,3458 ----
  					class_ivars, NULL_TREE);
    /* The ROs sit in the default const section.  */
    OBJCMETA (decl, objc_meta, meta_base);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, initlist);
  
    /* static struct class_t _OBJC_METACLASS_Foo = { ... }; */
*************** generate_v2_class_structs (struct imp_en
*** 3452,3457 ****
--- 3464,3470 ----
  				      build_fold_addr_expr (UOBJC_V2_CACHE_decl),
  				      build_fold_addr_expr (UOBJC_V2_VTABLE_decl));
    /* The class section attributes are set when they are created.  */
+   DECL_USER_ALIGN (metaclass_decl) = 1;
    finish_var_decl (metaclass_decl, initlist);
    impent->meta_decl = metaclass_decl;
  
*************** generate_v2_class_structs (struct imp_en
*** 3531,3536 ****
--- 3544,3550 ----
  					 inst_ivars, props);
    /* The ROs sit in the default const section.  */
    OBJCMETA (decl, objc_meta, meta_base);
+   DECL_USER_ALIGN (decl) = 1;
    finish_var_decl (decl, initlist);
  
    /* static struct class_t _OBJC_CLASS_Foo = { ... }; */
*************** generate_v2_class_structs (struct imp_en
*** 3542,3547 ****
--- 3556,3562 ----
  					build_fold_addr_expr (UOBJC_V2_VTABLE_decl));
  
    /* The class section attributes are set when they are created.  */
+   DECL_USER_ALIGN (class_decl) = 1;
    finish_var_decl (class_decl, initlist);
    impent->class_decl = class_decl;
  
*************** build_ehtype (tree name, const char *eh_
*** 3716,3721 ****
--- 3731,3737 ----
      DECL_WEAK (ehtype_decl) = 1;
    inits = objc2_build_ehtype_initializer (name_expr, class_name_expr);
    OBJCMETA (ehtype_decl, objc_meta, meta_ehtype);
+   DECL_USER_ALIGN (ehtype_decl) = 1;
    finish_var_decl (ehtype_decl, inits);
    return ehtype_decl;
  }
diff -Nrcpad gcc-11.4.0/gcc/objc/objc-runtime-shared-support.c gcc-11.5.0/gcc/objc/objc-runtime-shared-support.c
*** gcc-11.4.0/gcc/objc/objc-runtime-shared-support.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/objc/objc-runtime-shared-support.c	Fri Jul 19 05:52:44 2024
*************** generate_strings (void)
*** 689,694 ****
--- 689,695 ----
        decl = TREE_PURPOSE (chain);
        string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
  				     IDENTIFIER_POINTER (string));
+       DECL_USER_ALIGN (decl) = 1;
        finish_var_decl (decl, string_expr);
      }
  
*************** generate_strings (void)
*** 698,703 ****
--- 699,705 ----
        decl = TREE_PURPOSE (chain);
        string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
  				     IDENTIFIER_POINTER (string));
+       DECL_USER_ALIGN (decl) = 1;
        finish_var_decl (decl, string_expr);
      }
  
*************** generate_strings (void)
*** 707,712 ****
--- 709,715 ----
        decl = TREE_PURPOSE (chain);
        string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
  				     IDENTIFIER_POINTER (string));
+       DECL_USER_ALIGN (decl) = 1;
        finish_var_decl (decl, string_expr);
      }
  
*************** generate_strings (void)
*** 716,721 ****
--- 719,725 ----
        decl = TREE_PURPOSE (chain);
        string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,
  				     IDENTIFIER_POINTER (string));
+       DECL_USER_ALIGN (decl) = 1;
        finish_var_decl (decl, string_expr);
      }
  }
diff -Nrcpad gcc-11.4.0/gcc/objcp/ChangeLog gcc-11.5.0/gcc/objcp/ChangeLog
*** gcc-11.4.0/gcc/objcp/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/objcp/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/opts-common.c gcc-11.5.0/gcc/opts-common.c
*** gcc-11.4.0/gcc/opts-common.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/opts-common.c	Fri Jul 19 05:52:44 2024
*************** add_misspelling_candidates (auto_vec<cha
*** 499,504 ****
--- 499,505 ----
    for (unsigned i = 0; i < ARRAY_SIZE (option_map); i++)
      {
        const char *opt0 = option_map[i].opt0;
+       const char *opt1 = option_map[i].opt1;
        const char *new_prefix = option_map[i].new_prefix;
        size_t new_prefix_len = strlen (new_prefix);
  
*************** add_misspelling_candidates (auto_vec<cha
*** 507,514 ****
  
        if (strncmp (opt_text, new_prefix, new_prefix_len) == 0)
  	{
! 	  char *alternative = concat (opt0 + 1, opt_text + new_prefix_len,
! 				      NULL);
  	  candidates->safe_push (alternative);
  	}
      }
--- 508,516 ----
  
        if (strncmp (opt_text, new_prefix, new_prefix_len) == 0)
  	{
! 	  char *alternative
! 	    = concat (opt0 + 1, opt1 ? " " : "", opt1 ? opt1 : "",
! 		      opt_text + new_prefix_len, NULL);
  	  candidates->safe_push (alternative);
  	}
      }
diff -Nrcpad gcc-11.4.0/gcc/po/ChangeLog gcc-11.5.0/gcc/po/ChangeLog
*** gcc-11.4.0/gcc/po/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/po/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/rtl-ssa/accesses.cc gcc-11.5.0/gcc/rtl-ssa/accesses.cc
*** gcc-11.4.0/gcc/rtl-ssa/accesses.cc	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/rtl-ssa/accesses.cc	Fri Jul 19 05:52:44 2024
*************** function_info::insert_temp_clobber (obst
*** 1290,1296 ****
  }
  
  // A subroutine of make_uses_available.  Try to make USE's definition
! // available at the head of BB.  On success:
  //
  // - If the use would have the same def () as USE, return USE.
  //
--- 1290,1299 ----
  }
  
  // A subroutine of make_uses_available.  Try to make USE's definition
! // available at the head of BB.  WILL_BE_DEBUG_USE is true if the
! // definition will be used only in debug instructions.
! //
! // On success:
  //
  // - If the use would have the same def () as USE, return USE.
  //
*************** function_info::insert_temp_clobber (obst
*** 1302,1308 ****
  //
  // Return null on failure.
  use_info *
! function_info::make_use_available (use_info *use, bb_info *bb)
  {
    set_info *def = use->def ();
    if (!def)
--- 1305,1312 ----
  //
  // Return null on failure.
  use_info *
! function_info::make_use_available (use_info *use, bb_info *bb,
! 				   bool will_be_debug_use)
  {
    set_info *def = use->def ();
    if (!def)
*************** function_info::make_use_available (use_i
*** 1318,1324 ****
        && single_pred (cfg_bb) == use_bb->cfg_bb ()
        && remains_available_on_exit (def, use_bb))
      {
!       if (def->ebb () == bb->ebb ())
  	return use;
  
        resource_info resource = use->resource ();
--- 1322,1328 ----
        && single_pred (cfg_bb) == use_bb->cfg_bb ()
        && remains_available_on_exit (def, use_bb))
      {
!       if (def->ebb () == bb->ebb () || will_be_debug_use)
  	return use;
  
        resource_info resource = use->resource ();
*************** function_info::make_use_available (use_i
*** 1362,1368 ****
  // See the comment above the declaration.
  use_array
  function_info::make_uses_available (obstack_watermark &watermark,
! 				    use_array uses, bb_info *bb)
  {
    unsigned int num_uses = uses.size ();
    if (num_uses == 0)
--- 1366,1373 ----
  // See the comment above the declaration.
  use_array
  function_info::make_uses_available (obstack_watermark &watermark,
! 				    use_array uses, bb_info *bb,
! 				    bool will_be_debug_uses)
  {
    unsigned int num_uses = uses.size ();
    if (num_uses == 0)
*************** function_info::make_uses_available (obst
*** 1371,1377 ****
    auto **new_uses = XOBNEWVEC (watermark, access_info *, num_uses);
    for (unsigned int i = 0; i < num_uses; ++i)
      {
!       use_info *use = make_use_available (uses[i], bb);
        if (!use)
  	return use_array (access_array::invalid ());
        new_uses[i] = use;
--- 1376,1382 ----
    auto **new_uses = XOBNEWVEC (watermark, access_info *, num_uses);
    for (unsigned int i = 0; i < num_uses; ++i)
      {
!       use_info *use = make_use_available (uses[i], bb, will_be_debug_uses);
        if (!use)
  	return use_array (access_array::invalid ());
        new_uses[i] = use;
diff -Nrcpad gcc-11.4.0/gcc/rtl-ssa/functions.h gcc-11.5.0/gcc/rtl-ssa/functions.h
*** gcc-11.4.0/gcc/rtl-ssa/functions.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/rtl-ssa/functions.h	Fri Jul 19 05:52:44 2024
*************** public:
*** 126,133 ****
    // If the operation fails, return an invalid use_array.
    //
    // WATERMARK is a watermark returned by new_change_attempt ().
    use_array make_uses_available (obstack_watermark &watermark,
! 				 use_array uses, bb_info *bb);
  
    // If CHANGE doesn't already clobber REGNO, try to add such a clobber,
    // limiting the movement range in order to make the clobber valid.
--- 126,136 ----
    // If the operation fails, return an invalid use_array.
    //
    // WATERMARK is a watermark returned by new_change_attempt ().
+   // WILL_BE_DEBUG_USES is true if the returned use_array will be
+   // used only for debug instructions.
    use_array make_uses_available (obstack_watermark &watermark,
! 				 use_array uses, bb_info *bb,
! 				 bool will_be_debug_uses);
  
    // If CHANGE doesn't already clobber REGNO, try to add such a clobber,
    // limiting the movement range in order to make the clobber valid.
*************** private:
*** 196,202 ****
    def_node *need_def_node (def_info *);
    def_splay_tree need_def_splay_tree (def_info *);
  
!   use_info *make_use_available (use_info *, bb_info *);
    def_array insert_temp_clobber (obstack_watermark &, insn_info *,
  				 unsigned int, def_array);
  
--- 199,205 ----
    def_node *need_def_node (def_info *);
    def_splay_tree need_def_splay_tree (def_info *);
  
!   use_info *make_use_available (use_info *, bb_info *, bool);
    def_array insert_temp_clobber (obstack_watermark &, insn_info *,
  				 unsigned int, def_array);
  
diff -Nrcpad gcc-11.4.0/gcc/rtl-ssa/insns.h gcc-11.5.0/gcc/rtl-ssa/insns.h
*** gcc-11.4.0/gcc/rtl-ssa/insns.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/rtl-ssa/insns.h	Fri Jul 19 05:52:44 2024
*************** using insn_call_clobbers_tree = default_
*** 141,147 ****
  // of "notes", a bit like REG_NOTES for the underlying RTL insns.
  class insn_info
  {
!   // Size: 8 LP64 words.
    friend class ebb_info;
    friend class function_info;
  
--- 141,147 ----
  // of "notes", a bit like REG_NOTES for the underlying RTL insns.
  class insn_info
  {
!   // Size: 9 LP64 words.
    friend class ebb_info;
    friend class function_info;
  
*************** private:
*** 401,410 ****
    // The number of definitions and the number uses.  FIRST_PSEUDO_REGISTER + 1
    // is the maximum number of accesses to hard registers and memory, and
    // MAX_RECOG_OPERANDS is the maximum number of pseudos that can be
!   // defined by an instruction, so the number of definitions should fit
!   // easily in 16 bits.
    unsigned int m_num_uses;
!   unsigned int m_num_defs : 16;
  
    // Flags returned by the accessors above.
    unsigned int m_is_debug_insn : 1;
--- 401,411 ----
    // The number of definitions and the number uses.  FIRST_PSEUDO_REGISTER + 1
    // is the maximum number of accesses to hard registers and memory, and
    // MAX_RECOG_OPERANDS is the maximum number of pseudos that can be
!   // defined by an instruction, so the number of definitions in a real
!   // instruction should fit easily in 16 bits.  However, there are no
!   // limits on the number of definitions in artifical instructions.
    unsigned int m_num_uses;
!   unsigned int m_num_defs;
  
    // Flags returned by the accessors above.
    unsigned int m_is_debug_insn : 1;
*************** private:
*** 414,420 ****
    unsigned int m_has_volatile_refs : 1;
  
    // For future expansion.
!   unsigned int m_spare : 11;
  
    // The program point at which the instruction occurs.
    //
--- 415,421 ----
    unsigned int m_has_volatile_refs : 1;
  
    // For future expansion.
!   unsigned int m_spare : 27;
  
    // The program point at which the instruction occurs.
    //
*************** private:
*** 431,436 ****
--- 432,440 ----
    // instruction.
    mutable int m_cost_or_uid;
  
+   // On LP64 systems, there's a gap here that could be used for future
+   // expansion.
+ 
    // The list of notes that have been attached to the instruction.
    insn_note *m_first_note;
  };
diff -Nrcpad gcc-11.4.0/gcc/rtlanal.c gcc-11.5.0/gcc/rtlanal.c
*** gcc-11.4.0/gcc/rtlanal.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/rtlanal.c	Fri Jul 19 05:52:44 2024
*************** set_noop_p (const_rtx set)
*** 1644,1655 ****
      return 1;
  
    if (MEM_P (dst) && MEM_P (src))
!     return rtx_equal_p (dst, src) && !side_effects_p (dst);
  
    if (GET_CODE (dst) == ZERO_EXTRACT)
!     return rtx_equal_p (XEXP (dst, 0), src)
! 	   && !BITS_BIG_ENDIAN && XEXP (dst, 2) == const0_rtx
! 	   && !side_effects_p (src);
  
    if (GET_CODE (dst) == STRICT_LOW_PART)
      dst = XEXP (dst, 0);
--- 1644,1658 ----
      return 1;
  
    if (MEM_P (dst) && MEM_P (src))
!     return (rtx_equal_p (dst, src)
! 	    && !side_effects_p (dst)
! 	    && !side_effects_p (src));
  
    if (GET_CODE (dst) == ZERO_EXTRACT)
!     return (rtx_equal_p (XEXP (dst, 0), src)
! 	    && !BITS_BIG_ENDIAN && XEXP (dst, 2) == const0_rtx
! 	    && !side_effects_p (src)
! 	    && !side_effects_p (XEXP (dst, 0)));
  
    if (GET_CODE (dst) == STRICT_LOW_PART)
      dst = XEXP (dst, 0);
diff -Nrcpad gcc-11.4.0/gcc/symtab.c gcc-11.5.0/gcc/symtab.c
*** gcc-11.4.0/gcc/symtab.c	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/symtab.c	Fri Jul 19 05:52:44 2024
*************** symtab_node::verify (void)
*** 1363,1368 ****
--- 1363,1460 ----
    timevar_pop (TV_CGRAPH_VERIFY);
  }
  
+ /* Return true and set *DATA to true if NODE is an ifunc resolver.  */
+ 
+ static bool
+ check_ifunc_resolver (cgraph_node *node, void *data)
+ {
+   if (node->ifunc_resolver)
+     {
+       bool *is_ifunc_resolver = (bool *) data;
+       *is_ifunc_resolver = true;
+       return true;
+     }
+   return false;
+ }
+ 
+ static bitmap ifunc_ref_map;
+ 
+ /* Return true if any caller of NODE is an ifunc resolver.  */
+ 
+ static bool
+ is_caller_ifunc_resolver (cgraph_node *node)
+ {
+   bool is_ifunc_resolver = false;
+ 
+   for (cgraph_edge *e = node->callers; e; e = e->next_caller)
+     {
+       /* Return true if caller is known to be an IFUNC resolver.  */
+       if (e->caller->called_by_ifunc_resolver)
+ 	return true;
+ 
+       /* Check for recursive call.  */
+       if (e->caller == node)
+ 	continue;
+ 
+       /* Skip if it has been visited.  */
+       unsigned int uid = e->caller->get_uid ();
+       if (!bitmap_set_bit (ifunc_ref_map, uid))
+ 	continue;
+ 
+       if (is_caller_ifunc_resolver (e->caller))
+ 	{
+ 	  /* Return true if caller is an IFUNC resolver.  */
+ 	  e->caller->called_by_ifunc_resolver = true;
+ 	  return true;
+ 	}
+ 
+       /* Check if caller's alias is an IFUNC resolver.  */
+       e->caller->call_for_symbol_and_aliases (check_ifunc_resolver,
+ 					      &is_ifunc_resolver,
+ 					      true);
+       if (is_ifunc_resolver)
+ 	{
+ 	  /* Return true if caller's alias is an IFUNC resolver.  */
+ 	  e->caller->called_by_ifunc_resolver = true;
+ 	  return true;
+ 	}
+     }
+ 
+   return false;
+ }
+ 
+ /* Check symbol table for callees of IFUNC resolvers.  */
+ 
+ void
+ symtab_node::check_ifunc_callee_symtab_nodes (void)
+ {
+   symtab_node *node;
+ 
+   bitmap_obstack_initialize (NULL);
+   ifunc_ref_map = BITMAP_ALLOC (NULL);
+ 
+   FOR_EACH_SYMBOL (node)
+     {
+       cgraph_node *cnode = dyn_cast <cgraph_node *> (node);
+       if (!cnode)
+ 	continue;
+ 
+       unsigned int uid = cnode->get_uid ();
+       if (bitmap_bit_p (ifunc_ref_map, uid))
+ 	continue;
+       bitmap_set_bit (ifunc_ref_map, uid);
+ 
+       bool is_ifunc_resolver = false;
+       cnode->call_for_symbol_and_aliases (check_ifunc_resolver,
+ 					  &is_ifunc_resolver, true);
+       if (is_ifunc_resolver || is_caller_ifunc_resolver (cnode))
+ 	cnode->called_by_ifunc_resolver = true;
+     }
+ 
+   BITMAP_FREE (ifunc_ref_map);
+   bitmap_obstack_release (NULL);
+ }
+ 
  /* Verify symbol table for internal consistency.  */
  
  DEBUG_FUNCTION void
diff -Nrcpad gcc-11.4.0/gcc/system.h gcc-11.5.0/gcc/system.h
*** gcc-11.4.0/gcc/system.h	Mon May 29 08:46:29 2023
--- gcc-11.5.0/gcc/system.h	Fri Jul 19 05:52:44 2024
*************** extern int fprintf_unlocked (FILE *, con
*** 194,220 ****
  #undef fread_unlocked
  #undef fwrite_unlocked
  
! /* Include <string> before "safe-ctype.h" to avoid GCC poisoning
!    the ctype macros through safe-ctype.h */
! 
! #ifdef __cplusplus
! #ifdef INCLUDE_STRING
! # include <string>
! #endif
! #endif
! 
! /* There are an extraordinary number of issues with <ctype.h>.
!    The last straw is that it varies with the locale.  Use libiberty's
!    replacement instead.  */
! #include "safe-ctype.h"
! 
! #include <sys/types.h>
! 
! #include <errno.h>
! 
! #if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
! extern int errno;
! #endif
  
  #ifdef __cplusplus
  #if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY)
--- 194,201 ----
  #undef fread_unlocked
  #undef fwrite_unlocked
  
! /* Include C++ standard headers before "safe-ctype.h" to avoid GCC
!    poisoning the ctype macros through safe-ctype.h */
  
  #ifdef __cplusplus
  #if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY)
*************** extern int errno;
*** 229,234 ****
--- 210,218 ----
  #ifdef INCLUDE_SET
  # include <set>
  #endif
+ #ifdef INCLUDE_STRING
+ # include <string>
+ #endif
  #ifdef INCLUDE_VECTOR
  # include <vector>
  #endif
*************** extern int errno;
*** 244,249 ****
--- 228,246 ----
  # include <type_traits>
  #endif
  
+ /* There are an extraordinary number of issues with <ctype.h>.
+    The last straw is that it varies with the locale.  Use libiberty's
+    replacement instead.  */
+ #include "safe-ctype.h"
+ 
+ #include <sys/types.h>
+ 
+ #include <errno.h>
+ 
+ #if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
+ extern int errno;
+ #endif
+ 
  /* Some of glibc's string inlines cause warnings.  Plus we'd rather
     rely on (and therefore test) GCC's string builtins.  */
  #define __NO_STRING_INLINES
diff -Nrcpad gcc-11.4.0/gcc/testsuite/ChangeLog gcc-11.5.0/gcc/testsuite/ChangeLog
*** gcc-11.4.0/gcc/testsuite/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gcc/testsuite/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,1494 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-07-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-c++-common/torture/builtin-clear-padding-3.c (main): Compare
+ 	s2.b.a against -1 rather than (char) -1.
+ 
+ 2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/115527
+ 	* c-c++-common/torture/builtin-clear-padding-1.c: Add dg-do run
+ 	directive.
+ 	* c-c++-common/torture/builtin-clear-padding-2.c: Likewise.
+ 	* c-c++-common/torture/builtin-clear-padding-3.c: Likewise.
+ 	* c-c++-common/torture/builtin-clear-padding-4.c: Likewise.
+ 	* c-c++-common/torture/builtin-clear-padding-5.c: Likewise.
+ 	* c-c++-common/torture/builtin-clear-padding-6.c: New test.
+ 
+ 2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	Backported from master:
+ 	2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	* gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c: New test.
+ 
+ 2024-07-09  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/115475
+ 	* gcc.target/aarch64/acle/bf16_sve_feature.c: New test.
+ 
+ 2024-07-09  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/115457
+ 	* gcc.target/aarch64/acle/bf16_feature.c: New test.
+ 
+ 2024-07-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-02-16  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR c++/97990
+ 	* g++.dg/torture/vector-struct-1.C: New test.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/104051
+ 	* g++.dg/coroutines/pr104051.C: New test.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/101765
+ 	* g++.dg/coroutines/pr101765.C: New test.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/100772
+ 	* g++.dg/coroutines/pr100772-a.C: New test.
+ 	* g++.dg/coroutines/pr100772-b.C: New test.
+ 
+ 2024-06-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR c++/99710
+ 	* g++.dg/coroutines/pr99710.C: New test.
+ 
+ 2024-06-24  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-05-29  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/114846
+ 	* gcc.target/powerpc/pr114846.c: New test.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-31  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/110176
+ 	* gcc.dg/torture/pr110176.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111070
+ 	* gcc.dg/pr111070.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111039
+ 	* gcc.dg/pr111039.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/111080
+ 	* gcc.dg/debug/dwarf2/pr111080.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111445
+ 	* gcc.dg/torture/pr111445.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-11-13  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112495
+ 	* gcc.target/i386/pr112495.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112505
+ 	* gcc.dg/vect/pr112505.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/112718
+ 	* gcc.dg/debug/pr112718.c: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-12-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/112793
+ 	* g++.dg/vect/pr112793.cc: New testcase.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-03-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/114027
+ 	* gcc.dg/vect/pr114027.c: Fix iteration count.
+ 
+ 2024-06-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-02-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/114027
+ 	* gcc.dg/vect/pr114027.c: New testcase.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR driver/115440
+ 	* g++.dg/cpp1z/pr115440.C: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/114493
+ 	* gcc.dg/pr114493-1.c: New test.
+ 	* gcc.dg/pr114493-2.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/108789
+ 	* gcc.c-torture/execute/pr108789.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/114902
+ 	PR rtl-optimization/115092
+ 	* gcc.dg/pr114902.c: New test.
+ 	* gcc.dg/pr115092.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/114956
+ 	* gcc.dg/asan/pr114956.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/114876
+ 	* gcc.dg/pr114876.c: New test.
+ 	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected
+ 	diagnostics.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/114825
+ 	* gfortran.dg/gomp/pr114825.f90: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/114768
+ 	* gcc.dg/pr114768.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/114753
+ 	* gcc.dg/pr114753.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114634
+ 	* g++.dg/ext/attrib68.C: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114691
+ 	* g++.dg/ext/pr114691.C: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/110027
+ 	* gcc.dg/asan/pr110027.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/114566
+ 	* gcc.target/i386/avx512f-pr114566.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114537
+ 	* g++.dg/cpp2a/bit-cast16.C: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/113907
+ 	* gcc.dg/pr113907-1.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/114310
+ 	* gcc.dg/pr114310.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/110079
+ 	* gcc.dg/pr110079.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/114184
+ 	* gcc.target/i386/pr114184.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/114007
+ 	* gcc.dg/c23-attr-syntax-8.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/113674
+ 	* c-c++-common/Wattributes-3.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/113603
+ 	* gcc.c-torture/compile/pr113603.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/113122
+ 	* gcc.target/i386/pr113122-1.c: New test.
+ 	* gcc.target/i386/pr113122-2.c: New test.
+ 	* gcc.target/i386/pr113122-3.c: New test.
+ 	* gcc.target/i386/pr113122-4.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/113372
+ 	PR middle-end/90348
+ 	PR middle-end/110115
+ 	PR middle-end/111422
+ 	* gcc.c-torture/execute/pr90348.c: New test.
+ 	* gcc.c-torture/execute/pr110115.c: New test.
+ 	* gcc.c-torture/execute/pr111422.c: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/113262
+ 	* gcc.dg/pr113262.c: New test.
+ 
+ 2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 		    Yvan ROUX  <yvan.roux@foss.st.com>
+ 
+ 	PR target/115253
+ 	* gcc.target/arm/cmse/extend-return.c: Update test case
+ 	condition for Armv8.1-M.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2021-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR rtl-optimization/100303
+ 	* g++.dg/torture/pr100303.C: New file.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-01-29  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/113281
+ 	* gcc.dg/vect/pr113281-1.c: New test.
+ 	* gcc.dg/vect/pr113281-2.c: Likewise.
+ 	* gcc.dg/vect/pr113281-3.c: Likewise.
+ 	* gcc.dg/vect/pr113281-4.c: Likewise.
+ 	* gcc.dg/vect/pr113281-5.c: Likewise.
+ 
+ 2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-05-24  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR tree-optimization/115192
+ 	* gcc.dg/vect/pr115192.c: New test.
+ 
+ 2024-06-03  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-05-31  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/115297
+ 	* gcc.target/alpha/pr115297.c: New test.
+ 
+ 2024-05-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/115172
+ 	* gcc.dg/asan/pr115172.c: New test.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-25  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/113598
+ 	* g++.dg/cpp0x/initlist-pmf2.C: New test.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/111529
+ 	* g++.dg/ext/unroll-4.C: New test.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/100667
+ 	* g++.dg/ext/is_constructible8.C: New test.
+ 
+ 2024-05-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/114561
+ 	PR c++/114562
+ 	* g++.dg/conversion/ref10.C: New test.
+ 	* g++.dg/conversion/ref11.C: New test.
+ 
+ 2024-05-22  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2024-05-22  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	* gcc.target/arm/cmse/extend-param.c: Add regression test. Add
+ 	-fshort-enums.
+ 	* gcc.target/arm/cmse/extend-return.c: Add -fshort-enums option.
+ 
+ 2024-05-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-05-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/89224
+ 	* g++.dg/torture/vector-subaccess-1.C: Add -Wno-psabi as additional
+ 	options.
+ 
+ 2024-05-09  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2023-09-25  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/110386
+ 	* gcc.c-torture/compile/pr110386-1.c: New test.
+ 	* gcc.c-torture/compile/pr110386-2.c: New test.
+ 
+ 2024-05-08  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	Backported from master:
+ 	2023-09-10  Andrew Pinski  <apinski@marvell.com>
+ 
+ 	PR tree-optimization/111331
+ 	* gcc.c-torture/execute/pr111331-1.c: New test.
+ 	* gcc.c-torture/execute/pr111331-2.c: New test.
+ 	* gcc.c-torture/execute/pr111331-3.c: New test.
+ 
+ 2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-03-11  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR middle-end/95351
+ 	* gcc.dg/float_opposite_arm-1.c: New test.
+ 
+ 2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2024-05-07  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR c++/89224
+ 	* g++.dg/torture/vector-subaccess-1.C: New test.
+ 	* gcc.dg/pr83415.c: Change warning to error.
+ 
+ 2024-05-02  Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-12  Will Schmidt  <will_schmidt@linux.ibm.com>
+ 		    Peter Bergner  <bergner@linux.ibm.com>
+ 
+ 	PR target/101865
+ 	* gcc.target/powerpc/predefine-p7-novsx.c: New test.
+ 	* gcc.target/powerpc/predefine-p8-noaltivec-novsx.c: New test.
+ 	* gcc.target/powerpc/predefine-p8-noaltivec.c: New test.
+ 	* gcc.target/powerpc/predefine-p8-novsx.c: New test.
+ 	* gcc.target/powerpc/predefine-p8-pragma-vsx.c: New test.
+ 	* gcc.target/powerpc/predefine-p9-novsx.c: New test.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR testsuite/114034
+ 	* g++.dg/gcov/gcov-dump-1.C: Remove extra -lgcov.
+ 	* g++.dg/gcov/gcov-dump-2.C: Likewise.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR testsuite/114036
+ 	* gcc.misc-tests/gcov-14.c: Allow for 'Foo' to be undefined
+ 	on Darwin link lines.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/114049
+ 	* gcc.dg/framework-1.c: Use an IOKit header instead of a
+ 	Kernel one.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-02-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 		    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* lib/target-supports.exp (check_effective_target_shared):
+ 	Allow the external symbols referenced in the test to be undefined.
+ 
+ 2024-04-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-02-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* gcc.dg/ssp-2.c: Ignore warning that
+ 	-multiply_defined is obsolete
+ 
+ 2024-04-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-02-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* gcc.dg/darwin-ld-2.c: Ignore warning
+ 	that -bind_at_load is deprecated.
+ 
+ 2024-04-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-10-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* gcc.target/i386/pr105554.c: Require ifunc.
+ 
+ 2024-04-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-08-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	PR analyzer/104042
+ 	* gcc.dg/analyzer/analyzer.exp: Pass -D_FORTIFY_SOURCE=0 on Darwin.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-06-20  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* lib/asan-dg.exp: Do not apply color to asan output when
+ 	under test.
+ 
+ 2024-04-28  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-08-20  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+ 
+ 	* gcc.dg/ipa/ipa-icf-38.c: Require alias support.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* obj-c++.dg/encode-10.mm: Remove unneeded '-lobjc' option addition.
+ 	* obj-c++.dg/encode-9.mm: Likewise.
+ 
+ 2024-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/105522
+ 	* gcc.dg/pr105522.c: New file.
+ 
+ 2024-04-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-10-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 		    Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* gcc.dg/pie-2.c: Skip test on darwin.
+ 
+ 2024-04-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-10-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* g++.dg/debug/dwarf2/pr85550.C: Skip for Darwin.
+ 
+ 2024-04-27  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-09-29  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+ 
+ 	* gcc.dg/debug/dwarf2/inline4.c: Ajdust regexp to match darwin
+ 	output.
+ 
+ 2024-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-09-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* gcc.dg/darwin-segaddr.c: Adjust for darwin linker warning.
+ 	* gcc.dg/pie-7.c: Likewise.
+ 
+ 2024-04-25  Richard Ball  <richard.ball@arm.com>
+ 
+ 	Backported from master:
+ 	2024-04-25  Richard Ball  <richard.ball@arm.com>
+ 
+ 	* gcc.target/arm/cmse/extend-param.c: New test.
+ 	* gcc.target/arm/cmse/extend-return.c: New test.
+ 
+ 2024-04-25  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-09  Kewen Lin  <linkw@linux.ibm.com>
+ 		    Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR target/88309
+ 	* gcc.target/powerpc/pr88309.c: New test.
+ 
+ 2024-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-08-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* gcc.dg/darwin-minversion-link.c: Account for macOS 13 and 14.
+ 
+ 2024-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-06-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: Make
+ 	this header use pragma system_header.
+ 
+ 2024-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-02-16  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* objc.dg/proto-lossage-4.m: Amendn diagnostic matches for Windows.
+ 
+ 2024-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-04-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* g++.target/i386/mv31.C: Add target supports guard for ifuncs.
+ 
+ 2024-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.dg/tsan/pr111736.c: New test.
+ 
+ 2024-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.dg/ubsan/pr111736.c: New test.
+ 
+ 2024-04-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2024-03-21  Richard Biener  <rguenther@suse.de>
+ 
+ 	* gcc.target/i386/pr111736.c: New testcase.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* gcc.target/i386/memcpy-strategy-10.c: Account for
+ 	__USER_LABEL_PREFIX__.
+ 	* gcc.target/i386/memcpy-strategy-5.c: Likewise.
+ 	* gcc.target/i386/memset-strategy-5.c: Likewise.
+ 	* gcc.target/i386/memset-strategy-7.c: Likewise.
+ 
+ 2024-04-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2022-03-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	* gcc.dg/torture/pr100786.c: Add dg-require alias.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* lib/target-supports.exp: Exclude cctools assembler based on
+ 	GAS 1.38.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-08-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 		    Matt Jacobson   <mhjacobson@me.com>
+ 
+ 	PR objc/101666
+ 	* obj-c++.dg/pr101666-0.mm: New test.
+ 	* obj-c++.dg/pr101666-1.mm: New test.
+ 	* obj-c++.dg/pr101666.inc: New.
+ 	* objc.dg/pr101666-0.m: New test.
+ 	* objc.dg/pr101666-1.m: New test.
+ 	* objc.dg/pr101666.inc: New.
+ 
+ 2024-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	Backported from master:
+ 	2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* lib/target-supports.exp (add_options_for_weak_undefined): Escape
+ 	brackets.
+ 	* gcc.dg/visibility-22.c: Add weak_undefined options.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-02-15  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* obj-c++.dg/proto-lossage-4.mm: Use uintptr_t for integral pointer
+ 	representations.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-06-25  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* gcc.dg/darwin-comm-1.c: Check for the correct error message for
+ 	Darwin <= 10.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-07-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* lib/g++.exp: Remove additional flag handled by Darwin specs.
+ 	* lib/obj-c++.exp: Likewise.
+ 
+ 2024-04-15  Tamar Christina  <tamar.christina@arm.com>
+ 
+ 	PR tree-optimization/113552
+ 	* gcc.target/aarch64/pr113552.c: New test.
+ 	* gcc.target/aarch64/simd_pcs_attribute-3.c: Remove bogus check.
+ 
+ 2024-04-15  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-04-03  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR tree-optimization/114115
+ 	* gcc.dg/pr114115.c: New test.
+ 
+ 2024-04-12  Kito Cheng  <kito.cheng@sifive.com>
+ 
+ 	Backported from master:
+ 	2024-02-29  Kito Cheng  <kito.cheng@sifive.com>
+ 
+ 	* gcc.target/riscv/pr114130.c: New.
+ 
+ 2024-04-06  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-28  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/114474
+ 	* gfortran.dg/data_pointer_3.f90: New test.
+ 
+ 2024-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2021-12-03  Tobias Burnus  <tobias@codesourcery.com>
+ 
+ 	* gfortran.dg/allocate_with_source_26.f90: Adjust testcase.
+ 	* gfortran.dg/allocate_with_mold_4.f90: New testcase.
+ 
+ 2024-04-02  Qing Zhao  <qing.zhao@oracle.com>
+ 
+ 	Backported from master:
+ 	2023-09-15  Qing Zhao  <qing.zhao@oracle.com>
+ 
+ 	PR tree-optimization/111407
+ 	* gcc.dg/pr111407.c: New test.
+ 
+ 2024-04-02  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-03-22  Mikael Morin  <mikael@gcc.gnu.org>
+ 
+ 	PR fortran/107426
+ 	* gfortran.dg/pr89943_3.f90: Update error pattern.
+ 	* gfortran.dg/pr89943_4.f90: Likewise.
+ 	* gfortran.dg/use_31.f90: New test.
+ 
+ 2024-03-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-29  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/50410
+ 	* gfortran.dg/data_initialized_4.f90: New test.
+ 
+ 2024-03-27  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2024-03-05  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR sanitizer/97696
+ 	* gcc.target/aarch64/sve/pr97696.c: New test.
+ 
+ 2024-03-20  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-03-18  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/103715
+ 	* gfortran.dg/pr103715.f90: New test.
+ 
+ 2024-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/predicate15.adb: New test.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/114171
+ 	* gdc.dg/torture/pr114171.d: New test.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/113758
+ 	* gdc.dg/torture/pr113758.d: New test.
+ 
+ 2024-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2024-02-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/113125
+ 	* gdc.dg/imports/pr113125.d: New test.
+ 	* gdc.dg/pr113125.d: New test.
+ 
+ 2024-02-27  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2024-02-26  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/114098
+ 	* gcc.target/i386/amxtile-4.c: New test.
+ 
+ 2024-02-27  Jeevitha  <jeevitha@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-08-31  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
+ 
+ 	PR target/110411
+ 	* gcc.target/powerpc/pr110411-1.c: New testcase.
+ 	* gcc.target/powerpc/pr110411-2.c: New testcase.
+ 
+ 2024-02-26  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/access10.adb: New test.
+ 
+ 2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/108120
+ 	* gcc.target/arm/neon-recip-div-1.c: New file.
+ 
+ 2024-02-20  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2024-02-14  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/111677
+ 	* gcc.target/aarch64/torture/pr111677.c: New test.
+ 
+ 2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/107385
+ 	* gcc.dg/pr107385.c: Require lra effective target.
+ 
+ 2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/107385
+ 	* gcc.dg/pr107385.c: New test.
+ 
+ 2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/113921
+ 	* gcc.target/i386/pr113921.c: New test.
+ 
+ 2024-02-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2024-01-27  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/104908
+ 	* gfortran.dg/pr104908.f90: New test.
+ 
+ 2024-02-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2024-01-24  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/110422
+ 	* gcc.dg/torture/pr110422.c: New test.
+ 
+ 2024-01-27  Lewis Hyatt  <lhyatt@gmail.com>
+ 
+ 	PR preprocessor/105608
+ 	* g++.dg/pch/line-map-1.C: New test.
+ 	* g++.dg/pch/line-map-1.Hs: New test.
+ 	* g++.dg/pch/line-map-2.C: New test.
+ 	* g++.dg/pch/line-map-2.Hs: New test.
+ 	* g++.dg/pch/line-map-3.Hs: New file.
+ 
+ 2024-01-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/103185
+ 	* g++.dg/cpp1z/array-prvalue2.C: New test.
+ 	* g++.dg/cpp1z/eval-order3.C: Test swapped operands.
+ 
+ 2024-01-18  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	Backported from master:
+ 	2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
+ 
+ 	* gcc.target/i386/funcspec-56.inc: Handle new march.
+ 	* g++.target/i386/mv29.C: Likewise.
+ 
+ 2023-12-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-22  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/111485
+ 	* g++.dg/cpp2a/concepts-ttp5.C: New test.
+ 	* g++.dg/cpp2a/concepts-ttp6.C: New test.
+ 
+ 2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-04-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/92145
+ 	* g++.dg/cpp0x/depr-copy3.C: New test.
+ 
+ 2023-12-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/92407
+ 	* g++.dg/opt/nrv22.C: New test.
+ 
+ 2023-12-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-04-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/108975
+ 	* g++.dg/cpp0x/lambda/lambda-const11a.C: New test.
+ 
+ 2023-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112816
+ 	* gcc.target/i386/sse2-pr112816-2.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/112727
+ 	* c-c++-common/ubsan/pr112727.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/112733
+ 	* gcc.dg/pr112733.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112845
+ 	* gcc.dg/pr112845.c: New file.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112837
+ 	* gcc.dg/pr112837.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/112816
+ 	* gcc.target/i386/sse2-pr112816.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/112795
+ 	* g++.dg/ext/unroll-5.C: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/111408
+ 	* gcc.c-torture/execute/pr111408.c: New test.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-07-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/110731
+ 	* gcc.dg/pr110731.c: New test.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111917
+ 	* gcc.dg/torture/pr111917.c: New testcase.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-09-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111614
+ 	* gcc.dg/torture/pr111614.c: New testcase.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/111764
+ 	* gcc.dg/vect/pr111764.c: New testcase.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-10-17  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/111818
+ 	* gcc.dg/torture/pr111818.c: New testcase.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/110298
+ 	* gcc.dg/torture/pr110298.c: New testcase.
+ 
+ 2023-12-15  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2023-06-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/110295
+ 	* g++.dg/debug/pr110295.C: New testcase.
+ 
+ 2023-12-12  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-12-12  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* gcc.target/i386/pr112891.c: New test.
+ 	* gcc.target/i386/pr112891-2.c: New test.
+ 
+ 2023-12-01  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-11-26  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111880
+ 	* gfortran.dg/pr111880.f90: New test.
+ 
+ 2023-11-24  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-11-23  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/112672
+ 	* gcc.target/i386/pr112672.c: New test.
+ 
+ 2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	Backported from master:
+ 	2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	PR target/111815
+ 	* gcc.dg/torture/pr111815.c: New test.
+ 
+ 2023-10-23  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-10-12  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/111367
+ 	* g++.target/powerpc/pr111367.C: New test.
+ 
+ 2023-10-21  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-10-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111837
+ 	* gfortran.dg/implied_do_io_8.f90: New test.
+ 
+ 2023-10-17  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-07-06  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* gcc.target/i386/pr110170-3.c: New test.
+ 
+ 2023-10-07  Andrew Pinski  <pinskia@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-10-06  Andrew Pinski  <pinskia@gmail.com>
+ 
+ 	PR middle-end/111699
+ 	* gcc.c-torture/compile/pr111699-1.c: New test.
+ 
+ 2023-10-02  Pat Haugen  <pthaugen@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-09-19  Pat Haugen  <pthaugen@linux.ibm.com>
+ 
+ 	* gcc.target/powerpc/clone1.c: Add xfails.
+ 	* gcc.target/powerpc/clone3.c: Likewise.
+ 	* gcc.target/powerpc/mod-1.c: Update scan strings and add xfails.
+ 	* gcc.target/powerpc/mod-2.c: Likewise.
+ 	* gcc.target/powerpc/p10-vdivq-vmodq.c: Add xfails.
+ 
+ 2023-09-12  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-09-11  Uros Bizjak  <ubizjak@gmail.com>
+ 
+ 	PR target/111340
+ 	* gcc.target/i386/pr111340.c: New test.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* gcc.target/aarch64/stack-protector-8.c: New test.
+ 	* gcc.target/aarch64/stack-protector-9.c: Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* gcc.target/aarch64/sve/pcs/stack_clash_3.c: Avoid redundant probes.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* gcc.target/aarch64/stack-check-prologue-17.c: Expect the probe
+ 	to be at offset 1024 rather than offset 0.
+ 	* gcc.target/aarch64/stack-check-prologue-18.c: Likewise.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* gcc.target/aarch64/stack-check-prologue-18.c: New test.
+ 
+ 2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	* gcc.target/aarch64/stack-check-prologue-17.c: New test.
+ 
+ 2023-09-12  Haochen Gui  <guihaoc@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-08-31  Haochen Gui  <guihaoc@gcc.gnu.org>
+ 
+ 	PR target/96762
+ 	* gcc.target/powerpc/pr96762.c: New.
+ 
+ 2023-09-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/106310
+ 	* g++.dg/template/template-keyword4.C: New test.
+ 
+ 2023-09-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/106890
+ 	PR c++/109666
+ 	* g++.dg/cpp0x/nsdmi-array2.C: New test.
+ 	* g++.dg/cpp0x/nsdmi-template25.C: New test.
+ 
+ 2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/110914
+ 	* gcc.c-torture/execute/pr110914.c: New test.
+ 
+ 2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/111015
+ 	* gcc.dg/pr111015.c: New test.
+ 
+ 2023-08-16  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2023-08-16  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* gcc.target/i386/avx2-gather-2.c: Adjust options to keep
+ 	gather vectorization.
+ 	* gcc.target/i386/avx2-gather-6.c: Ditto.
+ 	* gcc.target/i386/avx512f-pr88464-1.c: Ditto.
+ 	* gcc.target/i386/avx512f-pr88464-5.c: Ditto.
+ 	* gcc.target/i386/avx512vl-pr88464-1.c: Ditto.
+ 	* gcc.target/i386/avx512vl-pr88464-11.c: Ditto.
+ 	* gcc.target/i386/avx512vl-pr88464-3.c: Ditto.
+ 	* gcc.target/i386/avx512vl-pr88464-9.c: Ditto.
+ 
+ 2023-08-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-05-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/109761
+ 	* g++.dg/cpp0x/noexcept78.C: New test.
+ 
+ 2023-08-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/107397
+ 	* gfortran.dg/pr107397.f90: Adjust expected diagnostic wording and
+ 	add space between dg-error string and closing }.
+ 
+ 2023-08-06  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2022-12-18  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/107397
+ 	* gfortran.dg/pr107397.f90: New test.
+ 
+ 2023-08-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/103506
+ 	* gfortran.dg/pr103506_1.f90: New test.
+ 
+ 2023-08-01  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-07-26  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/110741
+ 	* g++.target/powerpc/pr110741.C: New test.
+ 
+ 2023-07-20  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-17  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/95947
+ 	PR fortran/110658
+ 	* gfortran.dg/deferred_character_37.f90: New test.
+ 
+ 2023-07-19  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	Backported from master:
+ 	2023-07-11  Maciej W. Rozycki  <macro@embecosm.com>
+ 
+ 	* gcc.dg/vect/pr97428.c: Limit to `vect_double' targets.
+ 
+ 2023-07-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/110288
+ 	* gfortran.dg/findloc_10.f90: New test.
+ 
+ 2023-07-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2023-07-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/110585
+ 	* gfortran.dg/findloc_9.f90: New test.
+ 
+ 2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-07-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/108842
+ 	* gdc.dg/pr98277.d: Add more tests.
+ 	* gdc.dg/pr108842.d: New test.
+ 
+ 2023-07-05  Michael Meissner  <meissner@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-06-23   Michael Meissner  <meissner@linux.ibm.com>
+ 		    Aaron Sawdey   <acsawdey@linux.ibm.com>
+ 
+ 	PR target/105325
+ 	* g++.target/powerpc/pr105325.C: New test.
+ 	* gcc.target/powerpc/fusion-p10-ldcmpi.c: Update insn counts.
+ 
+ 2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110516
+ 	* gdc.dg/torture/pr110516a.d: New test.
+ 	* gdc.dg/torture/pr110516b.d: New test.
+ 
+ 2023-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110511
+ 	* gdc.test/compilable/test21794.d: New test.
+ 
+ 2023-06-28  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* gcc.target/i386/avx-vzeroupper-29.c: New testcase.
+ 
+ 2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/110359
+ 	* gdc.dg/pr110359.d: New test.
+ 
+ 2023-06-20  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/109932
+ 	* gcc.target/powerpc/pr109932-1.c: New test.
+ 	* gcc.target/powerpc/pr109932-2.c: New test.
+ 
+ 2023-06-20  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
+ 
+ 	PR target/110011
+ 	* gcc.target/powerpc/pr110011.c: New test.
+ 
+ 2023-06-09  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2023-05-25  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR target/109800
+ 	* gcc.target/arm/pure-code/pr109800.c: New test.
+ 
+ 2023-06-09  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-06-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR target/110044
+ 	* gcc.target/powerpc/darwin-abi-13-0.c: New test.
+ 	* gcc.target/powerpc/darwin-abi-13-1.c: New test.
+ 	* gcc.target/powerpc/darwin-abi-13-2.c: New test.
+ 	* gcc.target/powerpc/darwin-structs-0.h: New test.
+ 
+ 2023-06-04  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2023-06-02  Steve Kargl  <kargl@gcc.gnu.org>
+ 
+ 	PR fortran/100607
+ 	* gfortran.dg/select_rank_6.f90: New test.
+ 
+ 2023-06-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-05-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/109505
+ 	* gcc.target/aarch64/sve/pr109505.c: New test.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/Wattributes-3.c gcc-11.5.0/gcc/testsuite/c-c++-common/Wattributes-3.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/Wattributes-3.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/c-c++-common/Wattributes-3.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,13 ----
+ /* PR c++/113674 */
+ /* { dg-do compile { target { c || c++11 } } } */
+ /* { dg-options "" } */
+ 
+ [[____noreturn____]] int foo (int i)		/* { dg-warning "'__noreturn__' attribute (directive )?ignored" } */
+ {
+   return i;
+ }
+ 
+ [[____maybe_unused____]] int bar (int i)	/* { dg-warning "'__maybe_unused__' attribute (directive )?ignored" } */
+ {
+   return i;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-1.c	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* PR libstdc++/88101 */
+ /* { dg-do run } */
  
  int i1, i2;
  long double l1, l2;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-2.c	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* PR libstdc++/88101 */
+ /* { dg-do run } */
  
  typedef int T __attribute__((aligned (16384)));
  struct S { char a; short b; long double c; T d; T e; long long f; };
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-3.c	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* PR libstdc++/88101 */
+ /* { dg-do run } */
  
  union V { char a; signed char b; unsigned char c; };
  struct T { char a; int b; union V c; };
*************** main ()
*** 33,39 ****
    foo (&s1, 0);
    foo (&s2, 0);
    __builtin_clear_padding (&s2);
!   if (s2.b.a != (char) -1)
      __builtin_abort ();
    __builtin_clear_padding (&s2.b.a);
    __builtin_memset (&s2.b.a + 1, 0, sizeof (union U) - sizeof (s2.b.a));
--- 34,40 ----
    foo (&s1, 0);
    foo (&s2, 0);
    __builtin_clear_padding (&s2);
!   if (s2.b.a != -1)
      __builtin_abort ();
    __builtin_clear_padding (&s2.b.a);
    __builtin_memset (&s2.b.a + 1, 0, sizeof (union U) - sizeof (s2.b.a));
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-4.c	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,6 ----
  /* PR libstdc++/88101 */
+ /* { dg-do run } */
+ /* { dg-require-effective-target alloca } */
  
  struct S { char a; short b; char c; };
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-5.c	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* PR libstdc++/88101 */
+ /* { dg-do run } */
  
  struct S { char a; short b; char c; } s1[24], s2[24];
  struct T { char a; long long b; char c; struct S d[3]; long long e; char f; } t1, t2;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-6.c gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-6.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-6.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/c-c++-common/torture/builtin-clear-padding-6.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,28 ----
+ /* PR middle-end/115527 */
+ /* { dg-do run } */
+ 
+ struct T { struct S { double a; signed char b; long c; } d[3]; int e; } t1, t2;
+ 
+ __attribute__((noipa)) void
+ foo (struct T *t)
+ {
+   for (int i = 0; i < 3; ++i)
+     {
+       t->d[i].a = 1. + 3 * i;
+       t->d[i].b = 2 + 3 * i;
+       t->d[i].c = 3 + 3 * i;
+     }
+   t->e = 10;
+ }
+ 
+ int
+ main ()
+ {
+   __builtin_memset (&t2, -1, sizeof (t2));
+   foo (&t1);
+   foo (&t2);
+   __builtin_clear_padding (&t2);
+   if (__builtin_memcmp (&t1, &t2, sizeof (t1)))
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/c-c++-common/ubsan/pr112727.c gcc-11.5.0/gcc/testsuite/c-c++-common/ubsan/pr112727.c
*** gcc-11.4.0/gcc/testsuite/c-c++-common/ubsan/pr112727.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/c-c++-common/ubsan/pr112727.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,17 ----
+ /* PR sanitizer/112727 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fsanitize=shift-exponent,bounds-strict -Wuninitialized" } */
+ 
+ #ifndef __cplusplus
+ #define bool _Bool
+ #endif
+ 
+ struct S { bool s[8]; };
+ 
+ void
+ foo (const struct S *x)
+ {
+   unsigned n = 0;
+   for (unsigned j = 0; j < 8; j++)
+     n |= ((!x->s[j]) ? 1 : 0) << (16 + j);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/conversion/ref10.C gcc-11.5.0/gcc/testsuite/g++.dg/conversion/ref10.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/conversion/ref10.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/conversion/ref10.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,5 ----
+ // PR c++/114561
+ 
+ void create(void* u) {
+   const void* const& r = ( (void)0, u );
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/conversion/ref11.C gcc-11.5.0/gcc/testsuite/g++.dg/conversion/ref11.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/conversion/ref11.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/conversion/ref11.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,33 ----
+ // PR c++/114562
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename T>
+ struct Optional {
+   Optional(T&&);
+ };
+ 
+ struct MyClass {
+   MyClass(Optional<const void*>);
+ };
+ 
+ // const void* NONE = nullptr; // Correct Error
+ void* NONE = nullptr; // Crash
+ 
+ void beforeParam();
+ 
+ template<typename T>
+ struct Create {
+   template <typename U> static T create(U &&) noexcept;
+ };
+ 
+ 
+ template <typename T>
+ template<typename U>
+ T Create<T>::create(U && u) noexcept {
+   return T( ( (beforeParam()), (u) ) ); // { dg-error "cannot bind rvalue reference" }
+   // return T( (u) ); // Correct Error
+ }
+ 
+ void test_func() {
+   Create<MyClass>::create(NONE);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr100772-a.C gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr100772-a.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr100772-a.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr100772-a.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,77 ----
+ //  { dg-additional-options "-fsyntax-only " }
+ #ifdef __clang__
+ #include <experimental/coroutine>
+ namespace std {
+   using namespace std::experimental;
+ }
+ #else
+ #include <coroutine>
+ #endif
+ 
+ struct Task
+ {
+     struct promise_type
+     {        
+ 		void return_void() const noexcept {}
+ 
+ 		void* operator new(std::size_t, auto &&...args) noexcept
+ 		{
+             static_assert(sizeof...(args) > 0);
+             static_assert(sizeof...(args) == 2);
+ 
+ 			return nullptr;
+ 		}
+ 
+ 		void operator delete(void *, std::size_t) noexcept
+ 		{
+ 		}
+ 
+         static Task get_return_object_on_allocation_failure() noexcept
+         {
+             return {};
+         }
+ 
+         Task get_return_object() noexcept
+         {
+             return Task{ *this };
+         }
+ 
+         std::suspend_always initial_suspend() noexcept
+         {
+             return {};
+         }
+ 
+         std::suspend_always final_suspend() noexcept
+         {
+             return {};
+         }
+ 
+         void unhandled_exception() noexcept {}
+     };
+ 
+     using promise_handle = std::coroutine_handle<promise_type>;
+ 
+     Task() = default;
+     Task(promise_type & promise) noexcept
+         : m_handle{ promise_handle::from_promise(promise) }
+     {}
+ 
+     ~Task()
+     {
+         if (m_handle.address()) { m_handle.destroy(); }
+     }
+     
+     promise_handle m_handle{};
+ };
+ 
+ 
+ Task Foo(auto && ... args) noexcept
+ {
+     co_return;
+ }
+ 
+ int main()
+ {
+     int v;
+     Foo(v, 2134);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr100772-b.C gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr100772-b.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr100772-b.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr100772-b.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,93 ----
+ #ifdef __clang__
+ #include <experimental/coroutine>
+ namespace std {
+   using namespace std::experimental;
+ }
+ #else
+ #include <coroutine>
+ #endif
+ #include <cstdio>
+ #include <typeinfo>
+ #include <cxxabi.h>  // needed for abi::__cxa_demangle
+ #include <memory>
+ 
+ std::shared_ptr<char> cppDemangle(const char *abiName)
+ {
+   int status;    
+   char *ret = abi::__cxa_demangle(abiName, 0, 0, &status);  
+ 
+   /* NOTE: must free() the returned char when done with it! */
+   std::shared_ptr<char> retval;
+   retval.reset( (char *)ret, [](char *mem) { if (mem) free((void*)mem); } );
+   return retval;
+ }
+ 
+ template <typename T>
+ struct Id{};
+ struct Task
+ {
+   struct promise_type
+   {        
+     void return_void() const noexcept {}
+ 
+     static void is_int (std::string x) {
+       if (x != "Id<int>")
+ 	abort() ;
+     }
+     template <typename ... Args>
+     void* operator new(std::size_t len, Args ...args) noexcept
+       {
+ 	(is_int (cppDemangle(typeid(Id<Args>).name()).get()), ...);
+ 	(std::puts (cppDemangle(typeid(Id<Args>).name()).get()), ...);
+ 	return nullptr;
+       }
+ 
+         static Task get_return_object_on_allocation_failure() noexcept
+         {
+             return {};
+         }
+ 
+         Task get_return_object() noexcept
+         {
+             return Task{ *this };
+         }
+ 
+         std::suspend_always initial_suspend() noexcept
+         {
+             return {};
+         }
+ 
+         std::suspend_always final_suspend() noexcept
+         {
+             return {};
+         }
+ 
+         void unhandled_exception() noexcept {}
+     };
+ 
+     using promise_handle = std::coroutine_handle<promise_type>;
+ 
+     Task() = default;
+     Task(promise_type & promise) noexcept
+         : m_handle{ promise_handle::from_promise(promise) }
+     {}
+ 
+     ~Task()
+     {
+         if (m_handle.address()) { m_handle.destroy(); }
+     }
+     
+     promise_handle m_handle{};
+ };
+ 
+ 
+ Task Foo(auto && ... args) noexcept
+ {
+     co_return;
+ }
+ 
+ int main()
+ {
+     int v;
+     Foo(v, 2134);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr101765.C gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr101765.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr101765.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr101765.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,45 ----
+ // We cannot compile this yet, much run it - but one day it might be
+ // feasible, so do the minimum for now.
+ // { dg-additional-options " -fsyntax-only -Wno-vla" }
+ 
+ #include "coro.h"
+ 
+ // boiler-plate for tests of codegen
+ #include "coro1-ret-int-yield-int.h"
+ 
+ struct coro1
+ foo (int arg) noexcept
+ {
+   PRINTF ("foo arg = %d\n", arg);
+   char arr[arg]; /* { dg-message "sorry, unimplemented: variable length arrays are not yet supported in coroutines" "" { target *-*-* } } */
+   if (arg < 4)
+     co_return -6174;
+   else
+     for (int i = 0; i < arg; ++i) arr[i] = (char) i;
+   co_yield (int) arr[2];
+   co_return (int) arr[3];
+ }
+ 
+ int main ()
+ {
+   PRINT ("main: create coro1");
+   struct coro1 x = foo (10);
+   PRINT ("main: got coro1 - resuming");
+   if (x.handle.done())
+     abort();
+   x.handle.resume();
+   PRINT ("main: after resume");
+   int y = x.handle.promise().get_value();
+   if ( y == -6174 )
+     {
+       PRINT ("main: saw -6174");
+       return 1;
+     }
+   else if ( y != 2 )
+     abort;
+   x.handle.resume();
+   y = x.handle.promise().get_value();
+   if ( y != 3 )
+     abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr104051.C gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr104051.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr104051.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr104051.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,29 ----
+ // { dg-additional-options "-fsyntax-only" }
+ #include <coroutine>
+ #include <vector>
+ template <typename> struct promise {
+   struct final_awaitable {
+     bool await_ready() noexcept;
+     template <typename Promise>
+     std::coroutine_handle<>
+         await_suspend(std::coroutine_handle<Promise>) noexcept;
+     void await_resume() noexcept;
+   };
+   auto get_return_object() {
+     return std::coroutine_handle<promise>::from_promise(*this);
+   }
+   auto initial_suspend() { return std::suspend_always(); }
+   auto final_suspend() noexcept { return true; }
+   void unhandled_exception();
+ };
+ template <typename T> struct task {
+   using promise_type = promise<T>;
+   task(std::coroutine_handle<promise<T>>);
+   bool await_ready();
+   std::coroutine_handle<> await_suspend(std::coroutine_handle<>);
+   T await_resume();
+ };
+ task<std::vector<int>> foo() { // { dg-error {awaitable type 'bool' is not a structure} }
+   while ((co_await foo()).empty())
+     ;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr99710.C gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr99710.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/coroutines/pr99710.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/coroutines/pr99710.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,25 ----
+ #include <coroutine>
+ 
+ struct task {
+     struct promise_type {
+         std::suspend_always initial_suspend();
+         std::suspend_always final_suspend() noexcept;
+         task get_return_object();
+         void return_void();
+         void unhandled_exception();
+     };
+ };
+ 
+ task
+ my_coro ()
+ {
+   try
+     { }
+   catch (...)
+     {
+       // [expr.await] An await-expression shall appear only in a potentially-
+       // evaluated expression within the compound-statement of a function-body
+       // outside of a handler 
+       co_await std::suspend_always{}; // { dg-error "await expressions are not permitted in handlers" }
+     }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/depr-copy3.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/depr-copy3.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/depr-copy3.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/depr-copy3.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,35 ----
+ // PR c++/92145
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options "-Wdeprecated-copy" }
+ 
+ struct base
+ {
+   base() { }
+   base(const base&) { }
+   base(base&&) { }
+   base& operator=(const base&) { return *this; }
+   base& operator=(base&&) { return *this; }
+ };
+ 
+ struct foo : base
+ {
+   //using base::base;
+   using base::operator=;
+ };
+ 
+ struct bar
+ {
+   bar& operator=(foo v)
+   {
+     value = v;
+     return *this;
+   }
+ 
+   foo value;
+ };
+ 
+ int main()
+ {
+   foo a;
+   foo{a};
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-pmf2.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-pmf2.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/initlist-pmf2.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/initlist-pmf2.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/113598
+ // { dg-additional-options -w }
+ 
+ struct Cpu
+ {
+   int op_nop();
+ };
+ typedef int(Cpu::*OpCode)();
+ void f()
+ {
+   new OpCode[256]{&Cpu::op_nop};
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,21 ----
+ // PR c++/108975
+ // A version of lambda-const11.C using a generic lambda.
+ // { dg-do compile { target c++14 } }
+ 
+ template<int> void g();
+ template<int> struct A { };
+ 
+ template<class T>
+ void f() {
+   constexpr int dim = 1;
+   auto l = [&](auto) {
+     int n[dim * 1];
+     using ty1 = decltype(g<dim * 2>());
+     using ty2 = A<dim * 3>;
+   };
+   l(0);
+   // In f<int>, we shouldn't actually capture dim.
+   static_assert (sizeof(l) == 1, "");
+ }
+ 
+ template void f<int>();
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/noexcept78.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/noexcept78.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/noexcept78.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/noexcept78.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/109761
+ // { dg-do compile { target c++11 } }
+ 
+ struct base {
+   virtual void foo() noexcept { }
+   virtual ~base() { }
+ };
+ 
+ struct outer : base {
+   struct nested {
+     void foo() noexcept(noexcept(g())); // { dg-bogus "looser" }
+     ~nested() noexcept(noexcept(g()));  // { dg-bogus "looser" }
+   };
+   static void g();
+ };
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-array2.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/109666
+ // { dg-do compile { target c++11 } }
+ 
+ struct Point {
+   int value_;
+ };
+ template <int n> struct StaticVector {
+   static StaticVector create() {
+     StaticVector output;
+     return output;
+   }
+   Point _M_elems[n]{};
+ 
+ };
+ void f() { StaticVector<3>::create(); }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template25.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template25.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template25.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp0x/nsdmi-template25.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,18 ----
+ // PR c++/106890
+ // { dg-do compile { target c++11 } }
+ 
+ struct A
+ {
+   int p;
+ };
+ 
+ template<typename T>
+ struct B : virtual public A
+ {
+   B() { }
+   B(int) { }
+ 
+   int k = this->p;
+ };
+ 
+ template struct B<int>;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,5 ----
+ // PR c++/103185
+ // { dg-do compile { target c++11 } }
+ 
+ using intarr = int[];
+ static_assert(__is_same(decltype(0[intarr{0}]), int&&), "");
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/eval-order3.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/eval-order3.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/eval-order3.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/eval-order3.C	Fri Jul 19 05:52:44 2024
*************** void g()
*** 166,171 ****
--- 166,176 ----
    ip(24)[f(25)-25] = 0;
    last=0;
  
+   // even with swapped operands
+   (f(20)-20)[afn(21)].memfn(f(22),23);
+   (f(24)-24)[ip(25)] = 0;
+   last=0;
+ 
    // a << b
    aref(24) << f(25);
    iref(26) << f(27);
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/pr115440.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/pr115440.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp1z/pr115440.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp1z/pr115440.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,8 ----
+ // PR driver/115440
+ // { dg-do compile { target c++17_only } }
+ // { dg-options "--c++17" }
+ 
+ int i;
+ 
+ // { dg-bogus "unrecognized command-line option '--c\\\+\\\+17'; did you mean '--stdc\\\+\\\+17'" "" { target *-*-* } 0 }
+ // { dg-error "unrecognized command-line option '--c\\\+\\\+17'" "" { target *-*-* } 0 }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/bit-cast16.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/bit-cast16.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/bit-cast16.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/bit-cast16.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/114537
+ // { dg-do compile { target c++20 } }
+ 
+ namespace std {
+ template<typename T, typename F>
+ constexpr T
+ bit_cast (const F& f) noexcept
+ {
+   return __builtin_bit_cast (T, f);
+ }
+ }
+ 
+ struct A { signed char b : 1 = 0; signed char c : 7 = 0; };
+ struct D { unsigned char e; };
+ constexpr unsigned char f = std::bit_cast<D> (A{}).e;
+ static_assert (f == 0);
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,24 ----
+ // PR c++/111485
+ // { dg-do compile { target c++20 } }
+ 
+ template<class T> constexpr bool always_true = true;
+ 
+ template<class T> concept C = always_true<T>;
+ template<class T> concept D = C<T> || true;
+ 
+ template<template<C> class TT> struct example;
+ template<template<D> class UU> using example_t = example<UU>;
+ 
+ template<class T>
+ struct A {
+   template<template<C> class TT> struct example;
+ 
+   template<template<D> class UU> using example_t = example<UU>;
+ 
+   template<class U>
+   struct B {
+     template<template<D> class UU> using example_t = example<UU>;
+   };
+ };
+ 
+ template struct A<int>::B<int>;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/111485
+ // { dg-do compile { target c++20 } }
+ 
+ template<class T, bool V> constexpr bool always_true = true;
+ 
+ template<class T, bool V> concept C = always_true<T, V>;
+ 
+ template<bool V, template<class T> requires C<T, V> class TT>
+ void f();
+ 
+ template<class T> requires C<T, true>
+ struct A;
+ 
+ int main() {
+   f<true, A>();
+   f<false, A>(); // { dg-error "no match|constraint mismatch" }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C gcc-11.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C	Fri Jul 19 05:52:44 2024
***************
*** 2,7 ****
--- 2,8 ----
  // { dg-do link }
  // { dg-options "-O2 -g -fdebug-types-section" }
  // { dg-skip-if "AIX DWARF5" { powerpc-ibm-aix* } }
+ // { dg-skip-if "No debug linker support" { *-*-darwin* } }
  
  struct A {
    int bar () const { return 0; }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/debug/pr110295.C gcc-11.5.0/gcc/testsuite/g++.dg/debug/pr110295.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/debug/pr110295.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/debug/pr110295.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,19 ----
+ // { dg-do compile }
+ // { dg-options "-g" }
+ 
+ template <typename T>
+ struct QCachedT
+ {
+   void operator delete(void *, T *) {}
+ };
+ template<int a>
+ void exercise()
+ {
+   struct thing_t
+     : QCachedT<thing_t>
+   {
+   };
+   thing_t *list[1];
+   new thing_t;
+ }
+ int main() { exercise<1>(); }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/ext/attrib68.C gcc-11.5.0/gcc/testsuite/g++.dg/ext/attrib68.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/ext/attrib68.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/ext/attrib68.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/114634
+ // { dg-do compile }
+ 
+ template <int N>
+ struct A
+ {
+   enum { e __attribute__ ((aligned (16))) };	// { dg-error "alignment may not be specified for 'e'" }
+ };
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/ext/is_constructible8.C gcc-11.5.0/gcc/testsuite/g++.dg/ext/is_constructible8.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/ext/is_constructible8.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/ext/is_constructible8.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/100667
+ // { dg-do compile { target c++11 } }
+ 
+ struct T;
+ 
+ #define SA(X) static_assert ((X), #X);
+ 
+ SA (__is_constructible(T&&, T));
+ SA (__is_constructible(const T&, T));
+ SA (!__is_constructible(T&, T));
+ SA (__is_nothrow_constructible(T&&, T));
+ SA (__is_nothrow_constructible(const T&, T));
+ SA (!__is_nothrow_constructible(T&, T));
+ SA (__is_trivially_constructible(T&&, T));
+ SA (__is_trivially_constructible(const T&, T));
+ SA (!__is_trivially_constructible(T&, T));
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/ext/pr114691.C gcc-11.5.0/gcc/testsuite/g++.dg/ext/pr114691.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/ext/pr114691.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/ext/pr114691.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/114691
+ // { dg-do compile }
+ // { dg-options "-O2 -Wall" }
+ 
+ void qux (int);
+ int foo (int);
+ 
+ void
+ bar (int x)
+ {
+   #pragma GCC ivdep
+   while (int y = foo (x))	// { dg-bogus "ignoring loop annotation" }
+     qux (y);
+ }
+ 
+ void
+ baz (int x)
+ {
+   #pragma GCC ivdep
+   for (; int y = foo (x); )	// { dg-bogus "ignoring loop annotation" }
+     qux (y);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/ext/unroll-4.C gcc-11.5.0/gcc/testsuite/g++.dg/ext/unroll-4.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/ext/unroll-4.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/ext/unroll-4.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/111529
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options -w }
+ 
+ template <int>
+ void f() {
+   []<int>() {
+     #pragma GCC unroll 9
+     for (int i = 1; i; --i) {
+     }
+   };
+ }
+ 
+ int main() {
+   f<0>();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/ext/unroll-5.C gcc-11.5.0/gcc/testsuite/g++.dg/ext/unroll-5.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/ext/unroll-5.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/ext/unroll-5.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,23 ----
+ // PR c++/112795
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-O2 -fdump-tree-cunrolli-details" }
+ 
+ void baz (int);
+ constexpr int n = 3;
+ 
+ template <int N>
+ void
+ foo ()
+ {
+ #pragma GCC unroll(n)
+   for (int i = 0; i != n; ++i)
+     baz (i);
+ }
+ 
+ void
+ qux ()
+ {
+   foo <2> ();
+ }
+ 
+ // { dg-final { scan-tree-dump "loop with 3 iterations completely unrolled" "cunrolli" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C gcc-11.5.0/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
! /* { dg-options "-fprofile-generate -ftest-coverage -lgcov" } */
  /* { dg-do run { target native } } */
  
  int value;
--- 1,4 ----
! /* { dg-options "-fprofile-generate -ftest-coverage " } */
  /* { dg-do run { target native } } */
  
  int value;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C gcc-11.5.0/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
! /* { dg-options "-fprofile-generate -ftest-coverage -lgcov" } */
  /* { dg-do run { target native } } */
  
  int value;
--- 1,4 ----
! /* { dg-options "-fprofile-generate -ftest-coverage " } */
  /* { dg-do run { target native } } */
  
  int value;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/opt/nrv22.C gcc-11.5.0/gcc/testsuite/g++.dg/opt/nrv22.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/opt/nrv22.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/opt/nrv22.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,30 ----
+ // PR c++/92407
+ // { dg-do run }
+ 
+ struct A
+ {
+   A () { a++; }
+   A (const A &) { a++; }
+   ~A () { a--; }
+   static int a;
+ };
+ int A::a = 0;
+ 
+ A
+ foo ()
+ {
+   int cnt = 10;
+ lab:
+   A a;
+   if (cnt--)
+     goto lab;
+   return a;
+ }
+ 
+ int
+ main ()
+ {
+   foo ();
+   if (A::a)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-1.C gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-1.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-1.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-1.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,4 ----
+ /* PR preprocessor/105608 */
+ /* { dg-do compile } */
+ #define MACRO_ON_A_LONG_LINE "this line is long enough that it forces the line table to create an LC_RENAME map, which formerly triggered an ICE after PCH restore"
+ #include "line-map-1.H"
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-1.Hs gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-1.Hs
*** gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-1.Hs	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-1.Hs	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1 ----
+ /* This space intentionally left blank.  */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-2.C gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-2.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-2.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-2.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,6 ----
+ /* PR preprocessor/105608 */
+ /* { dg-do compile } */
+ /* { dg-additional-options "-save-temps" } */
+ #define MACRO_ON_A_LONG_LINE "this line is long enough that it forces the line table to create an LC_RENAME map, which formerly triggered an ICE after PCH restore"
+ #include "line-map-2.H"
+ #error "suppress PCH assembly comparison, which does not work with -save-temps" /* { dg-error "." } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-2.Hs gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-2.Hs
*** gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-2.Hs	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-2.Hs	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1 ----
+ /* This space intentionally left blank.  */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-3.Hs gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-3.Hs
*** gcc-11.4.0/gcc/testsuite/g++.dg/pch/line-map-3.Hs	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/pch/line-map-3.Hs	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1 ----
+ /* This space intentionally left blank.  */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/template/template-keyword4.C gcc-11.5.0/gcc/testsuite/g++.dg/template/template-keyword4.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/template/template-keyword4.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/template/template-keyword4.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,18 ----
+ // PR c++/106310
+ 
+ template <class T>
+ struct set{};
+ 
+ template< typename T >
+ struct Base
+ {
+   template< int > int set(T const &);
+ };
+ 
+ template< typename T >
+ struct Derived : Base< T >
+ {
+   void f(T const &arg) {
+     this->template set< 0 >(arg);
+   }
+ };
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/torture/pr100303.C gcc-11.5.0/gcc/testsuite/g++.dg/torture/pr100303.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/torture/pr100303.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/torture/pr100303.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,112 ----
+ /* { dg-additional-options "-w -fcompare-debug -fno-dce -ftracer" } */
+ 
+ template < typename _T1 > struct pair
+ {
+   _T1 first;
+   int second;
+ };
+ struct __aligned_membuf
+ {
+   void _M_ptr ();
+ };
+ struct _Rb_tree_node_base
+ {
+   typedef _Rb_tree_node_base *_Base_ptr;
+ };
+ struct _Rb_tree_node:_Rb_tree_node_base
+ {
+   __aligned_membuf _M_storage;
+   void _M_valptr ()
+   {
+     _M_storage._M_ptr ();
+   }
+ };
+ struct _Rb_tree_iterator
+ {
+   typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
+     _Rb_tree_iterator (_Base_ptr __x):_M_node (__x)
+   {
+   }
+   void operator* ()
+   {
+     static_cast < _Rb_tree_node * >(_M_node)->_M_valptr ();
+   }
+   friend bool operator== (_Rb_tree_iterator __x, _Rb_tree_iterator)
+   {
+     return __x._M_node;
+   }
+   _Base_ptr _M_node;
+ };
+ 
+ template < typename, typename, typename, typename, typename =
+   int >class _Rb_tree
+ {
+   typedef _Rb_tree_node_base *_Base_ptr;
+ public:
+     pair < _Base_ptr > _M_get_insert_hint_unique_pos (int);
+   void _M_insert_node (_Base_ptr, int);
+     template < typename ... _Args >
+     _Rb_tree_iterator _M_emplace_hint_unique (_Args && ...);
+   _Rb_tree_iterator lower_bound ()
+   {
+     _Rb_tree_node_base __trans_tmp_2;
+       return &__trans_tmp_2;
+   }
+ };
+ template < typename _Key, typename _Val, typename _KeyOfValue,
+   typename _Compare,
+   typename _Alloc > template < typename ... _Args >
+   _Rb_tree_iterator _Rb_tree < _Key, _Val, _KeyOfValue, _Compare,
+   _Alloc >::_M_emplace_hint_unique (_Args && ...)
+ {
+   int __z;
+   try
+   {
+     auto __res = _M_get_insert_hint_unique_pos (0);
+     _Rb_tree_node_base *__res_1;
+     if (__res_1)
+       _M_insert_node (__res.first, __z);
+     return __res.first;
+   }
+   catch ( ...)
+   {
+   }
+ }
+ 
+ class map
+ {
+   _Rb_tree < int, int, int, int >_M_t;
+ public:
+     _Rb_tree_iterator end ();
+   void operator[] (int)
+   {
+     _Rb_tree_iterator __i = lower_bound ();
+     if (__i == end ())
+       __i = _M_t._M_emplace_hint_unique (__i);
+     *__i;
+   }
+   _Rb_tree_iterator lower_bound ()
+   {
+     return _M_t.lower_bound ();
+   }
+ };
+ 
+ class FlowStat
+ {
+ public:
+   int FlowStat_flow;
+     FlowStat ()
+   {
+     shares[FlowStat_flow];
+   }
+   map shares;
+ };
+ 
+ class LinkGraphJob
+ {
+   ~LinkGraphJob ();
+ };
+ LinkGraphJob::~LinkGraphJob ()
+ {
+   FlowStat ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/torture/vector-struct-1.C gcc-11.5.0/gcc/testsuite/g++.dg/torture/vector-struct-1.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/torture/vector-struct-1.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/torture/vector-struct-1.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,18 ----
+ /* PR c++/97990 */
+ /* This used to crash with lto and strict aliasing enabled as the
+    vector type variant still had TYPE_ALIAS_SET set on it. */
+ 
+ typedef __attribute__((__vector_size__(sizeof(short)))) short TSimd;
+ TSimd hh(int);
+ struct y6
+ {
+   TSimd VALUE;
+   ~y6();
+ };
+ template <class T1,class T2>
+ auto f2(T1 p1, T2){
+   return hh(p1) <= 0;
+ }
+ void f1(){
+   f2(0, y6{});
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/torture/vector-subaccess-1.C gcc-11.5.0/gcc/testsuite/g++.dg/torture/vector-subaccess-1.C
*** gcc-11.4.0/gcc/testsuite/g++.dg/torture/vector-subaccess-1.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/torture/vector-subaccess-1.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,24 ----
+ /* PR c++/89224 */
+ /* { dg-additional-options "-Wno-psabi" } */
+ 
+ /* The access of `vector[i]` has the same qualifiers as the original
+    vector which was missing. */
+ 
+ typedef __attribute__((vector_size(16))) unsigned char  Int8x8_t;
+ 
+ template <class T>
+ void g(T &x) {
+     __builtin_abort();
+ }
+ template <class T>
+ void g(const T &x) {
+   __builtin_exit(0);
+ }
+ void f(const Int8x8_t x) {
+   g(x[0]);
+ }
+ int main(void)
+ {
+     Int8x8_t x ={};
+     f(x);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.dg/vect/pr112793.cc gcc-11.5.0/gcc/testsuite/g++.dg/vect/pr112793.cc
*** gcc-11.4.0/gcc/testsuite/g++.dg/vect/pr112793.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.dg/vect/pr112793.cc	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,32 ----
+ // { dg-do compile }
+ // { dg-require-effective-target c++11 }
+ // { dg-additional-options "-march=znver2" { target x86_64-*-* i?86-*-* } }
+ 
+ typedef double T;
+ T c, s;
+ T a[16];
+ struct Matrix4 {
+   Matrix4(){}
+   Matrix4(T e, T f, T i, T j) {
+     r[1] = r[4] = e;
+     r[5] = f;
+     r[8] = i;
+     r[9] = j;
+   }
+   Matrix4 operator*(Matrix4 a) {
+     return Matrix4(
+        r[0] * a.r[4] + r[4] + r[15] + r[6],
+        r[1] * a.r[4] + 1 + 2 + 3,  r[0] * r[8] + 1 + 2 + 3,
+        r[1] * r[8] + r[1] + r[14] + r[2] * r[3]);
+   }
+   T r[16] = {};
+ };
+ Matrix4 t1, t2;
+ Matrix4 tt;
+ Matrix4 getRotAltAzToEquatorial()
+ {
+   t2.r[4] =  0;
+   t1.r[1] =  -s;
+   t1.r[8] = 0;
+   return t1 * t2;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.target/i386/mv29.C gcc-11.5.0/gcc/testsuite/g++.target/i386/mv29.C
*** gcc-11.4.0/gcc/testsuite/g++.target/i386/mv29.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.target/i386/mv29.C	Fri Jul 19 05:52:44 2024
*************** int __attribute__ ((target("arch=znver3"
*** 49,54 ****
--- 49,57 ----
    return 9;
  }
  
+ int __attribute__ ((target("arch=znver4"))) foo () {
+   return 10;
+ }
  
  int main ()
  {
*************** int main ()
*** 72,77 ****
--- 75,82 ----
      assert (val == 8);
    else if (__builtin_cpu_is ("znver3"))
      assert (val == 9);
+   else if (__builtin_cpu_is ("znver4"))
+     assert (val == 10);
    else
      assert (val == 0);
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.target/i386/mv31.C gcc-11.5.0/gcc/testsuite/g++.target/i386/mv31.C
*** gcc-11.4.0/gcc/testsuite/g++.target/i386/mv31.C	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/g++.target/i386/mv31.C	Fri Jul 19 05:52:44 2024
***************
*** 1,4 ****
--- 1,5 ----
  // PR c++/104669
+ // { dg-require-ifunc "" }
  
  void bar()
  {
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr105325.C gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr105325.C
*** gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr105325.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr105325.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do assemble } */
+ /* { dg-require-effective-target lp64 } */
+ /* { dg-require-effective-target power10_ok } */
+ /* { dg-require-effective-target powerpc_prefixed_addr } */
+ /* { dg-options "-O2 -mdejagnu-cpu=power10 -fstack-protector" } */
+ 
+ /* PR target/105324.  Test that power10 fusion does not generate an LWA/CMPDI
+    with a large offset that the assembler rejects.  Instead it should a
+    PLWZ/CMPWI combination.
+ 
+    Originally, the code was dying because the fusion load + compare -1/0/1
+    patterns did not handle the possibility that the load might be prefixed.
+    The -fstack-protector option is needed to show the bug.  */
+ 
+ struct Ath__array1D {
+   int _current;
+   int getCnt() { return _current; }
+ };
+ struct extMeasure {
+   int _mapTable[10000];
+   Ath__array1D _metRCTable;
+ };
+ void measureRC() {
+   extMeasure m;
+   for (; m._metRCTable.getCnt();)
+     for (;;)
+       ;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr110741.C gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr110741.C
*** gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr110741.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr110741.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,552 ----
+ /* { dg-do run { target { power10_hw } } } */
+ /* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+ 
+ #include <altivec.h>
+ 
+ typedef unsigned char uint8_t;
+ 
+ template <uint8_t kTernLogOp>
+ static inline vector unsigned long long
+ VSXTernaryLogic (vector unsigned long long a, vector unsigned long long b,
+ 		 vector unsigned long long c)
+ {
+   return vec_ternarylogic (a, b, c, kTernLogOp);
+ }
+ 
+ static vector unsigned long long
+ VSXTernaryLogic (vector unsigned long long a, vector unsigned long long b,
+ 		 vector unsigned long long c, int ternary_logic_op)
+ {
+   switch (ternary_logic_op & 0xFF)
+     {
+     case 0:
+       return VSXTernaryLogic<0> (a, b, c);
+     case 1:
+       return VSXTernaryLogic<1> (a, b, c);
+     case 2:
+       return VSXTernaryLogic<2> (a, b, c);
+     case 3:
+       return VSXTernaryLogic<3> (a, b, c);
+     case 4:
+       return VSXTernaryLogic<4> (a, b, c);
+     case 5:
+       return VSXTernaryLogic<5> (a, b, c);
+     case 6:
+       return VSXTernaryLogic<6> (a, b, c);
+     case 7:
+       return VSXTernaryLogic<7> (a, b, c);
+     case 8:
+       return VSXTernaryLogic<8> (a, b, c);
+     case 9:
+       return VSXTernaryLogic<9> (a, b, c);
+     case 10:
+       return VSXTernaryLogic<10> (a, b, c);
+     case 11:
+       return VSXTernaryLogic<11> (a, b, c);
+     case 12:
+       return VSXTernaryLogic<12> (a, b, c);
+     case 13:
+       return VSXTernaryLogic<13> (a, b, c);
+     case 14:
+       return VSXTernaryLogic<14> (a, b, c);
+     case 15:
+       return VSXTernaryLogic<15> (a, b, c);
+     case 16:
+       return VSXTernaryLogic<16> (a, b, c);
+     case 17:
+       return VSXTernaryLogic<17> (a, b, c);
+     case 18:
+       return VSXTernaryLogic<18> (a, b, c);
+     case 19:
+       return VSXTernaryLogic<19> (a, b, c);
+     case 20:
+       return VSXTernaryLogic<20> (a, b, c);
+     case 21:
+       return VSXTernaryLogic<21> (a, b, c);
+     case 22:
+       return VSXTernaryLogic<22> (a, b, c);
+     case 23:
+       return VSXTernaryLogic<23> (a, b, c);
+     case 24:
+       return VSXTernaryLogic<24> (a, b, c);
+     case 25:
+       return VSXTernaryLogic<25> (a, b, c);
+     case 26:
+       return VSXTernaryLogic<26> (a, b, c);
+     case 27:
+       return VSXTernaryLogic<27> (a, b, c);
+     case 28:
+       return VSXTernaryLogic<28> (a, b, c);
+     case 29:
+       return VSXTernaryLogic<29> (a, b, c);
+     case 30:
+       return VSXTernaryLogic<30> (a, b, c);
+     case 31:
+       return VSXTernaryLogic<31> (a, b, c);
+     case 32:
+       return VSXTernaryLogic<32> (a, b, c);
+     case 33:
+       return VSXTernaryLogic<33> (a, b, c);
+     case 34:
+       return VSXTernaryLogic<34> (a, b, c);
+     case 35:
+       return VSXTernaryLogic<35> (a, b, c);
+     case 36:
+       return VSXTernaryLogic<36> (a, b, c);
+     case 37:
+       return VSXTernaryLogic<37> (a, b, c);
+     case 38:
+       return VSXTernaryLogic<38> (a, b, c);
+     case 39:
+       return VSXTernaryLogic<39> (a, b, c);
+     case 40:
+       return VSXTernaryLogic<40> (a, b, c);
+     case 41:
+       return VSXTernaryLogic<41> (a, b, c);
+     case 42:
+       return VSXTernaryLogic<42> (a, b, c);
+     case 43:
+       return VSXTernaryLogic<43> (a, b, c);
+     case 44:
+       return VSXTernaryLogic<44> (a, b, c);
+     case 45:
+       return VSXTernaryLogic<45> (a, b, c);
+     case 46:
+       return VSXTernaryLogic<46> (a, b, c);
+     case 47:
+       return VSXTernaryLogic<47> (a, b, c);
+     case 48:
+       return VSXTernaryLogic<48> (a, b, c);
+     case 49:
+       return VSXTernaryLogic<49> (a, b, c);
+     case 50:
+       return VSXTernaryLogic<50> (a, b, c);
+     case 51:
+       return VSXTernaryLogic<51> (a, b, c);
+     case 52:
+       return VSXTernaryLogic<52> (a, b, c);
+     case 53:
+       return VSXTernaryLogic<53> (a, b, c);
+     case 54:
+       return VSXTernaryLogic<54> (a, b, c);
+     case 55:
+       return VSXTernaryLogic<55> (a, b, c);
+     case 56:
+       return VSXTernaryLogic<56> (a, b, c);
+     case 57:
+       return VSXTernaryLogic<57> (a, b, c);
+     case 58:
+       return VSXTernaryLogic<58> (a, b, c);
+     case 59:
+       return VSXTernaryLogic<59> (a, b, c);
+     case 60:
+       return VSXTernaryLogic<60> (a, b, c);
+     case 61:
+       return VSXTernaryLogic<61> (a, b, c);
+     case 62:
+       return VSXTernaryLogic<62> (a, b, c);
+     case 63:
+       return VSXTernaryLogic<63> (a, b, c);
+     case 64:
+       return VSXTernaryLogic<64> (a, b, c);
+     case 65:
+       return VSXTernaryLogic<65> (a, b, c);
+     case 66:
+       return VSXTernaryLogic<66> (a, b, c);
+     case 67:
+       return VSXTernaryLogic<67> (a, b, c);
+     case 68:
+       return VSXTernaryLogic<68> (a, b, c);
+     case 69:
+       return VSXTernaryLogic<69> (a, b, c);
+     case 70:
+       return VSXTernaryLogic<70> (a, b, c);
+     case 71:
+       return VSXTernaryLogic<71> (a, b, c);
+     case 72:
+       return VSXTernaryLogic<72> (a, b, c);
+     case 73:
+       return VSXTernaryLogic<73> (a, b, c);
+     case 74:
+       return VSXTernaryLogic<74> (a, b, c);
+     case 75:
+       return VSXTernaryLogic<75> (a, b, c);
+     case 76:
+       return VSXTernaryLogic<76> (a, b, c);
+     case 77:
+       return VSXTernaryLogic<77> (a, b, c);
+     case 78:
+       return VSXTernaryLogic<78> (a, b, c);
+     case 79:
+       return VSXTernaryLogic<79> (a, b, c);
+     case 80:
+       return VSXTernaryLogic<80> (a, b, c);
+     case 81:
+       return VSXTernaryLogic<81> (a, b, c);
+     case 82:
+       return VSXTernaryLogic<82> (a, b, c);
+     case 83:
+       return VSXTernaryLogic<83> (a, b, c);
+     case 84:
+       return VSXTernaryLogic<84> (a, b, c);
+     case 85:
+       return VSXTernaryLogic<85> (a, b, c);
+     case 86:
+       return VSXTernaryLogic<86> (a, b, c);
+     case 87:
+       return VSXTernaryLogic<87> (a, b, c);
+     case 88:
+       return VSXTernaryLogic<88> (a, b, c);
+     case 89:
+       return VSXTernaryLogic<89> (a, b, c);
+     case 90:
+       return VSXTernaryLogic<90> (a, b, c);
+     case 91:
+       return VSXTernaryLogic<91> (a, b, c);
+     case 92:
+       return VSXTernaryLogic<92> (a, b, c);
+     case 93:
+       return VSXTernaryLogic<93> (a, b, c);
+     case 94:
+       return VSXTernaryLogic<94> (a, b, c);
+     case 95:
+       return VSXTernaryLogic<95> (a, b, c);
+     case 96:
+       return VSXTernaryLogic<96> (a, b, c);
+     case 97:
+       return VSXTernaryLogic<97> (a, b, c);
+     case 98:
+       return VSXTernaryLogic<98> (a, b, c);
+     case 99:
+       return VSXTernaryLogic<99> (a, b, c);
+     case 100:
+       return VSXTernaryLogic<100> (a, b, c);
+     case 101:
+       return VSXTernaryLogic<101> (a, b, c);
+     case 102:
+       return VSXTernaryLogic<102> (a, b, c);
+     case 103:
+       return VSXTernaryLogic<103> (a, b, c);
+     case 104:
+       return VSXTernaryLogic<104> (a, b, c);
+     case 105:
+       return VSXTernaryLogic<105> (a, b, c);
+     case 106:
+       return VSXTernaryLogic<106> (a, b, c);
+     case 107:
+       return VSXTernaryLogic<107> (a, b, c);
+     case 108:
+       return VSXTernaryLogic<108> (a, b, c);
+     case 109:
+       return VSXTernaryLogic<109> (a, b, c);
+     case 110:
+       return VSXTernaryLogic<110> (a, b, c);
+     case 111:
+       return VSXTernaryLogic<111> (a, b, c);
+     case 112:
+       return VSXTernaryLogic<112> (a, b, c);
+     case 113:
+       return VSXTernaryLogic<113> (a, b, c);
+     case 114:
+       return VSXTernaryLogic<114> (a, b, c);
+     case 115:
+       return VSXTernaryLogic<115> (a, b, c);
+     case 116:
+       return VSXTernaryLogic<116> (a, b, c);
+     case 117:
+       return VSXTernaryLogic<117> (a, b, c);
+     case 118:
+       return VSXTernaryLogic<118> (a, b, c);
+     case 119:
+       return VSXTernaryLogic<119> (a, b, c);
+     case 120:
+       return VSXTernaryLogic<120> (a, b, c);
+     case 121:
+       return VSXTernaryLogic<121> (a, b, c);
+     case 122:
+       return VSXTernaryLogic<122> (a, b, c);
+     case 123:
+       return VSXTernaryLogic<123> (a, b, c);
+     case 124:
+       return VSXTernaryLogic<124> (a, b, c);
+     case 125:
+       return VSXTernaryLogic<125> (a, b, c);
+     case 126:
+       return VSXTernaryLogic<126> (a, b, c);
+     case 127:
+       return VSXTernaryLogic<127> (a, b, c);
+     case 128:
+       return VSXTernaryLogic<128> (a, b, c);
+     case 129:
+       return VSXTernaryLogic<129> (a, b, c);
+     case 130:
+       return VSXTernaryLogic<130> (a, b, c);
+     case 131:
+       return VSXTernaryLogic<131> (a, b, c);
+     case 132:
+       return VSXTernaryLogic<132> (a, b, c);
+     case 133:
+       return VSXTernaryLogic<133> (a, b, c);
+     case 134:
+       return VSXTernaryLogic<134> (a, b, c);
+     case 135:
+       return VSXTernaryLogic<135> (a, b, c);
+     case 136:
+       return VSXTernaryLogic<136> (a, b, c);
+     case 137:
+       return VSXTernaryLogic<137> (a, b, c);
+     case 138:
+       return VSXTernaryLogic<138> (a, b, c);
+     case 139:
+       return VSXTernaryLogic<139> (a, b, c);
+     case 140:
+       return VSXTernaryLogic<140> (a, b, c);
+     case 141:
+       return VSXTernaryLogic<141> (a, b, c);
+     case 142:
+       return VSXTernaryLogic<142> (a, b, c);
+     case 143:
+       return VSXTernaryLogic<143> (a, b, c);
+     case 144:
+       return VSXTernaryLogic<144> (a, b, c);
+     case 145:
+       return VSXTernaryLogic<145> (a, b, c);
+     case 146:
+       return VSXTernaryLogic<146> (a, b, c);
+     case 147:
+       return VSXTernaryLogic<147> (a, b, c);
+     case 148:
+       return VSXTernaryLogic<148> (a, b, c);
+     case 149:
+       return VSXTernaryLogic<149> (a, b, c);
+     case 150:
+       return VSXTernaryLogic<150> (a, b, c);
+     case 151:
+       return VSXTernaryLogic<151> (a, b, c);
+     case 152:
+       return VSXTernaryLogic<152> (a, b, c);
+     case 153:
+       return VSXTernaryLogic<153> (a, b, c);
+     case 154:
+       return VSXTernaryLogic<154> (a, b, c);
+     case 155:
+       return VSXTernaryLogic<155> (a, b, c);
+     case 156:
+       return VSXTernaryLogic<156> (a, b, c);
+     case 157:
+       return VSXTernaryLogic<157> (a, b, c);
+     case 158:
+       return VSXTernaryLogic<158> (a, b, c);
+     case 159:
+       return VSXTernaryLogic<159> (a, b, c);
+     case 160:
+       return VSXTernaryLogic<160> (a, b, c);
+     case 161:
+       return VSXTernaryLogic<161> (a, b, c);
+     case 162:
+       return VSXTernaryLogic<162> (a, b, c);
+     case 163:
+       return VSXTernaryLogic<163> (a, b, c);
+     case 164:
+       return VSXTernaryLogic<164> (a, b, c);
+     case 165:
+       return VSXTernaryLogic<165> (a, b, c);
+     case 166:
+       return VSXTernaryLogic<166> (a, b, c);
+     case 167:
+       return VSXTernaryLogic<167> (a, b, c);
+     case 168:
+       return VSXTernaryLogic<168> (a, b, c);
+     case 169:
+       return VSXTernaryLogic<169> (a, b, c);
+     case 170:
+       return VSXTernaryLogic<170> (a, b, c);
+     case 171:
+       return VSXTernaryLogic<171> (a, b, c);
+     case 172:
+       return VSXTernaryLogic<172> (a, b, c);
+     case 173:
+       return VSXTernaryLogic<173> (a, b, c);
+     case 174:
+       return VSXTernaryLogic<174> (a, b, c);
+     case 175:
+       return VSXTernaryLogic<175> (a, b, c);
+     case 176:
+       return VSXTernaryLogic<176> (a, b, c);
+     case 177:
+       return VSXTernaryLogic<177> (a, b, c);
+     case 178:
+       return VSXTernaryLogic<178> (a, b, c);
+     case 179:
+       return VSXTernaryLogic<179> (a, b, c);
+     case 180:
+       return VSXTernaryLogic<180> (a, b, c);
+     case 181:
+       return VSXTernaryLogic<181> (a, b, c);
+     case 182:
+       return VSXTernaryLogic<182> (a, b, c);
+     case 183:
+       return VSXTernaryLogic<183> (a, b, c);
+     case 184:
+       return VSXTernaryLogic<184> (a, b, c);
+     case 185:
+       return VSXTernaryLogic<185> (a, b, c);
+     case 186:
+       return VSXTernaryLogic<186> (a, b, c);
+     case 187:
+       return VSXTernaryLogic<187> (a, b, c);
+     case 188:
+       return VSXTernaryLogic<188> (a, b, c);
+     case 189:
+       return VSXTernaryLogic<189> (a, b, c);
+     case 190:
+       return VSXTernaryLogic<190> (a, b, c);
+     case 191:
+       return VSXTernaryLogic<191> (a, b, c);
+     case 192:
+       return VSXTernaryLogic<192> (a, b, c);
+     case 193:
+       return VSXTernaryLogic<193> (a, b, c);
+     case 194:
+       return VSXTernaryLogic<194> (a, b, c);
+     case 195:
+       return VSXTernaryLogic<195> (a, b, c);
+     case 196:
+       return VSXTernaryLogic<196> (a, b, c);
+     case 197:
+       return VSXTernaryLogic<197> (a, b, c);
+     case 198:
+       return VSXTernaryLogic<198> (a, b, c);
+     case 199:
+       return VSXTernaryLogic<199> (a, b, c);
+     case 200:
+       return VSXTernaryLogic<200> (a, b, c);
+     case 201:
+       return VSXTernaryLogic<201> (a, b, c);
+     case 202:
+       return VSXTernaryLogic<202> (a, b, c);
+     case 203:
+       return VSXTernaryLogic<203> (a, b, c);
+     case 204:
+       return VSXTernaryLogic<204> (a, b, c);
+     case 205:
+       return VSXTernaryLogic<205> (a, b, c);
+     case 206:
+       return VSXTernaryLogic<206> (a, b, c);
+     case 207:
+       return VSXTernaryLogic<207> (a, b, c);
+     case 208:
+       return VSXTernaryLogic<208> (a, b, c);
+     case 209:
+       return VSXTernaryLogic<209> (a, b, c);
+     case 210:
+       return VSXTernaryLogic<210> (a, b, c);
+     case 211:
+       return VSXTernaryLogic<211> (a, b, c);
+     case 212:
+       return VSXTernaryLogic<212> (a, b, c);
+     case 213:
+       return VSXTernaryLogic<213> (a, b, c);
+     case 214:
+       return VSXTernaryLogic<214> (a, b, c);
+     case 215:
+       return VSXTernaryLogic<215> (a, b, c);
+     case 216:
+       return VSXTernaryLogic<216> (a, b, c);
+     case 217:
+       return VSXTernaryLogic<217> (a, b, c);
+     case 218:
+       return VSXTernaryLogic<218> (a, b, c);
+     case 219:
+       return VSXTernaryLogic<219> (a, b, c);
+     case 220:
+       return VSXTernaryLogic<220> (a, b, c);
+     case 221:
+       return VSXTernaryLogic<221> (a, b, c);
+     case 222:
+       return VSXTernaryLogic<222> (a, b, c);
+     case 223:
+       return VSXTernaryLogic<223> (a, b, c);
+     case 224:
+       return VSXTernaryLogic<224> (a, b, c);
+     case 225:
+       return VSXTernaryLogic<225> (a, b, c);
+     case 226:
+       return VSXTernaryLogic<226> (a, b, c);
+     case 227:
+       return VSXTernaryLogic<227> (a, b, c);
+     case 228:
+       return VSXTernaryLogic<228> (a, b, c);
+     case 229:
+       return VSXTernaryLogic<229> (a, b, c);
+     case 230:
+       return VSXTernaryLogic<230> (a, b, c);
+     case 231:
+       return VSXTernaryLogic<231> (a, b, c);
+     case 232:
+       return VSXTernaryLogic<232> (a, b, c);
+     case 233:
+       return VSXTernaryLogic<233> (a, b, c);
+     case 234:
+       return VSXTernaryLogic<234> (a, b, c);
+     case 235:
+       return VSXTernaryLogic<235> (a, b, c);
+     case 236:
+       return VSXTernaryLogic<236> (a, b, c);
+     case 237:
+       return VSXTernaryLogic<237> (a, b, c);
+     case 238:
+       return VSXTernaryLogic<238> (a, b, c);
+     case 239:
+       return VSXTernaryLogic<239> (a, b, c);
+     case 240:
+       return VSXTernaryLogic<240> (a, b, c);
+     case 241:
+       return VSXTernaryLogic<241> (a, b, c);
+     case 242:
+       return VSXTernaryLogic<242> (a, b, c);
+     case 243:
+       return VSXTernaryLogic<243> (a, b, c);
+     case 244:
+       return VSXTernaryLogic<244> (a, b, c);
+     case 245:
+       return VSXTernaryLogic<245> (a, b, c);
+     case 246:
+       return VSXTernaryLogic<246> (a, b, c);
+     case 247:
+       return VSXTernaryLogic<247> (a, b, c);
+     case 248:
+       return VSXTernaryLogic<248> (a, b, c);
+     case 249:
+       return VSXTernaryLogic<249> (a, b, c);
+     case 250:
+       return VSXTernaryLogic<250> (a, b, c);
+     case 251:
+       return VSXTernaryLogic<251> (a, b, c);
+     case 252:
+       return VSXTernaryLogic<252> (a, b, c);
+     case 253:
+       return VSXTernaryLogic<253> (a, b, c);
+     case 254:
+       return VSXTernaryLogic<254> (a, b, c);
+     case 255:
+       return VSXTernaryLogic<255> (a, b, c);
+     default:
+       return a;
+     }
+ }
+ 
+ int
+ main (int argc, char **argv)
+ {
+   vector unsigned long long a = {0xD8, 0xDB};
+   vector unsigned long long b = {0x6C, 0x6C};
+   vector unsigned long long c = {0x56, 0x56};
+   vector unsigned long long ternlog_result = VSXTernaryLogic (a, b, c, 0xB6);
+ 
+   if (ternlog_result[0] != 0xffffffffffffff3dull
+       || ternlog_result[1] != 0xffffffffffffff3eull)
+     __builtin_abort ();
+ 
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr111367.C gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr111367.C
*** gcc-11.4.0/gcc/testsuite/g++.target/powerpc/pr111367.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/g++.target/powerpc/pr111367.C	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,22 ----
+ /* { dg-do assemble } */
+ /* { dg-require-effective-target power10_ok } */
+ /* { dg-options "-mdejagnu-cpu=power10 -fstack-protector-strong" } */
+ 
+ /* Verify object file can be generated successfully.  */
+ 
+ struct SortAscending
+ {
+ };
+ 
+ typedef unsigned long long size_t;
+ 
+ void VQSort (long long *, size_t, SortAscending);
+ 
+ void
+ BenchAllColdSort ()
+ {
+   typedef long long T;
+   constexpr size_t kSize = 10 * 1000;
+   alignas (16) T items[kSize];
+   VQSort (items, kSize, SortAscending ());
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr110386-1.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr110386-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr110386-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr110386-1.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,9 ----
+ 
+ int f(int a)
+ {
+         int c = c < 0 ? c : -c;
+         c = -c;
+         unsigned b =  c;
+         unsigned t = b*a;
+         return t*t;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr110386-2.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr110386-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr110386-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr110386-2.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-mavx" } */
+ 
+ #include <immintrin.h>
+ 
+ __m128i do_stuff(__m128i XMM0) {
+ 	__m128i ABS0 = _mm_abs_epi32(XMM0);
+ 	__m128i MUL0 = _mm_mullo_epi32(ABS0, XMM0);
+ 	__m128i MUL1 = _mm_mullo_epi32(MUL0, MUL0);
+ 	return MUL1;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr111699-1.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr111699-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr111699-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr111699-1.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,7 ----
+ typedef unsigned char __attribute__((__vector_size__ (8))) V;
+ 
+ void
+ foo (V *v)
+ {
+   *v =  (V) 0x107B9A7FF >= (*v <= 0);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr113603.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr113603.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/compile/pr113603.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/compile/pr113603.c	Fri Jul 19 05:52:44 2024
***************
*** 0 ****
--- 1,40 ----
+ /* PR tree-optimization/113603 */
+ 
+ int a, e;
+ signed char b;
+ int *c;
+ signed char *d;
+ short f;
+ signed char g[3];
+ 
+ int *
+ foo (void)
+ {
+   for (int i = 0; i < 3; i++)
+     g[i] = 2;
+   int j[100][100] = { {}, {4} };
+   signed char *k = &g[1];
+   do
+     {
+       for (;;)
+ 	{
+ 	  if (c)
+ 	    break;
+ 	  return &a;
+ 	}
+       for (f = 0;; f++)
+ 	{
+ 	  for (b = 0; b < 2; b++)
+ 	    *c = j[b][f];
+ 	  if (e)
+ 	    d = k;
+ 	  *k = *d;
+ 	  if (*c)
+ 	    break;
+ 	  if (f)
+ 	    break;
+ 	}
+     }
+   while (f);
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr108789.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr108789.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr108789.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr108789.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,39 ----
+ /* PR middle-end/108789 */
+ 
+ int
+ add (unsigned *r, const unsigned *a, const unsigned *b)
+ {
+   return __builtin_add_overflow (*a, *b, r);
+ }
+ 
+ int
+ mul (unsigned *r, const unsigned *a, const unsigned *b)
+ {
+   return __builtin_mul_overflow (*a, *b, r);
+ }
+ 
+ int
+ main ()
+ {
+   unsigned x;
+ 
+   /* 1073741824U + 1073741824U should not overflow.  */
+   x = (__INT_MAX__ + 1U) / 2;
+   if (add (&x, &x, &x))
+     __builtin_abort ();
+ 
+   /* 256U * 256U should not overflow */
+   x = 1U << (sizeof (int) * __CHAR_BIT__ / 4);
+   if (mul (&x, &x, &x))
+     __builtin_abort ();
+ 
+   /* 2147483648U + 2147483648U should overflow */
+   x = __INT_MAX__ + 1U;
+   if (!add (&x, &x, &x))
+     __builtin_abort ();
+ 
+   /* 65536U * 65536U should overflow */
+   x = 1U << (sizeof (int) * __CHAR_BIT__ / 2);
+   if (!mul (&x, &x, &x))
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr110115.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr110115.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr110115.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr110115.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,45 ----
+ /* PR middle-end/110115 */
+ 
+ int a;
+ signed char b;
+ 
+ static int
+ foo (signed char *e, int f)
+ {
+   int d;
+   for (d = 0; d < f; d++)
+     e[d] = 0;
+   return d;
+ }
+ 
+ int
+ bar (signed char e, int f)
+ {
+   signed char h[20];
+   int i = foo (h, f);
+   return i;
+ }
+ 
+ int
+ baz ()
+ {
+   switch (a)
+     {
+     case 'f':
+       return 0;
+     default:
+       return ~0;
+     }
+ }
+ 
+ int
+ main ()
+ {
+   {
+     signed char *k[3];
+     int d;
+     for (d = 0; bar (8, 15) - 15 + d < 1; d++)
+       k[baz () + 1] = &b;
+     *k[0] = -*k[0];
+   }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr110914.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr110914.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr110914.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr110914.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,22 ----
+ /* PR tree-optimization/110914 */
+ 
+ __attribute__ ((noipa)) int
+ foo (const char *s, unsigned long l)
+ {
+   unsigned char r = 0;
+   __builtin_memcpy (&r, s, l != 0);
+   return r;
+ }
+ 
+ int
+ main ()
+ {
+   const char *p = "123456";
+   int a = foo (p, __builtin_strlen (p) - 5);
+   int b = foo (p, __builtin_strlen (p) - 6);
+   if (a != '1')
+     __builtin_abort ();
+   if (b != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-1.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ int a;
+ int b;
+ int c(int d, int e, int f) {
+   if (d < e)
+     return e;
+   if (d > f)
+     return f;
+   return d;
+ }
+ int main() {
+   int g = -1;
+   a = c(b + 30, 29, g + 29);
+   volatile t = a;
+   if (t != 28)
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-2.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,19 ----
+ 
+ int a;
+ int b;
+ 
+ int main() {
+   int d = b+30;
+   {
+         int t;
+         if (d < 29)
+           t =  29;
+         else
+           t = (d > 28) ? 28 : d;
+     a = t;
+   }
+   volatile int t = a;
+   if (a != 28)
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-3.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111331-3.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111331-3.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,15 ----
+ int a;
+ int b;
+ 
+ int main() {
+   int d = b+30;
+   {
+     int t;
+     t = d < 29 ? 29 : ((d > 28) ? 28 : d);
+     a = t;
+   }
+   volatile int t = a;
+   if (a != 28)
+     __builtin_abort();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111408.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111408.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111408.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111408.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR target/111408 */
+ 
+ int a, b, c, d;
+ short e;
+ 
+ int
+ foo ()
+ {
+   c = a % (sizeof (int) * 8);
+   if (b & 1 << c)
+     return -1;
+   return 0;
+ }
+ 
+ int
+ main ()
+ {
+   for (; e != 1; e++)
+     {
+       int g = foo ();
+       if (g + d - 9 + d)
+ 	continue;
+       for (;;)
+ 	__builtin_abort ();
+     }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111422.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111422.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr111422.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr111422.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,39 ----
+ /* PR middle-end/111422 */
+ 
+ int a, b;
+ int *c = &b;
+ unsigned d;
+ signed char e;
+ int f = 1;
+ 
+ int
+ foo (int k, signed char *l)
+ {
+   if (k < 6)
+     return a;
+   l[0] = l[1] = l[k - 1] = 8;
+   return 0;
+ }
+ 
+ int
+ bar (int k)
+ {
+   signed char g[11];
+   int h = foo (k, g);
+   return h;
+ }
+ 
+ int
+ main ()
+ {
+   for (; b < 8; b = b + 1)
+     ;
+   int j;
+   int *n[8];
+   for (j = 0; 18446744073709551608ULL + bar (*c) + *c + j < 2; j++)
+     n[j] = &f;
+   for (; e <= 4; e++)
+     d = *n[0] == f;
+   if (d != 1)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr90348.c gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr90348.c
*** gcc-11.4.0/gcc/testsuite/gcc.c-torture/execute/pr90348.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.c-torture/execute/pr90348.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,38 ----
+ /* PR middle-end/90348 */
+ 
+ void __attribute__ ((noipa))
+ set_one (unsigned char *ptr)
+ {
+   *ptr = 1;
+ }
+ 
+ void __attribute__ ((noipa))
+ check_zero (unsigned char const *in, unsigned int len)
+ {
+   for (unsigned int i = 0; i < len; ++i)
+     if (in[i] != 0)
+       __builtin_abort ();
+ }
+ 
+ static void
+ set_one_on_stack (void)
+ {
+   unsigned char buf[1];
+   set_one (buf);
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i <= 4; ++i)
+     {
+       unsigned char in[4];
+       for (int j = 0; j < i; ++j)
+ 	{
+ 	  in[j] = 0;
+ 	  set_one_on_stack ();
+ 	}
+       check_zero (in, i);
+     }
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/analyzer/analyzer.exp gcc-11.5.0/gcc/testsuite/gcc.dg/analyzer/analyzer.exp
*** gcc-11.4.0/gcc/testsuite/gcc.dg/analyzer/analyzer.exp	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/analyzer/analyzer.exp	Fri Jul 19 05:52:45 2024
*************** if [info exists DEFAULT_CFLAGS] then {
*** 32,37 ****
--- 32,45 ----
  # If a testcase doesn't have special options, use these.
  set DEFAULT_CFLAGS "-fanalyzer -Wanalyzer-too-complex -fanalyzer-call-summaries"
  
+ if { [istarget "*-*-darwin*" ] } {
+   # On macOS, system headers redefine by default some macros (memcpy,
+   # memmove, etc) to checked versions, which defeats the analyzer. We
+   # want to turn this off.
+   # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104042
+   set DEFAULT_CFLAGS "$DEFAULT_CFLAGS -D_FORTIFY_SOURCE=0"
+ }
+ 
  # Initialize `dg'.
  dg-init
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr110027.c gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr110027.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr110027.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr110027.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,50 ----
+ /* PR middle-end/110027 */
+ /* { dg-do run } */
+ /* { dg-additional-options "-fstack-protector-strong" { target fstack_protector } } */
+ /* { dg-set-target-env-var ASAN_OPTIONS "detect_stack_use_after_return=1" } */
+ 
+ struct __attribute__((aligned (128))) S { char s[128]; };
+ struct __attribute__((aligned (64))) T { char s[192]; };
+ struct __attribute__((aligned (32))) U { char s[256]; };
+ struct __attribute__((aligned (64))) V { char s[320]; };
+ struct __attribute__((aligned (128))) W { char s[512]; };
+ 
+ __attribute__((noipa)) void
+ foo (void *p, void *q, void *r, void *s)
+ {
+   if (((__UINTPTR_TYPE__) p & 31) != 0
+       || ((__UINTPTR_TYPE__) q & 127) != 0
+       || ((__UINTPTR_TYPE__) r & 63) != 0)
+     __builtin_abort ();
+   (void *) s;
+ }
+ 
+ __attribute__((noipa)) int
+ bar (void)
+ {
+   struct U u;
+   struct S s;
+   struct T t;
+   char p[4];
+   foo (&u, &s, &t, &p);
+   return 42;
+ }
+ 
+ __attribute__((noipa)) int
+ baz (void)
+ {
+   struct W w;
+   struct U u;
+   struct V v;
+   char p[4];
+   foo (&u, &w, &v, &p);
+   return 42;
+ }
+ 
+ int
+ main ()
+ {
+   bar ();
+   baz ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr114956.c gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr114956.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr114956.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr114956.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR sanitizer/114956 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fsanitize=address,null" } */
+ 
+ int **a;
+ void qux (int *);
+ 
+ __attribute__((always_inline)) static inline int *
+ foo (void)
+ {
+   int b[1];
+   qux (b);
+   return a[1];
+ }
+ 
+ __attribute__((no_sanitize_address)) void
+ bar (void)
+ {
+   *a = foo ();
+ }
+ 
+ void
+ baz (void)
+ {
+   bar ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr115172.c gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr115172.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/asan/pr115172.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/asan/pr115172.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* PR sanitizer/115172 */
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-O2 -fsanitize=address,bool -ffat-lto-objects -fdump-tree-asan1" } */
+ /* { dg-final { scan-tree-dump-not "\.ASAN_CHECK " "asan1" } } */
+ 
+ #ifdef __x86_64__
+ #define SEG __seg_gs
+ #else
+ #define SEG __seg_fs
+ #endif
+ 
+ extern struct S { _Bool b; } s;
+ void bar (void);
+ 
+ void
+ foo (void)
+ {
+   if (*(volatile _Bool SEG *) (__UINTPTR_TYPE__) &s.b)
+     bar ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/c23-attr-syntax-8.c gcc-11.5.0/gcc/testsuite/gcc.dg/c23-attr-syntax-8.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/c23-attr-syntax-8.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/c23-attr-syntax-8.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,12 ----
+ /* PR c/114007 */
+ /* { dg-do compile } */
+ /* { dg-options "-std=c11" } */
+ 
+ #if __has_c_attribute (gnu::unused)
+ [[gnu::unused]]
+ #endif
+ int i;
+ #if __has_cpp_attribute (gnu::unused)
+ [[gnu::unused]]
+ #endif
+ int j;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-comm-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-comm-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-comm-1.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-comm-1.c	Fri Jul 19 05:52:45 2024
***************
*** 1,5 ****
! /* { dg-do compile { target *-*-darwin[912]* } } */
  /* { dg-options "-fcommon" } */
  
  /* In all cases, common has a max alignment of 2^15.  */
! int badcommon __attribute__ ((aligned (65536))); /* { dg-error "common variables must have an alignment" } */
--- 1,6 ----
! /* { dg-do compile { target *-*-darwin* } } */
  /* { dg-options "-fcommon" } */
  
  /* In all cases, common has a max alignment of 2^15.  */
! int badcommon __attribute__ ((aligned (65536))); /* { dg-error "common variables must have an alignment" "" { target { *-*-darwin1[1-9]* *-*-darwin2* } } } */
! /* { dg-error "requested alignment .65536. exceeds object file maximum 32768" "" { target { *-*-darwin[4-9]* *-*-darwin10* } } .-1 } */
\ No newline at end of file
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-ld-2.c gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-ld-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-ld-2.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-ld-2.c	Fri Jul 19 05:52:45 2024
***************
*** 3,8 ****
--- 3,9 ----
  
  /* { dg-options "-bind_at_load" } */
  /* { dg-do link { target *-*-darwin* } } */
+ /* { dg-prune-output "-bind_at_load is deprecated" } */
  
  int main()
  {
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-minversion-link.c gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-minversion-link.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-minversion-link.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-minversion-link.c	Fri Jul 19 05:52:45 2024
***************
*** 17,22 ****
--- 17,24 ----
  /* { dg-additional-options "-mmacosx-version-min=010.015.06 -DCHECK=101506" { target *-*-darwin19* } } */
  /* { dg-additional-options "-mmacosx-version-min=011.000.00 -DCHECK=110000" { target *-*-darwin20* } } */
  /* { dg-additional-options "-mmacosx-version-min=012.000.00 -DCHECK=120000" { target *-*-darwin21* } } */
+ /* { dg-additional-options "-mmacosx-version-min=013.000.00 -DCHECK=130000" { target *-*-darwin22* } } */
+ /* { dg-additional-options "-mmacosx-version-min=014.000.00 -DCHECK=140000" { target *-*-darwin23* } } */
  
  int
  main ()
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-segaddr.c gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-segaddr.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/darwin-segaddr.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/darwin-segaddr.c	Fri Jul 19 05:52:45 2024
***************
*** 2,7 ****
--- 2,8 ----
  /* { dg-do run { target *-*-darwin* } } */
  /* { dg-options "-O0 -segaddr __TEST 0x200000 -fno-pie" { target { *-*-darwin* && { ! lp64 } } } } */
  /* { dg-options "-O0 -segaddr __TEST 0x110000000 -fno-pie" { target { *-*-darwin* && lp64 } } } */
+ /* { dg-prune-output "-no_pie is deprecated when targeting new OS versions" } */
  
  extern void abort ();
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c gcc-11.5.0/gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c	Fri Jul 19 05:52:45 2024
***************
*** 2,8 ****
     the DW_TAG_inlined_subroutine and the DW_TAG_variable for the local.  */
  /* { dg-options "-O -gdwarf -dA" } */
  /* { dg-do compile } */
! /* { dg-final { scan-assembler "DW_TAG_inlined_subroutine\[^\\(\]*\\(\[^\\)\]*\\)\[^\\(\]*\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_formal_parameter\[^\\(\]*\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_variable" } } */
  /* { dg-final { scan-assembler-times "DW_TAG_inlined_subroutine" 2 } } */
  
  static int foo (int i)
--- 2,8 ----
     the DW_TAG_inlined_subroutine and the DW_TAG_variable for the local.  */
  /* { dg-options "-O -gdwarf -dA" } */
  /* { dg-do compile } */
! /* { dg-final { scan-assembler "DW_TAG_inlined_subroutine\[^\\(\]*\(\|\\(\[^\\)\]*\\)\)\[^\\(\]*\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_formal_parameter\[^\\(\]*\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_variable" } } */
  /* { dg-final { scan-assembler-times "DW_TAG_inlined_subroutine" 2 } } */
  
  static int foo (int i)
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c gcc-11.5.0/gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ /* { dg-options "-save-temps -gdwarf-3 -dA" } */
+ 
+ struct foo {
+         int field_number_1;
+         int field_number_2;
+         int field_number_3;
+         int field_number_4;
+         int field_number_5;
+ };
+ 
+ typedef int fun_t(struct foo *restrict);
+ 
+ int main() {
+         return 0;
+ }
+ 
+ /* { dg-final { scan-assembler-not "DW_TAG_structure_type" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/debug/pr112718.c gcc-11.5.0/gcc/testsuite/gcc.dg/debug/pr112718.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/debug/pr112718.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/debug/pr112718.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lto } */
+ /* { dg-options "-g -fdebug-types-section -flto -ffat-lto-objects" } */
+ 
+ struct {
+   int h;
+   unsigned char data[20 + 24 * 6];
+ } _EC_X9_62_PRIME_192V2;
+ struct {
+   int h;
+   unsigned char data[20 + 24 * 6];
+ } _EC_X9_62_PRIME_192V3;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/float_opposite_arm-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/float_opposite_arm-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/float_opposite_arm-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/float_opposite_arm-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -fdump-tree-original -fdump-tree-optimized" } */
+ /* { dg-add-options ieee } */
+ /* PR middle-end/95351 */
+ 
+ int Foo(double possiblyNAN, double b, double c)
+ {
+     return (possiblyNAN <= 2.0) || ((possiblyNAN  > 2.0) && (b > c));
+ }
+ 
+ /* Make sure we don't remove either >/<=  */
+ 
+ /* { dg-final { scan-tree-dump "possiblyNAN > 2.0e.0" "original" } } */
+ /* { dg-final { scan-tree-dump "possiblyNAN_\[0-9\]+.D. > 2.0e.0" "optimized" } } */
+ 
+ /* { dg-final { scan-tree-dump "possiblyNAN <= 2.0e.0" "original" } } */
+ /* { dg-final { scan-tree-dump "possiblyNAN_\[0-9\]+.D. <= 2.0e.0" "optimized" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/framework-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/framework-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/framework-1.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/framework-1.c	Fri Jul 19 05:52:45 2024
***************
*** 1,4 ****
  /* { dg-do compile { target *-*-darwin* } } */
  /* { dg-options "-F." } */
  
! #include <Kernel/string.h>
--- 1,10 ----
  /* { dg-do compile { target *-*-darwin* } } */
  /* { dg-options "-F." } */
  
! /* The intent of the test is to show that we find a framework that
!    is installed in /System/Library/Frameworks when the user has added
!    a '-F' option.  The trick is to choose some header that is present
!    for all the Darwin versions we support and that does not contain any
!    content we cannot parse.  */
! 
! #include <IOKit/IOReturn.h>
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c gcc-11.5.0/gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c	Fri Jul 19 05:52:45 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* { dg-do link } */
+ /* { dg-require-alias "" } */
  /* { dg-options "-O2 -fdump-ipa-icf-optimized -flto -fdump-tree-optimized" } */
  /* { dg-require-effective-target lto } */
  /* { dg-additional-sources "ipa-icf-38a.c" }*/
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pie-2.c gcc-11.5.0/gcc/testsuite/gcc.dg/pie-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pie-2.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pie-2.c	Fri Jul 19 05:52:45 2024
***************
*** 2,7 ****
--- 2,8 ----
  /* { dg-options "-fPIE" } */
  /* { dg-require-effective-target pie } */
  /* { dg-skip-if "__PIC__ is always 1 for MIPS" { mips*-*-* } } */
+ /* { dg-skip-if "__PIE__ is often not defined on darwin" { *-*-darwin* } } */
  
  #if __PIC__ != 2
  # error __PIC__ is not 2!
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pie-7.c gcc-11.5.0/gcc/testsuite/gcc.dg/pie-7.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pie-7.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pie-7.c	Fri Jul 19 05:52:45 2024
***************
*** 1,5 ****
--- 1,6 ----
  /* { dg-do run { target pie } } */
  /* { dg-options "-fno-pie -no-pie" } */
+ /* { dg-prune-output "-no_pie is deprecated when targeting new OS versions" } */
  
  int main(void)
  {
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr105522.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr105522.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr105522.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr105522.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile { target *-*-darwin* } } */
+ typedef const struct __CFString * CFStringRef;
+ 
+ /* This used to ICE on powerpc darwin, in decode_addr_const.  */
+ const void
+ * create_usage_match(const unsigned int page, const unsigned int usage, int
+ *okay)
+ {
+ 
+   const void *keys[2] = 
+     { (void *) ((CFStringRef) __builtin___CFStringMakeConstantString (""
+       "DeviceUsagePage" ""))
+       , (void *) ((CFStringRef) __builtin___CFStringMakeConstantString (""
+       "DeviceUsage" ""))
+     };
+   return keys[1];
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr107385.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr107385.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr107385.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr107385.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* PR middle-end/107385 */
+ /* { dg-do run { target lra } } */
+ /* { dg-options "-O2" } */
+ 
+ __attribute__((noipa)) int
+ foo (void)
+ {
+   int x;
+   asm goto ("": "=r" (x) : "0" (15) :: lab);
+   x = 6;
+ lab:
+   return x;
+ }
+ 
+ int
+ main ()
+ {
+   if (foo () != 6)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr110079.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr110079.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr110079.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr110079.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,43 ----
+ /* PR rtl-optimization/110079 */
+ /* { dg-do compile { target lra } } */
+ /* { dg-options "-O2" } */
+ /* { dg-additional-options "-freorder-blocks-and-partition" { target freorder } } */
+ 
+ int a;
+ __attribute__((cold)) int bar (char *);
+ __attribute__((hot)) int baz (char *);
+ 
+ void
+ foo (void)
+ {
+ l1:
+   while (a)
+     ;
+   bar ("");
+   asm goto ("" : : : : l2);
+   asm ("");
+ l2:
+   goto l1;
+ }
+ 
+ void
+ qux (void)
+ {
+   asm goto ("" : : : : l1);
+   bar ("");
+   goto l1;
+ l1:
+   baz ("");
+ }
+ 
+ void
+ corge (void)
+ {
+   asm goto ("" : : : : l1);
+   baz ("");
+ l2:
+   return;
+ l1:
+   bar ("");
+   goto l2;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr110731.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr110731.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr110731.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr110731.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ /* PR tree-optimization/110731 */
+ /* { dg-do run { target int128 } } */
+ /* { dg-options "-O2" } */
+ 
+ __int128
+ foo (void)
+ {
+   struct S { __int128 f : 119; } s = { ((__int128) -18014398509481984) << 64 };
+   return s.f / 2;
+ }
+ 
+ int
+ main ()
+ {
+   if (foo () != (((__int128) -9007199254740992) << 64))
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr111015.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr111015.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr111015.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr111015.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,28 ----
+ /* PR tree-optimization/111015 */
+ /* { dg-do run { target int128 } } */
+ /* { dg-options "-O2" } */
+ 
+ struct S { unsigned a : 4, b : 4; unsigned __int128 c : 70; } d;
+ 
+ __attribute__((noipa)) void
+ foo (unsigned __int128 x, unsigned char y, unsigned char z)
+ {
+   d.a = y;
+   d.b = z;
+   d.c = x;
+ }
+ 
+ int
+ main ()
+ {
+   foo (-1, 12, 5);
+   if (d.a != 12
+       || d.b != 5
+       || d.c != (-1ULL | (((unsigned __int128) 0x3f) << 64)))
+     __builtin_abort ();
+   foo (0x123456789abcdef0ULL | (((unsigned __int128) 26) << 64), 7, 11);
+   if (d.a != 7
+       || d.b != 11
+       || d.c != (0x123456789abcdef0ULL | (((unsigned __int128) 26) << 64)))
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr111039.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr111039.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr111039.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr111039.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O" } */
+ 
+ int _setjmp ();
+ void abcd ();
+ void abcde ();
+ void compiler_corruption_function(int flags)
+ {
+   int nowait = flags & 1048576, isexpand = flags & 8388608;
+   abcd();
+   _setjmp(flags);
+   if (nowait && isexpand)
+     flags &= 0;
+   abcde();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr111070.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr111070.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr111070.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr111070.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O" } */
+ 
+ /* common */
+ char c;
+ /* arrays must be 8 byte aligned, regardless of size */
+ char c_ary[1];
+ 
+ /* data */
+ char d = 1;
+ char d_ary[1] = {1};
+ 
+ int main ()
+ {
+   if (((unsigned long)&c_ary[0] & 7) != 0)
+     return 1;
+   if (((unsigned long)&d_ary[0] & 7) != 0)
+     return 1;
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr111407.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr111407.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr111407.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr111407.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,21 ----
+ /* PR tree-optimization/111407*/
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ enum { SEND_TOFILE } __sigsetjmp();
+ void fclose();
+ void foldergets();
+ void sendpart_stats(int *p1, int a1, int b1) {
+  int *a = p1;
+  fclose();
+  p1 = 0;
+  long t = b1;
+  if (__sigsetjmp()) {
+    {
+      long t1 = a1;
+      a1+=1;
+      fclose(a1*(long)t1);
+    }
+  }
+  if (p1)
+    fclose();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr112733.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr112733.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr112733.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr112733.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ /* PR middle-end/112733 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ signed char a, c;
+ short b;
+ 
+ void
+ foo (void)
+ {
+   signed char *e = &a;
+   c = foo != 0;
+   *e &= c;
+   for (; b; --b)
+     *e &= -128;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr112837.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr112837.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr112837.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr112837.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,11 ----
+ /* PR target/112837 */
+ /* { dg-do compile } */
+ /* { dg-options "-fcompare-elim -fprofile" } */
+ /* { dg-additional-options "-fpie" { target pie } } */
+ /* { dg-require-profiling "-fprofile" } */
+ 
+ void
+ foo (int i)
+ {
+   foo (i);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr112845.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr112845.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr112845.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr112845.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,9 ----
+ /* PR target/112845 */
+ /* { dg-do compile { target cet } } */
+ /* { dg-options "-Os -fcf-protection" } */
+ 
+ unsigned long long
+ foo (void)
+ {
+   return 0xfa1e0ff3ULL << 3;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr113262.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr113262.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr113262.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr113262.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,6 ----
+ /* PR c/113262 */
+ /* { dg-do compile } */
+ /* { dg-options "" } */
+ 
+ int [[gnu::copy ("")]] a;	/* { dg-error "'copy' attribute argument cannot be a string" } */
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr113907-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr113907-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr113907-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr113907-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,49 ----
+ /* PR middle-end/113907 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ /* { dg-additional-options "-minline-all-stringops" { target i?86-*-* x86_64-*-* } } */
+ 
+ static inline int
+ foo (int len, void *indata, void *outdata)
+ {
+   if (len < 0 || (len & 7) != 0)
+     return 0;
+   if (len != 0 && indata != outdata)
+     __builtin_memcpy (outdata, indata, len);
+   return len;
+ }
+ 
+ static inline int
+ bar (int len, void *indata, void *outdata)
+ {
+   if (len < 0 || (len & 1) != 0)
+     return 0;
+   if (len != 0 && indata != outdata)
+     __builtin_memcpy (outdata, indata, len);
+   return len;
+ }
+ 
+ int (*volatile p1) (int, void *, void *) = foo;
+ int (*volatile p2) (int, void *, void *) = bar;
+ 
+ __attribute__((noipa)) int
+ baz (int len, void *indata, void *outdata)
+ {
+   if ((len & 6) != 0)
+     bar (len, indata, outdata);
+   else
+     foo (len, indata, outdata);
+ }
+ 
+ struct S { char buf[64]; } s __attribute__((aligned (8)));
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < 64; ++i)
+     s.buf[i] = ' ' + i;
+   p2 (2, s.buf, s.buf + 33);
+   for (int i = 0; i < 64; ++i)
+     if (s.buf[i] != ' ' + ((i >= 33 && i < 35) ? i - 33 : i))
+       __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114115.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114115.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114115.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114115.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -fprofile-generate -fdump-tree-optimized" } */
+ /* { dg-require-profiling "-fprofile-generate" } */
+ /* { dg-require-ifunc "" } */
+ 
+ void *foo_ifunc2() __attribute__((ifunc("foo_resolver")));
+ 
+ void bar(void)
+ {
+ }
+ 
+ static int f3()
+ {
+   bar ();
+   return 5;
+ }
+ 
+ void (*foo_resolver(void))(void)
+ {
+   f3();
+   return bar;
+ }
+ 
+ /* { dg-final { scan-tree-dump-not "__gcov_indirect_call_profiler_v" "optimized" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114310.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114310.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114310.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114310.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* PR target/114310 */
+ /* { dg-do run { target int128 } } */
+ 
+ volatile __attribute__((aligned (sizeof (__int128_t)))) __int128_t v = 10;
+ 
+ int
+ main ()
+ {
+ #if __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
+   if (__sync_val_compare_and_swap (&v, (__int128_t) 10, (__int128_t) 0) != 10)
+     __builtin_abort ();
+   if (__sync_val_compare_and_swap (&v, (__int128_t) 10, (__int128_t) 15) != 0)
+     __builtin_abort ();
+   if (__sync_val_compare_and_swap (&v, (__int128_t) 0, (__int128_t) 42) != 0)
+     __builtin_abort ();
+   if (__sync_val_compare_and_swap (&v, (__int128_t) 31, (__int128_t) 35) != 42)
+     __builtin_abort ();
+ #endif
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114493-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114493-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114493-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114493-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,19 ----
+ /* PR c/114493 */
+ /* { dg-do compile { target lto } } */
+ /* { dg-options "-O2 -flto" } */
+ 
+ void foo (void);
+ struct S;
+ struct S bar (struct S **);
+ struct S qux (const struct S **);
+ 
+ struct __attribute__((__may_alias__)) S {
+   int s;
+ };
+ 
+ struct S
+ baz (void)
+ {
+   foo ();
+   return (struct S) {};
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114493-2.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114493-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114493-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114493-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR c/114493 */
+ /* { dg-do compile { target lto } } */
+ /* { dg-options "-O2 -flto -std=c2x" } */
+ 
+ void foo (void);
+ struct S;
+ struct S bar (struct S **);
+ struct S qux (const struct S **);
+ 
+ void
+ corge (void)
+ {
+   struct S { int s; } s;
+   s.s = 0;
+ }
+ 
+ struct __attribute__((__may_alias__)) S {
+   int s;
+ };
+ 
+ struct S
+ baz (void)
+ {
+   foo ();
+   return (struct S) {};
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114753.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114753.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114753.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114753.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,14 ----
+ /* PR middle-end/114753 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftrapv" } */
+ 
+ int
+ main ()
+ {
+   volatile long long i = __LONG_LONG_MAX__;
+   volatile long long j = 2;
+   long long k;
+   if (!__builtin_mul_overflow (i, j, &k) || k != -2LL)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114768.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114768.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114768.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114768.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* PR rtl-optimization/114768 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fdump-rtl-final" } */
+ /* { dg-final { scan-rtl-dump "\\\(mem/v:" "final" } } */
+ 
+ void
+ foo (int *p)
+ {
+   *p = *(volatile int *) p;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114876.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114876.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114876.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114876.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,34 ----
+ /* PR tree-optimization/114876 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fdump-tree-optimized" } */
+ /* { dg-final { scan-tree-dump-not "return \[01\];" "optimized" } } */
+ /* { dg-final { scan-tree-dump "return 3;" "optimized" } } */
+ /* { dg-final { scan-tree-dump "return 4;" "optimized" } } */
+ 
+ int
+ foo (void)
+ {
+   char buf[64];
+   return __builtin_sprintf (buf, "%lc%lc%lc", (__WINT_TYPE__) 0, (__WINT_TYPE__) 0, (__WINT_TYPE__) 0);
+ }
+ 
+ int
+ bar (void)
+ {
+   char buf[64];
+   return __builtin_sprintf (buf, "%c%c%c", 0, 0, 0);
+ }
+ 
+ int
+ baz (void)
+ {
+   char buf[64];
+   return __builtin_sprintf (buf, "%lc%lc%lca", (__WINT_TYPE__) 0, (__WINT_TYPE__) 0, (__WINT_TYPE__) 0);
+ }
+ 
+ int
+ qux (void)
+ {
+   char buf[64];
+   return __builtin_sprintf (buf, "%c%c%ca", 0, 0, 0);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr114902.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr114902.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr114902.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr114902.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* PR rtl-optimization/114902 */
+ /* { dg-do run } */
+ /* { dg-options "-O1 -fno-tree-fre -fno-tree-forwprop -fno-tree-ccp -fno-tree-dominator-opts" } */
+ 
+ __attribute__((noipa))
+ int foo (int x)
+ {
+   int a = ~x;
+   int t = a & 1;
+   int e = -t;
+   int b = e >= -1;
+   if (b)
+     return 0;
+   __builtin_trap ();
+ }
+ 
+ int
+ main ()
+ {
+   foo (-1);
+   foo (0);
+   foo (1);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr115092.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr115092.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr115092.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr115092.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ /* PR rtl-optimization/115092 */
+ /* { dg-do run } */
+ /* { dg-options "-O1 -fgcse -ftree-pre -fno-tree-dominator-opts -fno-tree-fre -fno-guess-branch-probability" } */
+ 
+ int a, b, c = 1, d, e;
+ 
+ int
+ main ()
+ {
+   int f, g = a;
+   b = -2;
+   f = -(1 >> ((c && b) & ~a));
+   if (f <= b)
+     d = g / e;
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/pr83415.c gcc-11.5.0/gcc/testsuite/gcc.dg/pr83415.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/pr83415.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/pr83415.c	Fri Jul 19 05:52:45 2024
*************** int
*** 7,12 ****
  main (int argc, short *argv[])
  {
    int i = argc;
!   y[i] = 7 - i; /* { dg-warning "read-only" } */
    return 0;
  }
--- 7,12 ----
  main (int argc, short *argv[])
  {
    int i = argc;
!   y[i] = 7 - i; /* { dg-error "read-only" } */
    return 0;
  }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/ssp-2.c gcc-11.5.0/gcc/testsuite/gcc.dg/ssp-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/ssp-2.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/ssp-2.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
--- 1,7 ----
  /* { dg-do run { target native } } */
  /* { dg-options "-fstack-protector" } */
  /* { dg-options "-fstack-protector -Wl,-multiply_defined,suppress" { target *-*-darwin* } } */
+ /* { dg-prune-output "-multiply_defined is obsolete" } */
  /* { dg-require-effective-target fstack_protector } */
  
  #include <stdlib.h>
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr100786.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr100786.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr100786.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr100786.c	Fri Jul 19 05:52:45 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* { dg-do compile } */
+ /* { dg-require-alias "" } */
  
  const double a = 0;
  extern int b __attribute__((alias("a")));
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110176.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110176.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110176.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110176.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,46 ----
+ /* { dg-do run } */
+ 
+ int f(_Bool t)
+ {
+         int tt = t;
+         unsigned x = -1;
+         int xx = x;
+         return xx <= tt;
+ }
+ 
+ int a, b;
+ void c() {}
+ __attribute__((noipa))
+ void h() {__builtin_abort();}
+ int d() {
+   unsigned f[1];
+   int i;
+   if (a)
+     goto h;
+   f[0] = -1;
+   while (1) {
+     c();
+     for (; a < 1; a++) {
+       if (0) {
+       j:
+         continue;
+       }
+       i = f[0];
+       if (a)
+         break;
+       b = i >= (b == 0);
+     }
+     if (!b) {
+       if (0) {
+       h:
+         goto j;
+       }
+       return 0;
+     }
+     h();
+   }
+ }
+ int main() {
+   d();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110298.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110298.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110298.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110298.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ 
+ int a, b, c, d, e;
+ int f() {
+   c = 0;
+   for (; c >= 0; c--) {
+     d = 0;
+     for (; d <= 0; d++) {
+       e = 0;
+       for (; d + c + e >= 0; e--)
+         ;
+       a = 1;
+       b = 0;
+       for (; a; ++b)
+         a *= 2;
+       for (; b + d >= 0;)
+         return 0;
+     }
+   }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110422.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110422.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr110422.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr110422.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ 
+ struct T { int x; };
+ int foo(void) {
+   struct T v;
+   asm goto("" : "+r"(v.x) : : : lab);
+   return 0;
+ lab:
+   return -5;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111445.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111445.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111445.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111445.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,29 ----
+ /* { dg-do run } */
+ 
+ extern void abort (void);
+ short a, b;
+ unsigned char c = 255;
+ unsigned cnt;
+ void __attribute__((noipa))
+ check (int x)
+ {
+   if (x != 0)
+     abort ();
+   cnt++;
+ }
+ int main()
+ {
+   int d;
+   unsigned char e;
+   d = 0;
+   for (; a >= 0; a--) {
+     int *f = &d;
+     *f = c;
+   }
+   e = 0;
+   for (; (unsigned char)(d - 255) + e <= 1; e++)
+     check (b);
+   if (cnt != 2)
+     abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111614.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111614.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111614.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111614.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do compile } */
+ 
+ int a, b, c, d, e;
+ static void f() {
+   int *g = &b;
+   b = 1;
+   for (; b >= 0; b--) {
+     c = 0;
+     for (; c <= 1; c++)
+       e = 0;
+     for (; e <= 1; e++) {
+       int h, i = h = 13;
+       for (; h; h--)
+         i = i << a;
+       d &= i + c + 9 + *g;
+     }
+   }
+ }
+ int main() {
+   f();
+   for (;;)
+     ;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111815.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111815.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111815.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111815.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,26 ----
+ /* { dg-do run } */
+ 
+ char x[] = {
+    0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
+   16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ };
+ 
+ __attribute__ ((noinline)) char *
+ p (char *a, int o, int i)
+ {
+   return a + ++o + (1 << ++i);
+ }
+ 
+ int
+ main (void)
+ {
+   if (*p (x, 0, 0) != 3)
+     return 1;
+   if (*p (x, 1, 2) != 10)
+     return 1;
+   if (*p (x, 2, 1) != 7)
+     return 1;
+   if (*p (x, 3, 3) != 20)
+     return 1;
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111818.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111818.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111818.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111818.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ 
+ static void foo(const volatile unsigned int x, void *p)
+ {
+   __builtin_memcpy(p, (void *)&x, sizeof x);
+ }
+ 
+ void bar(void *number)
+ {
+   foo(0, number);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111917.c gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111917.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/torture/pr111917.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/torture/pr111917.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-funswitch-loops" } */
+ 
+ long t;
+ long a() {
+   long b = t, c = t;
+   for (; b < 31; b++)
+     c <<= 1;
+   return c;
+ }
+ long t1;
+ static
+ int d() {
+   if (!t1)
+     return 0;
+ e:
+ f:
+   for (; a();)
+     ;
+   goto f;
+   return 0;
+ }
+ int main() { d(); }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c	Fri Jul 19 05:52:45 2024
*************** void test_sprintf_chk_c_const (void)
*** 200,210 ****
    T (3, "%c%c", '1', '2');
  
    /* Wide characters.  */
!   T (0, "%lc",     (wint_t)0);   /* { dg-warning "nul past the end" } */
!   T (1, "%lc",     (wint_t)0);
!   T (1, "%lc%lc",  (wint_t)0, (wint_t)0);
    T (2, "%lc",     (wint_t)0);
!   T (2, "%lc%lc",  (wint_t)0, (wint_t)0);
  
    /* The following could result in as few as no bytes and in as many as
       MB_CUR_MAX, but since the MB_CUR_MAX value is a runtime property
--- 200,210 ----
    T (3, "%c%c", '1', '2');
  
    /* Wide characters.  */
!   T (0, "%lc",     (wint_t)0);   /* { dg-warning ".%lc. directive writing up to 1 bytes into a region of size 0" } */
!   T (1, "%lc",     (wint_t)0);   /* { dg-warning "nul past the end" } */
!   T (1, "%lc%lc",  (wint_t)0, (wint_t)0);   /* { dg-warning ".%lc. directive writing up to 1 bytes into a region of size between 0 and 1" } */
    T (2, "%lc",     (wint_t)0);
!   T (2, "%lc%lc",  (wint_t)0, (wint_t)0);   /* { dg-warning "nul past the end" } */
  
    /* The following could result in as few as no bytes and in as many as
       MB_CUR_MAX, but since the MB_CUR_MAX value is a runtime property
*************** void test_snprintf_c_const (char *d)
*** 1550,1556 ****
  
    /* Wide characters.  */
    T (0, "%lc",  (wint_t)0);
!   T (1, "%lc",  (wint_t)0);
    T (2, "%lc",  (wint_t)0);
  
    /* The following could result in as few as a single byte and in as many
--- 1550,1556 ----
  
    /* Wide characters.  */
    T (0, "%lc",  (wint_t)0);
!   T (1, "%lc",  (wint_t)0);      /* { dg-warning "output may be truncated before the last format character" } */
    T (2, "%lc",  (wint_t)0);
  
    /* The following could result in as few as a single byte and in as many
*************** void test_snprintf_chk_c_const (void)
*** 1603,1609 ****
  
    /* Wide characters.  */
    T (0, "%lc",  (wint_t)0);
!   T (1, "%lc",  (wint_t)0);
    T (2, "%lc",  (wint_t)0);
  
    /* The following could result in as few as a single byte and in as many
--- 1603,1609 ----
  
    /* Wide characters.  */
    T (0, "%lc",  (wint_t)0);
!   T (1, "%lc",  (wint_t)0);      /* { dg-warning "output may be truncated before the last format character" } */
    T (2, "%lc",  (wint_t)0);
  
    /* The following could result in as few as a single byte and in as many
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/tsan/pr111736.c gcc-11.5.0/gcc/testsuite/gcc.dg/tsan/pr111736.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/tsan/pr111736.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/tsan/pr111736.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ /* PR sanitizer/111736 */
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-fsanitize=thread -fdump-tree-optimized -ffat-lto-objects" } */
+ /* { dg-final { scan-tree-dump-not "__tsan_read" "optimized" } } */
+ /* { dg-final { scan-tree-dump-not "__tsan_write" "optimized" } } */
+ 
+ #ifdef __x86_64__
+ #define SEG __seg_fs
+ #else
+ #define SEG __seg_gs
+ #endif
+ 
+ void
+ foo (int SEG *p, int SEG *q)
+ {
+   *q = *p;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/ubsan/pr111736.c gcc-11.5.0/gcc/testsuite/gcc.dg/ubsan/pr111736.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/ubsan/pr111736.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/ubsan/pr111736.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* PR sanitizer/111736 */
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-fsanitize=null,alignment -fdump-tree-optimized -ffat-lto-objects" } */
+ /* { dg-final { scan-tree-dump-times "__ubsan_handle_type_mismatch" 1 "optimized" } } */
+ /* { dg-final { scan-tree-dump-not "p_\[0-9]*.D. \[=!]= 0" "optimized" } } */
+ 
+ #ifdef __x86_64__
+ #define SEG __seg_fs
+ #else
+ #define SEG __seg_gs
+ #endif
+ 
+ int
+ foo (int SEG *p, int *q)
+ {
+   return *p;
+ }
+ 
+ __attribute__((no_sanitize("alignment"))) int
+ bar (int SEG *p, int *q)
+ {
+   return *p;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr111764.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr111764.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr111764.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr111764.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ #include "tree-vect.h"
+ 
+ short b = 2;
+ 
+ int main()
+ {
+   check_vect ();
+ 
+   for (int a = 1; a <= 9; a++)
+     b = b * b;
+   if (b != 0)
+     __builtin_abort ();
+ 
+   return 0;
+ }
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr112505.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr112505.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr112505.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr112505.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-O3" } */
+ 
+ short int w9;
+ struct T {
+   short a : 14;
+   int b;
+ };
+ struct T v;
+ void zc()
+ {
+   for(int i = 0; i < 4; i ++)
+     w9 *= v.b ? v.a-- < 0 : 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-1.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ #include "tree-vect.h"
+ 
+ unsigned char a;
+ 
+ int main() {
+   check_vect ();
+ 
+   short b = a = 0;
+   for (; a != 19; a++)
+     if (a)
+       b = 32872 >> a;
+ 
+   if (b == 0)
+     return 0;
+   else
+     return 1;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-2.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,50 ----
+ /* { dg-do compile } */
+ 
+ #define N 128
+ 
+ short x[N];
+ short y[N];
+ 
+ void
+ f1 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= y[i];
+ }
+ 
+ void
+ f2 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 32 ? y[i] : 32);
+ }
+ 
+ void
+ f3 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 31 ? y[i] : 31);
+ }
+ 
+ void
+ f4 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] & 31);
+ }
+ 
+ void
+ f5 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= 0x8000 >> y[i];
+ }
+ 
+ void
+ f6 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= 0x8000 >> (y[i] & 31);
+ }
+ 
+ /* { dg-final { scan-tree-dump-not {can narrow[^\n]+>>} "vect" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-3.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-3.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-3.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do compile } */
+ 
+ #define N 128
+ 
+ short x[N];
+ short y[N];
+ 
+ void
+ f1 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 30 ? y[i] : 30);
+ }
+ 
+ void
+ f2 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= ((y[i] & 15) + 2);
+ }
+ 
+ void
+ f3 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 16 ? y[i] : 16);
+ }
+ 
+ void
+ f4 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] = 32768 >> ((y[i] & 15) + 3);
+ }
+ 
+ /* { dg-final { scan-tree-dump {can narrow to signed:31 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to signed:18 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to signed:17 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to unsigned:19 without loss [^\n]+>>} "vect" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-4.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-4.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-4.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-4.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,55 ----
+ /* { dg-do compile } */
+ 
+ #define N 128
+ 
+ short x[N];
+ short y[N];
+ 
+ void
+ f1 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] & 15);
+ }
+ 
+ void
+ f2 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= ((y[i] & 7) + 8);
+ }
+ 
+ void
+ f3 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= ((y[i] & 7) ^ 11);
+ }
+ 
+ void
+ f4 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 15 ? y[i] : 15);
+ }
+ 
+ void
+ f5 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] >>= (y[i] < 15 ? y[i] : 1);
+ }
+ 
+ void
+ f6 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     x[i] = 32768 >> (y[i] & 15);
+ }
+ 
+ /* { dg-final { scan-tree-dump {:11:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {:18:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {:25:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {:32:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {:39:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to unsigned:16 without loss [^\n]+>>} "vect" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-5.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-5.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr113281-5.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr113281-5.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,66 ----
+ /* { dg-do compile } */
+ 
+ #define N 128
+ 
+ short x[N];
+ short y[N];
+ 
+ void
+ f1 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       int a = y[i];
+       int b = ~a;
+       x[i] = b;
+     }
+ }
+ 
+ void
+ f2 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       int a = y[i];
+       int b = -a;
+       x[i] = b;
+     }
+ }
+ 
+ void
+ f3 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       int a = x[i];
+       int b = a / y[i];
+       x[i] = b;
+     }
+ }
+ 
+ void
+ f4 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       int a = x[i];
+       int b = a < y[i] ? a : y[i];
+       x[i] = b;
+     }
+ }
+ 
+ void
+ f5 (void)
+ {
+   for (int i = 0; i < N; ++i)
+     {
+       int a = x[i];
+       int b = a > y[i] ? a : y[i];
+       x[i] = b;
+     }
+ }
+ 
+ /* { dg-final { scan-tree-dump {can narrow to signed:17 without loss [^\n]+= -} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+= ~} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+ MIN_EXPR} "vect" } } */
+ /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+ MAX_EXPR} "vect" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr114027.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr114027.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr114027.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr114027.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,26 ----
+ #include "tree-vect.h"
+ 
+ int __attribute__((noipa))
+ foo (int *f, int n)
+ {
+   int res = 0;
+   for (int i = 0; i < n; ++i)
+     {
+       if (f[2*i])
+         res = 2;
+       if (f[2*i+1])
+         res = -2;
+     }
+   return res;
+ }
+ 
+ int f[] = { 1, 1, 1, 1, 1, 1, 1, 1,
+             1, 1, 1, 1, 1, 1, 1, 0 };
+ 
+ int
+ main ()
+ {
+   if (foo (f, 8) != 2)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr115192.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr115192.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr115192.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr115192.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,28 ----
+ #include "tree-vect.h"
+ 
+ int data[4 * 16 * 16] __attribute__((aligned(16)));
+ 
+ __attribute__((noipa)) void
+ foo (__SIZE_TYPE__ n)
+ {
+   for (__SIZE_TYPE__ i = 1; i < n; ++i)
+     {
+       data[i * n * 4] = data[(i - 1) * n * 4] + 1;
+       data[i * n * 4 + 1] = data[(i - 1) * n * 4 + 1] + 2;
+     }
+ }
+ 
+ int
+ main ()
+ {
+   check_vect ();
+ 
+   data[0] = 10;
+   data[1] = 20;
+ 
+   foo (3);
+ 
+   if (data[24] != 12 || data[25] != 24)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr97428.c gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr97428.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/vect/pr97428.c	Mon May 29 08:46:30 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/vect/pr97428.c	Fri Jul 19 05:52:45 2024
***************
*** 1,4 ****
--- 1,5 ----
  /* { dg-do compile } */
+ /* { dg-require-effective-target vect_double } */
  
  typedef struct { double re, im; } dcmlx_t;
  typedef struct { double re[4], im[4]; } dcmlx4_t;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.dg/visibility-22.c gcc-11.5.0/gcc/testsuite/gcc.dg/visibility-22.c
*** gcc-11.4.0/gcc/testsuite/gcc.dg/visibility-22.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.dg/visibility-22.c	Fri Jul 19 05:52:45 2024
***************
*** 3,8 ****
--- 3,9 ----
  /* { dg-require-visibility "" } */
  /* { dg-require-effective-target weak_undefined } */
  /* { dg-options "-O2 -fPIC" { target fpic } } */
+ /* { dg-add-options weak_undefined } */
  
  extern void foo () __attribute__((weak,visibility("hidden")));
  int
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.misc-tests/gcov-14.c gcc-11.5.0/gcc/testsuite/gcc.misc-tests/gcov-14.c
*** gcc-11.4.0/gcc/testsuite/gcc.misc-tests/gcov-14.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.misc-tests/gcov-14.c	Fri Jul 19 05:52:45 2024
***************
*** 3,9 ****
  /* { dg-do run { target native } } */
  /* { dg-options "-O2 -fprofile-arcs -ftest-coverage -fgnu89-inline" } */
  /* The following line arranges that Darwin has behavior like elf weak import.  */
! /* { dg-additional-options "-flat_namespace -undefined suppress" { target *-*-darwin* }  } */
  /* { dg-require-weak "" } */
  /* { dg-skip-if "undefined weak not supported" { { hppa*-*-hpux* } && { ! lp64 } } } */
  /* { dg-skip-if "undefined weak not supported" { powerpc-ibm-aix* } } */
--- 3,9 ----
  /* { dg-do run { target native } } */
  /* { dg-options "-O2 -fprofile-arcs -ftest-coverage -fgnu89-inline" } */
  /* The following line arranges that Darwin has behavior like elf weak import.  */
! /* { dg-additional-options "-Wl,-U,_Foo" { target *-*-darwin* }  } */
  /* { dg-require-weak "" } */
  /* { dg-skip-if "undefined weak not supported" { { hppa*-*-hpux* } && { ! lp64 } } } */
  /* { dg-skip-if "undefined weak not supported" { powerpc-ibm-aix* } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_feature.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_feature.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_feature.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_feature.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ 
+ #pragma GCC target "+bf16"
+ #ifndef __ARM_FEATURE_BF16
+ #error "__ARM_FEATURE_BF16 is not defined but should be!"
+ #endif
+ 
+ void
+ foo (void) {}
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_sve_feature.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_sve_feature.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_sve_feature.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/acle/bf16_sve_feature.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ 
+ #pragma GCC target "+sve+bf16"
+ #ifndef __ARM_FEATURE_SVE_BF16
+ #error "__ARM_FEATURE_SVE_BF16 is not defined but should be!"
+ #endif
+ 
+ void
+ foo (void) {}
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/pr113552.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/pr113552.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/pr113552.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/pr113552.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Ofast -march=armv8-a" } */
+ 
+ __attribute__ ((__simd__ ("notinbranch"), const))
+ double cos (double);
+ 
+ void foo (float *a, double *b)
+ {
+     for (int i = 0; i < 12; i+=3)
+       {
+         b[i] = cos (5.0 * a[i]);
+         b[i+1] = cos (5.0 * a[i+1]);
+         b[i+2] = cos (5.0 * a[i+2]);
+       }
+ }
+ 
+ /* { dg-final { scan-assembler-times {bl\t_ZGVnN2v_cos} 6 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c	Fri Jul 19 05:52:45 2024
*************** double foo(double x)
*** 18,24 ****
  }
  
  /* { dg-final { scan-assembler-not {\.variant_pcs\tfoo} } } */
! /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnM1v_foo} 1 } } */
  /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnM2v_foo} 1 } } */
! /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnN1v_foo} 1 } } */
  /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnN2v_foo} 1 } } */
--- 18,24 ----
  }
  
  /* { dg-final { scan-assembler-not {\.variant_pcs\tfoo} } } */
! /* { dg-final { scan-assembler-not {\.variant_pcs\t_ZGVnM1v_foo} } } */
  /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnM2v_foo} 1 } } */
! /* { dg-final { scan-assembler-not {\.variant_pcs\t_ZGVnN1v_foo} } } */
  /* { dg-final { scan-assembler-times {\.variant_pcs\t_ZGVnN2v_foo} 1 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,55 ----
+ /* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ void f(int, ...);
+ void g();
+ 
+ /*
+ ** test1:
+ **	...
+ **	str	x30, \[sp\]
+ **	sub	sp, sp, #1024
+ **	cbnz	w0, .*
+ **	bl	g
+ **	...
+ */
+ int test1(int z) {
+   __uint128_t x = 0;
+   int y[0x400];
+   if (z)
+     {
+       f(0, 0, 0, 0, 0, 0, 0, &y,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x);
+     }
+   g();
+   return 1;
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	str	x30, \[sp\]
+ **	sub	sp, sp, #1040
+ **	str	xzr, \[sp, #?1024\]
+ **	cbnz	w0, .*
+ **	bl	g
+ **	...
+ */
+ int test2(int z) {
+   __uint128_t x = 0;
+   int y[0x400];
+   if (z)
+     {
+       f(0, 0, 0, 0, 0, 0, 0, &y,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x);
+     }
+   g();
+   return 1;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,100 ----
+ /* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ void f(int, ...);
+ void g();
+ 
+ /*
+ ** test1:
+ **	...
+ **	str	x30, \[sp\]
+ **	sub	sp, sp, #4064
+ **	str	xzr, \[sp, #?1024\]
+ **	cbnz	w0, .*
+ **	bl	g
+ **	...
+ **	str	x26, \[sp, #?4128\]
+ **	...
+ */
+ int test1(int z) {
+   __uint128_t x = 0;
+   int y[0x400];
+   if (z)
+     {
+       asm volatile ("" :::
+ 		    "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26");
+       f(0, 0, 0, 0, 0, 0, 0, &y,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x);
+     }
+   g();
+   return 1;
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	str	x30, \[sp\]
+ **	sub	sp, sp, #1040
+ **	str	xzr, \[sp, #?1024\]
+ **	cbnz	w0, .*
+ **	bl	g
+ **	...
+ */
+ int test2(int z) {
+   __uint128_t x = 0;
+   int y[0x400];
+   if (z)
+     {
+       asm volatile ("" :::
+ 		    "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26");
+       f(0, 0, 0, 0, 0, 0, 0, &y,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x);
+     }
+   g();
+   return 1;
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	str	x30, \[sp\]
+ **	sub	sp, sp, #1024
+ **	cbnz	w0, .*
+ **	bl	g
+ **	...
+ */
+ int test3(int z) {
+   __uint128_t x = 0;
+   int y[0x400];
+   if (z)
+     {
+       asm volatile ("" :::
+ 		    "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26");
+       f(0, 0, 0, 0, 0, 0, 0, &y,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
+ 	x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x);
+     }
+   g();
+   return 1;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,95 ----
+ /* { dg-options " -O -fstack-protector-strong -mstack-protector-guard=sysreg -mstack-protector-guard-reg=tpidr2_el0 -mstack-protector-guard-offset=16" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ void g(void *);
+ __SVBool_t *h(void *);
+ 
+ /*
+ ** test1:
+ **	sub	sp, sp, #288
+ **	stp	x29, x30, \[sp, #?272\]
+ **	add	x29, sp, #?272
+ **	mrs	(x[0-9]+), tpidr2_el0
+ **	ldr	(x[0-9]+), \[\1, #?16\]
+ **	str	\2, \[sp, #?264\]
+ **	mov	\2, #?0
+ **	add	x0, sp, #?8
+ **	bl	g
+ **	...
+ **	mrs	.*
+ **	...
+ **	bne	.*
+ **	...
+ **	ldp	x29, x30, \[sp, #?272\]
+ **	add	sp, sp, #?288
+ **	ret
+ **	bl	__stack_chk_fail
+ */
+ int test1() {
+   int y[0x40];
+   g(y);
+   return 1;
+ }
+ 
+ /*
+ ** test2:
+ **	stp	x29, x30, \[sp, #?-16\]!
+ **	mov	x29, sp
+ **	sub	sp, sp, #1040
+ **	mrs	(x[0-9]+), tpidr2_el0
+ **	ldr	(x[0-9]+), \[\1, #?16\]
+ **	str	\2, \[sp, #?1032\]
+ **	mov	\2, #?0
+ **	add	x0, sp, #?8
+ **	bl	g
+ **	...
+ **	mrs	.*
+ **	...
+ **	bne	.*
+ **	...
+ **	add	sp, sp, #?1040
+ **	ldp	x29, x30, \[sp\], #?16
+ **	ret
+ **	bl	__stack_chk_fail
+ */
+ int test2() {
+   int y[0x100];
+   g(y);
+   return 1;
+ }
+ 
+ #pragma GCC target "+sve"
+ 
+ /*
+ ** test3:
+ **	stp	x29, x30, \[sp, #?-16\]!
+ **	mov	x29, sp
+ **	addvl	sp, sp, #-18
+ **	...
+ **	str	p4, \[sp\]
+ **	...
+ **	sub	sp, sp, #272
+ **	mrs	(x[0-9]+), tpidr2_el0
+ **	ldr	(x[0-9]+), \[\1, #?16\]
+ **	str	\2, \[sp, #?264\]
+ **	mov	\2, #?0
+ **	add	x0, sp, #?8
+ **	bl	h
+ **	...
+ **	mrs	.*
+ **	...
+ **	bne	.*
+ **	...
+ **	add	sp, sp, #?272
+ **	...
+ **	ldr	p4, \[sp\]
+ **	...
+ **	addvl	sp, sp, #18
+ **	ldp	x29, x30, \[sp\], #?16
+ **	ret
+ **	bl	__stack_chk_fail
+ */
+ __SVBool_t test3() {
+   int y[0x40];
+   return *h(y);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,33 ----
+ /* { dg-options "-O2 -mcpu=neoverse-v1 -fstack-protector-all" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ /*
+ ** main:
+ **	...
+ **	stp	x29, x30, \[sp, #?-[0-9]+\]!
+ **	...
+ **	sub	sp, sp, #[0-9]+
+ **	...
+ **	str	x[0-9]+, \[x29, #?-8\]
+ **	...
+ */
+ int f(const char *);
+ void g(void *);
+ int main(int argc, char* argv[])
+ {
+   int a;
+   int b;
+   char c[2+f(argv[1])];
+   int d[0x100];
+   char y;
+ 
+   y=42; a=4; b=10;
+   c[0] = 'h'; c[1] = '\0';
+ 
+   c[f(argv[2])] = '\0';
+ 
+   __builtin_printf("%d %d\n%s\n", a, b, c);
+   g(d);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c	Fri Jul 19 05:52:45 2024
***************
*** 11,21 ****
  **	mov	x11, sp
  **	...
  **	sub	sp, sp, x13
- **	str	p4, \[sp\]
  **	cbz	w0, [^\n]*
  **	...
  **	ptrue	p0\.b, all
- **	ldr	p4, \[sp\]
  **	addvl	sp, sp, #1
  **	ldr	x24, \[sp\], 32
  **	ret
--- 11,20 ----
  **	mov	x11, sp
  **	...
  **	sub	sp, sp, x13
  **	cbz	w0, [^\n]*
+ **	str	p4, \[sp\]
  **	...
  **	ptrue	p0\.b, all
  **	addvl	sp, sp, #1
  **	ldr	x24, \[sp\], 32
  **	ret
*************** test_1 (int n)
*** 39,51 ****
  **	mov	x11, sp
  **	...
  **	sub	sp, sp, x13
- **	str	p4, \[sp\]
  **	cbz	w0, [^\n]*
  **	str	p5, \[sp, #1, mul vl\]
  **	str	p6, \[sp, #2, mul vl\]
  **	...
  **	ptrue	p0\.b, all
- **	ldr	p4, \[sp\]
  **	addvl	sp, sp, #1
  **	ldr	x24, \[sp\], 32
  **	ret
--- 38,49 ----
  **	mov	x11, sp
  **	...
  **	sub	sp, sp, x13
  **	cbz	w0, [^\n]*
+ **	str	p4, \[sp\]
  **	str	p5, \[sp, #1, mul vl\]
  **	str	p6, \[sp, #2, mul vl\]
  **	...
  **	ptrue	p0\.b, all
  **	addvl	sp, sp, #1
  **	ldr	x24, \[sp\], 32
  **	ret
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pr109505.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pr109505.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pr109505.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pr109505.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,12 ----
+ /* PR tree-optimization/109505 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -march=armv8.2-a+sve" } */
+ 
+ #pragma GCC aarch64 "arm_sve.h"
+ 
+ unsigned long
+ foo (unsigned long x)
+ {
+   unsigned long y = svcntb ();
+   return (x | 15) & y;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pr97696.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pr97696.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/sve/pr97696.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/sve/pr97696.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,29 ----
+ /* { dg-skip-if "" { no_fsanitize_address } } */
+ /* { dg-options "-fsanitize=address -fsanitize-address-use-after-scope" } */
+ 
+ #include <arm_sve.h>
+ 
+ __attribute__((noinline, noclone)) int
+ foo (char *a)
+ {
+   int i, j = 0;
+   asm volatile ("" : "+r" (a) : : "memory");
+   for (i = 0; i < 12; i++)
+     j += a[i];
+   return j;
+ }
+ 
+ int
+ main ()
+ {
+   int i, j = 0;
+   for (i = 0; i < 4; i++)
+     {
+       char a[12];
+       __SVInt8_t freq;
+       __builtin_bcmp (&freq, a, 10);
+       __builtin_memset (a, 0, sizeof (a));
+       j += foo (a);
+     }
+   return j;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/torture/pr111677.c gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/torture/pr111677.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/aarch64/torture/pr111677.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/aarch64/torture/pr111677.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target fopenmp } */
+ /* { dg-options "-ffast-math -fstack-protector-strong -fopenmp" } */
+ typedef struct {
+   long size_z;
+   int width;
+ } dt_bilateral_t;
+ typedef float dt_aligned_pixel_t[4];
+ #pragma omp declare simd
+ void dt_bilateral_splat(dt_bilateral_t *b) {
+   float *buf;
+   long offsets[8];
+   for (; b;) {
+     int firstrow;
+     for (int j = firstrow; j; j++)
+       for (int i; i < b->width; i++) {
+         dt_aligned_pixel_t contrib;
+         for (int k = 0; k < 4; k++)
+           buf[offsets[k]] += contrib[k];
+       }
+     float *dest;
+     for (int j = (long)b; j; j++) {
+       float *src = (float *)b->size_z;
+       for (int i = 0; i < (long)b; i++)
+         dest[i] += src[i];
+     }
+   }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/alpha/pr115297.c gcc-11.5.0/gcc/testsuite/gcc.target/alpha/pr115297.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/alpha/pr115297.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/alpha/pr115297.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,13 ----
+ /* PR target/115297 */
+ /* { dg-do compile } */
+ /* { dg-options "-O1" } */
+ 
+ enum { BPF_F_USER_BUILD_ID } __bpf_get_stack_size;
+ long __bpf_get_stack_flags, bpf_get_stack___trans_tmp_2;
+ 
+ void bpf_get_stack() {
+   unsigned elem_size;
+   int err = elem_size = __bpf_get_stack_flags ?: sizeof(long);
+   if (__builtin_expect(__bpf_get_stack_size % elem_size, 0))
+     bpf_get_stack___trans_tmp_2 = err;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/arm/cmse/extend-param.c gcc-11.5.0/gcc/testsuite/gcc.target/arm/cmse/extend-param.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/arm/cmse/extend-param.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/arm/cmse/extend-param.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,109 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mcmse -fshort-enums" } */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ #include <arm_cmse.h>
+ #include <stdbool.h>
+ 
+ #define ARRAY_SIZE (256)
+ char array[ARRAY_SIZE];
+ 
+ enum offset
+ {
+     zero = 0,
+     one = 1,
+     two = 2
+ };
+ 
+ /*
+ **__acle_se_unsignSecureFunc:
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char unsignSecureFunc (unsigned char index) {
+     if (index >= ARRAY_SIZE)
+       return 0;
+     return array[index];
+ }
+ 
+ /*
+ **__acle_se_signSecureFunc:
+ **	...
+ **	sxtb	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char signSecureFunc (signed char index) {
+     if (index >= ARRAY_SIZE)
+       return 0;
+     return array[index];
+ }
+ 
+ /*
+ **__acle_se_shortUnsignSecureFunc:
+ **	...
+ **	uxth	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char shortUnsignSecureFunc (unsigned short index) {
+     if (index >= ARRAY_SIZE)
+       return 0;
+     return array[index];
+ }
+ 
+ /*
+ **__acle_se_shortSignSecureFunc:
+ **	...
+ **	sxth	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char shortSignSecureFunc (signed short index) {
+     if (index >= ARRAY_SIZE)
+       return 0;
+     return array[index];
+ }
+ 
+ /*
+ **__acle_se_enumSecureFunc:
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char enumSecureFunc (enum offset index) {
+ 
+   // Compiler may optimize away bounds check as value is an unsigned char.
+ 
+   // According to AAPCS caller will zero extend to ensure value is < 256.
+ 
+   if (index >= ARRAY_SIZE)
+     return 0;
+   return array[index];
+ }
+ 
+ /*
+ **__acle_se_boolSecureFunc:
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry)) char boolSecureFunc (bool index) {
+   if (index >= ARRAY_SIZE)
+     return 0;
+   return array[index];
+ }
+ 
+ /*
+ **__acle_se_boolCharShortEnumSecureFunc:
+ **	...
+ **	uxtb	r0, r0
+ **	uxtb	r1, r1
+ **	uxth	r2, r2
+ **	uxtb	r3, r3
+ **	...
+ */
+ __attribute__((cmse_nonsecure_entry,optimize(0))) char boolCharShortEnumSecureFunc (bool a, unsigned char b, unsigned short c, enum offset d) {
+   size_t index = a + b + c + d;
+   if (index >= ARRAY_SIZE)
+     return 0;
+   return array[index];
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/arm/cmse/extend-return.c gcc-11.5.0/gcc/testsuite/gcc.target/arm/cmse/extend-return.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/arm/cmse/extend-return.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/arm/cmse/extend-return.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,142 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mcmse -fshort-enums" } */
+ /* ARMv8-M expectation with target { ! arm_cmse_clear_ok }.  */
+ /* ARMv8.1-M expectation with target arm_cmse_clear_ok.  */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ #include <arm_cmse.h>
+ #include <stdbool.h>
+ 
+ enum offset
+ {
+     zero = 0,
+     one = 1,
+     two = 2
+ };
+ 
+ typedef unsigned char __attribute__ ((cmse_nonsecure_call)) ns_unsign_foo_t (void);
+ typedef signed char __attribute__ ((cmse_nonsecure_call)) ns_sign_foo_t (void);
+ typedef unsigned short __attribute__ ((cmse_nonsecure_call)) ns_short_unsign_foo_t (void);
+ typedef signed short __attribute__ ((cmse_nonsecure_call)) ns_short_sign_foo_t (void);
+ typedef enum offset __attribute__ ((cmse_nonsecure_call)) ns_enum_foo_t (void);
+ typedef bool __attribute__ ((cmse_nonsecure_call)) ns_bool_foo_t (void);
+ 
+ /*
+ **unsignNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ /*
+ **unsignNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	uxtb	r0, r0
+ **	...
+ */
+ unsigned char unsignNonsecure0 (ns_unsign_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
+ 
+ /*
+ **signNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	sxtb	r0, r0
+ **	...
+ */
+ /*
+ **signNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	sxtb	r0, r0
+ **	...
+ */
+ signed char signNonsecure0 (ns_sign_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
+ 
+ /*
+ **shortUnsignNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	uxth	r0, r0
+ **	...
+ */
+ /*
+ **shortUnsignNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	uxth	r0, r0
+ **	...
+ */
+ unsigned short shortUnsignNonsecure0 (ns_short_unsign_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
+ 
+ /*
+ **shortSignNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	sxth	r0, r0
+ **	...
+ */
+ /*
+ **shortSignNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	sxth	r0, r0
+ **	...
+ */
+ signed short shortSignNonsecure0 (ns_short_sign_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
+ 
+ /*
+ **enumNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ /*
+ **enumNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	uxtb	r0, r0
+ **	...
+ */
+ unsigned char __attribute__((noipa)) enumNonsecure0 (ns_enum_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
+ 
+ /*
+ **boolNonsecure0:  { target arm_cmse_clear_ok }
+ **	...
+ **	blxns	r[0-3]
+ **	...
+ **	uxtb	r0, r0
+ **	...
+ */
+ /*
+ **boolNonsecure0: { target { ! arm_cmse_clear_ok } }
+ **	...
+ **	bl	__gnu_cmse_nonsecure_call
+ **	uxtb	r0, r0
+ **	...
+ */
+ unsigned char boolNonsecure0 (ns_bool_foo_t * ns_foo_p)
+ {
+   return ns_foo_p ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c gcc-11.5.0/gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,63 ----
+ /* { dg-require-effective-target arm_v8_1m_mve_ok } */
+ /* { dg-add-options arm_v8_1m_mve } */
+ /* { dg-require-effective-target arm_hard_ok } */
+ /* { dg-additional-options "-mfloat-abi=hard -O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include "arm_mve.h"
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ **fn1:
+ **	vmov	d0, r0, r1
+ **	bx	lr
+ */
+ uint64x2_t
+ fn1 (uint64_t a, uint64x2_t b)
+ {
+   return vsetq_lane_u64 (a, b, 0);
+ }
+ 
+ /*
+ **fn2:
+ **	vmov	d1, r0, r1
+ **	bx	lr
+ */
+ uint64x2_t
+ fn2 (uint64_t a, uint64x2_t b)
+ {
+   return vsetq_lane_u64 (a, b, 1);
+ }
+ 
+ /*
+ **fn3:
+ **	vmov	d0, r0, r1
+ **	bx	lr
+ */
+ int64x2_t
+ fn3 (int64_t a, int64x2_t b)
+ {
+   return vsetq_lane_s64 (a, b, 0);
+ }
+ 
+ /*
+ **fn4:
+ **	vmov	d1, r0, r1
+ **	bx	lr
+ */
+ int64x2_t
+ fn4 (int64_t a, int64x2_t b)
+ {
+   return vsetq_lane_s64 (a, b, 1);
+ }
+ 
+ 
+ #ifdef __cplusplus
+ }
+ #endif
+ 
+ /* { dg-final { scan-assembler-not "__ARM_undef" } } */
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/arm/neon-recip-div-1.c gcc-11.5.0/gcc/testsuite/gcc.target/arm/neon-recip-div-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/arm/neon-recip-div-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/arm/neon-recip-div-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_neon_ok } */
+ /* { dg-options "-O3 -freciprocal-math -fno-unsafe-math-optimizations -save-temps" } */
+ /* { dg-add-options arm_neon } */
+ 
+ int *a;
+ int n;
+ void b() {
+   int c;
+   for (c = 0; c < 100000; c++)
+     a[c] = (float)c / n;
+ }
+ /* We should not ICE, or get a vectorized reciprocal instruction when unsafe
+    math optimizations are disabled.  */
+ /* { dg-final { scan-assembler-not "vrecpe\\.f32\\t\[qd\].*" } } */
+ /* { dg-final { scan-assembler-not "vrecps\\.f32\\t\[qd\].*" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c gcc-11.5.0/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/arm/pure-code/pr109800.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,4 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_hard_ok } */
+ /* { dg-options "-O2 -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mbig-endian -mpure-code" } */
+ double f() { return 5.0; }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/amxtile-4.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/amxtile-4.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/amxtile-4.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/amxtile-4.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,52 ----
+ /* PR target/114098 */
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-O2 -mamx-tile" } */
+ 
+ #include <stdint.h>
+ #include <x86intrin.h>
+ 
+ #define MAX_ROWS 16
+ #define MAX_COLS 64
+ #define MAX 1024
+ #define STRIDE 64
+ 
+ typedef struct __tile_config
+ {
+   uint8_t palette_id;
+   uint8_t start_row;
+   uint8_t reserved_0[14];
+   uint16_t colsb[16];
+   uint8_t rows[16];
+ } __tilecfg __attribute__ ((aligned (64)));
+ 
+ /* Initialize tile config */
+ static void
+ init_tile_config (__tilecfg *tileinfo)
+ {
+   int i;
+   tileinfo->palette_id = 1;
+   tileinfo->start_row = 0;
+ 
+   for (i = 0; i < 1; ++i)
+   {
+     tileinfo->colsb[i] = MAX_ROWS;
+     tileinfo->rows[i] = MAX_ROWS;
+   }
+ 
+   for (i = 1; i < 4; ++i)
+   {
+     tileinfo->colsb[i] = MAX_COLS;
+     tileinfo->rows[i] = MAX_ROWS;
+   }
+ 
+   _tile_loadconfig (tileinfo);
+ }
+ 
+ void
+ enable_amx (void)
+ {
+   __tilecfg tile_data = {0};
+   init_tile_config (&tile_data);
+ }
+ 
+ /* { dg-final { scan-assembler-times "pxor\[^\n\]*%xmm" 1 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -mavx -mtune=generic -mvzeroupper -dp" } */
+ 
+ #include <immintrin.h>
+ 
+ extern __m256 x, y;
+ 
+ void
+ foo ()
+ {
+   x = y;
+ }
+ 
+ /* { dg-final { scan-assembler-times "avx_vzeroupper" 1 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx2-gather-2.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx2-gather-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx2-gather-2.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx2-gather-2.c	Fri Jul 19 05:52:45 2024
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx2 -fdump-tree-vect-details -mtune=skylake" } */
  
  #include "avx2-gather-1.c"
  
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-O3 -fdump-tree-vect-details -march=skylake -mtune=haswell" } */
  
  #include "avx2-gather-1.c"
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx2-gather-6.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx2-gather-6.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx2-gather-6.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx2-gather-6.c	Fri Jul 19 05:52:45 2024
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx2 -fno-common -fdump-tree-vect-details -mtune=skylake" } */
  
  #include "avx2-gather-5.c"
  
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx2 -fno-common -fdump-tree-vect-details  -mtune=haswell" } */
  
  #include "avx2-gather-5.c"
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr114566.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr114566.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr114566.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr114566.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,34 ----
+ /* PR tree-optimization/114566 */
+ /* { dg-do run } */
+ /* { dg-options "-O3 -mavx512f" } */
+ /* { dg-additional-options "-fstack-protector-strong" { target fstack_protector } } */
+ /* { dg-require-effective-target avx512f } */
+ 
+ #define AVX512F
+ #include "avx512f-helper.h"
+ 
+ __attribute__((noipa)) int
+ foo (float x, float y)
+ {
+   float a[8][56];
+   __builtin_memset (a, 0, sizeof (a));
+ 
+   for (int j = 0; j < 8; j++)
+     for (int k = 0; k < 56; k++)
+       {
+ 	float b = k * y;
+ 	if (b < 0.)
+ 	  b = 0.;
+ 	if (b > 0.)
+ 	  b = 0.;
+ 	a[j][k] += b;
+       }
+ 
+   return __builtin_log (x);
+ }
+ 
+ void
+ TEST (void)
+ {
+   foo (86.25f, 0.625f);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512f -mprefer-vector-width=512 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 64 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512f -mprefer-vector-width=512 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 64 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512f -mprefer-vector-width=512 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 64 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512f -mprefer-vector-width=512 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 64 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=256 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 32 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=256 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 32 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=128 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 16 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=128 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 16 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=128 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 16 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=128 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 16 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c	Fri Jul 19 05:52:45 2024
***************
*** 1,6 ****
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=256 -mtune=skylake-avx512 -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 32 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
--- 1,6 ----
  /* PR tree-optimization/88464 */
  /* { dg-do compile } */
! /* { dg-options "-O3 -mavx512vl -mprefer-vector-width=256 -mtune=haswell -fdump-tree-vect-details" } */
  /* { dg-final { scan-tree-dump-times "loop vectorized using 32 byte vectors" 4 "vect" } } */
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 4 "vect" } } */
  
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/funcspec-56.inc gcc-11.5.0/gcc/testsuite/gcc.target/i386/funcspec-56.inc
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/funcspec-56.inc	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/funcspec-56.inc	Fri Jul 19 05:52:45 2024
*************** extern void test_arch_bdver3 (void)		__a
*** 197,202 ****
--- 197,203 ----
  extern void test_arch_znver1 (void)             __attribute__((__target__("arch=znver1")));
  extern void test_arch_znver2 (void)             __attribute__((__target__("arch=znver2")));
  extern void test_arch_znver3 (void)             __attribute__((__target__("arch=znver3")));
+ extern void test_arch_znver4 (void)             __attribute__((__target__("arch=znver4")));
  
  extern void test_tune_nocona (void)		__attribute__((__target__("tune=nocona")));
  extern void test_tune_core2 (void)		__attribute__((__target__("tune=core2")));
*************** extern void test_tune_generic (void)		__
*** 219,224 ****
--- 220,226 ----
  extern void test_tune_znver1 (void)             __attribute__((__target__("tune=znver1")));
  extern void test_tune_znver2 (void)             __attribute__((__target__("tune=znver2")));
  extern void test_tune_znver3 (void)             __attribute__((__target__("tune=znver3")));
+ extern void test_tune_znver4 (void)             __attribute__((__target__("tune=znver4")));
  
  extern void test_fpmath_sse (void)		__attribute__((__target__("sse2,fpmath=sse")));
  extern void test_fpmath_387 (void)		__attribute__((__target__("sse2,fpmath=387")));
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-10.c	Fri Jul 19 05:52:45 2024
***************
*** 1,7 ****
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=skylake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\tmemcpy" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\tmemcpy" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep movsb" } } */
  
  void
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=skylake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\t_?memcpy" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\t_?memcpy" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep movsb" } } */
  
  void
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/memcpy-strategy-5.c	Fri Jul 19 05:52:45 2024
***************
*** 1,7 ****
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=tigerlake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\tmemcpy" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\tmemcpy" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep movsb" } } */
  
  void
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=tigerlake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\t_?memcpy" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\t_?memcpy" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep movsb" } } */
  
  void
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/memset-strategy-5.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/memset-strategy-5.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/memset-strategy-5.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/memset-strategy-5.c	Fri Jul 19 05:52:45 2024
***************
*** 1,7 ****
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=tigerlake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\tmemset" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\tmemset" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep stosb" } } */
  
  void
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=tigerlake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\t_?memset" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\t_?memset" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep stosb" } } */
  
  void
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/memset-strategy-7.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/memset-strategy-7.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/memset-strategy-7.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/memset-strategy-7.c	Fri Jul 19 05:52:45 2024
***************
*** 1,7 ****
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=skylake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\tmemset" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\tmemset" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep stosb" } } */
  
  void
--- 1,7 ----
  /* { dg-do compile } */
  /* { dg-options "-O2 -march=skylake -mno-sse" } */
! /* { dg-final { scan-assembler "jmp\t_?memset" { target { ! ia32 } } } } */
! /* { dg-final { scan-assembler "call\t_?memset" { target ia32 } } } */
  /* { dg-final { scan-assembler-not "rep stosb" } } */
  
  void
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr105554.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr105554.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr105554.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr105554.c	Fri Jul 19 05:52:45 2024
***************
*** 1,5 ****
--- 1,6 ----
  /* PR target/105554 */
  /* { dg-do compile } */
+ /* { dg-require-ifunc "" } */
  /* { dg-options "-O2 -Wno-psabi -mno-sse3" } */
  
  typedef long long v4di __attribute__((__vector_size__(32)));
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr110170-3.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr110170-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr110170-3.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr110170-3.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-O2 -fno-if-conversion -fno-if-conversion2" } */
+ /* { dg-final { scan-assembler-not {(?n)movq.*r} } } */
+ 
+ void __cond_swap(double* __x, double* __y) {
+   _Bool __r = (*__x < *__y);
+   double __tmp = __r ? *__x : *__y;
+   *__y = __r ? *__y : *__x;
+   *__x = __tmp;
+ }
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr111340.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr111340.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr111340.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr111340.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,9 ----
+ /* PR target/111340 */
+ /* { dg-do compile { target { fpic && int128 } } } */
+ /* { dg-options "-O2 -fpic" } */
+ 
+ void
+ bar (void)
+ {
+   __asm ("# %0" : : "g" ((((unsigned __int128) 0x123456789abcdef0ULL) << 64) | 0x0fedcba987654321ULL));
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr111736.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr111736.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr111736.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr111736.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fsanitize=address" } */
+ 
+ int __seg_gs m;
+ 
+ int foo (void)
+ {
+   return m;
+ }
+ 
+ extern int  __seg_gs n;
+ 
+ int bar (void)
+ {
+   return n;
+ }
+ 
+ int baz (int __seg_gs *o)
+ {
+   return *o;
+ }
+ 
+ /* { dg-final { scan-assembler-not "asan_report_load" } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112495.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112495.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112495.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112495.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+ 
+ typedef struct { int v; } T1;
+ typedef struct { T1 v[32]; } T2;
+ 
+ T1 s;
+ T1 f1() { return s; }
+ 
+ void f2(__seg_gs T2 *p, int n) {
+   for (int i = 0; i < n; ++i) p->v[i] = f1();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112672.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112672.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112672.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112672.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,23 ----
+ /* PR target/112672 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ typedef unsigned short u16;
+ 
+ u16 g = 254;
+ 
+ static inline u16
+ foo (u16 u)
+ {
+   u *= g;
+   return u + __builtin_parityl (u);
+ }
+ 
+ int
+ main (void)
+ {
+   u16 x = foo (4);
+   if (x != 4 * 254 + 1)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112891-2.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112891-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112891-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112891-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,30 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mavx2 -O3" } */
+ /* { dg-final { scan-assembler-times "vzeroupper" 1 } } */
+ 
+ void
+ __attribute__((noinline))
+ bar (double* a)
+ {
+   a[0] = 1.0;
+   a[1] = 2.0;
+ }
+ 
+ double
+ __attribute__((noinline))
+ foo (double* __restrict a, double* b)
+ {
+   a[0] += b[0];
+   a[1] += b[1];
+   a[2] += b[2];
+   a[3] += b[3];
+   bar (b);
+   return a[5] + b[5];
+ }
+ 
+ double
+ foo1 (double* __restrict a, double* b)
+ {
+   double c = foo (a, b);
+   return __builtin_exp (c);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112891.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112891.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr112891.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr112891.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,29 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mavx2 -O3" } */
+ /* { dg-final { scan-assembler-times "vzeroupper" 1 } } */
+ 
+ void
+ __attribute__((noinline))
+ bar (double* a)
+ {
+   a[0] = 1.0;
+   a[1] = 2.0;
+ }
+ 
+ void
+ __attribute__((noinline))
+ foo (double* __restrict a, double* b)
+ {
+   a[0] += b[0];
+   a[1] += b[1];
+   a[2] += b[2];
+   a[3] += b[3];
+   bar (b);
+ }
+ 
+ double
+ foo1 (double* __restrict a, double* b)
+ {
+   foo (a, b);
+   return __builtin_exp (b[1]);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-1.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-1.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* PR target/113122 */
+ /* { dg-do assemble { target { *-*-linux* && lp64 } } } */
+ /* { dg-require-effective-target mfentry } */
+ /* { dg-require-effective-target masm_intel } */
+ /* { dg-options "-fprofile -mfentry -O2 -mcmodel=large -masm=intel" } */
+ 
+ void
+ func (void)
+ {
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-2.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,11 ----
+ /* PR target/113122 */
+ /* { dg-do assemble { target { *-*-linux* && lp64 } } } */
+ /* { dg-require-effective-target mfentry } */
+ /* { dg-require-effective-target masm_intel } */
+ /* { dg-require-effective-target fpic } */
+ /* { dg-options "-fpic -fprofile -mfentry -O2 -mcmodel=large -masm=intel" } */
+ 
+ void
+ func (void)
+ {
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-3.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-3.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-3.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,9 ----
+ /* PR target/113122 */
+ /* { dg-do assemble { target *-*-linux* } } */
+ /* { dg-require-effective-target masm_intel } */
+ /* { dg-options "-fprofile -O2 -masm=intel" } */
+ 
+ void
+ func (void)
+ {
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-4.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-4.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113122-4.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113122-4.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,10 ----
+ /* PR target/113122 */
+ /* { dg-do assemble { target *-*-linux* } } */
+ /* { dg-require-effective-target masm_intel } */
+ /* { dg-require-effective-target fpic } */
+ /* { dg-options "-fpic -fprofile -O2 -masm=intel" } */
+ 
+ void
+ func (void)
+ {
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113921.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113921.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr113921.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr113921.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,20 ----
+ /* PR middle-end/113921 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ __attribute__((noipa)) long
+ foo (void)
+ {
+   long v;
+   asm volatile goto ("jmp %l2" : "=r" (v) : "0" (27) : : lab);
+   return v;
+ lab:
+   return 42;
+ }
+ 
+ int
+ main ()
+ {
+   if (foo () != 42)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr114184.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr114184.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/pr114184.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/pr114184.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,22 ----
+ /* PR target/114184 */
+ /* { dg-do compile } */
+ /* { dg-options "-Og -mavx2" } */
+ 
+ typedef unsigned char V __attribute__((vector_size (32)));
+ typedef unsigned char W __attribute__((vector_size (16)));
+ 
+ _Complex long double
+ foo (void)
+ {
+   _Complex long double d;
+   *(V *)&d = (V) { 149, 136, 89, 42, 38, 240, 196, 194 };
+   return d;
+ }
+ 
+ long double
+ bar (void)
+ {
+   long double d;
+   *(W *)&d = (W) { 149, 136, 89, 42, 38, 240, 196, 194 };
+   return d;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ /* PR target/112816 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
+ 
+ #define N 2
+ struct S { float x[N]; };
+ struct T { int x[N]; };
+ 
+ struct T
+ foo (struct S x)
+ {
+   struct T res;
+   for (int i = 0; i < N; ++i)
+     res.x[i] = __builtin_signbit (x.x[i]) ? -1 : 0;
+   return res;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/i386/sse2-pr112816.c gcc-11.5.0/gcc/testsuite/gcc.target/i386/sse2-pr112816.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/i386/sse2-pr112816.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/i386/sse2-pr112816.c	Fri Jul 19 05:52:45 2024
***************
*** 0 ****
--- 1,16 ----
+ /* PR target/112816 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
+ 
+ #define N 4
+ struct S { float x[N]; };
+ struct T { int x[N]; };
+ 
+ struct T
+ foo (struct S x)
+ {
+   struct T res;
+   for (int i = 0; i < N; ++i)
+     res.x[i] = __builtin_signbit (x.x[i]) ? -1 : 0;
+   return res;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/clone1.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/clone1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/clone1.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/clone1.c	Fri Jul 19 05:52:46 2024
*************** long mod_func_or (long a, long b, long c
*** 21,26 ****
    return mod_func (a, b) | c;
  }
  
! /* { dg-final { scan-assembler-times {\mdivd\M}  1 } } */
! /* { dg-final { scan-assembler-times {\mmulld\M} 1 } } */
! /* { dg-final { scan-assembler-times {\mmodsd\M} 1 } } */
--- 21,27 ----
    return mod_func (a, b) | c;
  }
  
! /* { Fail due to RS6000_DISABLE_SCALAR_MODULO. */
! /* { dg-final { scan-assembler-times {\mdivd\M}  1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmulld\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmodsd\M} 1 { xfail *-*-* } } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/clone3.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/clone3.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/clone3.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/clone3.c	Fri Jul 19 05:52:46 2024
*************** long mod_func_or (long a, long b, long c
*** 27,33 ****
    return mod_func (a, b) | c;
  }
  
! /* { dg-final { scan-assembler-times {\mdivd\M}  1 } } */
! /* { dg-final { scan-assembler-times {\mmulld\M} 1 } } */
! /* { dg-final { scan-assembler-times {\mmodsd\M} 2 } } */
  /* { dg-final { scan-assembler-times {\mpld\M}   1 } } */
--- 27,34 ----
    return mod_func (a, b) | c;
  }
  
! /* { Fail due to RS6000_DISABLE_SCALAR_MODULO. */
! /* { dg-final { scan-assembler-times {\mdivd\M}  1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmulld\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmodsd\M} 2 { xfail *-*-* } } } */
  /* { dg-final { scan-assembler-times {\mpld\M}   1 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do compile { target powerpc*-*-darwin* } } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-Wno-long-long" } */
+ 
+ #include "darwin-structs-0.h"
+ 
+ int tcd[sizeof(cd) != 12 ? -1 : 1];
+ int acd[__alignof__(cd) != 4 ? -1 : 1];
+ 
+ int sdc[sizeof(dc) != 16 ? -1 : 1];
+ int adc[__alignof__(dc) != 8 ? -1 : 1];
+ 
+ int scL[sizeof(cL) != 12 ? -1 : 1];
+ int acL[__alignof__(cL) != 4 ? -1 : 1];
+ 
+ int sLc[sizeof(Lc) != 16 ? -1 : 1];
+ int aLc[__alignof__(Lc) != 8 ? -1 : 1];
+ 
+ int scD[sizeof(cD) != 32 ? -1 : 1];
+ int acD[__alignof__(cD) != 16 ? -1 : 1];
+ 
+ int sDc[sizeof(Dc) != 32 ? -1 : 1];
+ int aDc[__alignof__(Dc) != 16 ? -1 : 1];
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,27 ----
+ /* { dg-do compile { target powerpc*-*-darwin* } } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-Wno-long-long" } */
+ 
+ #pragma pack(push, 1)
+ 
+ #include "darwin-structs-0.h"
+ 
+ int tcd[sizeof(cd) != 9 ? -1 : 1];
+ int acd[__alignof__(cd) != 1 ? -1 : 1];
+ 
+ int sdc[sizeof(dc) != 9 ? -1 : 1];
+ int adc[__alignof__(dc) != 1 ? -1 : 1];
+ 
+ int scL[sizeof(cL) != 9 ? -1 : 1];
+ int acL[__alignof__(cL) != 1 ? -1 : 1];
+ 
+ int sLc[sizeof(Lc) != 9 ? -1 : 1];
+ int aLc[__alignof__(Lc) != 1 ? -1 : 1];
+ 
+ int scD[sizeof(cD) != 17 ? -1 : 1];
+ int acD[__alignof__(cD) != 1 ? -1 : 1];
+ 
+ int sDc[sizeof(Dc) != 17 ? -1 : 1];
+ int aDc[__alignof__(Dc) != 1 ? -1 : 1];
+ 
+ #pragma pack(pop)
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,27 ----
+ /* { dg-do compile { target powerpc*-*-darwin* } } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-Wno-long-long" } */
+ 
+ #pragma pack(push, 2)
+ 
+ #include "darwin-structs-0.h"
+ 
+ int tcd[sizeof(cd) != 10 ? -1 : 1];
+ int acd[__alignof__(cd) != 2 ? -1 : 1];
+ 
+ int sdc[sizeof(dc) != 10 ? -1 : 1];
+ int adc[__alignof__(dc) != 2 ? -1 : 1];
+ 
+ int scL[sizeof(cL) != 10 ? -1 : 1];
+ int acL[__alignof__(cL) != 2 ? -1 : 1];
+ 
+ int sLc[sizeof(Lc) != 10 ? -1 : 1];
+ int aLc[__alignof__(Lc) != 2 ? -1 : 1];
+ 
+ int scD[sizeof(cD) != 18 ? -1 : 1];
+ int acD[__alignof__(cD) != 2 ? -1 : 1];
+ 
+ int sDc[sizeof(Dc) != 18 ? -1 : 1];
+ int aDc[__alignof__(Dc) != 2 ? -1 : 1];
+ 
+ #pragma pack(pop)
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,29 ----
+ typedef struct _cd {
+  char c;
+  double d;
+ } cd;
+ 
+ typedef struct _dc {
+  double d;
+  char c;
+ } dc;
+ 
+ typedef struct _cL {
+  char c;
+  long long L;
+ } cL;
+ 
+ typedef struct _Lc {
+  long long L;
+  char c;
+ } Lc;
+ 
+ typedef struct _cD {
+  char c;
+  long double D;
+ } cD;
+ 
+ typedef struct _Dc {
+  long double D;
+  char c;
+ } Dc;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c	Fri Jul 19 05:52:46 2024
*************** TEST(uint8_t)
*** 54,68 ****
  TEST(int8_t)
  
  /* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   4 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_DI_CC_none"             4 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_clobber_CC_none"        4 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_DI_CCUNS_none"         1 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_clobber_CCUNS_none"    1 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"      16 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   4 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         0 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_clobber_CC_none"       4 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     0 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   2 { target lp64 } } } */
  
  /* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
--- 54,70 ----
  TEST(int8_t)
  
  /* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   4 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_DI_CC_none"            24 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_clobber_CC_none"        8 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_DI_CCUNS_none"         2 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_clobber_CCUNS_none"    2 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"      16 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   4 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         0 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "lwz_cmpwi_cr0_SI_clobber_CC_none"       8 { target lp64 } } } */
! /* { dg-final { scan-assembler-times "lwz_cmpwi_cr0_SI_SI_CC_none"            8 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     0 { target lp64 } } } */
+ /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_SI_CCUNS_none"        2 { target lp64 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   2 { target lp64 } } } */
  
  /* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
*************** TEST(int8_t)
*** 73,78 ****
  /* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"       8 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         0 { target ilp32 } } } */
! /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_clobber_CC_none"       9 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     0 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   6 { target ilp32 } } } */
--- 75,82 ----
  /* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"       8 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         0 { target ilp32 } } } */
! /* { dg-final { scan-assembler-times "lwz_cmpwi_cr0_SI_SI_CC_none"           36 { target ilp32 } } } */
! /* { dg-final { scan-assembler-times "lwz_cmpwi_cr0_SI_clobber_CC_none"      16 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     0 { target ilp32 } } } */
  /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   6 { target ilp32 } } } */
+ /* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_SI_CCUNS_none"        2 { target ilp32 } } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/mod-1.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/mod-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/mod-1.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/mod-1.c	Fri Jul 19 05:52:46 2024
*************** long lsmod (long a, long b) { return a%b
*** 7,19 ****
  unsigned int iumod (unsigned int a, unsigned int b) { return a%b; }
  unsigned long lumod (unsigned long a, unsigned long b) { return a%b; }
  
! /* { dg-final { scan-assembler-times "modsw " 1 } } */
! /* { dg-final { scan-assembler-times "modsd " 1 } } */
! /* { dg-final { scan-assembler-times "moduw " 1 } } */
! /* { dg-final { scan-assembler-times "modud " 1 } } */
! /* { dg-final { scan-assembler-not   "mullw "   } } */
! /* { dg-final { scan-assembler-not   "mulld "   } } */
! /* { dg-final { scan-assembler-not   "divw "    } } */
! /* { dg-final { scan-assembler-not   "divd "    } } */
! /* { dg-final { scan-assembler-not   "divwu "   } } */
! /* { dg-final { scan-assembler-not   "divdu "   } } */
--- 7,20 ----
  unsigned int iumod (unsigned int a, unsigned int b) { return a%b; }
  unsigned long lumod (unsigned long a, unsigned long b) { return a%b; }
  
! /* { Fail due to RS6000_DISABLE_SCALAR_MODULO. */
! /* { dg-final { scan-assembler-times {\mmodsw\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmodsd\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmoduw\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmodud\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mmullw\M}   { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mmulld\M}   { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivw\M}    { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivd\M}    { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivwu\M}   { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivdu\M}   { xfail *-*-* } } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/mod-2.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/mod-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/mod-2.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/mod-2.c	Fri Jul 19 05:52:46 2024
***************
*** 5,12 ****
  int ismod (int a, int b) { return a%b; }
  unsigned int iumod (unsigned int a, unsigned int b) { return a%b; }
  
! /* { dg-final { scan-assembler-times "modsw " 1 } } */
! /* { dg-final { scan-assembler-times "moduw " 1 } } */
! /* { dg-final { scan-assembler-not   "mullw "   } } */
! /* { dg-final { scan-assembler-not   "divw "    } } */
! /* { dg-final { scan-assembler-not   "divwu "   } } */
--- 5,13 ----
  int ismod (int a, int b) { return a%b; }
  unsigned int iumod (unsigned int a, unsigned int b) { return a%b; }
  
! /* { Fail due to RS6000_DISABLE_SCALAR_MODULO. */
! /* { dg-final { scan-assembler-times {\mmodsw\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-times {\mmoduw\M} 1 { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mmullw\M}   { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivw\M}    { xfail *-*-* } } } */
! /* { dg-final { scan-assembler-not   {\mdivwu\M}   { xfail *-*-* } } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c	Fri Jul 19 05:52:46 2024
*************** __int128 s_mod(__int128 a, __int128 b)
*** 23,27 ****
  
  /* { dg-final { scan-assembler {\mvdivsq\M} } } */
  /* { dg-final { scan-assembler {\mvdivuq\M} } } */
! /* { dg-final { scan-assembler {\mvmodsq\M} } } */
! /* { dg-final { scan-assembler {\mvmoduq\M} } } */
--- 23,28 ----
  
  /* { dg-final { scan-assembler {\mvdivsq\M} } } */
  /* { dg-final { scan-assembler {\mvdivuq\M} } } */
! /* { Fail due to RS6000_DISABLE_SCALAR_MODULO. */
! /* { dg-final { scan-assembler {\mvmodsq\M} { xfail *-*-* } } } */
! /* { dg-final { scan-assembler {\mvmoduq\M} { xfail *-*-* } } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-require-effective-target int128 } */
+ /* { dg-require-effective-target powerpc_altivec_ok } */
+ /* { dg-options "-maltivec -mno-vsx" } */
+ 
+ /* Verify there is no ICE but one expected error message instead.  */
+ 
+ #include <altivec.h>
+ 
+ extern vector signed __int128 res_vslll;
+ extern unsigned long long aull[2];
+ 
+ void
+ testVectorInt128Pack ()
+ {
+   res_vslll = __builtin_pack_vector_int128 (aull[0], aull[1]); /* { dg-error "'__builtin_pack_vector_int128' requires the '-mvsx' option" } */
+ }
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-require-effective-target int128 } */
+ /* { dg-require-effective-target powerpc_altivec_ok } */
+ /* { dg-options "-maltivec -mno-vsx" } */
+ 
+ /* Verify there is no ICE but one expected error message instead.  */
+ 
+ #include <altivec.h>
+ 
+ extern vector signed __int128 res_vslll;
+ extern unsigned long long aull[2];
+ 
+ void
+ testVectorInt128Pack ()
+ {
+   res_vslll = __builtin_pack_vector_int128 (aull[0], aull[1]); /* { dg-error "'__builtin_pack_vector_int128' requires the '-mvsx' option" } */
+ }
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110011.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110011.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110011.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110011.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,42 ----
+ /* { dg-do run } */
+ /* { dg-require-effective-target float128_runtime } */
+ /* Force long double to be with IBM format here, to verify
+    _Float128 constant still uses its own format (IEEE) for
+    encoding rather than IBM format.  */
+ /* { dg-options "-mfp-in-toc -mabi=ibmlongdouble" } */
+ /* { dg-add-options float128 } */
+ 
+ #define MPFR_FLOAT128_MAX 0x1.ffffffffffffffffffffffffffffp+16383f128
+ 
+ __attribute__ ((noipa))
+ _Float128 f128_max ()
+ {
+   return MPFR_FLOAT128_MAX;
+ }
+ 
+ typedef union
+ {
+   int w[4];
+   _Float128 f128;
+ } U;
+ 
+ int main ()
+ {
+ 
+   U umax;
+   umax.f128 = f128_max ();
+   /* ieee float128 max:
+      7ffeffff ffffffff ffffffff ffffffff.  */
+   if (umax.w[1] != 0xffffffff || umax.w[2] != 0xffffffff)
+     __builtin_abort ();
+ #ifdef __LITTLE_ENDIAN__
+   if (umax.w[0] != 0xffffffff || umax.w[3] != 0x7ffeffff)
+     __builtin_abort ();
+ #else
+   if (umax.w[3] != 0xffffffff || umax.w[0] != 0x7ffeffff)
+     __builtin_abort ();
+ #endif
+ 
+   return 0;
+ }
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110411-1.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110411-1.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110411-1.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110411-1.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,21 ----
+ /* PR target/110411 */
+ /* { dg-options "-O2 -mdejagnu-cpu=power10 -mblock-ops-vector-pair" } */
+ 
+ /* Verify we do not ICE on the following.  */
+ 
+ #include <string.h>
+ 
+ struct s {
+   long a;
+   long b;
+   long c;
+   long d: 1;
+ };
+ unsigned long ptr;
+ 
+ void
+ bug (struct s *dst)
+ {
+   struct s *src = (struct s *)(ptr & ~0xFUL);
+   memcpy (dst, src, sizeof(struct s));
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110411-2.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110411-2.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr110411-2.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr110411-2.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,12 ----
+ /* PR target/110411 */
+ /* { dg-require-effective-target power10_ok } */
+ /* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+ 
+ /* Verify we do not ICE on the following.  */
+ 
+ void
+ bug (__vector_quad *dst)
+ {
+   dst = (__vector_quad *)((unsigned long)dst & ~0xFUL);
+   __builtin_mma_xxsetaccz (dst);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr114846.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr114846.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr114846.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr114846.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do run } */
+ /* { dg-require-effective-target builtin_eh_return } */
+ 
+ /* Ensure it runs successfully.  */
+ 
+ __attribute__ ((noipa))
+ int f (int *a, long offset, void *handler)
+ {
+   if (*a == 5)
+     return 5;
+   __builtin_eh_return (offset, handler);
+ }
+ 
+ int main ()
+ {
+   int t = 5;
+   if (f (&t, 0, 0) != 5)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr88309.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr88309.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr88309.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr88309.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,27 ----
+ /* { dg-require-effective-target powerpc_vsx_ok } */
+ /* { dg-options "-mvsx -O2 -fprefetch-loop-arrays" } */
+ 
+ /* Verify there is no ICE or hanging.  */
+ 
+ #include <altivec.h>
+ 
+ void b(float *c, vector float a, vector float, vector float)
+ {
+   vector float d;
+   vector char ahbc;
+   vec_xst(vec_perm(a, d, ahbc), 0, c);
+ }
+ 
+ vector float e(vector unsigned);
+ 
+ void f() {
+   float *dst;
+   int g = 0;
+   for (;; g += 16) {
+     vector unsigned m, i;
+     vector unsigned n, j;
+     vector unsigned k, l;
+     b(dst + g * 3, e(m), e(n), e(k));
+     b(dst + (g + 4) * 3, e(i), e(j), e(l));
+   }
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr96762.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr96762.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/pr96762.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/pr96762.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,13 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+ 
+ /* Verify there is no ICE on ilp32 env.  */
+ 
+ extern void foo (char *);
+ 
+ void
+ bar (void)
+ {
+   char zj[] = "XXXXXXXXXXXXXXXX";
+   foo (zj);
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,22 ----
+ /* PR target/101865 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-mdejagnu-cpu=power7 -mno-vsx" } */
+ 
+ /* Verify we correctly set the correct set of predefined macros
+    for the given set of options.  */
+ 
+ #ifndef _ARCH_PWR7
+ #error "_ARCH_PWR7 should be defined for this test"
+ #endif
+ 
+ #ifndef __ALTIVEC__
+ #error "__ALTIVEC__ should be defined for this test"
+ #endif
+ 
+ #ifdef _ARCH_PWR8
+ #error "_ARCH_PWR8 should not be defined for this test"
+ #endif
+ 
+ #ifdef __VSX__
+ #error "__VSX__ should not be defined for this test"
+ #endif
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR target/101865 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-mdejagnu-cpu=power8 -mno-altivec -mno-vsx" } */
+ 
+ /* Verify _ARCH_PWR8 is defined for -mcpu=power8 and after disabling
+    both altivec and vsx.  */
+ 
+ #ifndef _ARCH_PWR7
+ #error "_ARCH_PWR7 should be defined for this test"
+ #endif
+ 
+ #ifndef _ARCH_PWR8
+ #error "_ARCH_PWR8 should be defined for this test"
+ #endif
+ 
+ #ifdef _ARCH_PWR9
+ #error "_ARCH_PWR9 should not be defined for this test"
+ #endif
+ 
+ #ifdef __ALTIVEC__
+ #error "__ALTIVEC__ should not be defined for this test"
+ #endif
+ 
+ #ifdef __VSX__
+ #error "__VSX__ should not be defined for this test"
+ #endif
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR target/101865 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-mdejagnu-cpu=power8 -mno-altivec -w" } */
+ 
+ /* Verify _ARCH_PWR8 is defined for -mcpu=power8 and after disabling altivec.
+    The -w option is used to silence the -mno-altivec disables -mvsx warning.  */
+ 
+ #ifndef _ARCH_PWR7
+ #error "_ARCH_PWR7 should be defined for this test"
+ #endif
+ 
+ #ifndef _ARCH_PWR8
+ #error "_ARCH_PWR8 should be defined for this test"
+ #endif
+ 
+ #ifdef _ARCH_PWR9
+ #error "_ARCH_PWR9 should not be defined for this test"
+ #endif
+ 
+ #ifdef __ALTIVEC__
+ #error "__ALTIVEC__ should not be defined for this test"
+ #endif
+ 
+ #ifdef __VSX__
+ #error "__VSX__ should not be defined for this test"
+ #endif
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR target/101865 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-mdejagnu-cpu=power8 -mno-vsx" } */
+ 
+ /* Verify _ARCH_PWR8 is defined for -mcpu=power8 and after disabling vsx.
+    This also confirms __ALTIVEC__ remains set when VSX is disabled.  */
+ 
+ #ifndef _ARCH_PWR7
+ #error "_ARCH_PWR7 should be defined for this test"
+ #endif
+ 
+ #ifndef _ARCH_PWR8
+ #error "_ARCH_PWR8 should be defined for this test"
+ #endif
+ 
+ #ifndef __ALTIVEC__
+ #error "__ALTIVEC__ should be defined for this test"
+ #endif
+ 
+ #ifdef _ARCH_PWR9
+ #error "_ARCH_PWR9 should not be defined for this test"
+ #endif
+ 
+ #ifdef __VSX__
+ #error "__VSX__ should not be defined for this test"
+ #endif
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,101 ----
+ /* PR target/101865 */
+ /* { dg-do run } */
+ /* { dg-require-effective-target p8vector_hw } */
+ /* { dg-options "-mdejagnu-cpu=power8 -mvsx" } */
+ 
+ /* Verify we correctly set our predefined macros in the face of #pragma usage.  */
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+ 
+ volatile int power8_set;
+ volatile int vsx_set;
+ 
+ void
+ test_default (void)
+ {
+ #ifdef _ARCH_PWR8
+   power8_set=1;
+ #else
+   power8_set=0;
+ #endif
+ #ifdef __VSX__
+   vsx_set=1;
+ #else
+   vsx_set=0;
+ #endif
+ }
+ 
+ #pragma GCC target "no-vsx"
+ void
+ test_no_vsx (void)
+ {
+ #ifdef _ARCH_PWR8
+   power8_set=1;
+ #else
+   power8_set=0;
+ #endif
+ #ifdef __VSX__
+   vsx_set=1;
+ #else
+   vsx_set=0;
+ #endif
+ }
+ 
+ #pragma GCC reset_options
+ void
+ test_reset_options (void)
+ {
+ #ifdef _ARCH_PWR8
+   power8_set=1;
+ #else
+   power8_set=0;
+ #endif
+ #ifdef __VSX__
+   vsx_set=1;
+ #else
+   vsx_set=0;
+ #endif
+ }
+ 
+ int
+ main (void)
+ {
+   test_default ();
+   if (!power8_set)
+     {
+       printf ("_ARCH_PWR8 is not set.\n");
+       abort ();
+     }
+   if (!vsx_set)
+     {
+       printf ("__VSX__ is not set.\n");
+       abort ();
+     }
+ 
+   test_no_vsx ();
+   if (!power8_set)
+     {
+       printf ("_ARCH_PWR8 is not set.\n");
+       abort ();
+     }
+   if (vsx_set)
+     {
+       printf ("__VSX__ is unexpectedly set.\n");
+       abort ();
+     }
+ 
+   test_reset_options ();
+   if (!power8_set)
+     {
+       printf ("_ARCH_PWR8 is not set.\n");
+       abort ();
+     }
+   if (!vsx_set)
+     {
+       printf ("__VSX__ is not set.\n");
+       abort ();
+     }
+ 
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,26 ----
+ /* PR target/101865 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-mdejagnu-cpu=power9 -mno-vsx" } */
+ 
+ /* Verify _ARCH_PWR8 is defined for -mcpu=power9 and after disabling vsx.
+    This also confirms __ALTIVEC__ remains set when VSX is disabled.  */
+ 
+ #ifndef _ARCH_PWR7
+ #error "_ARCH_PWR7 should be defined for this test"
+ #endif
+ 
+ #ifndef _ARCH_PWR8
+ #error "_ARCH_PWR8 should be defined for this test"
+ #endif
+ 
+ #ifndef _ARCH_PWR9
+ #error "_ARCH_PWR9 should be defined for this test"
+ #endif
+ 
+ #ifndef __ALTIVEC__
+ #error "__ALTIVEC__ should be defined for this test"
+ #endif
+ 
+ #ifdef __VSX__
+ #error "__VSX__ should not be defined for this test"
+ #endif
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gcc.target/riscv/pr114130.c gcc-11.5.0/gcc/testsuite/gcc.target/riscv/pr114130.c
*** gcc-11.4.0/gcc/testsuite/gcc.target/riscv/pr114130.c	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gcc.target/riscv/pr114130.c	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gc -mabi=lp64 -O" } */
+ #include <stdint-gcc.h>
+ 
+ void foo(uint32_t *p) {
+     uintptr_t x = *(uintptr_t *)p;
+     uint32_t e = !p ? 0 : (uintptr_t)p >> 1;
+     uint32_t d = (uintptr_t)x;
+     __atomic_compare_exchange(p, &e, &d, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
+ }
+ 
+ /* { dg-final { scan-assembler-times "sext.w\t" 1 } } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/imports/pr113125.d gcc-11.5.0/gcc/testsuite/gdc.dg/imports/pr113125.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/imports/pr113125.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/imports/pr113125.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,2 ----
+ module imports.pr113125;
+ struct S113125;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/pr108842.d gcc-11.5.0/gcc/testsuite/gdc.dg/pr108842.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/pr108842.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/pr108842.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ // { dg-options "-fno-rtti" }
+ module object;
+ enum int[] x = [0, 1, 2];
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/pr110359.d gcc-11.5.0/gcc/testsuite/gdc.dg/pr110359.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/pr110359.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/pr110359.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,22 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110359
+ // { dg-do compile }
+ // { dg-options "-fdump-tree-original" }
+ double pow(in double x, in ulong p)
+ {
+     import gcc.builtins : __builtin_expect;
+     if (__builtin_expect(p == 0, false))
+         return 1;
+     if (__builtin_expect(p == 1, false))
+         return x;
+ 
+     double s = x;
+     double v = 1;
+     for (ulong i = p; i > 1; i >>= 1)
+     {
+         v = (i & 0x1) ? s * v : v;
+         s = s * s;
+     }
+     return v * s;
+ }
+ // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 0, 0\\) != 0\\)" "original" } }
+ // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 1, 0\\) != 0\\)" "original" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/pr113125.d gcc-11.5.0/gcc/testsuite/gdc.dg/pr113125.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/pr113125.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/pr113125.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ // { dg-options "-I $srcdir/gdc.dg" }
+ module pr113125;
+ import imports.pr113125: S113125;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/pr98277.d gcc-11.5.0/gcc/testsuite/gdc.dg/pr98277.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/pr98277.d	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gdc.dg/pr98277.d	Fri Jul 19 05:52:46 2024
*************** ref int getSide(Side side, ref int left,
*** 11,13 ****
--- 11,24 ----
  {
      return side == Side.left ? left : right;
  }
+ 
+ enum SideA : int[]
+ {
+     left = [0],
+     right = [1],
+ }
+ 
+ int getSideA(SideA side, ref int left, ref int right)
+ {
+     return side == SideA.left ? left : right;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr110516a.d gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr110516a.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr110516a.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr110516a.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,12 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110516
+ // { dg-do compile }
+ // { dg-options "-fno-moduleinfo -fdump-tree-optimized" }
+ void fn110516(ubyte* ptr)
+ {
+     import core.volatile : volatileLoad;
+     volatileLoad(ptr);
+     volatileLoad(ptr);
+     volatileLoad(ptr);
+     volatileLoad(ptr);
+ }
+ // { dg-final { scan-tree-dump-times " ={v} " 4 "optimized" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr110516b.d gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr110516b.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr110516b.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr110516b.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,12 ----
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110516
+ // { dg-do compile }
+ // { dg-options "-fno-moduleinfo -fdump-tree-optimized" }
+ void fn110516(ubyte* ptr)
+ {
+     import core.volatile : volatileStore;
+     volatileStore(ptr, 0);
+     volatileStore(ptr, 0);
+     volatileStore(ptr, 0);
+     volatileStore(ptr, 0);
+ }
+ // { dg-final { scan-tree-dump-times " ={v} " 4 "optimized" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr113758.d gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr113758.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr113758.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr113758.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,19 ----
+ // { dg-do run }
+ // { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
+ struct S113758
+ {
+     int field;
+     ~this() { field = 0; }
+ }
+ 
+ void main()
+ {
+     auto var = S113758(1);
+     f113758d(var);
+     assert(var.field == 1);
+     f113758cxx(var);
+     assert(var.field == 1);
+ }
+ 
+ extern (D)   void f113758d(S113758 arg) { }
+ extern (C++) void f113758cxx(S113758 arg) { }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr114171.d gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr114171.d
*** gcc-11.4.0/gcc/testsuite/gdc.dg/torture/pr114171.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.dg/torture/pr114171.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,29 ----
+ // { dg-do run }
+ // { dg-additional-options "-mavx" { target avx_runtime } }
+ // { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
+ import gcc.builtins;
+ 
+ struct S1
+ {
+     string label;
+ }
+ 
+ struct S2
+ {
+     ulong pad;
+     S1 label;
+ }
+ 
+ pragma(inline, false)
+ auto newitem()
+ {
+     void *p = __builtin_malloc(S2.sizeof);
+     __builtin_memset(p, 0, S2.sizeof);
+     return cast(S2*) p;
+ }
+ 
+ int main()
+ {
+     auto bn = newitem();
+     return bn.label is S1.init ? 0 : 1;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gdc.test/compilable/test21794.d gcc-11.5.0/gcc/testsuite/gdc.test/compilable/test21794.d
*** gcc-11.4.0/gcc/testsuite/gdc.test/compilable/test21794.d	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gdc.test/compilable/test21794.d	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,52 ----
+ // https://issues.dlang.org/show_bug.cgi?id=21794
+ /*
+ TEST_OUTPUT:
+ ---
+ 0
+ 0u
+ 0L
+ 0LU
+ 0.0F
+ 0.0
+ 0.0L
+ ---
+ */
+ 
+ bool fun(void* p) {
+     const x = cast(ulong)p;
+     return 1;
+ }
+ 
+ static assert(fun(null));
+ 
+ T fun2(T)(void* p) {
+     const x = cast(T)p;
+     return x;
+ }
+ 
+ // These were an error before, they were returning a NullExp instead of IntegerExp/RealExp
+ 
+ static assert(fun2!int(null)    == 0);
+ static assert(fun2!uint(null)   == 0);
+ static assert(fun2!long(null)   == 0);
+ static assert(fun2!ulong(null)  == 0);
+ static assert(fun2!float(null)  == 0);
+ static assert(fun2!double(null) == 0);
+ static assert(fun2!real(null)   == 0);
+ 
+ // These were printing 'null' instead of the corresponding number
+ 
+ const i = cast(int)null;
+ const ui = cast(uint)null;
+ const l = cast(long)null;
+ const ul = cast(ulong)null;
+ const f = cast(float)null;
+ const d = cast(double)null;
+ const r = cast(real)null;
+ pragma(msg, i);
+ pragma(msg, ui);
+ pragma(msg, l);
+ pragma(msg, ul);
+ pragma(msg, f);
+ pragma(msg, d);
+ pragma(msg, r);
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,24 ----
+ program A_M
+   implicit none
+   real, parameter :: C(5:10) = 5.0
+   real, dimension (:), allocatable :: A, B
+   allocate (A(6))
+   call Init (A)
+ contains
+   subroutine Init ( A )
+     real, dimension ( -1 : ), intent ( in ) :: A
+     integer, dimension ( 1 ) :: lb_B
+ 
+     allocate (B, mold = A)
+     if (any (lbound (B) /= lbound (A))) stop 1
+     if (any (ubound (B) /= ubound (A))) stop 2
+     if (any (shape (B) /= shape (A))) stop 3
+     if (size (B) /= size (A)) stop 4
+     deallocate (B)
+     allocate (B, mold = C)
+     if (any (lbound (B) /= lbound (C))) stop 5
+     if (any (ubound (B) /= ubound (C))) stop 6
+     if (any (shape (B) /= shape (C))) stop 7
+     if (size (B) /= size (C)) stop 8
+ end
+ end 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/allocate_with_source_26.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/allocate_with_source_26.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/allocate_with_source_26.f90	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/allocate_with_source_26.f90	Fri Jul 19 05:52:46 2024
*************** program p
*** 34,56 ****
   if (lbound(p1, 1) /= 3 .or. ubound(p1, 1) /= 4 &
       .or. lbound(p2, 1) /= 3 .or. ubound(p2, 1) /= 4 &
       .or. lbound(p3, 1) /= 1 .or. ubound(p3, 1) /= 2 &
!      .or. lbound(p4, 1) /= 7 .or. ubound(p4, 1) /= 8 &
       .or. p1(3)%i /= 43 .or. p1(4)%i /= 56 &
       .or. p2(3)%i /= 43 .or. p2(4)%i /= 56 &
       .or. p3(1)%i /= 43 .or. p3(2)%i /= 56 &
!      .or. p4(7)%i /= 11 .or. p4(8)%i /= 12) then
     call abort()
   endif
  
   !write(*,*) lbound(a,1), ubound(a,1) ! prints 1 3
   !write(*,*) lbound(b,1), ubound(b,1) ! prints 1 3
!  !write(*,*) lbound(c,1), ubound(c,1) ! prints 3 5
   !write(*,*) lbound(d,1), ubound(d,1) ! prints 1 5
   !write(*,*) lbound(e,1), ubound(e,1) ! prints 1 6
  
   if (lbound(a,1) /= 1 .or. ubound(a,1) /= 3 &
       .or. lbound(b,1) /= 1 .or. ubound(b,1) /= 3 &
!      .or. lbound(c,1) /= 3 .or. ubound(c,1) /= 5 &
       .or. lbound(d,1) /= 1 .or. ubound(d,1) /= 5 &
       .or. lbound(e,1) /= 1 .or. ubound(e,1) /= 6) then
     call abort()
--- 34,56 ----
   if (lbound(p1, 1) /= 3 .or. ubound(p1, 1) /= 4 &
       .or. lbound(p2, 1) /= 3 .or. ubound(p2, 1) /= 4 &
       .or. lbound(p3, 1) /= 1 .or. ubound(p3, 1) /= 2 &
!      .or. lbound(p4, 1) /= 1 .or. ubound(p4, 1) /= 2 &
       .or. p1(3)%i /= 43 .or. p1(4)%i /= 56 &
       .or. p2(3)%i /= 43 .or. p2(4)%i /= 56 &
       .or. p3(1)%i /= 43 .or. p3(2)%i /= 56 &
!      .or. p4(1)%i /= 11 .or. p4(2)%i /= 12) then
     call abort()
   endif
  
   !write(*,*) lbound(a,1), ubound(a,1) ! prints 1 3
   !write(*,*) lbound(b,1), ubound(b,1) ! prints 1 3
!  !write(*,*) lbound(c,1), ubound(c,1) ! prints 1 3
   !write(*,*) lbound(d,1), ubound(d,1) ! prints 1 5
   !write(*,*) lbound(e,1), ubound(e,1) ! prints 1 6
  
   if (lbound(a,1) /= 1 .or. ubound(a,1) /= 3 &
       .or. lbound(b,1) /= 1 .or. ubound(b,1) /= 3 &
!      .or. lbound(c,1) /= 1 .or. ubound(c,1) /= 3 & 
       .or. lbound(d,1) /= 1 .or. ubound(d,1) /= 5 &
       .or. lbound(e,1) /= 1 .or. ubound(e,1) /= 6) then
     call abort()
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/data_initialized_4.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/data_initialized_4.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/data_initialized_4.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/data_initialized_4.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,16 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-std=legacy" }
+ !
+ ! PR fortran/50410
+ !
+ ! Silently allow overlapping initialization in legacy mode (used to ICE)
+ 
+ program p
+   implicit none
+   type t
+      integer :: g = 1
+   end type t
+   type(t) :: u = t(2)
+   data u%g /3/
+   print *, u    ! this might print "2"
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/data_pointer_3.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/data_pointer_3.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/data_pointer_3.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/data_pointer_3.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,77 ----
+ ! { dg-do compile }
+ ! PR fortran/114474 - DATA and derived types with pointer components
+ 
+ program pr114474
+   implicit none
+   integer, target     :: ii = 42    ! initial data target
+ 
+   integer, target     :: jj = 24
+   integer, pointer    :: qq => jj
+   ! ii and jj resolve slightly differently when the data statement below
+   ! is reached, as jj is resolved outside the structure constructor first
+ 
+   type t
+      integer, pointer :: h
+   end type t
+ 
+   integer, target     :: kk(7) =  23
+   integer, pointer    :: ll(:) => kk
+ 
+   type t1
+      integer          :: m(7)
+   end type t1
+ 
+   type(t)             :: x1, x2, x3, x4, x5
+   type(t), parameter  :: z1 = t(null())
+ 
+   type(t1), target    :: tt = t1([1,2,3,4,5,6,7])
+   type(t1), parameter :: vv = t1(22)
+   type(t1)            :: w1, w2
+   integer,  pointer   :: p1(:) => tt% m
+ 
+   data x1 / t(null())  /
+   data x2 / t(ii)      / ! ii is initial data target
+   data x3 / t(jj)      / ! jj is resolved differently...
+   data x4 / t(tt%m(3)) / ! pointer association with 3rd element
+ 
+   data w1 / t1(12)     /
+   data w2 / t1(vv%m)   /
+ 
+   if (      associated (x1% h)) stop 1
+   if (.not. associated (x2% h)) stop 2
+   if (.not. associated (x3% h)) stop 3
+   if (.not. associated (x4% h)) stop 4
+   if (x2% h /= 42) stop 5
+   if (x3% h /= 24) stop 6
+   if (x4% h /=  3) stop 7
+  
+   if (any (w1%m /= 12  )) stop 8
+   if (any (w2%m /= vv%m)) stop 9
+ end
+ 
+ 
+ subroutine sub
+   implicit none
+ 
+   interface
+      real function myfun (x)
+        real, intent(in) :: x
+      end function myfun
+   end interface
+ 
+   type u
+      procedure(myfun), pointer, nopass :: p
+   end type u
+ 
+   type(u)            :: u3 = u(null())
+   type(u), parameter :: u4 = u(null())
+   type(u)            :: u1, u2
+ 
+   data u1 / u(null()) /
+   data u2 / u(myfun)  /
+ end
+ 
+ real function myfun (x)
+   real, intent(in) :: x
+   myfun = x
+ end function myfun
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/deferred_character_37.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/deferred_character_37.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/deferred_character_37.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/deferred_character_37.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,88 ----
+ ! { dg-do run }
+ ! PR fortran/95947
+ ! PR fortran/110658
+ !
+ ! Test deferred-length character arguments to selected intrinsics
+ ! that may return a character result of same length as first argument:
+ ! CSHIFT, EOSHIFT, MAXVAL, MERGE, MINVAL, PACK, SPREAD, TRANSPOSE, UNPACK
+ 
+ program p
+   implicit none
+   call pr95947 ()
+   call pr110658 ()
+   call s ()
+ 
+ contains
+ 
+   subroutine pr95947
+     character(len=:), allocatable :: m(:)
+ 
+     m = [ character(len=10) :: 'ape','bat','cat','dog','eel','fly','gnu']
+     m = pack (m, mask=(m(:)(2:2) == 'a'))
+ 
+ !   print *, "m = '", m,"' ",               "; expected is ['bat','cat']"
+     if (.not. all (m == ['bat','cat'])) stop 1
+    
+ !   print *, "size(m) =     ", size(m),     "; expected is 2"
+     if (size (m) /= 2) stop 2
+    
+ !   print *, "len(m) =      ", len(m),      "; expected is 10"
+     if (len (m) /= 10) stop 3
+    
+ !   print *, "len_trim(m) = ", len_trim(m), "; expected is 3 3"
+     if (.not. all (len_trim(m) == [3,3])) stop 4
+   end
+ 
+   subroutine pr110658
+     character(len=:), allocatable :: array(:), array2(:,:)
+     character(len=:), allocatable :: res, res1(:), res2(:)
+ 
+     array = ["bb", "aa", "cc"]
+ 
+     res = minval (array)
+     if (res /= "aa") stop 11
+ 
+     res = maxval (array, mask=[.true.,.true.,.false.])
+     if (res /= "bb") stop 12
+ 
+     res1 = cshift (array, 1)
+     if (any (res1 /= ["aa","cc","bb"])) stop 13
+ 
+     res2 = eoshift (res1, -1)
+     if (any (res2 /= ["  ", "aa", "cc"])) stop 14
+ 
+     res2 = pack (array, mask=[.true.,.false.,.true.])
+     if (any (res2 /= ["bb","cc"])) stop 15
+ 
+     res2 = unpack (res2, mask=[.true.,.false.,.true.], field="aa")
+     if (any (res2 /= array)) stop 16
+ 
+     res2 = merge (res2, array, [.true.,.false.,.true.])
+     if (any (res2 /= array)) stop 17
+ 
+     array2 = spread (array, dim=2, ncopies=2)
+     array2 = transpose (array2)
+     if (any (shape (array2) /= [2,3])) stop 18
+     if (any (array2(2,:) /= array))    stop 19
+   end
+ 
+   subroutine s
+     character(:), allocatable :: array1(:), array2(:)
+     array1 = ["aa","cc","bb"]
+     array2 = copy (array1)
+     if (any (array1 /= array2)) stop 20
+   end
+ 
+   function copy (arg) result (res)
+     character(:), allocatable :: res(:)
+     character(*), intent(in)  :: arg(:)
+     integer :: i, k, n
+     k = len (arg)
+     n = size (arg)
+     allocate (character(k) :: res(n))
+     do i = 1, n
+        res(i) = arg(i)
+     end do
+   end
+ 
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/findloc_10.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/findloc_10.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/findloc_10.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/findloc_10.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,13 ----
+ ! { dg-do run }
+ ! { dg-options "-fdump-tree-original" }
+ ! PR fortran/110288 - FINDLOC and deferred-length character arguments
+ 
+ program test
+   character(len=:), allocatable :: array(:)
+   character(len=:), allocatable :: value
+   array = ["bb", "aa"]
+   value = "aa"
+   if (findloc (array, value, dim=1) /= 2) stop 1
+ end program test
+ 
+ ! { dg-final { scan-tree-dump "_gfortran_findloc2_s1 \\(.*, \\.array, \\.value\\)" "original" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/findloc_9.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/findloc_9.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/findloc_9.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/findloc_9.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,19 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ ! PR fortran/110585 - simplification of FINDLOC for constant complex arguments
+ 
+ program mvce
+   implicit none
+   integer, parameter :: a(*) = findloc([(1.,0.),(2.,1.)], (2.,0.))
+   integer, parameter :: b(*) = findloc([(1.,0.),(2.,1.)], (2.,0.), back=.true.)
+   integer, parameter :: c(*) = findloc([(1.,0.),(2.,1.)], (2.,1.))
+   integer, parameter :: d(*) = findloc([(1.,0.),(2.,1.)], (2.,1.), back=.true.)
+   integer, parameter :: e    = findloc([(1.,0.),(2.,1.)], (2.,1.), dim=1)
+   if (a(1) /= 0) stop 1
+   if (b(1) /= 0) stop 2
+   if (c(1) /= 2) stop 3
+   if (d(1) /= 2) stop 4
+   if (e    /= 2) stop 5
+ end
+ 
+ ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/gomp/pr114825.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/gomp/pr114825.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/gomp/pr114825.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/gomp/pr114825.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,16 ----
+ ! PR fortran/114825
+ 
+ subroutine pr114825(b)
+   type t
+     real, allocatable :: m(:)
+   end type t
+   type(t), allocatable, target :: b(:)
+   type(t), pointer :: d
+   !$omp parallel private(d)
+   d => b(1)
+   !$omp end parallel
+ contains
+   subroutine sub
+     d => b(1)
+   end subroutine sub
+ end subroutine pr114825
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/implied_do_io_8.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/implied_do_io_8.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/implied_do_io_8.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/implied_do_io_8.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,18 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-fcheck=bounds" }
+ ! PR fortran/111837 - out of bounds access with front-end optimization
+ 
+ program implied_do_bug
+   implicit none
+   integer :: i,j,k
+   real    :: arr(1,1,1)
+   integer :: ni(1)
+   ni(1) = 1
+   arr = 1
+   write(*,*) (((arr(i,j,k), i=1,ni(k)), k=1,1), j=1,1)
+   write(*,*) (((arr(i,j,k), i=1,ni(k)), j=1,1), k=1,1)
+   write(*,*) (((arr(k,i,j), i=1,ni(k)), k=1,1), j=1,1)
+   write(*,*) (((arr(k,i,j), i=1,ni(k)), j=1,1), k=1,1)
+   write(*,*) (((arr(j,k,i), i=1,ni(k)), k=1,1), j=1,1)
+   write(*,*) (((arr(j,k,i), i=1,ni(k)), j=1,1), k=1,1)
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr103506_1.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr103506_1.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr103506_1.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr103506_1.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,9 ----
+ ! { dg-do compile }
+ ! PR103506 ICE in gfc_free_namespace. ice-on-invalid
+ ! Test case from the PR.
+ module m ! { dg-error "is already being used as a MODULE" }
+ stop ! { dg-error "Unexpected STOP statement in MODULE" }
+ end
+ program p
+ call m ! { dg-error "is already being used as a MODULE" }
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr103715.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr103715.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr103715.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr103715.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,12 ----
+ ! { dg-do compile }
+ ! PR fortran/103715 - ICE in gfc_find_gsymbol
+ !
+ ! valgrind did report an invalid read in check_externals_procedure
+ 
+ program p
+   select type (y => g()) ! { dg-error "Selector shall be polymorphic" }
+   end select
+   call g()
+ end
+ 
+ ! { dg-prune-output "already being used as a FUNCTION" }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr104908.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr104908.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr104908.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr104908.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,32 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-fcheck=bounds -fdump-tree-original" }
+ !
+ ! PR fortran/104908 - incorrect out-of-bounds runtime error
+ 
+ program test
+   implicit none
+   type vec
+      integer :: x(3) = [2,4,6]
+   end type vec
+   type(vec) :: w(2)
+   call sub(w)
+ contains
+   subroutine sub (v)
+     class(vec), intent(in) :: v(:)
+     integer :: k, q(3)
+     q = [ (v(1)%x(k), k = 1, 3) ]   ! <-- was failing here after r11-1235
+     print *, q
+   end
+ end
+ 
+ subroutine sub2 (zz)
+   implicit none
+   type vec
+      integer :: x(2,1)
+   end type vec
+   class(vec), intent(in) :: zz(:)   ! used to ICE after r11-1235
+   integer :: k
+   k = zz(1)%x(2,1)
+ end
+ 
+ ! { dg-final { scan-tree-dump-times " above upper bound " 4 "original" } }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr107397.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr107397.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr107397.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr107397.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,9 ----
+ !{ dg-do compile }
+ !
+ program p
+   type t
+     real :: a = 1.0
+   end type
+   type(t), parameter :: x = z'1' ! { dg-error "incompatible with a BOZ" }
+   x%a = x%a + 2 ! { dg-error "has no IMPLICIT type" }
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr111880.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr111880.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr111880.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr111880.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,22 ----
+ ! { dg-do compile }
+ ! { dg-options "-std=f2018" }
+ ! PR fortran/111880 - redundant warning of obsolescent COMMON with submodule
+ 
+ module third_party_module
+   integer :: some_param
+   common /not_my_code/ some_param   ! { dg-warning "COMMON block" }
+ end module third_party_module
+ 
+ module foo
+   use third_party_module
+   interface
+     module subroutine bar()
+     end subroutine bar
+   end interface
+ end module foo
+ 
+ submodule (foo) foo_submod      ! We do not need a warning here!
+ contains
+   module procedure bar
+   end procedure bar
+ end submodule foo_submod
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr89943_3.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr89943_3.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr89943_3.f90	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr89943_3.f90	Fri Jul 19 05:52:46 2024
*************** submodule(Foo_mod) Foo_smod
*** 22,28 ****
        module subroutine runFoo4C(ndim) bind(C, name="runFu")   ! { dg-error "Mismatch in BIND" }
           use, intrinsic :: iso_c_binding                 ! { dg-error "Unexpected USE statement" }
           implicit none                                   ! { dg-error "Unexpected IMPLICIT NONE statement" }
!          integer(c_int32_t) , intent(in) :: ndim         ! { dg-error "Unexpected data declaration" }
        end subroutine runFoo4C                            ! { dg-error " Expecting END SUBMODULE" }
  
  end submodule Foo_smod
--- 22,28 ----
        module subroutine runFoo4C(ndim) bind(C, name="runFu")   ! { dg-error "Mismatch in BIND" }
           use, intrinsic :: iso_c_binding                 ! { dg-error "Unexpected USE statement" }
           implicit none                                   ! { dg-error "Unexpected IMPLICIT NONE statement" }
!          integer(c_int32_t) , intent(in) :: ndim         ! { dg-error "Symbol 'c_int32_t' at .1. has no IMPLICIT type" }
        end subroutine runFoo4C                            ! { dg-error " Expecting END SUBMODULE" }
  
  end submodule Foo_smod
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/pr89943_4.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/pr89943_4.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/pr89943_4.f90	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/pr89943_4.f90	Fri Jul 19 05:52:46 2024
*************** submodule(Foo_mod) Foo_smod
*** 23,29 ****
        module function runFoo4C(ndim) bind(C, name="runFu")  ! { dg-error "Mismatch in BIND" }
           use, intrinsic :: iso_c_binding     ! { dg-error "Unexpected USE statement in" }
           implicit none                       ! { dg-error "Unexpected IMPLICIT NONE statement" }
!          integer(c_int32_t) , intent(in) :: ndim   ! { dg-error "Unexpected data declaration" }
        end function runFoo4C                  ! { dg-error "Expecting END SUBMODULE" }
  
  end submodule Foo_smod
--- 23,29 ----
        module function runFoo4C(ndim) bind(C, name="runFu")  ! { dg-error "Mismatch in BIND" }
           use, intrinsic :: iso_c_binding     ! { dg-error "Unexpected USE statement in" }
           implicit none                       ! { dg-error "Unexpected IMPLICIT NONE statement" }
!          integer(c_int32_t) , intent(in) :: ndim   ! { dg-error "Symbol 'c_int32_t' at .1. has no IMPLICIT type" }
        end function runFoo4C                  ! { dg-error "Expecting END SUBMODULE" }
  
  end submodule Foo_smod
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/select_rank_6.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/select_rank_6.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/select_rank_6.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/select_rank_6.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,48 ----
+ ! { dg-do compile }
+ ! PR fortran/100607 - fix diagnostics for SELECT RANK
+ ! Contributed by T.Burnus
+ 
+ program p
+   implicit none
+   integer, allocatable :: A(:,:,:)
+ 
+   allocate(a(5:6,-2:2, 99:100))
+   call foo(a)
+   call bar(a)
+ 
+ contains
+ 
+   subroutine foo(x)
+     integer, allocatable :: x(..)
+     if (rank(x) /= 3) stop 1
+     if (any (lbound(x) /= [5, -2, 99])) stop 2
+ 
+     select rank (x)
+     rank(3)
+       if (any (lbound(x) /= [5, -2, 99])) stop 3
+     end select
+ 
+     select rank (x) ! { dg-error "pointer or allocatable selector at .2." }
+     rank(*)         ! { dg-error "pointer or allocatable selector at .2." }
+       if (rank(x) /= 1) stop 4
+       if (lbound(x, 1) /= 1) stop 5
+     end select
+   end
+ 
+   subroutine bar(x)
+     integer :: x(..)
+     if (rank(x) /= 3) stop 6
+     if (any (lbound(x) /= 1)) stop 7
+ 
+     select rank (x)
+     rank(3)
+       if (any (lbound(x) /= 1)) stop 8
+     end select
+ 
+     select rank (x)
+     rank(*)
+       if (rank(x) /= 1) stop 9
+       if (lbound(x, 1) /= 1) stop 10
+     end select
+   end
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gfortran.dg/use_31.f90 gcc-11.5.0/gcc/testsuite/gfortran.dg/use_31.f90
*** gcc-11.4.0/gcc/testsuite/gfortran.dg/use_31.f90	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gfortran.dg/use_31.f90	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,26 ----
+ ! { dg-do compile }
+ !
+ ! PR fortran/107426
+ ! This example used to generate an ICE, caused by the use stmt from the nested
+ ! procedure declaration setting the result of the C_LOC global intrinsic symbol
+ ! to the symbol of C_PTR from ISO_C_BINDING being imported, before freeing the
+ ! latter symbol because of the rejection of the use statement.
+ !
+ ! Contributed by Gerhard Steinmetz <gscfq@t-online.de>
+ 
+ module m
+ contains
+    subroutine p() bind(c)
+       use, intrinsic :: iso_c_binding
+       integer, target :: a = 1
+       type(c_ptr) :: z
+       interface
+          subroutine s(x) bind(cc)            ! { dg-error "Missing closing paren" }
+             use, intrinsic :: iso_c_binding  ! { dg-error "Unexpected USE statement in INTERFACE block" }
+             integer(c_int), value :: x       ! { dg-error "Parameter 'c_int' at .1. has not been declared" }
+          end                                 ! { dg-error "END INTERFACE statement expected" }
+       end interface
+       z = c_loc(a)
+       call s(z)
+    end
+ end
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gnat.dg/access10.adb gcc-11.5.0/gcc/testsuite/gnat.dg/access10.adb
*** gcc-11.4.0/gcc/testsuite/gnat.dg/access10.adb	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gnat.dg/access10.adb	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,58 ----
+ --  PR ada/113893
+ --  Testcase by Pascal Pignard <p.p11@orange.fr>
+ 
+ --  { dg-do run }
+ 
+ with Ada.Text_IO;
+ with Ada.Finalization;
+ 
+ procedure Access10 is
+ 
+    generic
+       type Element_Type is private;
+       with function Image (Item : Element_Type) return String is <>;
+    package Sanitize is
+       type Container is new Ada.Finalization.Controlled with record
+          Data : Element_Type;
+       end record;
+       overriding procedure Finalize (Object : in out Container);
+    end Sanitize;
+ 
+    package body Sanitize is
+       overriding procedure Finalize (Object : in out Container) is
+       begin
+          Ada.Text_IO.Put_Line ("Current:" & Image (Object.Data));
+       end Finalize;
+    end Sanitize;
+ 
+    procedure Test01 is
+       package Float_Sanitized is new Sanitize (Float, Float'Image);
+       V  : Float_Sanitized.Container;
+       C  : constant Float_Sanitized.Container :=
+ 	     (Ada.Finalization.Controlled with 8.8);
+       A  : access Float_Sanitized.Container := 
+ 	     new Float_Sanitized.Container'(Ada.Finalization.Controlled with 7.7);  -- { dg-warning "not be finalized|named" }
+       AC : access constant Float_Sanitized.Container :=
+              new Float_Sanitized.Container'(Ada.Finalization.Controlled with 6.6);  -- { dg-warning "not be finalized|named" }
+    begin
+       V.Data := 9.9 + C.Data + A.Data;
+       Ada.Text_IO.Put_Line ("Value:" & Float'Image (V.Data));
+    end Test01;
+ 
+    procedure Test02 is
+       type Float_Sanitized is new Float;
+       V  : Float_Sanitized;
+       C  : constant Float_Sanitized        := (8.8);
+       A  : access Float_Sanitized          := new Float_Sanitized'(7.7);
+       AC : access constant Float_Sanitized := new Float_Sanitized'(6.6);
+    begin
+       V := 9.9 + C + A.all;
+       Ada.Text_IO.Put_Line ("Value:" & Float_Sanitized'Image (V));
+    end Test02;
+ 
+ begin
+    Ada.Text_IO.Put_Line ("Test01:");
+    Test01;
+    Ada.Text_IO.Put_Line ("Test02:");
+    Test02;
+ end;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/gnat.dg/predicate15.adb gcc-11.5.0/gcc/testsuite/gnat.dg/predicate15.adb
*** gcc-11.4.0/gcc/testsuite/gnat.dg/predicate15.adb	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/gnat.dg/predicate15.adb	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,15 ----
+ -- { dg-do compile }
+ -- { dg-options "-gnata" }
+ 
+ procedure Predicate15 is
+ 
+    type Grid is array (Positive range <>) of Integer with
+       Dynamic_Predicate => Grid'First = 1;
+ 
+    type Grid_Ptr is access Grid;
+ 
+    Data : Grid_Ptr := new Grid (1 .. 10);
+ 
+ begin
+    null;
+ end;
diff -Nrcpad gcc-11.4.0/gcc/testsuite/lib/asan-dg.exp gcc-11.5.0/gcc/testsuite/lib/asan-dg.exp
*** gcc-11.4.0/gcc/testsuite/lib/asan-dg.exp	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/lib/asan-dg.exp	Fri Jul 19 05:52:46 2024
*************** proc asan_init { args } {
*** 111,116 ****
--- 111,118 ----
      global asan_saved_TEST_ALWAYS_FLAGS
      global asan_saved_ALWAYS_CXXFLAGS
  
+     setenv ASAN_OPTIONS "color=never"
+ 
      set link_flags ""
      if ![is_remote host] {
  	if [info exists TOOL_OPTIONS] {
diff -Nrcpad gcc-11.4.0/gcc/testsuite/lib/g++.exp gcc-11.5.0/gcc/testsuite/lib/g++.exp
*** gcc-11.4.0/gcc/testsuite/lib/g++.exp	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/lib/g++.exp	Fri Jul 19 05:52:46 2024
*************** proc g++_init { args } {
*** 277,286 ****
      set gcc_warning_prefix "warning:"
      set gcc_error_prefix "(fatal )?error:"
  
-     if { [istarget *-*-darwin*] } {
- 	lappend ALWAYS_CXXFLAGS "ldflags=-multiply_defined suppress"
-        }
- 
      verbose -log "ALWAYS_CXXFLAGS set to $ALWAYS_CXXFLAGS"
  
      verbose "g++ is initialized" 3
--- 277,282 ----
diff -Nrcpad gcc-11.4.0/gcc/testsuite/lib/obj-c++.exp gcc-11.5.0/gcc/testsuite/lib/obj-c++.exp
*** gcc-11.4.0/gcc/testsuite/lib/obj-c++.exp	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/lib/obj-c++.exp	Fri Jul 19 05:52:46 2024
*************** proc obj-c++_init { args } {
*** 277,286 ****
      set gcc_warning_prefix "warning:"
      set gcc_error_prefix "(fatal )?error:"
  
-     if { [istarget *-*-darwin*] } {
- 	lappend ALWAYS_OBJCXXFLAGS "ldflags=-multiply_defined suppress"
-     }
- 
      verbose -log "ALWAYS_OBJCXXFLAGS set to $ALWAYS_OBJCXXFLAGS"
  
      verbose "obj-c++ is initialized" 3
--- 277,282 ----
diff -Nrcpad gcc-11.4.0/gcc/testsuite/lib/target-supports.exp gcc-11.5.0/gcc/testsuite/lib/target-supports.exp
*** gcc-11.4.0/gcc/testsuite/lib/target-supports.exp	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/lib/target-supports.exp	Fri Jul 19 05:52:46 2024
*************** proc check_weak_available { } {
*** 348,353 ****
--- 348,365 ----
      }
  }
  
+ # return options to add to enable weak undefined symbols.
+ 
+ proc add_options_for_weak_undefined { flags } {
+     if { [istarget *-*-darwin*] } {
+ 	lappend flags "-Wl,-undefined,dynamic_lookup"
+ 	if { [istarget *-*-darwin\[89\]*] } {
+ 	    lappend flags "-Wl,-flat_namespace"
+ 	}
+     }
+     return $flags
+ }
+ 
  # return 1 if weak undefined symbols are supported.
  
  proc check_effective_target_weak_undefined { } {
*************** proc check_effective_target_aarch64_tlsl
*** 1253,1265 ****
  # emitted, 0 otherwise.
  
  proc check_effective_target_shared { } {
      # Note that M68K has a multilib that supports -fpic but not
      # -fPIC, so we need to check both.  We test with a program that
      # requires GOT references.
      return [check_no_compiler_messages shared executable {
  	extern int foo (void); extern int bar;
  	int baz (void) { return foo () + bar; }
!     } "-shared -fpic"]
  }
  
  # Return 1 if -pie, -fpie and -fPIE are supported, 0 otherwise.
--- 1265,1284 ----
  # emitted, 0 otherwise.
  
  proc check_effective_target_shared { } {
+     # Darwin's linker defaults to error on undefined (which makes it look as
+     # if we do not support shared) but we can tell it to allow the symbols used
+     # here to be undefined.
+     set extra_flags ""
+     if { [istarget *-*-darwin\[912\]*] } {
+       set extra_flags "-Wl,-U,_foo,-U,_bar,-U,__Z3foov"
+     }
      # Note that M68K has a multilib that supports -fpic but not
      # -fPIC, so we need to check both.  We test with a program that
      # requires GOT references.
      return [check_no_compiler_messages shared executable {
  	extern int foo (void); extern int bar;
  	int baz (void) { return foo () + bar; }
!     } "-shared -fpic $extra_flags"]
  }
  
  # Return 1 if -pie, -fpie and -fPIE are supported, 0 otherwise.
*************** proc check_effective_target_gas { } {
*** 9564,9570 ****
  	set status [remote_exec host "$gcc_as" "-v /dev/null"]
  	set as_output [lindex $status 1]
  	if { [ string first "GNU" $as_output ] >= 0 } {
! 	    set use_gas_saved 1
  	} else {
  	    set use_gas_saved 0
  	}
--- 9583,9596 ----
  	set status [remote_exec host "$gcc_as" "-v /dev/null"]
  	set as_output [lindex $status 1]
  	if { [ string first "GNU" $as_output ] >= 0 } {
! 	    # Some Darwin versions have an assembler which is based on an old
! 	    # version of GAS (and reports GNU assembler in its -v output) but
! 	    # but doesn't support many of the modern GAS features.
! 	    if { [ string first "cctools" $as_output ] >= 0 } {
! 	        set use_gas_saved 0
! 	    } else {
! 	        set use_gas_saved 1
! 	    }
  	} else {
  	    set use_gas_saved 0
  	}
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/encode-10.mm gcc-11.5.0/gcc/testsuite/obj-c++.dg/encode-10.mm
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/encode-10.mm	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/encode-10.mm	Fri Jul 19 05:52:46 2024
***************
*** 1,5 ****
  /* Test for @encode in templates.  */
- /* { dg-options "-lobjc" } */
  /* { dg-do run } */
  #include <string.h>           
  #include <stdlib.h>
--- 1,4 ----
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/encode-9.mm gcc-11.5.0/gcc/testsuite/obj-c++.dg/encode-9.mm
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/encode-9.mm	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/encode-9.mm	Fri Jul 19 05:52:46 2024
***************
*** 1,5 ****
  /* Test than @encode is properly instantiated. */
- /* { dg-options "-lobjc" } */
  /* { dg-do run } */
  
  #include <string.h>           
--- 1,4 ----
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666-0.mm gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666-0.mm
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666-0.mm	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666-0.mm	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,7 ----
+ /* { dg-do run } */
+ /* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
+ /* { dg-skip-if "ABI 2 only" { *-*-* && { ! objc2 } } { "*" } { "" } } */
+ /* { dg-additional-options "-fobjc-nilcheck -Wno-objc-root-class" } */
+ 
+ #include "pr101666.inc"
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666-1.mm gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666-1.mm
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666-1.mm	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666-1.mm	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,10 ----
+ /* Later versions of Darwin can compile for 10.5, but cannot link it so we
+    can only run this test up to 10.13.  */
+ /* { dg-do compile { target *-*-darwin* } } */
+ /* { dg-do run { target *-*-darwin[89]* *-*-darwin1[0-7]* } } */
+ /* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
+ /* { dg-skip-if "ABI 2 only" { *-*-* && { ! objc2 } } { "*" } { "" } } */
+ /* { dg-additional-options "-fobjc-nilcheck -mmacosx-version-min=10.5 " } */
+ /* { dg-additional-options "-Wno-objc-root-class" } */
+ 
+ #include "pr101666.inc"
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666.inc gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666.inc
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/pr101666.inc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/pr101666.inc	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,29 ----
+ #include <cstdlib>
+ struct point { double x, y, z; };
+ 
+ @interface Foo
+ - (struct point)bar;
+ - (struct point)baz;
+ @end
+ 
+ @implementation Foo
+ - (struct point)bar { struct point q = { 1.0, 2.0, 3.0 }; return q; };
+ - (struct point)baz { struct point q = { 4.0, 5.0, 6.0 }; return q; };
+ @end
+ 
+ /* Cases where a check for nil should be inserted by the compiler, when
+    -fobjc-nilcheck is in force. We should not attempt the calls, and the
+    result should be 0-filled. */
+ 
+ Foo *f;
+ 
+ int main(void) {
+   struct point p = [f bar];
+   if (p.x != 0.0 || p.y != 0.0 || p.z != 0.0)
+     abort ();
+   id nilobj = (id)0;
+   p = [nilobj baz];
+   if (p.x != 0.0 || p.y != 0.0 || p.z != 0.0)
+     abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm gcc-11.5.0/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm
*** gcc-11.4.0/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm	Fri Jul 19 05:52:46 2024
***************
*** 6,29 ****
  /* One-line substitute for objc/objc.h */
  typedef struct objc_object { struct objc_class *class_pointer; } *id;
  
  @protocol Proto
! - (long)someValue;
  @end
  
  @interface Obj
! - (long)anotherValue;
  @end
  
! long foo(void) {
!   long receiver = 2;
    Obj *objrcvr;
    Obj <Proto> *objrcvr2;
  
    /* NB: Since 'receiver' is an invalid ObjC message receiver, the compiler
       should warn but then search for methods as if we were messaging 'id'.  */
  
!   receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .long int." } */
!   receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .long int." } */
  
    receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
  /* { dg-error "invalid conversion" "" { target *-*-* } .-1 } */
--- 6,31 ----
  /* One-line substitute for objc/objc.h */
  typedef struct objc_object { struct objc_class *class_pointer; } *id;
  
+ typedef __UINTPTR_TYPE__ uintptr_t;
+ 
  @protocol Proto
! - (uintptr_t)someValue;
  @end
  
  @interface Obj
! - (uintptr_t)anotherValue;
  @end
  
! uintptr_t foo(void) {
!   uintptr_t receiver = 2;
    Obj *objrcvr;
    Obj <Proto> *objrcvr2;
  
    /* NB: Since 'receiver' is an invalid ObjC message receiver, the compiler
       should warn but then search for methods as if we were messaging 'id'.  */
  
!   receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .uintptr_t." } */
!   receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .uintptr_t." } */
  
    receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
  /* { dg-error "invalid conversion" "" { target *-*-* } .-1 } */
diff -Nrcpad gcc-11.4.0/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h gcc-11.5.0/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h
*** gcc-11.4.0/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h	Fri Jul 19 05:52:46 2024
***************
*** 29,34 ****
--- 29,37 ----
  #ifndef __NSObjCRuntime_h_GNUSTEP_BASE_INCLUDE
  #define __NSObjCRuntime_h_GNUSTEP_BASE_INCLUDE
  
+ /* Allow the elaborated enum use in _GS_NAMED_ENUM. */
+ #pragma GCC system_header
+ 
  #ifdef __cplusplus
  #ifndef __STDC_LIMIT_MACROS
  #define __STDC_LIMIT_MACROS 1
diff -Nrcpad gcc-11.4.0/gcc/testsuite/objc.dg/pr101666-0.m gcc-11.5.0/gcc/testsuite/objc.dg/pr101666-0.m
*** gcc-11.4.0/gcc/testsuite/objc.dg/pr101666-0.m	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/objc.dg/pr101666-0.m	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,7 ----
+ /* { dg-do run } */
+ /* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
+ /* { dg-skip-if "ABI 2 only" { *-*-* && { ! objc2 } } { "*" } { "" } } */
+ /* { dg-additional-options "-fobjc-nilcheck -Wno-objc-root-class" } */
+ 
+ #include "pr101666.inc"
+ 
diff -Nrcpad gcc-11.4.0/gcc/testsuite/objc.dg/pr101666-1.m gcc-11.5.0/gcc/testsuite/objc.dg/pr101666-1.m
*** gcc-11.4.0/gcc/testsuite/objc.dg/pr101666-1.m	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/objc.dg/pr101666-1.m	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,10 ----
+ /* Later versions of Darwin can compile for 10.5, but cannot link it so we
+    can only run this test up to 10.13.  */
+ /* { dg-do compile { target *-*-darwin* } } */
+ /* { dg-do run { target *-*-darwin[89]* *-*-darwin1[0-7]* } } */
+ /* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
+ /* { dg-skip-if "ABI 2 only" { *-*-* && { ! objc2 } } { "*" } { "" } } */
+ /* { dg-additional-options "-fobjc-nilcheck -mmacosx-version-min=10.5 " } */
+ /* { dg-additional-options "-Wno-objc-root-class" } */
+ 
+ #include "pr101666.inc"
diff -Nrcpad gcc-11.4.0/gcc/testsuite/objc.dg/pr101666.inc gcc-11.5.0/gcc/testsuite/objc.dg/pr101666.inc
*** gcc-11.4.0/gcc/testsuite/objc.dg/pr101666.inc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/gcc/testsuite/objc.dg/pr101666.inc	Fri Jul 19 05:52:46 2024
***************
*** 0 ****
--- 1,29 ----
+ #include <stdlib.h>
+ struct point { double x, y, z; };
+ 
+ @interface Foo
+ - (struct point)bar;
+ - (struct point)baz;
+ @end
+ 
+ @implementation Foo
+ - (struct point)bar { struct point q = { 1.0, 2.0, 3.0 }; return q; };
+ - (struct point)baz { struct point q = { 4.0, 5.0, 6.0 }; return q; };
+ @end
+ 
+ /* Cases where a check for nil should be inserted by the compiler, when
+    -fobjc-nilcheck is in force. We should not attempt the calls, and the
+    result should be 0-filled. */
+ 
+ Foo *f;
+ 
+ int main(void) {
+   struct point p = [f bar];
+   if (p.x != 0.0 || p.y != 0.0 || p.z != 0.0)
+     abort ();
+   id nilobj = (id)0;
+   p = [nilobj baz];
+   if (p.x != 0.0 || p.y != 0.0 || p.z != 0.0)
+     abort ();
+   return 0;
+ }
diff -Nrcpad gcc-11.4.0/gcc/testsuite/objc.dg/proto-lossage-4.m gcc-11.5.0/gcc/testsuite/objc.dg/proto-lossage-4.m
*** gcc-11.4.0/gcc/testsuite/objc.dg/proto-lossage-4.m	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/testsuite/objc.dg/proto-lossage-4.m	Fri Jul 19 05:52:46 2024
*************** long foo(void) {
*** 28,40 ****
    receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .intptr_t." } */
  
    receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )?int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [(Obj *)receiver anotherValue];
    receiver += [(Obj <Proto> *)receiver someValue];
    receiver += [(Obj <Proto> *)receiver anotherValue];
    receiver += [objrcvr someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )?int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [objrcvr anotherValue];
    receiver += [(Obj <Proto> *)objrcvr someValue];
--- 28,40 ----
    receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .intptr_t." } */
  
    receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )*int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [(Obj *)receiver anotherValue];
    receiver += [(Obj <Proto> *)receiver someValue];
    receiver += [(Obj <Proto> *)receiver anotherValue];
    receiver += [objrcvr someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )*int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [objrcvr anotherValue];
    receiver += [(Obj <Proto> *)objrcvr someValue];
*************** long foo(void) {
*** 42,48 ****
    receiver += [objrcvr2 someValue];
    receiver += [objrcvr2 anotherValue];
    receiver += [(Obj *)objrcvr2 someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )?int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [(Obj *)objrcvr2 anotherValue];
  
--- 42,48 ----
    receiver += [objrcvr2 someValue];
    receiver += [objrcvr2 anotherValue];
    receiver += [(Obj *)objrcvr2 someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
! /* { dg-warning "assignment to 'intptr_t' {aka '(long )*int'} from 'id' makes integer from pointer without a cast" "" { target *-*-* } .-1 } */
  
    receiver += [(Obj *)objrcvr2 anotherValue];
  
diff -Nrcpad gcc-11.4.0/gcc/tree-data-ref.c gcc-11.5.0/gcc/tree-data-ref.c
*** gcc-11.4.0/gcc/tree-data-ref.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-data-ref.c	Fri Jul 19 05:52:46 2024
*************** along with GCC; see the file COPYING3.
*** 73,78 ****
--- 73,79 ----
  
  */
  
+ #define INCLUDE_ALGORITHM
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
*************** runtime_alias_check_p (ddr_p ddr, class
*** 1641,1646 ****
--- 1642,1654 ----
  				   "runtime alias check not supported for"
  				   " outer loop.\n");
  
+   /* FORNOW: We don't support handling different address spaces.  */
+   if (TYPE_ADDR_SPACE (TREE_TYPE (TREE_TYPE (DR_BASE_ADDRESS (DDR_A (ddr)))))
+       != TYPE_ADDR_SPACE (TREE_TYPE (TREE_TYPE (DR_BASE_ADDRESS (DDR_B (ddr))))))
+     return opt_result::failure_at (DR_STMT (DDR_A (ddr)),
+ 				   "runtime alias check between different "
+ 				   "address spaces not supported.\n");
+ 
    return opt_result::success ();
  }
  
*************** create_intersect_range_checks (class loo
*** 2629,2635 ****
  	 Because the maximum values are inclusive, there is an alias
  	 if the maximum value of one segment is equal to the minimum
  	 value of the other.  */
!       min_align = MIN (dr_a.align, dr_b.align);
        cmp_code = LT_EXPR;
      }
  
--- 2637,2645 ----
  	 Because the maximum values are inclusive, there is an alias
  	 if the maximum value of one segment is equal to the minimum
  	 value of the other.  */
!       min_align = std::min (dr_a.align, dr_b.align);
!       min_align = std::min (min_align, known_alignment (dr_a.access_size));
!       min_align = std::min (min_align, known_alignment (dr_b.access_size));
        cmp_code = LT_EXPR;
      }
  
diff -Nrcpad gcc-11.4.0/gcc/tree-inline.c gcc-11.5.0/gcc/tree-inline.c
*** gcc-11.4.0/gcc/tree-inline.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-inline.c	Fri Jul 19 05:52:46 2024
*************** along with GCC; see the file COPYING3.
*** 65,70 ****
--- 65,71 ----
  #include "symbol-summary.h"
  #include "symtab-thunks.h"
  #include "symtab-clones.h"
+ #include "asan.h"
  
  /* I'm not real happy about this, but we need to handle gimple and
     non-gimple trees.  */
*************** copy_bb (copy_body_data *id, basic_block
*** 2179,2191 ****
  	    }
  	  else if (call_stmt
  		   && id->call_stmt
! 		   && gimple_call_internal_p (stmt)
! 		   && gimple_call_internal_fn (stmt) == IFN_TSAN_FUNC_EXIT)
! 	    {
! 	      /* Drop TSAN_FUNC_EXIT () internal calls during inlining.  */
! 	      gsi_remove (&copy_gsi, false);
! 	      continue;
! 	    }
  
  	  /* Statements produced by inlining can be unfolded, especially
  	     when we constant propagated some operands.  We can't fold
--- 2180,2205 ----
  	    }
  	  else if (call_stmt
  		   && id->call_stmt
! 		   && gimple_call_internal_p (stmt))
! 	    switch (gimple_call_internal_fn (stmt))
! 	      {
! 	      case IFN_TSAN_FUNC_EXIT:
! 		/* Drop .TSAN_FUNC_EXIT () internal calls during inlining.  */
! 		gsi_remove (&copy_gsi, false);
! 		continue;
! 	      case IFN_ASAN_MARK:
! 		/* Drop .ASAN_MARK internal calls during inlining into
! 		   no_sanitize functions.  */
! 		if (!sanitize_flags_p (SANITIZE_ADDRESS, id->dst_fn)
! 		    && !sanitize_flags_p (SANITIZE_HWADDRESS, id->dst_fn))
! 		  {
! 		    gsi_remove (&copy_gsi, false);
! 		    continue;
! 		  }
! 		break;
! 	      default:
! 		break;
! 	      }
  
  	  /* Statements produced by inlining can be unfolded, especially
  	     when we constant propagated some operands.  We can't fold
diff -Nrcpad gcc-11.4.0/gcc/tree-nested.c gcc-11.5.0/gcc/tree-nested.c
*** gcc-11.4.0/gcc/tree-nested.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-nested.c	Fri Jul 19 05:52:46 2024
*************** get_frame_field (struct nesting_info *in
*** 1039,1044 ****
--- 1039,1075 ----
  
  static void note_nonlocal_vla_type (struct nesting_info *info, tree type);
  
+ /* Helper for get_nonlocal_debug_decl and get_local_debug_decl.  */
+ 
+ static tree
+ get_debug_decl (tree decl)
+ {
+   tree new_decl
+     = build_decl (DECL_SOURCE_LOCATION (decl),
+ 		  VAR_DECL, DECL_NAME (decl), TREE_TYPE (decl));
+   DECL_ARTIFICIAL (new_decl) = DECL_ARTIFICIAL (decl);
+   DECL_IGNORED_P (new_decl) = DECL_IGNORED_P (decl);
+   TREE_THIS_VOLATILE (new_decl) = TREE_THIS_VOLATILE (decl);
+   TREE_SIDE_EFFECTS (new_decl) = TREE_SIDE_EFFECTS (decl);
+   TREE_READONLY (new_decl) = TREE_READONLY (decl);
+   TREE_ADDRESSABLE (new_decl) = TREE_ADDRESSABLE (decl);
+   DECL_SEEN_IN_BIND_EXPR_P (new_decl) = 1;
+   if ((TREE_CODE (decl) == PARM_DECL
+        || TREE_CODE (decl) == RESULT_DECL
+        || VAR_P (decl))
+       && DECL_BY_REFERENCE (decl))
+     DECL_BY_REFERENCE (new_decl) = 1;
+   /* Copy DECL_LANG_SPECIFIC and DECL_LANG_FLAG_* for OpenMP langhook
+      purposes.  */
+   DECL_LANG_SPECIFIC (new_decl) = DECL_LANG_SPECIFIC (decl);
+ #define COPY_DLF(n) DECL_LANG_FLAG_##n (new_decl) = DECL_LANG_FLAG_##n (decl)
+   COPY_DLF (0); COPY_DLF (1); COPY_DLF (2); COPY_DLF (3);
+   COPY_DLF (4); COPY_DLF (5); COPY_DLF (6); COPY_DLF (7);
+   COPY_DLF (8);
+ #undef COPY_DLF
+   return new_decl;
+ }
+ 
  /* A subroutine of convert_nonlocal_reference_op.  Create a local variable
     in the nested function with DECL_VALUE_EXPR set to reference the true
     variable in the parent function.  This is used both for debug info
*************** get_nonlocal_debug_decl (struct nesting_
*** 1086,1106 ****
      x = build_simple_mem_ref_notrap (x);
  
    /* ??? We should be remapping types as well, surely.  */
!   new_decl = build_decl (DECL_SOURCE_LOCATION (decl),
! 			 VAR_DECL, DECL_NAME (decl), TREE_TYPE (decl));
    DECL_CONTEXT (new_decl) = info->context;
-   DECL_ARTIFICIAL (new_decl) = DECL_ARTIFICIAL (decl);
-   DECL_IGNORED_P (new_decl) = DECL_IGNORED_P (decl);
-   TREE_THIS_VOLATILE (new_decl) = TREE_THIS_VOLATILE (decl);
-   TREE_SIDE_EFFECTS (new_decl) = TREE_SIDE_EFFECTS (decl);
-   TREE_READONLY (new_decl) = TREE_READONLY (decl);
-   TREE_ADDRESSABLE (new_decl) = TREE_ADDRESSABLE (decl);
-   DECL_SEEN_IN_BIND_EXPR_P (new_decl) = 1;
-   if ((TREE_CODE (decl) == PARM_DECL
-        || TREE_CODE (decl) == RESULT_DECL
-        || VAR_P (decl))
-       && DECL_BY_REFERENCE (decl))
-     DECL_BY_REFERENCE (new_decl) = 1;
  
    SET_DECL_VALUE_EXPR (new_decl, x);
    DECL_HAS_VALUE_EXPR_P (new_decl) = 1;
--- 1117,1124 ----
      x = build_simple_mem_ref_notrap (x);
  
    /* ??? We should be remapping types as well, surely.  */
!   new_decl = get_debug_decl (decl);
    DECL_CONTEXT (new_decl) = info->context;
  
    SET_DECL_VALUE_EXPR (new_decl, x);
    DECL_HAS_VALUE_EXPR_P (new_decl) = 1;
*************** get_local_debug_decl (struct nesting_inf
*** 1866,1886 ****
    x = info->frame_decl;
    x = build3 (COMPONENT_REF, TREE_TYPE (field), x, field, NULL_TREE);
  
!   new_decl = build_decl (DECL_SOURCE_LOCATION (decl),
! 			 VAR_DECL, DECL_NAME (decl), TREE_TYPE (decl));
    DECL_CONTEXT (new_decl) = info->context;
-   DECL_ARTIFICIAL (new_decl) = DECL_ARTIFICIAL (decl);
-   DECL_IGNORED_P (new_decl) = DECL_IGNORED_P (decl);
-   TREE_THIS_VOLATILE (new_decl) = TREE_THIS_VOLATILE (decl);
-   TREE_SIDE_EFFECTS (new_decl) = TREE_SIDE_EFFECTS (decl);
-   TREE_READONLY (new_decl) = TREE_READONLY (decl);
-   TREE_ADDRESSABLE (new_decl) = TREE_ADDRESSABLE (decl);
-   DECL_SEEN_IN_BIND_EXPR_P (new_decl) = 1;
-   if ((TREE_CODE (decl) == PARM_DECL
-        || TREE_CODE (decl) == RESULT_DECL
-        || VAR_P (decl))
-       && DECL_BY_REFERENCE (decl))
-     DECL_BY_REFERENCE (new_decl) = 1;
  
    SET_DECL_VALUE_EXPR (new_decl, x);
    DECL_HAS_VALUE_EXPR_P (new_decl) = 1;
--- 1884,1891 ----
    x = info->frame_decl;
    x = build3 (COMPONENT_REF, TREE_TYPE (field), x, field, NULL_TREE);
  
!   new_decl = get_debug_decl (decl);
    DECL_CONTEXT (new_decl) = info->context;
  
    SET_DECL_VALUE_EXPR (new_decl, x);
    DECL_HAS_VALUE_EXPR_P (new_decl) = 1;
diff -Nrcpad gcc-11.4.0/gcc/tree-profile.c gcc-11.5.0/gcc/tree-profile.c
*** gcc-11.4.0/gcc/tree-profile.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-profile.c	Fri Jul 19 05:52:46 2024
*************** gimple_gen_ic_func_profiler (void)
*** 418,424 ****
    gcall *stmt1;
    tree tree_uid, cur_func, void0;
  
!   if (c_node->only_called_directly_p ())
      return;
  
    gimple_init_gcov_profiler ();
--- 418,430 ----
    gcall *stmt1;
    tree tree_uid, cur_func, void0;
  
!   /* Disable indirect call profiling for an IFUNC resolver and its
!      callees since it requires TLS which hasn't been set up yet when
!      the dynamic linker is resolving IFUNC symbols.  See
!      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114115
!    */
!   if (c_node->only_called_directly_p ()
!       || c_node->called_by_ifunc_resolver)
      return;
  
    gimple_init_gcov_profiler ();
diff -Nrcpad gcc-11.4.0/gcc/tree-scalar-evolution.c gcc-11.5.0/gcc/tree-scalar-evolution.c
*** gcc-11.4.0/gcc/tree-scalar-evolution.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-scalar-evolution.c	Fri Jul 19 05:52:46 2024
*************** simple_iv_with_niters (class loop *wrto_
*** 3281,3287 ****
  
    type = TREE_TYPE (iv->base);
    e = TREE_OPERAND (iv->base, 0);
!   if (TREE_CODE (e) != PLUS_EXPR
        || TREE_CODE (TREE_OPERAND (e, 1)) != INTEGER_CST
        || !tree_int_cst_equal (iv->step,
  			      fold_convert (type, TREE_OPERAND (e, 1))))
--- 3281,3288 ----
  
    type = TREE_TYPE (iv->base);
    e = TREE_OPERAND (iv->base, 0);
!   if (!tree_nop_conversion_p (type, TREE_TYPE (e))
!       || TREE_CODE (e) != PLUS_EXPR
        || TREE_CODE (TREE_OPERAND (e, 1)) != INTEGER_CST
        || !tree_int_cst_equal (iv->step,
  			      fold_convert (type, TREE_OPERAND (e, 1))))
diff -Nrcpad gcc-11.4.0/gcc/tree-sra.c gcc-11.5.0/gcc/tree-sra.c
*** gcc-11.4.0/gcc/tree-sra.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-sra.c	Fri Jul 19 05:52:46 2024
*************** scan_function (void)
*** 1390,1404 ****
  		gasm *asm_stmt = as_a <gasm *> (stmt);
  		walk_stmt_load_store_addr_ops (asm_stmt, NULL, NULL, NULL,
  					       asm_visit_addr);
! 		for (i = 0; i < gimple_asm_ninputs (asm_stmt); i++)
  		  {
! 		    t = TREE_VALUE (gimple_asm_input_op (asm_stmt, i));
! 		    ret |= build_access_from_expr (t, asm_stmt, false);
  		  }
! 		for (i = 0; i < gimple_asm_noutputs (asm_stmt); i++)
  		  {
! 		    t = TREE_VALUE (gimple_asm_output_op (asm_stmt, i));
! 		    ret |= build_access_from_expr (t, asm_stmt, true);
  		  }
  	      }
  	      break;
--- 1390,1421 ----
  		gasm *asm_stmt = as_a <gasm *> (stmt);
  		walk_stmt_load_store_addr_ops (asm_stmt, NULL, NULL, NULL,
  					       asm_visit_addr);
! 		if (stmt_ends_bb_p (asm_stmt)
! 		    && !single_succ_p (gimple_bb (asm_stmt)))
  		  {
! 		    for (i = 0; i < gimple_asm_ninputs (asm_stmt); i++)
! 		      {
! 			t = TREE_VALUE (gimple_asm_input_op (asm_stmt, i));
! 			disqualify_base_of_expr (t, "OP of asm goto.");
! 		      }
! 		    for (i = 0; i < gimple_asm_noutputs (asm_stmt); i++)
! 		      {
! 			t = TREE_VALUE (gimple_asm_output_op (asm_stmt, i));
! 			disqualify_base_of_expr (t, "OP of asm goto.");
! 		      }
  		  }
! 		else
  		  {
! 		    for (i = 0; i < gimple_asm_ninputs (asm_stmt); i++)
! 		      {
! 			t = TREE_VALUE (gimple_asm_input_op (asm_stmt, i));
! 			ret |= build_access_from_expr (t, asm_stmt, false);
! 		      }
! 		    for (i = 0; i < gimple_asm_noutputs (asm_stmt); i++)
! 		      {
! 			t = TREE_VALUE (gimple_asm_output_op (asm_stmt, i));
! 			ret |= build_access_from_expr (t, asm_stmt, true);
! 		      }
  		  }
  	      }
  	      break;
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-ifcombine.c gcc-11.5.0/gcc/tree-ssa-ifcombine.c
*** gcc-11.4.0/gcc/tree-ssa-ifcombine.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-ifcombine.c	Fri Jul 19 05:52:46 2024
*************** ifcombine_ifandif (basic_block inner_con
*** 413,418 ****
--- 413,422 ----
      {
        tree t, t2;
  
+       if (TREE_CODE (name1) == SSA_NAME
+ 	  && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1))
+ 	return false;
+ 
        /* Do it.  */
        gsi = gsi_for_stmt (inner_cond);
        t = fold_build2 (LSHIFT_EXPR, TREE_TYPE (name1),
*************** ifcombine_ifandif (basic_block inner_con
*** 463,468 ****
--- 467,478 ----
        gimple_stmt_iterator gsi;
        tree t;
  
+       if ((TREE_CODE (name1) == SSA_NAME
+ 	   && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1))
+ 	  || (TREE_CODE (name2) == SSA_NAME
+ 	      && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name2)))
+ 	return false;
+ 
        /* Find the common name which is bit-tested.  */
        if (name1 == name2)
  	;
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-loop-ivcanon.c gcc-11.5.0/gcc/tree-ssa-loop-ivcanon.c
*** gcc-11.4.0/gcc/tree-ssa-loop-ivcanon.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-loop-ivcanon.c	Fri Jul 19 05:52:46 2024
*************** tree_unroll_loops_completely (bool may_i
*** 1487,1501 ****
  	    }
  	  BITMAP_FREE (fathers);
  
  	  /* This will take care of removing completely unrolled loops
  	     from the loop structures so we can continue unrolling now
  	     innermost loops.  */
  	  if (cleanup_tree_cfg ())
  	    update_ssa (TODO_update_ssa_only_virtuals);
  
- 	  /* Clean up the information about numbers of iterations, since
- 	     complete unrolling might have invalidated it.  */
- 	  scev_reset ();
  	  if (flag_checking && loops_state_satisfies_p (LOOP_CLOSED_SSA))
  	    verify_loop_closed_ssa (true);
  	}
--- 1487,1502 ----
  	    }
  	  BITMAP_FREE (fathers);
  
+ 	  /* Clean up the information about numbers of iterations, since
+ 	     complete unrolling might have invalidated it.  */
+ 	  scev_reset ();
+ 
  	  /* This will take care of removing completely unrolled loops
  	     from the loop structures so we can continue unrolling now
  	     innermost loops.  */
  	  if (cleanup_tree_cfg ())
  	    update_ssa (TODO_update_ssa_only_virtuals);
  
  	  if (flag_checking && loops_state_satisfies_p (LOOP_CLOSED_SSA))
  	    verify_loop_closed_ssa (true);
  	}
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-loop-prefetch.c gcc-11.5.0/gcc/tree-ssa-loop-prefetch.c
*** gcc-11.4.0/gcc/tree-ssa-loop-prefetch.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-loop-prefetch.c	Fri Jul 19 05:52:46 2024
*************** is_miss_rate_acceptable (unsigned HOST_W
*** 739,744 ****
--- 739,746 ----
    if (delta >= (HOST_WIDE_INT) cache_line_size)
      return false;
  
+   gcc_assert (align_unit > 0);
+ 
    miss_positions = 0;
    total_positions = (cache_line_size / align_unit) * distinct_iters;
    max_allowed_miss_positions = (ACCEPTABLE_MISS_RATE * total_positions) / 1000;
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-loop-unswitch.c gcc-11.5.0/gcc/tree-ssa-loop-unswitch.c
*** gcc-11.4.0/gcc/tree-ssa-loop-unswitch.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-loop-unswitch.c	Fri Jul 19 05:52:46 2024
*************** hoist_guard (class loop *loop, edge guar
*** 805,814 ****
    cond_stmt = as_a <gcond *> (stmt);
    extract_true_false_edges_from_block (guard_bb, &te, &fe);
    /* Insert guard to PRE_HEADER.  */
!   if (!empty_block_p (pre_header))
!     gsi = gsi_last_bb (pre_header);
!   else
!     gsi = gsi_start_bb (pre_header);
    /* Create copy of COND_STMT.  */
    new_cond_stmt = gimple_build_cond (gimple_cond_code (cond_stmt),
  				     gimple_cond_lhs (cond_stmt),
--- 805,811 ----
    cond_stmt = as_a <gcond *> (stmt);
    extract_true_false_edges_from_block (guard_bb, &te, &fe);
    /* Insert guard to PRE_HEADER.  */
!   gsi = gsi_last_bb (pre_header);
    /* Create copy of COND_STMT.  */
    new_cond_stmt = gimple_build_cond (gimple_cond_code (cond_stmt),
  				     gimple_cond_lhs (cond_stmt),
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-math-opts.c gcc-11.5.0/gcc/tree-ssa-math-opts.c
*** gcc-11.4.0/gcc/tree-ssa-math-opts.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-math-opts.c	Fri Jul 19 05:52:46 2024
*************** convert_mult_to_widen (gimple *stmt, gim
*** 2678,2683 ****
--- 2678,2691 ----
    if (!is_widening_mult_p (stmt, &type1, &rhs1, &type2, &rhs2))
      return false;
  
+   /* if any one of rhs1 and rhs2 is subject to abnormal coalescing,
+      avoid the tranform. */
+   if ((TREE_CODE (rhs1) == SSA_NAME
+        && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs1))
+       || (TREE_CODE (rhs2) == SSA_NAME
+ 	  && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs2)))
+     return false;
+ 
    to_mode = SCALAR_INT_TYPE_MODE (type);
    from_mode = SCALAR_INT_TYPE_MODE (type1);
    if (to_mode == from_mode)
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-phiopt.c gcc-11.5.0/gcc/tree-ssa-phiopt.c
*** gcc-11.4.0/gcc/tree-ssa-phiopt.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-phiopt.c	Fri Jul 19 05:52:46 2024
*************** minmax_replacement (basic_block cond_bb,
*** 1676,1682 ****
  
  	      /* We need BOUND <= LARGER.  */
  	      if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
! 						  bound, larger)))
  		return false;
  	    }
  	  else if (operand_equal_for_phi_arg_p (arg_false, smaller)
--- 1676,1682 ----
  
  	      /* We need BOUND <= LARGER.  */
  	      if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
! 						  bound, arg_false)))
  		return false;
  	    }
  	  else if (operand_equal_for_phi_arg_p (arg_false, smaller)
*************** minmax_replacement (basic_block cond_bb,
*** 1707,1713 ****
  
  	      /* We need BOUND >= SMALLER.  */
  	      if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
! 						  bound, smaller)))
  		return false;
  	    }
  	  else
--- 1707,1713 ----
  
  	      /* We need BOUND >= SMALLER.  */
  	      if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
! 						  bound, arg_false)))
  		return false;
  	    }
  	  else
*************** minmax_replacement (basic_block cond_bb,
*** 1747,1753 ****
  
  	      /* We need BOUND >= LARGER.  */
  	      if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
! 						  bound, larger)))
  		return false;
  	    }
  	  else if (operand_equal_for_phi_arg_p (arg_true, smaller)
--- 1747,1753 ----
  
  	      /* We need BOUND >= LARGER.  */
  	      if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
! 						  bound, arg_true)))
  		return false;
  	    }
  	  else if (operand_equal_for_phi_arg_p (arg_true, smaller)
*************** minmax_replacement (basic_block cond_bb,
*** 1774,1780 ****
  
  	      /* We need BOUND <= SMALLER.  */
  	      if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
! 						  bound, smaller)))
  		return false;
  	    }
  	  else
--- 1774,1780 ----
  
  	      /* We need BOUND <= SMALLER.  */
  	      if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
! 						  bound, arg_true)))
  		return false;
  	    }
  	  else
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-reassoc.c gcc-11.5.0/gcc/tree-ssa-reassoc.c
*** gcc-11.4.0/gcc/tree-ssa-reassoc.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-reassoc.c	Fri Jul 19 05:52:46 2024
*************** undistribute_bitref_for_vector (enum tre
*** 2057,2068 ****
  	{
  	  sum = build_and_add_sum (vec_type, sum_vec,
  				   valid_vecs[i + 1], opcode);
  	  if (!useless_type_conversion_p (vec_type,
  					  TREE_TYPE (valid_vecs[i + 1])))
  	    {
- 	      /* Update the operands only after build_and_add_sum,
- 		 so that we don't have to repeat the placement algorithm
- 		 of build_and_add_sum.  */
  	      gimple_stmt_iterator gsi = gsi_for_stmt (sum);
  	      tree vce = build1 (VIEW_CONVERT_EXPR, vec_type,
  				 valid_vecs[i + 1]);
--- 2057,2080 ----
  	{
  	  sum = build_and_add_sum (vec_type, sum_vec,
  				   valid_vecs[i + 1], opcode);
+ 	  /* Update the operands only after build_and_add_sum,
+ 	     so that we don't have to repeat the placement algorithm
+ 	     of build_and_add_sum.  */
+ 	  if (sum_vec == tvec
+ 	      && !useless_type_conversion_p (vec_type, TREE_TYPE (sum_vec)))
+ 	    {
+ 	      gimple_stmt_iterator gsi = gsi_for_stmt (sum);
+ 	      tree vce = build1 (VIEW_CONVERT_EXPR, vec_type, sum_vec);
+ 	      tree lhs = make_ssa_name (vec_type);
+ 	      gimple *g = gimple_build_assign (lhs, VIEW_CONVERT_EXPR, vce);
+ 	      gimple_set_uid (g, gimple_uid (sum));
+ 	      gsi_insert_before (&gsi, g, GSI_NEW_STMT);
+ 	      gimple_assign_set_rhs1 (sum, lhs);
+ 	      update_stmt (sum);
+ 	    }
  	  if (!useless_type_conversion_p (vec_type,
  					  TREE_TYPE (valid_vecs[i + 1])))
  	    {
  	      gimple_stmt_iterator gsi = gsi_for_stmt (sum);
  	      tree vce = build1 (VIEW_CONVERT_EXPR, vec_type,
  				 valid_vecs[i + 1]);
*************** undistribute_bitref_for_vector (enum tre
*** 2071,2085 ****
  	      gimple_set_uid (g, gimple_uid (sum));
  	      gsi_insert_before (&gsi, g, GSI_NEW_STMT);
  	      gimple_assign_set_rhs2 (sum, lhs);
- 	      if (sum_vec == tvec)
- 		{
- 		  vce = build1 (VIEW_CONVERT_EXPR, vec_type, sum_vec);
- 		  lhs = make_ssa_name (vec_type);
- 		  g = gimple_build_assign (lhs, VIEW_CONVERT_EXPR, vce);
- 		  gimple_set_uid (g, gimple_uid (sum));
- 		  gsi_insert_before (&gsi, g, GSI_NEW_STMT);
- 		  gimple_assign_set_rhs1 (sum, lhs);
- 		}
  	      update_stmt (sum);
  	    }
  	  sum_vec = gimple_get_lhs (sum);
--- 2083,2088 ----
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa-strlen.c gcc-11.5.0/gcc/tree-ssa-strlen.c
*** gcc-11.4.0/gcc/tree-ssa-strlen.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa-strlen.c	Fri Jul 19 05:52:46 2024
*************** handle_builtin_memcpy (enum built_in_fun
*** 3231,3237 ****
        && !integer_zerop (len))
      {
        maybe_warn_overflow (stmt, len, ptr_qry, olddsi, false, true);
!       adjust_last_stmt (olddsi, stmt, false, ptr_qry);
      }
  
    int idx = get_stridx (src);
--- 3231,3238 ----
        && !integer_zerop (len))
      {
        maybe_warn_overflow (stmt, len, ptr_qry, olddsi, false, true);
!       if (tree_fits_uhwi_p (len))
! 	adjust_last_stmt (olddsi, stmt, false, ptr_qry);
      }
  
    int idx = get_stridx (src);
*************** handle_store (gimple_stmt_iterator *gsi,
*** 4801,4806 ****
--- 4802,4810 ----
  
    if (si != NULL)
      {
+       /* The count_nonzero_bytes call above might have unshared si.
+ 	 Fetch it again from the vector.  */
+       si = get_strinfo (idx);
        /* The corresponding element is set to 1 if the first and last
  	 element, respectively, of the sequence of characters being
  	 written over the string described by SI ends before
diff -Nrcpad gcc-11.4.0/gcc/tree-ssa.c gcc-11.5.0/gcc/tree-ssa.c
*** gcc-11.4.0/gcc/tree-ssa.c	Mon May 29 08:46:31 2023
--- gcc-11.5.0/gcc/tree-ssa.c	Fri Jul 19 05:52:46 2024
*************** maybe_optimize_var (tree var, bitmap add
*** 1644,1658 ****
  	  maybe_reg = true;
  	  DECL_NOT_GIMPLE_REG_P (var) = 0;
  	}
!       if (maybe_reg && is_gimple_reg (var))
  	{
! 	  if (dump_file)
  	    {
! 	      fprintf (dump_file, "Now a gimple register: ");
! 	      print_generic_expr (dump_file, var);
! 	      fprintf (dump_file, "\n");
  	    }
! 	  bitmap_set_bit (suitable_for_renaming, DECL_UID (var));
  	}
      }
  }
--- 1644,1663 ----
  	  maybe_reg = true;
  	  DECL_NOT_GIMPLE_REG_P (var) = 0;
  	}
!       if (maybe_reg)
  	{
! 	  if (is_gimple_reg (var))
  	    {
! 	      if (dump_file)
! 		{
! 		  fprintf (dump_file, "Now a gimple register: ");
! 		  print_generic_expr (dump_file, var);
! 		  fprintf (dump_file, "\n");
! 		}
! 	      bitmap_set_bit (suitable_for_renaming, DECL_UID (var));
  	    }
! 	  else
! 	    DECL_NOT_GIMPLE_REG_P (var) = 1;
  	}
      }
  }
diff -Nrcpad gcc-11.4.0/gcc/tree-vect-loop.c gcc-11.5.0/gcc/tree-vect-loop.c
*** gcc-11.4.0/gcc/tree-vect-loop.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/tree-vect-loop.c	Fri Jul 19 05:52:46 2024
*************** pop:
*** 3466,3489 ****
  	 ???  We could relax this and handle arbitrary live stmts by
  	 forcing a scalar epilogue for example.  */
        imm_use_iterator imm_iter;
        gimple *op_use_stmt;
        unsigned cnt = 0;
        FOR_EACH_IMM_USE_STMT (op_use_stmt, imm_iter, op)
  	if (!is_gimple_debug (op_use_stmt)
  	    && (*code != ERROR_MARK
  		|| flow_bb_inside_loop_p (loop, gimple_bb (op_use_stmt))))
! 	  {
! 	    /* We want to allow x + x but not x < 1 ? x : 2.  */
! 	    if (is_gimple_assign (op_use_stmt)
! 		&& gimple_assign_rhs_code (op_use_stmt) == COND_EXPR)
! 	      {
! 		use_operand_p use_p;
! 		FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 		  cnt++;
! 	      }
! 	    else
! 	      cnt++;
! 	  }
        if (cnt != 1)
  	{
  	  fail = true;
--- 3466,3480 ----
  	 ???  We could relax this and handle arbitrary live stmts by
  	 forcing a scalar epilogue for example.  */
        imm_use_iterator imm_iter;
+       use_operand_p use_p;
        gimple *op_use_stmt;
        unsigned cnt = 0;
        FOR_EACH_IMM_USE_STMT (op_use_stmt, imm_iter, op)
  	if (!is_gimple_debug (op_use_stmt)
  	    && (*code != ERROR_MARK
  		|| flow_bb_inside_loop_p (loop, gimple_bb (op_use_stmt))))
! 	  FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 	    cnt++;
        if (cnt != 1)
  	{
  	  fail = true;
*************** vectorizable_reduction (loop_vec_info lo
*** 6771,6787 ****
  		  < GET_MODE_SIZE (SCALAR_TYPE_MODE (TREE_TYPE (vectype_op[i]))))))
  	vectype_in = vectype_op[i];
  
!       if (code == COND_EXPR)
  	{
- 	  /* Record how the non-reduction-def value of COND_EXPR is defined.  */
  	  if (dt == vect_constant_def)
  	    {
  	      cond_reduc_dt = dt;
  	      cond_reduc_val = op;
  	    }
! 	  if (dt == vect_induction_def
! 	      && def_stmt_info
! 	      && is_nonwrapping_integer_induction (def_stmt_info, loop))
  	    {
  	      cond_reduc_dt = dt;
  	      cond_stmt_vinfo = def_stmt_info;
--- 6762,6779 ----
  		  < GET_MODE_SIZE (SCALAR_TYPE_MODE (TREE_TYPE (vectype_op[i]))))))
  	vectype_in = vectype_op[i];
  
!       /* Record how the non-reduction-def value of COND_EXPR is defined.
! 	 ???  For a chain of multiple CONDs we'd have to match them up all.  */
!       if (code == COND_EXPR && reduc_chain_length == 1)
  	{
  	  if (dt == vect_constant_def)
  	    {
  	      cond_reduc_dt = dt;
  	      cond_reduc_val = op;
  	    }
! 	  else if (dt == vect_induction_def
! 		   && def_stmt_info
! 		   && is_nonwrapping_integer_induction (def_stmt_info, loop))
  	    {
  	      cond_reduc_dt = dt;
  	      cond_stmt_vinfo = def_stmt_info;
*************** vectorizable_induction (loop_vec_info lo
*** 8040,8045 ****
--- 8032,8046 ----
  
    step_expr = STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_info);
    gcc_assert (step_expr != NULL_TREE);
+   if (INTEGRAL_TYPE_P (TREE_TYPE (step_expr))
+       && !type_has_mode_precision_p (TREE_TYPE (step_expr)))
+     {
+       if (dump_enabled_p ())
+ 	dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ 			 "bit-precision induction vectorization not "
+ 			 "supported.\n");
+       return false;
+     }
    tree step_vectype = get_same_sized_vectype (TREE_TYPE (step_expr), vectype);
  
    /* Check for backend support of PLUS/MINUS_EXPR. */
*************** find_in_mapping (tree t, void *context)
*** 9305,9313 ****
     corresponding dr_vec_info need to be reconnected to the EPILOGUE's
     stmt_vec_infos, their statements need to point to their corresponding copy,
     if they are gather loads or scatter stores then their reference needs to be
!    updated to point to its corresponding copy and finally we set
!    'base_misaligned' to false as we have already peeled for alignment in the
!    prologue of the main loop.  */
  
  static void
  update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
--- 9306,9312 ----
     corresponding dr_vec_info need to be reconnected to the EPILOGUE's
     stmt_vec_infos, their statements need to point to their corresponding copy,
     if they are gather loads or scatter stores then their reference needs to be
!    updated to point to its corresponding copy.  */
  
  static void
  update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
*************** update_epilogue_loop_vinfo (class loop *
*** 9448,9457 ****
  	}
        DR_STMT (dr) = STMT_VINFO_STMT (stmt_vinfo);
        stmt_vinfo->dr_aux.stmt = stmt_vinfo;
-       /* The vector size of the epilogue is smaller than that of the main loop
- 	 so the alignment is either the same or lower. This means the dr will
- 	 thus by definition be aligned.  */
-       STMT_VINFO_DR_INFO (stmt_vinfo)->base_misaligned = false;
      }
  
    epilogue_vinfo->shared->datarefs_copy.release ();
--- 9447,9452 ----
diff -Nrcpad gcc-11.4.0/gcc/tree-vect-patterns.c gcc-11.5.0/gcc/tree-vect-patterns.c
*** gcc-11.4.0/gcc/tree-vect-patterns.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/tree-vect-patterns.c	Fri Jul 19 05:52:46 2024
*************** vect_truncatable_operation_p (tree_code
*** 4745,4753 ****
--- 4745,4755 ----
  {
    switch (code)
      {
+     case NEGATE_EXPR:
      case PLUS_EXPR:
      case MINUS_EXPR:
      case MULT_EXPR:
+     case BIT_NOT_EXPR:
      case BIT_AND_EXPR:
      case BIT_IOR_EXPR:
      case BIT_XOR_EXPR:
*************** vect_determine_precisions_from_range (st
*** 4906,4943 ****
    unsigned int nops = gimple_num_ops (stmt);
  
    if (!vect_truncatable_operation_p (code))
!     /* Check that all relevant input operands are compatible, and update
!        [MIN_VALUE, MAX_VALUE] to include their ranges.  */
!     for (unsigned int i = 1; i < nops; ++i)
!       {
! 	tree op = gimple_op (stmt, i);
! 	if (TREE_CODE (op) == INTEGER_CST)
! 	  {
! 	    /* Don't require the integer to have RHS_TYPE (which it might
! 	       not for things like shift amounts, etc.), but do require it
! 	       to fit the type.  */
! 	    if (!int_fits_type_p (op, type))
! 	      return;
! 
! 	    min_value = wi::min (min_value, wi::to_wide (op, precision), sign);
! 	    max_value = wi::max (max_value, wi::to_wide (op, precision), sign);
! 	  }
! 	else if (TREE_CODE (op) == SSA_NAME)
! 	  {
! 	    /* Ignore codes that don't take uniform arguments.  */
! 	    if (!types_compatible_p (TREE_TYPE (op), type))
! 	      return;
  
! 	    wide_int op_min_value, op_max_value;
! 	    if (!vect_get_range_info (op, &op_min_value, &op_max_value))
! 	      return;
  
! 	    min_value = wi::min (min_value, op_min_value, sign);
! 	    max_value = wi::max (max_value, op_max_value, sign);
! 	  }
! 	else
  	  return;
!       }
  
    /* Try to switch signed types for unsigned types if we can.
       This is better for two reasons.  First, unsigned ops tend
--- 4908,4992 ----
    unsigned int nops = gimple_num_ops (stmt);
  
    if (!vect_truncatable_operation_p (code))
!     {
!       /* Handle operations that can be computed in type T if all inputs
! 	 and outputs can be represented in type T.  Also handle left and
! 	 right shifts, where (in addition) the maximum shift amount must
! 	 be less than the number of bits in T.  */
!       bool is_shift;
!       switch (code)
! 	{
! 	case LSHIFT_EXPR:
! 	case RSHIFT_EXPR:
! 	  is_shift = true;
! 	  break;
  
! 	case ABS_EXPR:
! 	case MIN_EXPR:
! 	case MAX_EXPR:
! 	case TRUNC_DIV_EXPR:
! 	case CEIL_DIV_EXPR:
! 	case FLOOR_DIV_EXPR:
! 	case ROUND_DIV_EXPR:
! 	case EXACT_DIV_EXPR:
! 	  /* Modulus is excluded because it is typically calculated by doing
! 	     a division, for which minimum signed / -1 isn't representable in
! 	     the original signed type.  We could take the division range into
! 	     account instead, if handling modulus ever becomes important.  */
! 	  is_shift = false;
! 	  break;
  
! 	default:
  	  return;
! 	}
!       for (unsigned int i = 1; i < nops; ++i)
! 	{
! 	  tree op = gimple_op (stmt, i);
! 	  wide_int op_min_value, op_max_value;
! 	  if (TREE_CODE (op) == INTEGER_CST)
! 	    {
! 	      unsigned int op_precision = TYPE_PRECISION (TREE_TYPE (op));
! 	      op_min_value = op_max_value = wi::to_wide (op, op_precision);
! 	    }
! 	  else if (TREE_CODE (op) == SSA_NAME)
! 	    {
! 	      if (!vect_get_range_info (op, &op_min_value, &op_max_value))
! 		return;
! 	    }
! 	  else
! 	    return;
! 
! 	  if (is_shift && i == 2)
! 	    {
! 	      /* There needs to be one more bit than the maximum shift amount.
! 
! 		 If the maximum shift amount is already 1 less than PRECISION
! 		 then we can't narrow the shift further.  Dealing with that
! 		 case first ensures that we can safely use an unsigned range
! 		 below.
! 
! 		 op_min_value isn't relevant, since shifts by negative amounts
! 		 are UB.  */
! 	      if (wi::geu_p (op_max_value, precision - 1))
! 		return;
! 	      unsigned int min_bits = op_max_value.to_uhwi () + 1;
! 
! 	      /* As explained below, we can convert a signed shift into an
! 		 unsigned shift if the sign bit is always clear.  At this
! 		 point we've already processed the ranges of the output and
! 		 the first input.  */
! 	      auto op_sign = sign;
! 	      if (sign == SIGNED && !wi::neg_p (min_value))
! 		op_sign = UNSIGNED;
! 	      op_min_value = wide_int::from (wi::min_value (min_bits, op_sign),
! 					     precision, op_sign);
! 	      op_max_value = wide_int::from (wi::max_value (min_bits, op_sign),
! 					     precision, op_sign);
! 	    }
! 	  min_value = wi::min (min_value, op_min_value, sign);
! 	  max_value = wi::max (max_value, op_max_value, sign);
! 	}
!     }
  
    /* Try to switch signed types for unsigned types if we can.
       This is better for two reasons.  First, unsigned ops tend
diff -Nrcpad gcc-11.4.0/gcc/tree-vect-slp.c gcc-11.5.0/gcc/tree-vect-slp.c
*** gcc-11.4.0/gcc/tree-vect-slp.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/tree-vect-slp.c	Fri Jul 19 05:52:46 2024
*************** vect_schedule_slp_node (vec_info *vinfo,
*** 6202,6213 ****
    int i;
    slp_tree child;
  
-   /* For existing vectors there's nothing to do.  */
-   if (SLP_TREE_VEC_DEFS (node).exists ())
-     return;
- 
-   gcc_assert (SLP_TREE_VEC_STMTS (node).is_empty ());
- 
    /* Vectorize externals and constants.  */
    if (SLP_TREE_DEF_TYPE (node) == vect_constant_def
        || SLP_TREE_DEF_TYPE (node) == vect_external_def)
--- 6202,6207 ----
*************** vect_schedule_slp_node (vec_info *vinfo,
*** 6218,6227 ****
        if (!SLP_TREE_VECTYPE (node))
  	return;
  
!       vect_create_constant_vectors (vinfo, node);
        return;
      }
  
    stmt_vec_info stmt_info = SLP_TREE_REPRESENTATIVE (node);
  
    gcc_assert (SLP_TREE_NUMBER_OF_VEC_STMTS (node) != 0);
--- 6212,6229 ----
        if (!SLP_TREE_VECTYPE (node))
  	return;
  
!       /* There are two reasons vector defs might already exist.  The first
! 	 is that we are vectorizing an existing vector def.  The second is
! 	 when performing BB vectorization shared constant/external nodes
! 	 are not split apart during partitioning so during the code-gen
! 	 DFS walk we can end up visiting them twice.  */
!       if (! SLP_TREE_VEC_DEFS (node).exists ())
! 	vect_create_constant_vectors (vinfo, node);
        return;
      }
  
+   gcc_assert (SLP_TREE_VEC_DEFS (node).is_empty ());
+ 
    stmt_vec_info stmt_info = SLP_TREE_REPRESENTATIVE (node);
  
    gcc_assert (SLP_TREE_NUMBER_OF_VEC_STMTS (node) != 0);
diff -Nrcpad gcc-11.4.0/gcc/tree.c gcc-11.5.0/gcc/tree.c
*** gcc-11.4.0/gcc/tree.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/tree.c	Fri Jul 19 05:52:46 2024
*************** build_qualified_type (tree type, int typ
*** 6711,6717 ****
    return t;
  }
  
! /* Create a variant of type T with alignment ALIGN.  */
  
  tree
  build_aligned_type (tree type, unsigned int align)
--- 6711,6718 ----
    return t;
  }
  
! /* Create a variant of type T with alignment ALIGN which
!    is measured in bits.  */
  
  tree
  build_aligned_type (tree type, unsigned int align)
*************** build_opaque_vector_type (tree innertype
*** 11097,11102 ****
--- 11098,11105 ----
    TYPE_NEXT_VARIANT (cand) = TYPE_NEXT_VARIANT (t);
    TYPE_NEXT_VARIANT (t) = cand;
    TYPE_MAIN_VARIANT (cand) = TYPE_MAIN_VARIANT (t);
+   /* Type variants have no alias set defined.  */
+   TYPE_ALIAS_SET (cand) = -1;
    return cand;
  }
  
diff -Nrcpad gcc-11.4.0/gcc/tsan.c gcc-11.5.0/gcc/tsan.c
*** gcc-11.4.0/gcc/tsan.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/tsan.c	Fri Jul 19 05:52:46 2024
*************** instrument_expr (gimple_stmt_iterator gs
*** 139,144 ****
--- 139,147 ----
    if (TREE_READONLY (base) || (VAR_P (base) && DECL_HARD_REGISTER (base)))
      return false;
  
+   if (!ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (base))))
+     return false;
+ 
    stmt = gsi_stmt (gsi);
    loc = gimple_location (stmt);
    rhs = is_vptr_store (stmt, expr, is_write);
diff -Nrcpad gcc-11.4.0/gcc/ubsan.c gcc-11.5.0/gcc/ubsan.c
*** gcc-11.4.0/gcc/ubsan.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/ubsan.c	Fri Jul 19 05:52:46 2024
*************** along with GCC; see the file COPYING3.
*** 49,54 ****
--- 49,55 ----
  #include "tree-cfg.h"
  #include "gimple-fold.h"
  #include "varasm.h"
+ #include "target.h"
  
  /* Map from a tree to a VAR_DECL tree.  */
  
*************** ubsan_expand_null_ifn (gimple_stmt_itera
*** 784,789 ****
--- 785,797 ----
  	}
      }
    check_null = sanitize_flags_p (SANITIZE_NULL);
+   if (check_null && POINTER_TYPE_P (TREE_TYPE (ptr)))
+     {
+       addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (TREE_TYPE (ptr)));
+       if (!ADDR_SPACE_GENERIC_P (as)
+ 	  && targetm.addr_space.zero_address_valid (as))
+ 	check_null = false;
+     }
  
    if (check_align == NULL_TREE && !check_null)
      {
*************** instrument_mem_ref (tree mem, tree base,
*** 1375,1382 ****
        if (align <= 1)
  	align = 0;
      }
!   if (align == 0 && !sanitize_flags_p (SANITIZE_NULL))
!     return;
    tree t = TREE_OPERAND (base, 0);
    if (!POINTER_TYPE_P (TREE_TYPE (t)))
      return;
--- 1383,1397 ----
        if (align <= 1)
  	align = 0;
      }
!   if (align == 0)
!     {
!       if (!sanitize_flags_p (SANITIZE_NULL))
! 	return;
!       addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (base));
!       if (!ADDR_SPACE_GENERIC_P (as)
! 	  && targetm.addr_space.zero_address_valid (as))
! 	return;
!     }
    tree t = TREE_OPERAND (base, 0);
    if (!POINTER_TYPE_P (TREE_TYPE (t)))
      return;
*************** instrument_bool_enum_load (gimple_stmt_i
*** 1688,1700 ****
        || TREE_CODE (gimple_assign_lhs (stmt)) != SSA_NAME)
      return;
  
    bool ends_bb = stmt_ends_bb_p (stmt);
    location_t loc = gimple_location (stmt);
    tree lhs = gimple_assign_lhs (stmt);
    tree ptype = build_pointer_type (TREE_TYPE (rhs));
    tree atype = reference_alias_ptr_type (rhs);
    gimple *g = gimple_build_assign (make_ssa_name (ptype),
! 				  build_fold_addr_expr (rhs));
    gimple_set_location (g, loc);
    gsi_insert_before (gsi, g, GSI_SAME_STMT);
    tree mem = build2 (MEM_REF, utype, gimple_assign_lhs (g),
--- 1703,1719 ----
        || TREE_CODE (gimple_assign_lhs (stmt)) != SSA_NAME)
      return;
  
+   addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (rhs));
+   if (as != TYPE_ADDR_SPACE (utype))
+     utype = build_qualified_type (utype, TYPE_QUALS (utype)
+ 					 | ENCODE_QUAL_ADDR_SPACE (as));
    bool ends_bb = stmt_ends_bb_p (stmt);
    location_t loc = gimple_location (stmt);
    tree lhs = gimple_assign_lhs (stmt);
    tree ptype = build_pointer_type (TREE_TYPE (rhs));
    tree atype = reference_alias_ptr_type (rhs);
    gimple *g = gimple_build_assign (make_ssa_name (ptype),
! 				   build_fold_addr_expr (rhs));
    gimple_set_location (g, loc);
    gsi_insert_before (gsi, g, GSI_SAME_STMT);
    tree mem = build2 (MEM_REF, utype, gimple_assign_lhs (g),
diff -Nrcpad gcc-11.4.0/gcc/wide-int.cc gcc-11.5.0/gcc/wide-int.cc
*** gcc-11.4.0/gcc/wide-int.cc	Mon May 29 08:46:32 2023
--- gcc-11.5.0/gcc/wide-int.cc	Fri Jul 19 05:52:46 2024
*************** wi::divmod_internal (HOST_WIDE_INT *quot
*** 1888,1896 ****
      }
  
    wi_unpack (b_dividend, dividend.get_val (), dividend.get_len (),
! 	     dividend_blocks_needed, dividend_prec, sgn);
    wi_unpack (b_divisor, divisor.get_val (), divisor.get_len (),
! 	     divisor_blocks_needed, divisor_prec, sgn);
  
    m = dividend_blocks_needed;
    b_dividend[m] = 0;
--- 1888,1896 ----
      }
  
    wi_unpack (b_dividend, dividend.get_val (), dividend.get_len (),
! 	     dividend_blocks_needed, dividend_prec, UNSIGNED);
    wi_unpack (b_divisor, divisor.get_val (), divisor.get_len (),
! 	     divisor_blocks_needed, divisor_prec, UNSIGNED);
  
    m = dividend_blocks_needed;
    b_dividend[m] = 0;
diff -Nrcpad gcc-11.4.0/gnattools/ChangeLog gcc-11.5.0/gnattools/ChangeLog
*** gcc-11.4.0/gnattools/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gnattools/ChangeLog	Fri Jul 19 05:53:33 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/gotools/ChangeLog gcc-11.5.0/gotools/ChangeLog
*** gcc-11.4.0/gotools/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/gotools/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/include/ChangeLog gcc-11.5.0/include/ChangeLog
*** gcc-11.4.0/include/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/include/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/intl/ChangeLog gcc-11.5.0/intl/ChangeLog
*** gcc-11.4.0/intl/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/intl/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libada/ChangeLog gcc-11.5.0/libada/ChangeLog
*** gcc-11.4.0/libada/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libada/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libatomic/ChangeLog gcc-11.5.0/libatomic/ChangeLog
*** gcc-11.4.0/libatomic/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libatomic/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libbacktrace/ChangeLog gcc-11.5.0/libbacktrace/ChangeLog
*** gcc-11.4.0/libbacktrace/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libbacktrace/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libcc1/ChangeLog gcc-11.5.0/libcc1/ChangeLog
*** gcc-11.4.0/libcc1/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libcc1/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,16 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	PR middle-end/111632
+ 	* libcc1plugin.cc: Fix include.
+ 	* libcp1plugin.cc: Fix include.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libcc1/libcc1plugin.cc gcc-11.5.0/libcc1/libcc1plugin.cc
*** gcc-11.4.0/libcc1/libcc1plugin.cc	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libcc1/libcc1plugin.cc	Fri Jul 19 05:52:46 2024
***************
*** 31,36 ****
--- 31,38 ----
  #undef PACKAGE_TARNAME
  #undef PACKAGE_VERSION
  
+ #define INCLUDE_MEMORY
+ #define INCLUDE_VECTOR
  #include "gcc-plugin.h"
  #include "system.h"
  #include "coretypes.h"
diff -Nrcpad gcc-11.4.0/libcc1/libcp1plugin.cc gcc-11.5.0/libcc1/libcp1plugin.cc
*** gcc-11.4.0/libcc1/libcp1plugin.cc	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libcc1/libcp1plugin.cc	Fri Jul 19 05:52:46 2024
***************
*** 32,37 ****
--- 32,39 ----
  #undef PACKAGE_TARNAME
  #undef PACKAGE_VERSION
  
+ #define INCLUDE_MEMORY
+ #define INCLUDE_VECTOR
  #include "gcc-plugin.h"
  #include "system.h"
  #include "coretypes.h"
diff -Nrcpad gcc-11.4.0/libcody/ChangeLog gcc-11.5.0/libcody/ChangeLog
*** gcc-11.4.0/libcody/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libcody/ChangeLog	Fri Jul 19 05:53:33 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libcpp/ChangeLog gcc-11.5.0/libcpp/ChangeLog
*** gcc-11.4.0/libcpp/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libcpp/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,18 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/114007
+ 	* include/cpplib.h (COLON_SCOPE): Define to PURE_ZERO.
+ 	* lex.c (_cpp_lex_direct): When lexing CPP_COLON with another
+ 	colon after it, if !CPP_OPTION (pfile, scope) set COLON_SCOPE
+ 	flag on the first CPP_COLON token.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libcpp/include/cpplib.h gcc-11.5.0/libcpp/include/cpplib.h
*** gcc-11.4.0/libcpp/include/cpplib.h	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libcpp/include/cpplib.h	Fri Jul 19 05:52:46 2024
*************** struct GTY(()) cpp_string {
*** 193,198 ****
--- 193,199 ----
  #define BOL		(1 << 6) /* Token at beginning of line.  */
  #define PURE_ZERO	(1 << 7) /* Single 0 digit, used by the C++ frontend,
  				    set in c-lex.c.  */
+ #define COLON_SCOPE	PURE_ZERO /* Adjacent colons in C < 23.  */
  #define SP_DIGRAPH	(1 << 8) /* # or ## token was a digraph.  */
  #define SP_PREV_WHITE	(1 << 9) /* If whitespace before a ##
  				    operator, or before this token
diff -Nrcpad gcc-11.4.0/libcpp/lex.c gcc-11.5.0/libcpp/lex.c
*** gcc-11.4.0/libcpp/lex.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libcpp/lex.c	Fri Jul 19 05:52:46 2024
*************** _cpp_lex_direct (cpp_reader *pfile)
*** 3344,3351 ****
  
      case ':':
        result->type = CPP_COLON;
!       if (*buffer->cur == ':' && CPP_OPTION (pfile, scope))
! 	buffer->cur++, result->type = CPP_SCOPE;
        else if (*buffer->cur == '>' && CPP_OPTION (pfile, digraphs))
  	{
  	  buffer->cur++;
--- 3344,3356 ----
  
      case ':':
        result->type = CPP_COLON;
!       if (*buffer->cur == ':')
! 	{
! 	  if (CPP_OPTION (pfile, scope))
! 	    buffer->cur++, result->type = CPP_SCOPE;
! 	  else
! 	    result->flags |= COLON_SCOPE;
! 	}
        else if (*buffer->cur == '>' && CPP_OPTION (pfile, digraphs))
  	{
  	  buffer->cur++;
diff -Nrcpad gcc-11.4.0/libcpp/po/ChangeLog gcc-11.5.0/libcpp/po/ChangeLog
*** gcc-11.4.0/libcpp/po/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libcpp/po/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libdecnumber/ChangeLog gcc-11.5.0/libdecnumber/ChangeLog
*** gcc-11.4.0/libdecnumber/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libdecnumber/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libffi/ChangeLog gcc-11.5.0/libffi/ChangeLog
*** gcc-11.4.0/libffi/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libffi/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgcc/ChangeLog gcc-11.5.0/libgcc/ChangeLog
*** gcc-11.4.0/libgcc/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libgcc/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,15 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	Backported from master:
+ 	2024-06-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	PR target/115360
+ 	* config/arm/cmse_nonsecure_call.S: Add .type and .size directives.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgcc/config/arm/cmse_nonsecure_call.S gcc-11.5.0/libgcc/config/arm/cmse_nonsecure_call.S
*** gcc-11.4.0/libgcc/config/arm/cmse_nonsecure_call.S	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgcc/config/arm/cmse_nonsecure_call.S	Fri Jul 19 05:52:46 2024
***************
*** 33,38 ****
--- 33,39 ----
  #endif
  
  .thumb
+ .type __gnu_cmse_nonsecure_call, %function
  .global __gnu_cmse_nonsecure_call
  __gnu_cmse_nonsecure_call:
  #if defined(__ARM_ARCH_8M_MAIN__)
*************** pop	    {r5-r7, pc}
*** 142,144 ****
--- 143,146 ----
  #else
  #error "This should only be used for armv8-m base- and mainline."
  #endif
+ .size __gnu_cmse_nonsecure_call, .-__gnu_cmse_nonsecure_call
diff -Nrcpad gcc-11.4.0/libgcc/config/avr/libf7/ChangeLog gcc-11.5.0/libgcc/config/avr/libf7/ChangeLog
*** gcc-11.4.0/libgcc/config/avr/libf7/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libgcc/config/avr/libf7/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgcc/config/libbid/ChangeLog gcc-11.5.0/libgcc/config/libbid/ChangeLog
*** gcc-11.4.0/libgcc/config/libbid/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libgcc/config/libbid/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgfortran/ChangeLog gcc-11.5.0/libgfortran/ChangeLog
*** gcc-11.4.0/libgfortran/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libgfortran/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,12 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-02-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	PR libfortran/110651
+ 	* libgfortran.spec.in: Remove duplicate libraries.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgfortran/libgfortran.spec.in gcc-11.5.0/libgfortran/libgfortran.spec.in
*** gcc-11.4.0/libgfortran/libgfortran.spec.in	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgfortran/libgfortran.spec.in	Fri Jul 19 05:52:46 2024
***************
*** 5,8 ****
  #
  
  %rename lib liborig
! *lib: @LIBQUADSPEC@ -lm %(libgcc) %(liborig)
--- 5,8 ----
  #
  
  %rename lib liborig
! *lib: @LIBQUADSPEC@ -lm %(liborig)
diff -Nrcpad gcc-11.4.0/libgomp/ChangeLog gcc-11.5.0/libgomp/ChangeLog
*** gcc-11.4.0/libgomp/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libgomp/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,74 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/114572
+ 	* testsuite/libgomp.c++/pr114572.C: New test.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libgomp/113192
+ 	* configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
+ 	instead of \$(abs_top_srcdir)/testsuite/flock.
+ 	* configure: Regenerated.
+ 
+ 2023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	PR testsuite/66005
+ 	* testsuite/lib/libgomp.exp: 'flock' through stdout.
+ 	* testsuite/flock: New.
+ 	* configure.ac (FLOCK): Point to that if no 'flock' available, but
+ 	'perl' is.
+ 	* configure: Regenerate.
+ 
+ 2023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	Backported from master:
+ 	2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	PR testsuite/66005
+ 	* configure.ac: Look for 'flock'.
+ 	* testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
+ 	* testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
+ 	* testsuite/lib/libgomp.exp: ... but here, instead.
+ 	(libgomp_load): Override for parallel testing.
+ 	* testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Regenerate.
+ 	* testsuite/Makefile.in: Regenerate.
+ 
+ 2023-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	Backported from master:
+ 	2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 		    Thomas Schwinge  <thomas@codesourcery.com>
+ 
+ 	PR testsuite/66005
+ 	* testsuite/Makefile.am (PWD_COMMAND): New variable.
+ 	(%/site.exp): New target.
+ 	(check_p_numbers0, check_p_numbers1, check_p_numbers2)
+ 	(check_p_numbers3, check_p_numbers4, check_p_numbers5)
+ 	(check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
+ 	(check_p_subdirs)
+ 	(check_DEJAGNU_libgomp_targets): New variables.
+ 	($(check_DEJAGNU_libgomp_targets)): New target.
+ 	($(check_DEJAGNU_libgomp_targets)): New dependency.
+ 	(check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
+ 	* testsuite/Makefile.in: Regenerate.
+ 	* testsuite/lib/libgomp.exp: For parallel testing,
+ 	'load_file ../libgomp-test-support.exp'.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libgomp/Makefile.in gcc-11.5.0/libgomp/Makefile.in
*** gcc-11.4.0/libgomp/Makefile.in	Mon May 29 08:49:47 2023
--- gcc-11.5.0/libgomp/Makefile.in	Fri Jul 19 05:53:51 2024
*************** EXEEXT = @EXEEXT@
*** 384,389 ****
--- 384,390 ----
  FC = @FC@
  FCFLAGS = @FCFLAGS@
  FGREP = @FGREP@
+ FLOCK = @FLOCK@
  GREP = @GREP@
  HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
  HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
diff -Nrcpad gcc-11.4.0/libgomp/configure gcc-11.5.0/libgomp/configure
*** gcc-11.4.0/libgomp/configure	Mon May 29 08:49:47 2023
--- gcc-11.5.0/libgomp/configure	Fri Jul 19 05:53:51 2024
*************** tmake_file
*** 656,661 ****
--- 656,662 ----
  XLDFLAGS
  XCFLAGS
  config_path
+ FLOCK
  CPU_COUNT
  LIBGOMP_BUILD_VERSIONED_SHLIB_SUN_FALSE
  LIBGOMP_BUILD_VERSIONED_SHLIB_SUN_TRUE
*************** else
*** 11421,11427 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 11424 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 11422,11428 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 11425 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** else
*** 11527,11533 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 11530 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 11528,11534 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 11531 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** $as_echo "unable to detect (assuming 1)"
*** 16643,16648 ****
--- 16644,16741 ----
  fi
  
  
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock implementation" >&5
+ $as_echo "$as_me: checking for flock implementation" >&6;}
+ for ac_prog in flock
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_FLOCK+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test -n "$FLOCK"; then
+   ac_cv_prog_FLOCK="$FLOCK" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_FLOCK="$ac_prog"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+   done
+ IFS=$as_save_IFS
+ 
+ fi
+ fi
+ FLOCK=$ac_cv_prog_FLOCK
+ if test -n "$FLOCK"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLOCK" >&5
+ $as_echo "$FLOCK" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+   test -n "$FLOCK" && break
+ done
+ 
+ # Fallback if 'perl' is available.
+ if test -z "$FLOCK"; then
+   # These need to be absolute paths, yet at the same time need to
+   # canonicalize only relative paths, because then amd will not unmount
+   # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
+   case $srcdir in
+     [\\/$]* | ?:[\\/]*) libgomp_abs_srcdir=${srcdir} ;;
+     *) libgomp_abs_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
+   esac
+   # Extract the first word of "perl", so it can be a program name with args.
+ set dummy perl; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_FLOCK+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test -n "$FLOCK"; then
+   ac_cv_prog_FLOCK="$FLOCK" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_FLOCK="$libgomp_abs_srcdir/testsuite/flock"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+   done
+ IFS=$as_save_IFS
+ 
+ fi
+ fi
+ FLOCK=$ac_cv_prog_FLOCK
+ if test -n "$FLOCK"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLOCK" >&5
+ $as_echo "$FLOCK" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+ fi
+ 
  # Get target configury.
  . ${srcdir}/configure.tgt
  CFLAGS="$save_CFLAGS $XCFLAGS"
diff -Nrcpad gcc-11.4.0/libgomp/configure.ac gcc-11.5.0/libgomp/configure.ac
*** gcc-11.4.0/libgomp/configure.ac	Mon May 29 08:49:47 2023
--- gcc-11.5.0/libgomp/configure.ac	Fri Jul 19 05:53:51 2024
*************** fi
*** 331,336 ****
--- 331,352 ----
  AX_COUNT_CPUS
  AC_SUBST(CPU_COUNT)
  
+ AC_MSG_NOTICE([checking for flock implementation])
+ AC_CHECK_PROGS(FLOCK, flock)
+ # Fallback if 'perl' is available.
+ if test -z "$FLOCK"; then
+   # These need to be absolute paths, yet at the same time need to
+   # canonicalize only relative paths, because then amd will not unmount
+   # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
+   case $srcdir in
+ changequote(,)dnl
+     [\\/$]* | ?:[\\/]*) libgomp_abs_srcdir=${srcdir} ;;
+ changequote([,])dnl
+     *) libgomp_abs_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
+   esac
+   AC_CHECK_PROG(FLOCK, perl, $libgomp_abs_srcdir/testsuite/flock)
+ fi
+ 
  # Get target configury.
  . ${srcdir}/configure.tgt
  CFLAGS="$save_CFLAGS $XCFLAGS"
diff -Nrcpad gcc-11.4.0/libgomp/libgomp.info gcc-11.5.0/libgomp/libgomp.info
*** gcc-11.4.0/libgomp/libgomp.info	Mon May 29 09:05:54 2023
--- gcc-11.5.0/libgomp/libgomp.info	Fri Jul 19 06:09:43 2024
***************
*** 1,4 ****
! This is libgomp.info, produced by makeinfo version 6.8 from
  libgomp.texi.
  
  Copyright (C) 2006-2021 Free Software Foundation, Inc.
--- 1,4 ----
! This is libgomp.info, produced by makeinfo version 6.5 from
  libgomp.texi.
  
  Copyright (C) 2006-2021 Free Software Foundation, Inc.
*************** software.  Copies published by the Free
*** 54,60 ****
  for GNU development.
  
  
! File: libgomp.info,  Node: Top,  Next: Enabling OpenMP,  Up: (dir)
  
  Introduction
  ************
--- 54,60 ----
  for GNU development.
  
  
! File: libgomp.info,  Node: Top,  Next: Enabling OpenMP
  
  Introduction
  ************
*************** Library Index
*** 5114,5266 ****
  
  Tag Table:
  Node: Top2083
! Node: Enabling OpenMP4645
! Node: Runtime Library Routines5421
! Node: omp_get_active_level8742
! Node: omp_get_ancestor_thread_num9442
! Node: omp_get_cancellation10372
! Node: omp_get_default_device11186
! Node: omp_get_dynamic11862
! Node: omp_get_initial_device12746
! Node: omp_get_level13490
! Node: omp_get_max_active_levels14117
! Node: omp_get_max_task_priority14838
! Node: omp_get_max_threads15458
! Node: omp_get_nested16217
! Node: omp_get_num_devices17825
! Node: omp_get_num_procs18346
! Node: omp_get_num_teams18885
! Node: omp_get_num_threads19401
! Node: omp_get_proc_bind20490
! Node: omp_get_schedule21413
! Node: omp_get_supported_active_levels22382
! Node: omp_get_team_num23168
! Node: omp_get_team_size23682
! Node: omp_get_thread_limit24642
! Node: omp_get_thread_num25261
! Node: omp_in_parallel26132
! Node: omp_in_final26781
! Node: omp_is_initial_device27455
! Node: omp_set_default_device28148
! Node: omp_set_dynamic28939
! Node: omp_set_max_active_levels29825
! Node: omp_set_nested30747
! Node: omp_set_num_threads31944
! Node: omp_set_schedule32812
! Node: omp_init_lock33893
! Node: omp_set_lock34546
! Node: omp_test_lock35401
! Node: omp_unset_lock36377
! Node: omp_destroy_lock37308
! Node: omp_init_nest_lock37985
! Node: omp_set_nest_lock38720
! Node: omp_test_nest_lock39635
! Node: omp_unset_nest_lock40662
! Node: omp_destroy_nest_lock41677
! Node: omp_get_wtick42428
! Node: omp_get_wtime43020
! Node: omp_fulfill_event43822
! Node: Environment Variables44843
! Node: OMP_CANCELLATION46472
! Node: OMP_DISPLAY_ENV47005
! Node: OMP_DEFAULT_DEVICE47708
! Node: OMP_DYNAMIC48488
! Node: OMP_MAX_ACTIVE_LEVELS49084
! Node: OMP_MAX_TASK_PRIORITY50011
! Node: OMP_NESTED50669
! Node: OMP_NUM_THREADS51698
! Node: OMP_PROC_BIND52500
! Node: OMP_PLACES53814
! Node: OMP_STACKSIZE55993
! Node: OMP_SCHEDULE56817
! Node: OMP_TARGET_OFFLOAD57517
! Node: OMP_THREAD_LIMIT58473
! Node: OMP_WAIT_POLICY59079
! Node: GOMP_CPU_AFFINITY59771
! Node: GOMP_DEBUG61501
! Node: GOMP_STACKSIZE62008
! Node: GOMP_SPINCOUNT62839
! Node: GOMP_RTEMS_THREAD_POOLS64043
! Node: Enabling OpenACC66221
! Node: OpenACC Runtime Library Routines67122
! Node: acc_get_num_devices71403
! Node: acc_set_device_type72129
! Node: acc_get_device_type72893
! Node: acc_set_device_num73906
! Node: acc_get_device_num74723
! Node: acc_get_property75522
! Node: acc_async_test77745
! Node: acc_async_test_all78733
! Node: acc_wait79633
! Node: acc_wait_all80496
! Node: acc_wait_all_async81257
! Node: acc_wait_async82009
! Node: acc_init82717
! Node: acc_shutdown83362
! Node: acc_on_device84029
! Node: acc_malloc85033
! Node: acc_free85532
! Node: acc_copyin85959
! Node: acc_present_or_copyin87546
! Node: acc_create89324
! Node: acc_present_or_create90956
! Node: acc_copyout92742
! Node: acc_delete95046
! Node: acc_update_device97293
! Node: acc_update_self98867
! Node: acc_map_data100457
! Node: acc_unmap_data101142
! Node: acc_deviceptr101663
! Node: acc_hostptr102233
! Node: acc_is_present102797
! Node: acc_memcpy_to_device104324
! Node: acc_memcpy_from_device104987
! Node: acc_attach105654
! Node: acc_detach106301
! Node: acc_get_current_cuda_device107080
! Node: acc_get_current_cuda_context107665
! Node: acc_get_cuda_stream108265
! Node: acc_set_cuda_stream108856
! Node: acc_prof_register109527
! Node: acc_prof_unregister110086
! Node: acc_prof_lookup110653
! Node: acc_register_library111174
! Node: OpenACC Environment Variables111740
! Node: ACC_DEVICE_TYPE112312
! Node: ACC_DEVICE_NUM112548
! Node: ACC_PROFLIB112802
! Node: GCC_ACC_NOTIFY113133
! Node: CUDA Streams Usage113353
! Ref: CUDA Streams Usage-Footnote-1115254
! Node: OpenACC Library Interoperability115363
! Ref: OpenACC Library Interoperability-Footnote-1121731
! Ref: OpenACC Library Interoperability-Footnote-2121983
! Node: OpenACC Profiling Interface122191
! Node: The libgomp ABI132215
! Node: Implementing MASTER construct133068
! Node: Implementing CRITICAL construct133484
! Node: Implementing ATOMIC construct134225
! Node: Implementing FLUSH construct134708
! Node: Implementing BARRIER construct134981
! Node: Implementing THREADPRIVATE construct135252
! Node: Implementing PRIVATE clause135907
! Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses136490
! Node: Implementing REDUCTION clause137816
! Node: Implementing PARALLEL construct138375
! Node: Implementing FOR construct139634
! Node: Implementing ORDERED construct141634
! Node: Implementing SECTIONS construct141942
! Node: Implementing SINGLE construct142710
! Node: Implementing OpenACC's PARALLEL construct143424
! Node: Reporting Bugs143684
! Node: Copying144047
! Node: GNU Free Documentation License181593
! Node: Funding206716
! Node: Library Index209242
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 5114,5261 ----
  
  Tag Table:
  Node: Top2083
! Node: Enabling OpenMP4633
! Node: Runtime Library Routines5409
! Node: omp_get_active_level8730
! Node: omp_get_ancestor_thread_num9430
! Node: omp_get_cancellation10360
! Node: omp_get_default_device11174
! Node: omp_get_dynamic11850
! Node: omp_get_initial_device12734
! Node: omp_get_level13478
! Node: omp_get_max_active_levels14105
! Node: omp_get_max_task_priority14826
! Node: omp_get_max_threads15446
! Node: omp_get_nested16205
! Node: omp_get_num_devices17813
! Node: omp_get_num_procs18334
! Node: omp_get_num_teams18873
! Node: omp_get_num_threads19389
! Node: omp_get_proc_bind20478
! Node: omp_get_schedule21401
! Node: omp_get_supported_active_levels22370
! Node: omp_get_team_num23156
! Node: omp_get_team_size23670
! Node: omp_get_thread_limit24630
! Node: omp_get_thread_num25249
! Node: omp_in_parallel26120
! Node: omp_in_final26769
! Node: omp_is_initial_device27443
! Node: omp_set_default_device28136
! Node: omp_set_dynamic28927
! Node: omp_set_max_active_levels29813
! Node: omp_set_nested30735
! Node: omp_set_num_threads31932
! Node: omp_set_schedule32800
! Node: omp_init_lock33881
! Node: omp_set_lock34534
! Node: omp_test_lock35389
! Node: omp_unset_lock36365
! Node: omp_destroy_lock37296
! Node: omp_init_nest_lock37973
! Node: omp_set_nest_lock38708
! Node: omp_test_nest_lock39623
! Node: omp_unset_nest_lock40650
! Node: omp_destroy_nest_lock41665
! Node: omp_get_wtick42416
! Node: omp_get_wtime43008
! Node: omp_fulfill_event43810
! Node: Environment Variables44831
! Node: OMP_CANCELLATION46460
! Node: OMP_DISPLAY_ENV46993
! Node: OMP_DEFAULT_DEVICE47696
! Node: OMP_DYNAMIC48476
! Node: OMP_MAX_ACTIVE_LEVELS49072
! Node: OMP_MAX_TASK_PRIORITY49999
! Node: OMP_NESTED50657
! Node: OMP_NUM_THREADS51686
! Node: OMP_PROC_BIND52488
! Node: OMP_PLACES53802
! Node: OMP_STACKSIZE55981
! Node: OMP_SCHEDULE56805
! Node: OMP_TARGET_OFFLOAD57505
! Node: OMP_THREAD_LIMIT58461
! Node: OMP_WAIT_POLICY59067
! Node: GOMP_CPU_AFFINITY59759
! Node: GOMP_DEBUG61489
! Node: GOMP_STACKSIZE61996
! Node: GOMP_SPINCOUNT62827
! Node: GOMP_RTEMS_THREAD_POOLS64031
! Node: Enabling OpenACC66209
! Node: OpenACC Runtime Library Routines67110
! Node: acc_get_num_devices71391
! Node: acc_set_device_type72117
! Node: acc_get_device_type72881
! Node: acc_set_device_num73894
! Node: acc_get_device_num74711
! Node: acc_get_property75510
! Node: acc_async_test77733
! Node: acc_async_test_all78721
! Node: acc_wait79621
! Node: acc_wait_all80484
! Node: acc_wait_all_async81245
! Node: acc_wait_async81997
! Node: acc_init82705
! Node: acc_shutdown83350
! Node: acc_on_device84017
! Node: acc_malloc85021
! Node: acc_free85520
! Node: acc_copyin85947
! Node: acc_present_or_copyin87534
! Node: acc_create89312
! Node: acc_present_or_create90944
! Node: acc_copyout92730
! Node: acc_delete95034
! Node: acc_update_device97281
! Node: acc_update_self98855
! Node: acc_map_data100445
! Node: acc_unmap_data101130
! Node: acc_deviceptr101651
! Node: acc_hostptr102221
! Node: acc_is_present102785
! Node: acc_memcpy_to_device104312
! Node: acc_memcpy_from_device104975
! Node: acc_attach105642
! Node: acc_detach106289
! Node: acc_get_current_cuda_device107068
! Node: acc_get_current_cuda_context107653
! Node: acc_get_cuda_stream108253
! Node: acc_set_cuda_stream108844
! Node: acc_prof_register109515
! Node: acc_prof_unregister110074
! Node: acc_prof_lookup110641
! Node: acc_register_library111162
! Node: OpenACC Environment Variables111728
! Node: ACC_DEVICE_TYPE112300
! Node: ACC_DEVICE_NUM112536
! Node: ACC_PROFLIB112790
! Node: GCC_ACC_NOTIFY113121
! Node: CUDA Streams Usage113341
! Ref: CUDA Streams Usage-Footnote-1115242
! Node: OpenACC Library Interoperability115351
! Ref: OpenACC Library Interoperability-Footnote-1121719
! Ref: OpenACC Library Interoperability-Footnote-2121971
! Node: OpenACC Profiling Interface122179
! Node: The libgomp ABI132203
! Node: Implementing MASTER construct133056
! Node: Implementing CRITICAL construct133472
! Node: Implementing ATOMIC construct134213
! Node: Implementing FLUSH construct134696
! Node: Implementing BARRIER construct134969
! Node: Implementing THREADPRIVATE construct135240
! Node: Implementing PRIVATE clause135895
! Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses136478
! Node: Implementing REDUCTION clause137804
! Node: Implementing PARALLEL construct138363
! Node: Implementing FOR construct139622
! Node: Implementing ORDERED construct141622
! Node: Implementing SECTIONS construct141930
! Node: Implementing SINGLE construct142698
! Node: Implementing OpenACC's PARALLEL construct143412
! Node: Reporting Bugs143672
! Node: Copying144035
! Node: GNU Free Documentation License181581
! Node: Funding206704
! Node: Library Index209230
  
  End Tag Table
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/Makefile.am gcc-11.5.0/libgomp/testsuite/Makefile.am
*** gcc-11.4.0/libgomp/testsuite/Makefile.am	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgomp/testsuite/Makefile.am	Fri Jul 19 05:52:47 2024
*************** _RUNTEST = $(shell if test -f $(top_srcd
*** 12,17 ****
--- 12,19 ----
  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
  
+ PWD_COMMAND = $${PWDCMD-pwd}
+ 
  EXTRA_DEJAGNU_SITE_CONFIG = libgomp-site-extra.exp
  
  # Instead of directly in ../testsuite/libgomp-test-support.exp.in, the
*************** libgomp-test-support.exp: libgomp-test-s
*** 25,41 ****
  	  'set offload_additional_lib_paths "$(offload_additional_lib_paths)"'
  	mv $@.tmp $@
  
- check-DEJAGNU: site.exp
- 	srcdir='$(srcdir)'; export srcdir; \
- 	EXPECT=$(EXPECT); export EXPECT; \
- 	if $(SHELL) -c "$(_RUNTEST) --version" > /dev/null 2>&1; then \
- 	  exit_status=0; l='$(PACKAGE)'; for tool in $$l; do \
- 	    if $(_RUNTEST) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
- 	    then :; else exit_status=1; fi; \
- 	  done; \
- 	else echo "WARNING: could not find '$(_RUNTEST)'" 1>&2; :;\
- 	fi; \
- 	exit $$exit_status
  site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
  	@echo 'Making a new site.exp file ...'
  	@echo '## these variables are automatically generated by make ##' >site.tmp
--- 27,32 ----
*************** site.exp: Makefile $(EXTRA_DEJAGNU_SITE_
*** 63,68 ****
--- 54,125 ----
  	@test ! -f site.exp || mv site.exp site.bak
  	@mv site.tmp site.exp
  
+ %/site.exp: site.exp
+ 	-@test -d $* || mkdir $*
+ 	@srcdir=`cd $(srcdir); ${PWD_COMMAND}`;
+ 	@objdir=`${PWD_COMMAND}`/$*; \
+ 	sed -e "s|^set srcdir .*$$|set srcdir $$srcdir|" \
+ 	    -e "s|^set objdir .*$$|set objdir $$objdir|" \
+ 	    site.exp > $*/site.exp.tmp
+ 	@-rm -f $*/site.bak
+ 	@test ! -f $*/site.exp || mv $*/site.exp $*/site.bak
+ 	@mv $*/site.exp.tmp $*/site.exp
+ 
+ check_p_numbers0:=1 2 3 4 5 6 7 8 9
+ check_p_numbers1:=0 $(check_p_numbers0)
+ check_p_numbers2:=$(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers1)))
+ check_p_numbers3:=$(addprefix 0,$(check_p_numbers1)) $(check_p_numbers2)
+ check_p_numbers4:=$(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers3)))
+ check_p_numbers5:=$(addprefix 0,$(check_p_numbers3)) $(check_p_numbers4)
+ check_p_numbers6:=$(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers5)))
+ check_p_numbers:=$(check_p_numbers0) $(check_p_numbers2) $(check_p_numbers4) $(check_p_numbers6)
+ # If unable to serialize execution testing, use just one parallel slot.
+ gcc_test_parallel_slots:=$(if $(FLOCK),$(if $(GCC_TEST_PARALLEL_SLOTS),$(GCC_TEST_PARALLEL_SLOTS),19),1)
+ check_p_subdirs=$(wordlist 1,$(gcc_test_parallel_slots),$(check_p_numbers))
+ check_DEJAGNU_libgomp_targets = $(addprefix check-DEJAGNUlibgomp,$(check_p_subdirs))
+ $(check_DEJAGNU_libgomp_targets): check-DEJAGNUlibgomp%: libgomp%/site.exp
+ 
+ check-DEJAGNU $(check_DEJAGNU_libgomp_targets): check-DEJAGNU%: site.exp
+ 	$(if $*,@)AR="$(AR)"; export AR; \
+ 	RANLIB="$(RANLIB)"; export RANLIB; \
+ 	if [ -z "$*" ] && [ -n "$(filter -j%, $(MFLAGS))" ]; then \
+ 	  rm -rf libgomp-parallel || true; \
+ 	  mkdir libgomp-parallel; \
+ 	  $(MAKE) $(AM_MAKEFLAGS) $(check_DEJAGNU_libgomp_targets); \
+ 	  rm -rf libgomp-parallel || true; \
+ 	  for idx in $(check_p_subdirs); do \
+ 	    if [ -d libgomp$$idx ]; then \
+ 	      mv -f libgomp$$idx/libgomp.sum libgomp$$idx/libgomp.sum.sep; \
+ 	      mv -f libgomp$$idx/libgomp.log libgomp$$idx/libgomp.log.sep; \
+ 	    fi; \
+ 	  done; \
+ 	  $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh \
+ 	    libgomp[0-9]*/libgomp.sum.sep > libgomp.sum; \
+ 	  $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
+ 	    libgomp[0-9]*/libgomp.log.sep > libgomp.log; \
+ 	  exit 0; \
+ 	fi; \
+ 	srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ 	EXPECT=$(EXPECT); export EXPECT; \
+ 	runtest=$(_RUNTEST); \
+ 	if [ -z "$$runtest" ]; then runtest=runtest; fi; \
+ 	tool=libgomp; \
+ 	if [ -n "$*" ]; then \
+ 	  if [ -f libgomp-parallel/finished ]; then rm -rf "$*"; exit 0; fi; \
+ 	  GCC_RUNTEST_PARALLELIZE_DIR=`${PWD_COMMAND}`/libgomp-parallel; \
+ 	  export GCC_RUNTEST_PARALLELIZE_DIR; \
+ 	  cd "$*"; \
+ 	fi; \
+ 	if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ 	  $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+ 		    $(RUNTESTFLAGS); \
+ 	  if [ -n "$*" ]; then \
+ 	    touch $$GCC_RUNTEST_PARALLELIZE_DIR/finished; \
+ 	  fi; \
+ 	else \
+ 	  echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ 	fi
+ 
  distclean-DEJAGNU:
  	-rm -f site.exp site.bak
  	-l='$(PACKAGE)'; for tool in $$l; do \
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/Makefile.in gcc-11.5.0/libgomp/testsuite/Makefile.in
*** gcc-11.4.0/libgomp/testsuite/Makefile.in	Mon May 29 08:49:47 2023
--- gcc-11.5.0/libgomp/testsuite/Makefile.in	Fri Jul 19 05:53:51 2024
*************** EXEEXT = @EXEEXT@
*** 162,167 ****
--- 162,168 ----
  FC = @FC@
  FCFLAGS = @FCFLAGS@
  FGREP = @FGREP@
+ FLOCK = @FLOCK@
  GREP = @GREP@
  HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
  HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
*************** _RUNTEST = $(shell if test -f $(top_srcd
*** 310,316 ****
--- 311,330 ----
  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
  
  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+ PWD_COMMAND = $${PWDCMD-pwd}
  EXTRA_DEJAGNU_SITE_CONFIG = libgomp-site-extra.exp
+ check_p_numbers0 := 1 2 3 4 5 6 7 8 9
+ check_p_numbers1 := 0 $(check_p_numbers0)
+ check_p_numbers2 := $(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers1)))
+ check_p_numbers3 := $(addprefix 0,$(check_p_numbers1)) $(check_p_numbers2)
+ check_p_numbers4 := $(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers3)))
+ check_p_numbers5 := $(addprefix 0,$(check_p_numbers3)) $(check_p_numbers4)
+ check_p_numbers6 := $(foreach i,$(check_p_numbers0),$(addprefix $(i),$(check_p_numbers5)))
+ check_p_numbers := $(check_p_numbers0) $(check_p_numbers2) $(check_p_numbers4) $(check_p_numbers6)
+ # If unable to serialize execution testing, use just one parallel slot.
+ gcc_test_parallel_slots := $(if $(FLOCK),$(if $(GCC_TEST_PARALLEL_SLOTS),$(GCC_TEST_PARALLEL_SLOTS),19),1)
+ check_p_subdirs = $(wordlist 1,$(gcc_test_parallel_slots),$(check_p_numbers))
+ check_DEJAGNU_libgomp_targets = $(addprefix check-DEJAGNUlibgomp,$(check_p_subdirs))
  all: all-am
  
  .SUFFIXES:
*************** libgomp-test-support.exp: libgomp-test-s
*** 485,501 ****
  	  'set offload_additional_lib_paths "$(offload_additional_lib_paths)"'
  	mv $@.tmp $@
  
- check-DEJAGNU: site.exp
- 	srcdir='$(srcdir)'; export srcdir; \
- 	EXPECT=$(EXPECT); export EXPECT; \
- 	if $(SHELL) -c "$(_RUNTEST) --version" > /dev/null 2>&1; then \
- 	  exit_status=0; l='$(PACKAGE)'; for tool in $$l; do \
- 	    if $(_RUNTEST) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
- 	    then :; else exit_status=1; fi; \
- 	  done; \
- 	else echo "WARNING: could not find '$(_RUNTEST)'" 1>&2; :;\
- 	fi; \
- 	exit $$exit_status
  site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
  	@echo 'Making a new site.exp file ...'
  	@echo '## these variables are automatically generated by make ##' >site.tmp
--- 499,504 ----
*************** site.exp: Makefile $(EXTRA_DEJAGNU_SITE_
*** 523,528 ****
--- 526,584 ----
  	@test ! -f site.exp || mv site.exp site.bak
  	@mv site.tmp site.exp
  
+ %/site.exp: site.exp
+ 	-@test -d $* || mkdir $*
+ 	@srcdir=`cd $(srcdir); ${PWD_COMMAND}`;
+ 	@objdir=`${PWD_COMMAND}`/$*; \
+ 	sed -e "s|^set srcdir .*$$|set srcdir $$srcdir|" \
+ 	    -e "s|^set objdir .*$$|set objdir $$objdir|" \
+ 	    site.exp > $*/site.exp.tmp
+ 	@-rm -f $*/site.bak
+ 	@test ! -f $*/site.exp || mv $*/site.exp $*/site.bak
+ 	@mv $*/site.exp.tmp $*/site.exp
+ $(check_DEJAGNU_libgomp_targets): check-DEJAGNUlibgomp%: libgomp%/site.exp
+ 
+ check-DEJAGNU $(check_DEJAGNU_libgomp_targets): check-DEJAGNU%: site.exp
+ 	$(if $*,@)AR="$(AR)"; export AR; \
+ 	RANLIB="$(RANLIB)"; export RANLIB; \
+ 	if [ -z "$*" ] && [ -n "$(filter -j%, $(MFLAGS))" ]; then \
+ 	  rm -rf libgomp-parallel || true; \
+ 	  mkdir libgomp-parallel; \
+ 	  $(MAKE) $(AM_MAKEFLAGS) $(check_DEJAGNU_libgomp_targets); \
+ 	  rm -rf libgomp-parallel || true; \
+ 	  for idx in $(check_p_subdirs); do \
+ 	    if [ -d libgomp$$idx ]; then \
+ 	      mv -f libgomp$$idx/libgomp.sum libgomp$$idx/libgomp.sum.sep; \
+ 	      mv -f libgomp$$idx/libgomp.log libgomp$$idx/libgomp.log.sep; \
+ 	    fi; \
+ 	  done; \
+ 	  $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh \
+ 	    libgomp[0-9]*/libgomp.sum.sep > libgomp.sum; \
+ 	  $(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
+ 	    libgomp[0-9]*/libgomp.log.sep > libgomp.log; \
+ 	  exit 0; \
+ 	fi; \
+ 	srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ 	EXPECT=$(EXPECT); export EXPECT; \
+ 	runtest=$(_RUNTEST); \
+ 	if [ -z "$$runtest" ]; then runtest=runtest; fi; \
+ 	tool=libgomp; \
+ 	if [ -n "$*" ]; then \
+ 	  if [ -f libgomp-parallel/finished ]; then rm -rf "$*"; exit 0; fi; \
+ 	  GCC_RUNTEST_PARALLELIZE_DIR=`${PWD_COMMAND}`/libgomp-parallel; \
+ 	  export GCC_RUNTEST_PARALLELIZE_DIR; \
+ 	  cd "$*"; \
+ 	fi; \
+ 	if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ 	  $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+ 		    $(RUNTESTFLAGS); \
+ 	  if [ -n "$*" ]; then \
+ 	    touch $$GCC_RUNTEST_PARALLELIZE_DIR/finished; \
+ 	  fi; \
+ 	else \
+ 	  echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ 	fi
+ 
  distclean-DEJAGNU:
  	-rm -f site.exp site.bak
  	-l='$(PACKAGE)'; for tool in $$l; do \
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/config/default.exp gcc-11.5.0/libgomp/testsuite/config/default.exp
*** gcc-11.4.0/libgomp/testsuite/config/default.exp	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgomp/testsuite/config/default.exp	Fri Jul 19 05:52:47 2024
***************
*** 13,17 ****
  # You should have received a copy of the GNU General Public License
  # along with this program; see the file COPYING3.  If not see
  # <http://www.gnu.org/licenses/>.
- 
- load_lib "standard.exp"
--- 13,15 ----
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/flock gcc-11.5.0/libgomp/testsuite/flock
*** gcc-11.4.0/libgomp/testsuite/flock	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libgomp/testsuite/flock	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,17 ----
+ #!/usr/bin/env perl
+ 
+ use strict;
+ use warnings;
+ 
+ # Only arguments '--exclusive 1' exactly are supported.
+ (@ARGV == 2) or die;
+ my $mode = shift;
+ ($mode eq "--exclusive") or die;
+ my $fd = shift;
+ ($fd eq "1") or die;
+ 
+ use Fcntl ':flock';
+ 
+ open(my $fh, '>&=', 1) or die "open: $!";
+ 
+ flock($fh, LOCK_EX) or die "flock: $!";
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/lib/libgomp.exp gcc-11.5.0/libgomp/testsuite/lib/libgomp.exp
*** gcc-11.4.0/libgomp/testsuite/lib/libgomp.exp	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgomp/testsuite/lib/libgomp.exp	Fri Jul 19 05:52:47 2024
*************** proc load_gcc_lib { filename } {
*** 9,14 ****
--- 9,15 ----
  }
  
  load_lib dg.exp
+ load_lib standard.exp
  
  # Required to use gcc-dg.exp - however, the latter should NOT be
  # loaded until ${tool}_target_compile is defined since it uses that
*************** load_gcc_lib torture-options.exp
*** 40,46 ****
  load_gcc_lib fortran-modules.exp
  
  # Try to load a test support file, built during libgomp configuration.
! load_file libgomp-test-support.exp
  
  set dg-do-what-default run
  
--- 41,52 ----
  load_gcc_lib fortran-modules.exp
  
  # Try to load a test support file, built during libgomp configuration.
! # Search in '..' vs. '.' to support parallel vs. sequential testing.
! if [info exists ::env(GCC_RUNTEST_PARALLELIZE_DIR)] {
!     load_file ../libgomp-test-support.exp
! } else {
!     load_file libgomp-test-support.exp
! }
  
  set dg-do-what-default run
  
*************** proc libgomp_option_proc { option } {
*** 318,323 ****
--- 324,359 ----
      }
  }
  
+ if ![info exists ::env(GCC_RUNTEST_PARALLELIZE_DIR)] {
+     # No parallel testing.
+ } elseif { $FLOCK == "" } {
+     # Using just one parallel slot.
+ } else {
+     # Using several parallel slots.  Override DejaGnu
+     # 'standard.exp:${tool}_load'...
+     rename libgomp_load standard_libgomp_load
+     proc libgomp_load { program args } {
+ 	# ... in order to serialize execution testing via an exclusive lock.
+ 	# We use stdout, as per <https://perldoc.perl.org/functions/flock>
+ 	# "[...] FILEHANDLE [...] be open with write intent to use LOCK_EX".
+ 	set lock_file ../lock
+ 	set lock_kind --exclusive
+ 	set lock_fd [open $lock_file a+]
+ 	set lock_clock_begin [clock seconds]
+ 	global FLOCK
+ 	exec $FLOCK $lock_kind 1 >@ $lock_fd
+ 	set lock_clock_end [clock seconds]
+ 	verbose -log "Got ${FLOCK}('$lock_file', '$lock_kind') at [clock format $lock_clock_end] after [expr $lock_clock_end - $lock_clock_begin] s" 2
+ 
+ 	set result [standard_libgomp_load $program $args]
+ 
+ 	# Unlock (implicit with 'close').
+ 	close $lock_fd
+ 
+ 	return $result
+     }
+ }
+ 
  # Translate offload target to OpenACC device type.  Return the empty string if
  # not supported, and 'host' for offload target 'disable'.
  proc offload_target_to_openacc_device_type { offload_target } {
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/libgomp-site-extra.exp.in gcc-11.5.0/libgomp/testsuite/libgomp-site-extra.exp.in
*** gcc-11.4.0/libgomp/testsuite/libgomp-site-extra.exp.in	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libgomp/testsuite/libgomp-site-extra.exp.in	Fri Jul 19 05:52:47 2024
***************
*** 1 ****
--- 1,2 ----
+ set FLOCK {@FLOCK@}
  set GCC_UNDER_TEST {@CC@}
diff -Nrcpad gcc-11.4.0/libgomp/testsuite/libgomp.c++/pr114572.C gcc-11.5.0/libgomp/testsuite/libgomp.c++/pr114572.C
*** gcc-11.4.0/libgomp/testsuite/libgomp.c++/pr114572.C	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libgomp/testsuite/libgomp.c++/pr114572.C	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,24 ----
+ // PR c++/114572
+ // { dg-do run }
+ // { dg-options "-fopenmp -O0" }
+ 
+ #include <stdlib.h>
+ 
+ struct S
+ {
+   S () : s (0) {}
+   ~S () {}
+   S operator= (const S &x) { s = x.s; return *this; }
+   int s;
+ };
+ 
+ int
+ main ()
+ {
+   S s;
+   #pragma omp parallel for lastprivate(s)
+   for (int i = 0; i < 10; ++i)
+     s.s = i;
+   if (s.s != 9)
+     abort ();
+ }
diff -Nrcpad gcc-11.4.0/libhsail-rt/ChangeLog gcc-11.5.0/libhsail-rt/ChangeLog
*** gcc-11.4.0/libhsail-rt/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libhsail-rt/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libiberty/ChangeLog gcc-11.5.0/libiberty/ChangeLog
*** gcc-11.4.0/libiberty/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libiberty/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,15 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2023-12-02  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-08-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* simple-object-mach-o.c (simple_object_mach_o_write_segment):
+ 	Cast the first argument to set_32 as needed.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libiberty/simple-object-mach-o.c gcc-11.5.0/libiberty/simple-object-mach-o.c
*** gcc-11.4.0/libiberty/simple-object-mach-o.c	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libiberty/simple-object-mach-o.c	Fri Jul 19 05:52:47 2024
*************** simple_object_mach_o_write_segment (simp
*** 1228,1234 ****
        /* Swap the indices, if required.  */
  
        for (i = 0; i < (nsects_in * 4); ++i)
! 	set_32 (&index[i], index[i]);
  
        sechdr_offset += sechdrsize;
  
--- 1228,1234 ----
        /* Swap the indices, if required.  */
  
        for (i = 0; i < (nsects_in * 4); ++i)
! 	set_32 ((unsigned char *) &index[i], index[i]);
  
        sechdr_offset += sechdrsize;
  
diff -Nrcpad gcc-11.4.0/libitm/ChangeLog gcc-11.5.0/libitm/ChangeLog
*** gcc-11.4.0/libitm/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libitm/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libitm/libitm.info gcc-11.5.0/libitm/libitm.info
*** gcc-11.4.0/libitm/libitm.info	Mon May 29 09:07:36 2023
--- gcc-11.5.0/libitm/libitm.info	Fri Jul 19 06:11:21 2024
***************
*** 1,4 ****
! This is libitm.info, produced by makeinfo version 6.8 from libitm.texi.
  
  Copyright (C) 2011-2021 Free Software Foundation, Inc.
  
--- 1,4 ----
! This is libitm.info, produced by makeinfo version 6.5 from libitm.texi.
  
  Copyright (C) 2011-2021 Free Software Foundation, Inc.
  
*************** Node: GNU Free Documentation License358
*** 1306,1313 ****
  Node: Library Index61021
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 1306,1308 ----
diff -Nrcpad gcc-11.4.0/libobjc/ChangeLog gcc-11.5.0/libobjc/ChangeLog
*** gcc-11.4.0/libobjc/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libobjc/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/liboffloadmic/ChangeLog gcc-11.5.0/liboffloadmic/ChangeLog
*** gcc-11.4.0/liboffloadmic/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/liboffloadmic/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libphobos/ChangeLog gcc-11.5.0/libphobos/ChangeLog
*** gcc-11.4.0/libphobos/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libphobos/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,23 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-04-23  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* testsuite/lib/libphobos.exp: Prune warnings from external
+ 	tool bugs.
+ 
+ 2023-11-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2023-11-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	* libdruntime/core/cpuid.d (getCpuInfo0B): Limit number of times loop
+ 	runs.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libphobos/libdruntime/core/cpuid.d gcc-11.5.0/libphobos/libdruntime/core/cpuid.d
*** gcc-11.4.0/libphobos/libdruntime/core/cpuid.d	Mon May 29 08:46:32 2023
--- gcc-11.5.0/libphobos/libdruntime/core/cpuid.d	Fri Jul 19 05:52:47 2024
*************** void getAMDcacheinfo()
*** 651,660 ****
  // to determine number of processors.
  void getCpuInfo0B()
  {
-     int level=0;
      int threadsPerCore;
      uint a, b, c, d;
!     do {
          version (GNU_OR_LDC) asm pure nothrow @nogc {
              "cpuid" : "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (0x0B), "c" (level);
          } else asm pure nothrow @nogc {
--- 651,662 ----
  // to determine number of processors.
  void getCpuInfo0B()
  {
      int threadsPerCore;
      uint a, b, c, d;
!     // I'm not sure about this. The docs state that there
!     // are 2 hyperthreads per core if HT is factory enabled.
!     for (int level = 0; level < 2; level++)
!     {
          version (GNU_OR_LDC) asm pure nothrow @nogc {
              "cpuid" : "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (0x0B), "c" (level);
          } else asm pure nothrow @nogc {
*************** void getCpuInfo0B()
*** 666,684 ****
              mov c, ECX;
              mov d, EDX;
          }
!         if (b!=0) {
!            // I'm not sure about this. The docs state that there
!            // are 2 hyperthreads per core if HT is factory enabled.
!             if (level==0)
                  threadsPerCore = b & 0xFFFF;
!             else if (level==1) {
                  cpuFeatures.maxThreads = b & 0xFFFF;
                  cpuFeatures.maxCores = cpuFeatures.maxThreads / threadsPerCore;
              }
- 
          }
!         ++level;
!     } while (a!=0 || b!=0);
  }
  
  void cpuidX86()
--- 668,687 ----
              mov c, ECX;
              mov d, EDX;
          }
!         if (b != 0)
!         {
!             if (level == 0)
                  threadsPerCore = b & 0xFFFF;
!             else if (level == 1)
!             {
                  cpuFeatures.maxThreads = b & 0xFFFF;
                  cpuFeatures.maxCores = cpuFeatures.maxThreads / threadsPerCore;
              }
          }
!         // Got "invalid domain" returned from cpuid
!         if (a == 0 && b == 0)
!             break;
!     }
  }
  
  void cpuidX86()
diff -Nrcpad gcc-11.4.0/libphobos/testsuite/lib/libphobos.exp gcc-11.5.0/libphobos/testsuite/lib/libphobos.exp
*** gcc-11.4.0/libphobos/testsuite/lib/libphobos.exp	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libphobos/testsuite/lib/libphobos.exp	Fri Jul 19 05:52:47 2024
*************** proc libphobos-dg-test { prog do_what ex
*** 90,95 ****
--- 90,102 ----
  }
  
  proc libphobos-dg-prune { system text } {
+ 
+     # Ignore harmless warnings from Xcode.
+     regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind for\[^\n\]*" $text "" text
+ 
+     # Ignore dsymutil warning (tool bug is actually linker)
+     regsub -all "(^|\n)\[^\n\]*could not find object file symbol for symbol\[^\n\]*" $text "" text
+ 
      return $text
  }
  
diff -Nrcpad gcc-11.4.0/libquadmath/ChangeLog gcc-11.5.0/libquadmath/ChangeLog
*** gcc-11.4.0/libquadmath/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libquadmath/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,18 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-06-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-03  Simon Chopin  <simon.chopin@canonical.com>
+ 		    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libquadmath/114533
+ 	* printf/printf_fp.c (__quadmath_printf_fp): Use memcpy to copy
+ 	__float128 out of args.
+ 	* printf/printf_fphex.c (__quadmath_printf_fphex): Likewise.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libquadmath/libquadmath.info gcc-11.5.0/libquadmath/libquadmath.info
*** gcc-11.4.0/libquadmath/libquadmath.info	Mon May 29 09:07:34 2023
--- gcc-11.5.0/libquadmath/libquadmath.info	Fri Jul 19 06:11:19 2024
***************
*** 1,4 ****
! This is libquadmath.info, produced by makeinfo version 6.8 from
  libquadmath.texi.
  
  Copyright (C) 2010-2021 Free Software Foundation, Inc.
--- 1,4 ----
! This is libquadmath.info, produced by makeinfo version 6.5 from
  libquadmath.texi.
  
  Copyright (C) 2010-2021 Free Software Foundation, Inc.
*************** Node: GNU Free Documentation License109
*** 809,816 ****
  Node: Reporting Bugs36065
  
  End Tag Table
- 
- 
- Local Variables:
- coding: utf-8
- End:
--- 809,811 ----
diff -Nrcpad gcc-11.4.0/libquadmath/printf/printf_fp.c gcc-11.5.0/libquadmath/printf/printf_fp.c
*** gcc-11.4.0/libquadmath/printf/printf_fp.c	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libquadmath/printf/printf_fp.c	Fri Jul 19 05:52:47 2024
*************** __quadmath_printf_fp (struct __quadmath_
*** 363,369 ****
  
    /* Fetch the argument value.	*/
      {
!       fpnum = **(const __float128 **) args[0];
  
        /* Check for special values: not a number or infinity.  */
        if (isnanq (fpnum))
--- 363,369 ----
  
    /* Fetch the argument value.	*/
      {
!       memcpy (&fpnum, *(const void *const *) args[0], sizeof (fpnum));
  
        /* Check for special values: not a number or infinity.  */
        if (isnanq (fpnum))
diff -Nrcpad gcc-11.4.0/libquadmath/printf/printf_fphex.c gcc-11.5.0/libquadmath/printf/printf_fphex.c
*** gcc-11.4.0/libquadmath/printf/printf_fphex.c	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libquadmath/printf/printf_fphex.c	Fri Jul 19 05:52:47 2024
*************** __quadmath_printf_fphex (struct __quadma
*** 163,169 ****
  
    /* Fetch the argument value.	*/
      {
!       fpnum.value = **(const __float128 **) args[0];
  
        /* Check for special values: not a number or infinity.  */
        if (isnanq (fpnum.value))
--- 163,170 ----
  
    /* Fetch the argument value.	*/
      {
!       memcpy (&fpnum.value, *(const void *const *) args[0],
! 	      sizeof (fpnum.value));
  
        /* Check for special values: not a number or infinity.  */
        if (isnanq (fpnum.value))
diff -Nrcpad gcc-11.4.0/libsanitizer/ChangeLog gcc-11.5.0/libsanitizer/ChangeLog
*** gcc-11.4.0/libsanitizer/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libsanitizer/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libssp/ChangeLog gcc-11.5.0/libssp/ChangeLog
*** gcc-11.4.0/libssp/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libssp/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libstdc++-v3/ChangeLog gcc-11.5.0/libstdc++-v3/ChangeLog
*** gcc-11.4.0/libstdc++-v3/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libstdc++-v3/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,750 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
+ 2024-07-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-04-29  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/105417
+ 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
+ 	Regenerate.
+ 	* src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
+ 	Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
+ 	symbols as aliases for corresponding symbols without abi-tag.
+ 
+ 2024-07-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-04-03  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/104606
+ 	* include/std/optional (operator<=>(const optional<T>&, const U&)):
+ 	Reverse order of three_way_comparable_with template arguments.
+ 	* testsuite/20_util/optional/relops/104606.cc: New test.
+ 
+ 2024-07-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/114401
+ 	* include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
+ 	release() on node handle instead of just zeroing its pointer.
+ 	(_Hashtable::_M_reinsert_node_multi): Likewise.
+ 	(_Hashtable::_M_merge_unique): Likewise.
+ 	* include/bits/node_handle.h (_Node_handle_common::release()):
+ 	New member function.
+ 	(_Node_handle_common::_Optional_alloc::_M_empty): Remove
+ 	unnecessary union member.
+ 	(_Node_handle_common): Declare _Hashtable as a friend.
+ 	* include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
+ 	Call release() on node handle instead of just zeroing its
+ 	pointer.
+ 	(_Rb_tree::_M_reinsert_node_equal): Likewise.
+ 	(_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
+ 	(_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
+ 	* testsuite/23_containers/multiset/modifiers/114401.cc: New test.
+ 	* testsuite/23_containers/set/modifiers/114401.cc: New test.
+ 	* testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
+ 	* testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.
+ 
+ 2024-06-27  Martin Liska  <mliska@suse.cz>
+ 
+ 	Backported from master:
+ 	2022-01-27  Martin Liska  <mliska@suse.cz>
+ 
+ 	PR libstdc++/104259
+ 	* acinclude.m4: Fix typo.
+ 	* configure: Regenerate.
+ 
+ 2024-06-25  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/xml/manual/status_cxx2023.xml: Change reference from
+ 	mainline GCC to the release branch.
+ 	* doc/html/manual/status.html: Regenerate.
+ 
+ 2024-06-21  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-06-21  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/115575
+ 	* testsuite/experimental/simd/pr115454_find_last_set.cc: Require
+ 	avx512f_runtime. Don't memcpy fixed_size masks.
+ 
+ 2024-06-20  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-06-20  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/115454
+ 	* include/experimental/bits/simd_x86.h (_S_not_equal_to): Use
+ 	neq comparison instead of bitwise negation after eq.
+ 	(_S_find_last_set): Clear unused high bits before computing
+ 	bit_width.
+ 	* testsuite/experimental/simd/pr115454_find_last_set.cc: New
+ 	test.
+ 
+ 2024-06-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/115269
+ 	* doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
+ 	Replace list of -std=... options with a single entry for -std.
+ 	* doc/html/manual/using.html: Regenerate.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-04-22  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/114803
+ 	* include/experimental/bits/simd_builtin.h
+ 	(_SimdBase2::operator __vector_type_t): There is no __builtin()
+ 	function in _SimdWrapper, instead use its conversion operator.
+ 	* testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New
+ 	test.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-04-22  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/simd.h: Ignore -Wnarrowing for
+ 	arm_neon.h.
+ 	(__int_for_sizeof): Replace tautological compare with checking
+ 	for invalid template parameter value.
+ 	* include/experimental/bits/simd_builtin.h (__extract_part):
+ 	Remove tautological compare by combining two static_assert.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-04-17  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/numeric_traits.h: Add include guard.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-04-17  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/114750
+ 	* include/experimental/bits/simd_builtin.h
+ 	(_SimdImplBuiltin::_S_load, _S_store): Fall back to copying
+ 	scalars if the memory type cannot be vectorized for the target.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-03-27  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/simd_x86.h (_S_masked_unary):
+ 	Cast inputs < 16 bytes to 16 byte vectors before calling the
+ 	right subtraction builtin. Before returning, truncate to the
+ 	return vector type.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2024-03-27  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/simd_x86.h (_S_masked_unary): Call
+ 	the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
+ 	rounding direction argument.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-06-06  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/109822
+ 	* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
+ 	to avoid casts to other vector types. Implement store as
+ 	succession of power-of-2 sized memcpy to avoid PR90424.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-06-06  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/110054
+ 	* include/experimental/bits/simd_builtin.h (_S_masked_store):
+ 	Call into deduced ABI's SimdImpl after conversion.
+ 	* include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
+ 	Don't use _mm_maskmoveu_si128. Use the generic fall-back
+ 	implementation. Also fix masked stores without SSE2, which
+ 	were not doing anything before.
+ 
+ 2024-05-10  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-06-06  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/simd.h (__bit_cast): Use
+ 	__gnu__::__vector_size__ instead of gnu::vector_size.
+ 
+ 2024-05-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-03-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/114147
+ 	* include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
+ 	Add missing overload of allocator-extended default constructor.
+ 	(tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
+ 	* testsuite/20_util/tuple/cons/114147.cc: New test.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-02-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 		    Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR target/112397
+ 	* configure: Regenerate.
+ 	* configure.ac: Detect if we are building for Darwin.
+ 	* libsupc++/Makefile.am: If we are building for Darwin, then
+ 	suppress hot/cold partitioning for the array allocators.
+ 	* libsupc++/Makefile.in: Regenerated.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
+ 	option for the path to the uninstalled libatomic.
+ 
+ 2024-04-29  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
+ 	/dev/null, use a temporary file for test executables on Darwin.
+ 
+ 2024-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2022-12-04  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* config/os/bsd/darwin/os_defines.h
+ 	(_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro
+ 	to OS versions that need it.
+ 
+ 2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2023-07-03  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* testsuite/lib/libstdc++.exp: Remove additional flag handled
+ 	by Darwin specs.
+ 
+ 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
+ 
+ 	PR libstdc++/113250
+ 	* src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
+ 	* src/filesystem/ops.cc (fs::equivalent): Likewise.
+ 	* testsuite/27_io/filesystem/operations/equivalent.cc: Handle
+ 	error codes.
+ 	* testsuite/experimental/filesystem/operations/equivalent.cc:
+ 	Likewise.
+ 
+ 2024-01-03  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-03  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR testsuite/113175
+ 	* testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
+ 	'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
+ 	(test03): Likewise.
+ 
+ 2023-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-10-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
+ 	Initialize stream to va_arg(ap, FILE*) rather than 0.
+ 	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
+ 	Likewise.
+ 
+ 2023-12-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/debug/stl_iterator.h (__valid_range): Add constexpr
+ 	for C++20. Qualify call to avoid ADL.
+ 	(__get_distance, __can_advance, __unsafe, __base): Likewise.
+ 	* testsuite/25_algorithms/move/constexpr.cc: Also check with
+ 	std::reverse_iterator arguments.
+ 
+ 2023-12-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/112314
+ 	* include/std/string_view (string_view::remove_suffix): Add
+ 	debug assertion.
+ 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
+ 	New test.
+ 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
+ 	New test.
+ 
+ 2023-12-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/utility (in_range): Rename _Up parameter to _Res.
+ 
+ 2023-11-15  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-15  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/112491
+ 	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
+ 	Correctly handle unused capacity at the start of the first node.
+ 	* testsuite/libstdc++-xmethods/deque.cc: Check index operator
+ 	when elements have been removed from the front.
+ 
+ 2023-11-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-11-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/112491
+ 	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
+ 	calculation to use _M_start._M_cur.
+ 	* testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
+ 
+ 2023-11-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-28  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* python/libstdcxx/v6/printers.py: Break long lines. Use raw
+ 	strings for regular expressions. Add whitespace around
+ 	operators.
+ 	(is_member_of_namespace): Use isinstance to check type.
+ 	(is_specialization_of): Likewise. Adjust template_name
+ 	for versioned namespace instead of duplicating the re.match
+ 	call.
+ 	(StdExpAnyPrinter._string_types): New static method.
+ 	(StdExpAnyPrinter.to_string): Use _string_types.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
+ 	Add -O2 to dg-options.
+ 	* testsuite/20_util/integer_comparisons/greater_neg.cc:
+ 	Likewise.
+ 	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
+ 	Likewise.
+ 	* testsuite/lib/prune.exp: Prune 'in constexpr expansion'.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/27_io/filesystem/iterators/97731.cc: New test.
+ 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
+ 	Check follow_directory_symlink option.
+ 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
+ 	Likewise.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-06-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/108178
+ 	* src/filesystem/ops-common.h (do_copy_file): Check for empty
+ 	files by trying to read a character.
+ 	* testsuite/27_io/filesystem/operations/copy_file_108178.cc:
+ 	New test.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-06-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
+ 	close-on-exec flag on file descriptors.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-03-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
+ 	formatting.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-02-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/ops-common.h [AVR] (__unsupported): Always use
+ 	errc::function_not_supported instead of errc::not_supported.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-06-28  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
+ 	Always store pathname if we don't have openat or unlinkat,
+ 	because the full path is needed to open sub-directories and
+ 	remove entries.
+ 
+ 2023-10-04  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	Backported from master:
+ 	2022-06-27  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
+ 	_GLIBCXX_HAVE_OPENAT.
+ 
+ 2023-10-04  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	Backported from master:
+ 	2022-06-24  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
+ 	openat.
+ 	* configure, config.h.in: Rebuilt.
+ 	* src/filesystem/dir-common.h (openat): Use ::openat if
+ 	_GLIBCXX_HAVE_OPENAT.
+ 	* src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
+ 	_GLIBCXX_HAVE_OPENAT.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
+ 	when <dirent.h> is not available.
+ 	(_GLIBCXX_HAVE_UNLINKAT):  Likewise.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-08  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
+ 	parameter to _Dir_base&&.
+ 	* src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
+ 	* src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
+ 	parameter to _Dir_base&&.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-08  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/104161
+ 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
+ 	[i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
+ 	instead of checking for errno values indicating a directory.
+ 	* src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
+ 	logic to non-throwing overload.
+ 	(fs::remove_all(const path&, error_code&)): Add comments.
+ 	* src/filesystem/ops-common.h: Likewise.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/dir-common.h (_Dir_base::openat): Change return
+ 	type to use portable posix::DIR alias.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/104161
+ 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
+ 	and unlinkat.
+ 	* config.h.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* include/bits/fs_dir.h (recursive_directory_iterator): Declare
+ 	remove_all overloads as friends.
+ 	(recursive_directory_iterator::__erase): Declare new member
+ 	function.
+ 	* include/bits/fs_fwd.h (remove, remove_all): Declare.
+ 	* src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
+ 	constructor. Pass file descriptor argument to base constructor.
+ 	(_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
+ 	(_Dir::unlink, _Dir::rmdir): Define new member functions.
+ 	(directory_iterator): Pass filename_only argument to _Dir
+ 	constructor.
+ 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
+ 	parameters to take a _Dir rvalue instead of creating one.
+ 	(_Dir_stack::orig): Add data member for storing original path.
+ 	(_Dir_stack::report_error): Define new member function.
+ 	(__directory_iterator_nofollow): Move here from dir-common.h and
+ 	fix value to be a power of two.
+ 	(__directory_iterator_filename_only): Define new constant.
+ 	(recursive_directory_iterator): Construct _Dir object and move
+ 	into _M_dirs stack. Pass skip_permission_denied argument to first
+ 	advance call.
+ 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
+ 	(recursive_directory_iterator::__erase): Define new member
+ 	function.
+ 	* src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
+ 	(fs::remove_all): Use new recursive_directory_iterator::__erase
+ 	member function.
+ 	* src/filesystem/dir-common.h (_Dir_base): Add int parameter to
+ 	constructor and use openat to implement nofollow semantics.
+ 	(_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
+ 	Define new member functions.
+ 	(__directory_iterator_nofollow): Move to fs_dir.cc.
+ 	* src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
+ 	base constructor.
+ 	(_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
+ 	functions.
+ 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
+ 	parameters to take a _Dir rvalue instead of creating one.
+ 	(recursive_directory_iterator): Check for new nofollow option.
+ 	Construct _Dir object and move into _M_dirs stack. Pass
+ 	skip_permission_denied argument to first advance call.
+ 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
+ 	* src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-01-25  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/104161
+ 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
+ 	fdopendir.
+ 	* config.h.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
+ 	and pass it to base class constructor.
+ 	(directory_iterator): Pass nofollow flag to _Dir constructor.
+ 	(fs::recursive_directory_iterator::increment): Likewise.
+ 	* src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
+ 	directory_iterator constructor. Move error check outside loop.
+ 	* src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
+ 	constructor and when it's set use ::open with O_NOFOLLOW and
+ 	O_DIRECTORY.
+ 	* src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
+ 	and pass it to base class constructor.
+ 	(directory_iterator): Pass nofollow flag to _Dir constructor.
+ 	(fs::recursive_directory_iterator::increment): Likewise.
+ 	* src/filesystem/ops.cc (remove_all): Use nofollow option for
+ 	directory_iterator constructor. Move error check outside loop.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.
+ 	* src/filesystem/ops-common.h (__last_system_error): Add
+ 	explicit cast to avoid narrowing conversion.
+ 	(do_space): Fix type in function name.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/99327
+ 	* src/filesystem/ops-common.h (__unsupported): New function to
+ 	return a suitable error code for missing functionality.
+ 	(posix::off_t): New typedef.
+ 	(posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
+ 	fallback implementations.
+ 	(do_copy_file): Replace uses of errc::not_supported.
+ 	* src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
+ 	(fs::create_directory, fs::create_directory_symlink)
+ 	(fs::create_hard_link, fs::create_symlink, fs::current_path)
+ 	(fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
+ 	(fs::last_write_time, fs::permissions, fs::read_symlink):
+ 	Replace uses of errc::not_supported.
+ 	(fs::resize_file): Qualify off_t.
+ 	* src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
+ 	(fs::create_directory, fs::create_directory_symlink)
+ 	(fs::create_hard_link, fs::create_symlink, fs::current_path)
+ 	(fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
+ 	(fs::permissions, fs::read_symlink, fs::system_complete):
+ 	Replace uses of errc::not_supported.
+ 	(fs::resize_file): Qualify off_t and enable unconditionally.
+ 	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/filesystem/ops-common.h (last_error): New helper function.
+ 	(filesystem::do_space): Use last_error().
+ 	* src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
+ 	(fs::equivalent, fs::remove, fs::temp_directory_path): Use
+ 	last_error().
+ 	* src/filesystem/ops.cc (fs::create_hard_link)
+ 	(fs::remove, fs::temp_directory_path): Likewise.
+ 
+ 2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Revert:
+ 	2023-03-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++17/fs_ops.cc [AVR] (not_supported): Define as a macro
+ 	for function_not_supported.
+ 	* src/filesystem/ops-common.h [AVR] (ENOTSUP): Define as a macro
+ 	for ENOSYS.
+ 
+ 2023-10-02  Tim Song  <t.canens.cpp@gmail.com>
+ 
+ 	Backported from master:
+ 	2023-09-28  Tim Song  <t.canens.cpp@gmail.com>
+ 
+ 	PR libstdc++/111050
+ 	* include/bits/hashtable_policy.h
+ 	(_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
+ 	Add [[__gnu__::__always_inline__]].
+ 
+ 2023-09-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-08-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/experimental/bits/fs_path.h (path::string): Use
+ 	_GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
+ 	* include/std/charconv (__to_chars_8): Initialize variable for
+ 	C++17 constexpr rules.
+ 
+ 2023-09-26  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-25  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/111511
+ 	PR c++/111512
+ 	* include/std/array (to_array): Qualify calls to __to_array.
+ 	* testsuite/23_containers/array/creation/111512.cc: New test.
+ 
+ 2023-09-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-09-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR c++/111357
+ 	* include/std/utility (make_integer_sequence): Add cast.
+ 	* testsuite/20_util/integer_sequence/pr111357.cc: New test.
+ 
+ 2023-07-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-07-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/95048
+ 	* testsuite/27_io/filesystem/path/construct/95048.cc: Check
+ 	conversions to wide strings.
+ 	* testsuite/experimental/filesystem/path/construct/95048.cc:
+ 	Likewise.
+ 
+ 2023-07-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-11-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/95048
+ 	* include/bits/fs_path.h (path::_Codecvt): New class template
+ 	that selects the kind of code conversion done.
+ 	(path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
+ 	(_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
+ 	be used for Windows and POSIX.
+ 	(path::_S_convert(const EcharT*, const EcharT*)): Simplify by
+ 	using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
+ 	(path::_S_str_convert(basic_string_view<value_type>, const A&)):
+ 	Simplify nested conditions.
+ 	* include/experimental/bits/fs_path.h (path::_Cvt): Define
+ 	nested typedef controlling type of code conversion done.
+ 	(path::_Cvt::_S_wconvert): Use new typedef.
+ 	(path::string(const A&)): Likewise.
+ 	* testsuite/27_io/filesystem/path/construct/95048.cc: New test.
+ 	* testsuite/experimental/filesystem/path/construct/95048.cc: New
+ 	test.
+ 
+ 2023-06-23  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2023-06-01  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/xml/manual/evolution.xml: Document removal of implicit
+ 	allocator rebinding extensions in strict mode and for C++20.
+ 	* doc/html/*: Regenerate.
+ 
+ 2023-06-23  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2022-03-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/104242
+ 	* include/std/any (any(T&&)): Revert change to constraints.
+ 	* testsuite/20_util/any/cons/104242.cc: New test.
+ 
+ 2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	PR libstdc++/109822
+ 	* include/experimental/bits/simd.h (to_native): Use int NTTP
+ 	as specified in PTS2.
+ 	(to_compatible): Likewise. Add missing tag to call mask
+ 	generator ctor.
+ 	* testsuite/experimental/simd/pr109822_cast_functions.cc: New
+ 	test.
+ 
+ 2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* testsuite/experimental/simd/tests/integer_operators.cc:
+ 	Compute expected value differently to avoid getting turned into
+ 	a vector shift.
+ 
+ 2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* testsuite/experimental/simd/tests/operator_cvt.cc: Make long
+ 	double <-> (u)long conversion tests conditional on sizeof(long
+ 	double) and sizeof(long).
+ 
+ 2023-05-30  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	Backported from master:
+ 	2023-05-26  Matthias Kretz  <m.kretz@gsi.de>
+ 
+ 	* include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
+ 	Negative __y is UB, so prefer signed compare.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/libstdc++-v3/acinclude.m4 gcc-11.5.0/libstdc++-v3/acinclude.m4
*** gcc-11.4.0/libstdc++-v3/acinclude.m4	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/acinclude.m4	Fri Jul 19 05:52:47 2024
*************** dnl
*** 4826,4831 ****
--- 4826,4880 ----
    fi
    AC_MSG_RESULT($glibcxx_cv_truncate)
  dnl
+   AC_CACHE_CHECK([for fdopendir],
+     glibcxx_cv_fdopendir, [dnl
+     GCC_TRY_COMPILE_OR_LINK(
+       [#include <dirent.h>],
+       [::DIR* dir = ::fdopendir(1);],
+       [glibcxx_cv_fdopendir=yes],
+       [glibcxx_cv_fdopendir=no])
+   ])
+   if test $glibcxx_cv_fdopendir = yes; then
+     AC_DEFINE(HAVE_FDOPENDIR, 1, [Define if fdopendir is available in <dirent.h>.])
+   fi
+ dnl
+   AC_CACHE_CHECK([for dirfd],
+     glibcxx_cv_dirfd, [dnl
+     GCC_TRY_COMPILE_OR_LINK(
+       [#include <dirent.h>],
+       [int fd = ::dirfd((::DIR*)0);],
+       [glibcxx_cv_dirfd=yes],
+       [glibcxx_cv_dirfd=no])
+   ])
+   if test $glibcxx_cv_dirfd = yes; then
+     AC_DEFINE(HAVE_DIRFD, 1, [Define if dirfd is available in <dirent.h>.])
+   fi
+ dnl
+   AC_CACHE_CHECK([for openat],
+     glibcxx_cv_openat, [dnl
+     GCC_TRY_COMPILE_OR_LINK(
+       [#include <fcntl.h>],
+       [int fd = ::openat(AT_FDCWD, "", 0);],
+       [glibcxx_cv_openat=yes],
+       [glibcxx_cv_openat=no])
+   ])
+   if test $glibcxx_cv_openat = yes; then
+     AC_DEFINE(HAVE_OPENAT, 1, [Define if openat is available in <fcntl.h>.])
+   fi
+ dnl
+   AC_CACHE_CHECK([for unlinkat],
+     glibcxx_cv_unlinkat, [dnl
+     GCC_TRY_COMPILE_OR_LINK(
+       [#include <fcntl.h>
+        #include <unistd.h>],
+       [::unlinkat(AT_FDCWD, "", AT_REMOVEDIR);],
+       [glibcxx_cv_unlinkat=yes],
+       [glibcxx_cv_unlinkat=no])
+   ])
+   if test $glibcxx_cv_unlinkat = yes; then
+     AC_DEFINE(HAVE_UNLINKAT, 1, [Define if unlinkat is available in <fcntl.h>.])
+   fi
+ dnl
    CXXFLAGS="$ac_save_CXXFLAGS"
    AC_LANG_RESTORE
  ])
diff -Nrcpad gcc-11.4.0/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt gcc-11.5.0/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
*** gcc-11.4.0/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt	Fri Jul 19 05:52:47 2024
*************** FUNC:_ZNKSt15basic_streambufIwSt11char_t
*** 548,553 ****
--- 548,559 ----
  FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
  FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
  FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
*************** FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIc
*** 579,584 ****
--- 585,596 ----
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+ FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
  FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
diff -Nrcpad gcc-11.4.0/libstdc++-v3/config/os/bsd/darwin/os_defines.h gcc-11.5.0/libstdc++-v3/config/os/bsd/darwin/os_defines.h
*** gcc-11.4.0/libstdc++-v3/config/os/bsd/darwin/os_defines.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/config/os/bsd/darwin/os_defines.h	Fri Jul 19 05:52:47 2024
***************
*** 39,46 ****
  // -flat_namespace to work around the way that it doesn't.
  #define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
  
! // Static initializer macro is buggy in darwin, see libstdc++/51906
  #define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC
  
  // Configure checks for nanosleep fail on Darwin, but nanosleep and
  // sched_yield are always available, so use them.
--- 39,50 ----
  // -flat_namespace to work around the way that it doesn't.
  #define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
  
! #if defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
!      && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1080)
! // Static initializer macro is absent for Darwin < 11 and buggy in Darwin 11,
! // see libstdc++/51906.  Fixed in Darwin 12 (OS X 10.8).
  #define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC
+ #endif
  
  // Configure checks for nanosleep fail on Darwin, but nanosleep and
  // sched_yield are always available, so use them.
diff -Nrcpad gcc-11.4.0/libstdc++-v3/config.h.in gcc-11.5.0/libstdc++-v3/config.h.in
*** gcc-11.4.0/libstdc++-v3/config.h.in	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/config.h.in	Fri Jul 19 05:52:47 2024
***************
*** 66,71 ****
--- 66,74 ----
  /* Define to 1 if you have the <dirent.h> header file. */
  #undef HAVE_DIRENT_H
  
+ /* Define if dirfd is available in <dirent.h>. */
+ #undef HAVE_DIRFD
+ 
  /* Define to 1 if you have the <dlfcn.h> header file. */
  #undef HAVE_DLFCN_H
  
***************
*** 93,98 ****
--- 96,104 ----
  /* Define to 1 if you have the <fcntl.h> header file. */
  #undef HAVE_FCNTL_H
  
+ /* Define if fdopendir is available in <dirent.h>. */
+ #undef HAVE_FDOPENDIR
+ 
  /* Define to 1 if you have the <fenv.h> header file. */
  #undef HAVE_FENV_H
  
***************
*** 282,287 ****
--- 288,296 ----
  /* Define if <math.h> defines obsolete isnan function. */
  #undef HAVE_OBSOLETE_ISNAN
  
+ /* Define if openat is available in <fcntl.h>. */
+ #undef HAVE_OPENAT
+ 
  /* Define if poll is available in <poll.h>. */
  #undef HAVE_POLL
  
***************
*** 476,481 ****
--- 485,493 ----
  /* Define to 1 if you have the <unistd.h> header file. */
  #undef HAVE_UNISTD_H
  
+ /* Define if unlinkat is available in <fcntl.h>. */
+ #undef HAVE_UNLINKAT
+ 
  /* Define to 1 if you have the `uselocale' function. */
  #undef HAVE_USELOCALE
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/configure gcc-11.5.0/libstdc++-v3/configure
*** gcc-11.4.0/libstdc++-v3/configure	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/configure	Fri Jul 19 05:52:47 2024
*************** GLIBCXX_HOSTED_TRUE
*** 776,781 ****
--- 776,783 ----
  glibcxx_compiler_shared_flag
  glibcxx_compiler_pic_flag
  glibcxx_lt_pic_flag
+ OS_IS_DARWIN_FALSE
+ OS_IS_DARWIN_TRUE
  enable_static
  enable_shared
  lt_host_flags
*************** else
*** 12176,12182 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 12179 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 12178,12184 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 12181 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** else
*** 12282,12288 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 12285 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 12284,12290 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 12287 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** esac
*** 15564,15569 ****
--- 15566,15585 ----
  
  
  
+ os_is_darwin=no
+ case ${host_os} in
+   darwin*) os_is_darwin=yes ;;
+   *) ;;
+ esac
+  if test x${os_is_darwin} = xyes; then
+   OS_IS_DARWIN_TRUE=
+   OS_IS_DARWIN_FALSE='#'
+ else
+   OS_IS_DARWIN_TRUE='#'
+   OS_IS_DARWIN_FALSE=
+ fi
+ 
+ 
  if test "$enable_vtable_verify" = yes; then
    predep_objects_CXX="${predep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_start.o"
    postdep_objects_CXX="${postdep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_end.o"
*************** $as_echo "$glibcxx_cv_atomic_long_long"
*** 15964,15970 ****
    # Fake what AC_TRY_COMPILE does.
  
      cat > conftest.$ac_ext << EOF
! #line 15967 "configure"
  int main()
  {
    typedef bool atomic_type;
--- 15980,15986 ----
    # Fake what AC_TRY_COMPILE does.
  
      cat > conftest.$ac_ext << EOF
! #line 15983 "configure"
  int main()
  {
    typedef bool atomic_type;
*************** $as_echo "$glibcxx_cv_atomic_bool" >&6;
*** 15999,16005 ****
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16002 "configure"
  int main()
  {
    typedef short atomic_type;
--- 16015,16021 ----
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16018 "configure"
  int main()
  {
    typedef short atomic_type;
*************** $as_echo "$glibcxx_cv_atomic_short" >&6;
*** 16034,16040 ****
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16037 "configure"
  int main()
  {
    // NB: _Atomic_word not necessarily int.
--- 16050,16056 ----
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16053 "configure"
  int main()
  {
    // NB: _Atomic_word not necessarily int.
*************** $as_echo "$glibcxx_cv_atomic_int" >&6; }
*** 16070,16076 ****
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16073 "configure"
  int main()
  {
    typedef long long atomic_type;
--- 16086,16092 ----
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16089 "configure"
  int main()
  {
    typedef long long atomic_type;
*************** $as_echo "mutex" >&6; }
*** 16223,16229 ****
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
! #line 16226 "configure"
  int main()
  {
    _Decimal32 d1;
--- 16239,16245 ----
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
! #line 16242 "configure"
  int main()
  {
    _Decimal32 d1;
*************** ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
*** 16265,16271 ****
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
! #line 16268 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
--- 16281,16287 ----
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
! #line 16284 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
*************** $as_echo "$enable_int128" >&6; }
*** 16299,16305 ****
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16302 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
--- 16315,16321 ----
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
! #line 16318 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
*************** $as_echo "#define HAVE_TRUNCATE 1" >>con
*** 76785,76790 ****
--- 76801,77028 ----
    fi
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_truncate" >&5
  $as_echo "$glibcxx_cv_truncate" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdopendir" >&5
+ $as_echo_n "checking for fdopendir... " >&6; }
+ if ${glibcxx_cv_fdopendir+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+       if test x$gcc_no_link = xyes; then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <dirent.h>
+ int
+ main ()
+ {
+ ::DIR* dir = ::fdopendir(1);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+   glibcxx_cv_fdopendir=yes
+ else
+   glibcxx_cv_fdopendir=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+   if test x$gcc_no_link = xyes; then
+   as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <dirent.h>
+ int
+ main ()
+ {
+ ::DIR* dir = ::fdopendir(1);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+   glibcxx_cv_fdopendir=yes
+ else
+   glibcxx_cv_fdopendir=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ fi
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_fdopendir" >&5
+ $as_echo "$glibcxx_cv_fdopendir" >&6; }
+   if test $glibcxx_cv_fdopendir = yes; then
+ 
+ $as_echo "#define HAVE_FDOPENDIR 1" >>confdefs.h
+ 
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirfd" >&5
+ $as_echo_n "checking for dirfd... " >&6; }
+ if ${glibcxx_cv_dirfd+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+       if test x$gcc_no_link = xyes; then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <dirent.h>
+ int
+ main ()
+ {
+ int fd = ::dirfd((::DIR*)0);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+   glibcxx_cv_dirfd=yes
+ else
+   glibcxx_cv_dirfd=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+   if test x$gcc_no_link = xyes; then
+   as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <dirent.h>
+ int
+ main ()
+ {
+ int fd = ::dirfd((::DIR*)0);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+   glibcxx_cv_dirfd=yes
+ else
+   glibcxx_cv_dirfd=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ fi
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_dirfd" >&5
+ $as_echo "$glibcxx_cv_dirfd" >&6; }
+   if test $glibcxx_cv_dirfd = yes; then
+ 
+ $as_echo "#define HAVE_DIRFD 1" >>confdefs.h
+ 
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openat" >&5
+ $as_echo_n "checking for openat... " >&6; }
+ if ${glibcxx_cv_openat+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+       if test x$gcc_no_link = xyes; then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <fcntl.h>
+ int
+ main ()
+ {
+ int fd = ::openat(AT_FDCWD, "", 0);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+   glibcxx_cv_openat=yes
+ else
+   glibcxx_cv_openat=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+   if test x$gcc_no_link = xyes; then
+   as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <fcntl.h>
+ int
+ main ()
+ {
+ int fd = ::openat(AT_FDCWD, "", 0);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+   glibcxx_cv_openat=yes
+ else
+   glibcxx_cv_openat=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ fi
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_openat" >&5
+ $as_echo "$glibcxx_cv_openat" >&6; }
+   if test $glibcxx_cv_openat = yes; then
+ 
+ $as_echo "#define HAVE_OPENAT 1" >>confdefs.h
+ 
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unlinkat" >&5
+ $as_echo_n "checking for unlinkat... " >&6; }
+ if ${glibcxx_cv_unlinkat+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+       if test x$gcc_no_link = xyes; then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <fcntl.h>
+        #include <unistd.h>
+ int
+ main ()
+ {
+ ::unlinkat(AT_FDCWD, "", AT_REMOVEDIR);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+   glibcxx_cv_unlinkat=yes
+ else
+   glibcxx_cv_unlinkat=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+   if test x$gcc_no_link = xyes; then
+   as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <fcntl.h>
+        #include <unistd.h>
+ int
+ main ()
+ {
+ ::unlinkat(AT_FDCWD, "", AT_REMOVEDIR);
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+   glibcxx_cv_unlinkat=yes
+ else
+   glibcxx_cv_unlinkat=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ fi
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_unlinkat" >&5
+ $as_echo "$glibcxx_cv_unlinkat" >&6; }
+   if test $glibcxx_cv_unlinkat = yes; then
+ 
+ $as_echo "#define HAVE_UNLINKAT 1" >>confdefs.h
+ 
+   fi
    CXXFLAGS="$ac_save_CXXFLAGS"
    ac_ext=c
  ac_cpp='$CPP $CPPFLAGS'
*************** if test -z "${MAINTAINER_MODE_TRUE}" &&
*** 78222,78227 ****
--- 78460,78469 ----
    as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
+ if test -z "${OS_IS_DARWIN_TRUE}" && test -z "${OS_IS_DARWIN_FALSE}"; then
+   as_fn_error $? "conditional \"OS_IS_DARWIN\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
  if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
    as_fn_error $? "conditional \"GLIBCXX_HOSTED\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff -Nrcpad gcc-11.4.0/libstdc++-v3/configure.ac gcc-11.5.0/libstdc++-v3/configure.ac
*** gcc-11.4.0/libstdc++-v3/configure.ac	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/configure.ac	Fri Jul 19 05:52:47 2024
*************** ACX_LT_HOST_FLAGS
*** 98,103 ****
--- 98,110 ----
  AC_SUBST(enable_shared)
  AC_SUBST(enable_static)
  
+ os_is_darwin=no
+ case ${host_os} in
+   darwin*) os_is_darwin=yes ;;
+   *) ;;
+ esac
+ AM_CONDITIONAL([OS_IS_DARWIN], [test x${os_is_darwin} = xyes])
+ 
  if test "$enable_vtable_verify" = yes; then
    predep_objects_CXX="${predep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_start.o"
    postdep_objects_CXX="${postdep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_end.o"
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/html/manual/api.html gcc-11.5.0/libstdc++-v3/doc/html/manual/api.html
*** gcc-11.4.0/libstdc++-v3/doc/html/manual/api.html	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/html/manual/api.html	Fri Jul 19 05:52:47 2024
*************** now defaults to zero.
*** 368,373 ****
--- 368,378 ----
    For the non-default <code class="option">--enable-symvers=gnu-versioned-namespace</code>
    configuration, the shared library SONAME has been changed to
    <code class="filename">libstdc++.so.8</code>.
+ </p><p>
+   The extension allowing containers to be instantiated with an allocator
+   that doesn't match the container's value type is no longer allowed in
+   strict (<code class="option">-std=c++NN</code>) modes, only in
+   <code class="option">-std=gnu++NN</code> modes.
  </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_91"></a><code class="constant">9</code></h3></div></div></div><p>
    C++17 header
    <code class="filename">&lt;memory_resource&gt;</code>
*************** now defaults to zero.
*** 423,428 ****
--- 428,437 ----
    and
    <code class="filename">&lt;stop_token&gt;</code>
    added.
+ </p><p>
+   The extension allowing containers to be instantiated with an allocator
+   that doesn't match the container's value type is no longer allowed in
+   C++20 mode, even in non-strict <code class="option">-std=gnu++20</code> mode.
  </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_111"></a><code class="constant">11</code></h3></div></div></div><p>
    The <code class="option">--enable-cheaders=c_std</code> configuration
    was deprecated.
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/html/manual/status.html gcc-11.5.0/libstdc++-v3/doc/html/manual/status.html
*** gcc-11.4.0/libstdc++-v3/doc/html/manual/status.html	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/html/manual/status.html	Fri Jul 19 05:52:47 2024
*************** options. The pre-defined symbol
*** 1702,1709 ****
  <code class="constant">__cplusplus</code> is used to check for the
  presence of the required flag.
  </p><p>
! This section describes the C++23 and library TS support in mainline GCC,
! not in any particular release.
  </p><p>
  The following table lists new library features that have been accepted into
  the C++23 working draft. The "Proposal" column provides a link to the
--- 1702,1708 ----
  <code class="constant">__cplusplus</code> is used to check for the
  presence of the required flag.
  </p><p>
! This section describes the C++23 and library TS support in the GCC 11 release series.
  </p><p>
  The following table lists new library features that have been accepted into
  the C++23 working draft. The "Proposal" column provides a link to the
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/html/manual/using.html gcc-11.5.0/libstdc++-v3/doc/html/manual/using.html
*** gcc-11.4.0/libstdc++-v3/doc/html/manual/using.html	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/html/manual/using.html	Fri Jul 19 05:52:47 2024
***************
*** 4,10 ****
    
  </th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT allocators</a></span></dt></dl></dd><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
        The set of features available in the GNU C++ library is shaped by
!       several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html" target="_top">GCC
        Command Options</a>. Options that impact libstdc++ are
        enumerated and detailed in the table below.
      </p><p>
--- 4,10 ----
    
  </th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.memory.mtalloc">Non-memory leaks in Pool and MT allocators</a></span></dt></dl></dd><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
        The set of features available in the GNU C++ library is shaped by
!       several <a class="link" href="https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Invoking-GCC.html" target="_top">GCC
        Command Options</a>. Options that impact libstdc++ are
        enumerated and detailed in the table below.
      </p><p>
***************
*** 14,22 ****
        <span class="command"><strong>g++ -std=gnu++17</strong></span> since GCC 11, and
        <span class="command"><strong>g++ -std=gnu++14</strong></span> in GCC 6, 7, 8, 9, and 10, and
        <span class="command"><strong>g++ -std=gnu++98</strong></span> for older releases.
!     </p><div class="table"><a id="table.cmd_options"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table class="table" summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code> or <code class="literal">-std=c++03</code>
!       </td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code> or <code class="literal">-std=gnu++03</code>
!       </td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++14</code></td><td align="left">Use the 2014 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++14</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code></td><td align="left">For ISO C++11
          <code class="filename">&lt;thread&gt;</code>,
          <code class="filename">&lt;future&gt;</code>,
          <code class="filename">&lt;mutex&gt;</code>,
--- 14,24 ----
        <span class="command"><strong>g++ -std=gnu++17</strong></span> since GCC 11, and
        <span class="command"><strong>g++ -std=gnu++14</strong></span> in GCC 6, 7, 8, 9, and 10, and
        <span class="command"><strong>g++ -std=gnu++98</strong></span> for older releases.
!     </p><div class="table"><a id="table.cmd_options"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table class="table" summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std</code>
!       </td><td align="left">
! 	Select the C++ standard, and whether to use the base standard
! 	or GNU dialect.
!       </td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code></td><td align="left">For ISO C++11
          <code class="filename">&lt;thread&gt;</code>,
          <code class="filename">&lt;future&gt;</code>,
          <code class="filename">&lt;mutex&gt;</code>,
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/xml/manual/evolution.xml gcc-11.5.0/libstdc++-v3/doc/xml/manual/evolution.xml
*** gcc-11.4.0/libstdc++-v3/doc/xml/manual/evolution.xml	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/xml/manual/evolution.xml	Fri Jul 19 05:52:47 2024
*************** now defaults to zero.
*** 911,916 ****
--- 911,923 ----
    <filename>libstdc++.so.8</filename>.
  </para>
  
+ <para>
+   The extension allowing containers to be instantiated with an allocator
+   that doesn't match the container's value type is no longer allowed in
+   strict (<option>-std=c++NN</option>) modes, only in
+   <option>-std=gnu++NN</option> modes.
+ </para>
+ 
  </section>
  
  <section xml:id="api.rel_91"><info><title><constant>9</constant></title></info>
*************** now defaults to zero.
*** 994,999 ****
--- 1001,1012 ----
    added.
  </para>
  
+ <para>
+   The extension allowing containers to be instantiated with an allocator
+   that doesn't match the container's value type is no longer allowed in
+   C++20 mode, even in non-strict <option>-std=gnu++20</option> mode.
+ </para>
+ 
  </section>
  
  <section xml:id="api.rel_111"><info><title><constant>11</constant></title></info>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/xml/manual/status_cxx2023.xml gcc-11.5.0/libstdc++-v3/doc/xml/manual/status_cxx2023.xml
*** gcc-11.4.0/libstdc++-v3/doc/xml/manual/status_cxx2023.xml	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/xml/manual/status_cxx2023.xml	Fri Jul 19 05:52:47 2024
*************** presence of the required flag.
*** 20,27 ****
  </para>
  
  <para>
! This section describes the C++23 and library TS support in mainline GCC,
! not in any particular release.
  </para>
  
  <para>
--- 20,26 ----
  </para>
  
  <para>
! This section describes the C++23 and library TS support in the GCC 11 release series.
  </para>
  
  <para>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/doc/xml/manual/using.xml gcc-11.5.0/libstdc++-v3/doc/xml/manual/using.xml
*** gcc-11.4.0/libstdc++-v3/doc/xml/manual/using.xml	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/doc/xml/manual/using.xml	Fri Jul 19 05:52:47 2024
***************
*** 7,13 ****
  
      <para>
        The set of features available in the GNU C++ library is shaped by
!       several <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html">GCC
        Command Options</link>. Options that impact libstdc++ are
        enumerated and detailed in the table below.
      </para>
--- 7,13 ----
  
      <para>
        The set of features available in the GNU C++ library is shaped by
!       several <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Invoking-GCC.html">GCC
        Command Options</link>. Options that impact libstdc++ are
        enumerated and detailed in the table below.
      </para>
***************
*** 37,71 ****
  
    <tbody>
      <row>
!       <entry><literal>-std=c++98</literal> or <literal>-std=c++03</literal>
        </entry>
!       <entry>Use the 1998 ISO C++ standard plus amendments.</entry>
!     </row>
! 
!     <row>
!       <entry><literal>-std=gnu++98</literal> or <literal>-std=gnu++03</literal>
        </entry>
-       <entry>As directly above, with GNU extensions.</entry>
-     </row>
- 
-     <row>
-       <entry><literal>-std=c++11</literal></entry>
-       <entry>Use the 2011 ISO C++ standard.</entry>
-     </row>
- 
-     <row>
-       <entry><literal>-std=gnu++11</literal></entry>
-       <entry>As directly above, with GNU extensions.</entry>
-     </row>
- 
-     <row>
-       <entry><literal>-std=c++14</literal></entry>
-       <entry>Use the 2014 ISO C++ standard.</entry>
-     </row>
- 
-     <row>
-       <entry><literal>-std=gnu++14</literal></entry>
-       <entry>As directly above, with GNU extensions.</entry>
      </row>
  
      <row>
--- 37,48 ----
  
    <tbody>
      <row>
!       <entry><literal>-std</literal>
        </entry>
!       <entry>
! 	Select the C++ standard, and whether to use the base standard
! 	or GNU dialect.
        </entry>
      </row>
  
      <row>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/fs_dir.h gcc-11.5.0/libstdc++-v3/include/bits/fs_dir.h
*** gcc-11.4.0/libstdc++-v3/include/bits/fs_dir.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/fs_dir.h	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_CXX11
*** 537,542 ****
--- 537,550 ----
  
      struct _Dir_stack;
      std::__shared_ptr<_Dir_stack> _M_dirs;
+ 
+     recursive_directory_iterator&
+     __erase(error_code* = nullptr);
+ 
+     friend uintmax_t
+     filesystem::remove_all(const path&, error_code&);
+     friend uintmax_t
+     filesystem::remove_all(const path&);
    };
  
    /// @relates std::filesystem::recursive_directory_iterator @{
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/fs_fwd.h gcc-11.5.0/libstdc++-v3/include/bits/fs_fwd.h
*** gcc-11.4.0/libstdc++-v3/include/bits/fs_fwd.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/fs_fwd.h	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_END_NAMESPACE_CXX11
*** 354,359 ****
--- 354,363 ----
    bool is_regular_file(file_status) noexcept;
    bool is_symlink(file_status) noexcept;
  
+   bool remove(const path&, error_code&) noexcept;
+   uintmax_t remove_all(const path&);
+   uintmax_t remove_all(const path&, error_code&);
+ 
  /// @}
  } // namespace filesystem
  _GLIBCXX_END_NAMESPACE_VERSION
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/fs_path.h gcc-11.5.0/libstdc++-v3/include/bits/fs_path.h
*** gcc-11.4.0/libstdc++-v3/include/bits/fs_path.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/fs_path.h	Fri Jul 19 05:52:47 2024
*************** namespace __detail
*** 684,689 ****
--- 684,691 ----
      _List _M_cmpts;
  
      struct _Parser;
+ 
+     template<typename _EcharT> struct _Codecvt;
    };
  
    /// @{
*************** namespace __detail
*** 811,865 ****
      size_t _M_pos;
    };
  
    template<typename _EcharT>
      auto
      path::_S_convert(const _EcharT* __f, const _EcharT* __l)
      {
        static_assert(__detail::__is_encoded_char<_EcharT>);
  
        if constexpr (is_same_v<_EcharT, value_type>)
  	return basic_string_view<value_type>(__f, __l - __f);
! #if !defined _GLIBCXX_FILESYSTEM_IS_WINDOWS && defined _GLIBCXX_USE_CHAR8_T
        else if constexpr (is_same_v<_EcharT, char8_t>)
- 	// For POSIX converting from char8_t to char is also 'noconv'
- 	return string_view(reinterpret_cast<const char*>(__f), __l - __f);
- #endif
-       else
  	{
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
  	  std::wstring __wstr;
! 	  if constexpr (is_same_v<_EcharT, char>)
! 	    {
! 	      struct _UCvt : std::codecvt<wchar_t, char, std::mbstate_t>
! 	      { } __cvt;
! 	      if (__str_codecvt_in_all(__f, __l, __wstr, __cvt))
! 		return __wstr;
! 	    }
! #ifdef _GLIBCXX_USE_CHAR8_T
! 	  else if constexpr (is_same_v<_EcharT, char8_t>)
! 	    {
! 	      const auto __f2 = reinterpret_cast<const char*>(__f);
! 	      return __detail::__wstr_from_utf8(string_view(__f2, __l - __f));
! 	    }
  #endif
! 	  else // char16_t or char32_t
! 	    {
! 	      struct _UCvt : std::codecvt<_EcharT, char, std::mbstate_t>
! 	      { } __cvt;
! 	      std::string __str;
! 	      if (__str_codecvt_out_all(__f, __l, __str, __cvt))
! 		return __detail::__wstr_from_utf8(__str);
! 	    }
! #else // ! windows
! 	  struct _UCvt : std::codecvt<_EcharT, char, std::mbstate_t>
! 	  { } __cvt;
  	  std::string __str;
  	  if (__str_codecvt_out_all(__f, __l, __str, __cvt))
! 	    return __str;
! #endif
! 	  __detail::__throw_conversion_error();
  	}
      }
  
    /// @endcond
  
--- 813,884 ----
      size_t _M_pos;
    };
  
+   // path::_Codecvt<C> Performs conversions between C and path::string_type.
+   // The native encoding of char strings is the OS-dependent current
+   // encoding for pathnames. FIXME: We assume this is UTF-8 everywhere,
+   // but should use a Windows API to query it.
+ 
+   // Converts between native pathname encoding and char16_t or char32_t.
+   template<typename _EcharT>
+     struct path::_Codecvt
+     // Need derived class here because std::codecvt has protected destructor.
+     : std::codecvt<_EcharT, char, mbstate_t>
+     { };
+ 
+   // Converts between native pathname encoding and native wide encoding.
+   // The native encoding for wide strings is the execution wide-character
+   // set encoding. FIXME: We assume that this is either UTF-32 or UTF-16
+   // (depending on the width of wchar_t). That matches GCC's default,
+   // but can be changed with -fwide-exec-charset.
+   // We need a custom codecvt converting the native pathname encoding
+   // to/from the native wide encoding.
+   template<>
+     struct path::_Codecvt<wchar_t>
+     : conditional_t<sizeof(wchar_t) == sizeof(char32_t),
+ 		    std::codecvt_utf8<wchar_t>,       // UTF-8 <-> UTF-32
+ 		    std::codecvt_utf8_utf16<wchar_t>> // UTF-8 <-> UTF-16
+     { };
+ 
    template<typename _EcharT>
      auto
      path::_S_convert(const _EcharT* __f, const _EcharT* __l)
      {
        static_assert(__detail::__is_encoded_char<_EcharT>);
  
+ #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
+ # define _GLIBCXX_CONV_FROM_UTF8(S) __detail::__wstr_from_utf8(S)
+ #else
+ # define _GLIBCXX_CONV_FROM_UTF8(S) S
+ #endif
+ 
        if constexpr (is_same_v<_EcharT, value_type>)
  	return basic_string_view<value_type>(__f, __l - __f);
! #ifdef _GLIBCXX_USE_CHAR8_T
        else if constexpr (is_same_v<_EcharT, char8_t>)
  	{
+ 	  string_view __str(reinterpret_cast<const char*>(__f), __l - __f);
+ 	  return _GLIBCXX_CONV_FROM_UTF8(__str);
+ 	}
+ #endif
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
+       else if constexpr (is_same_v<_EcharT, char>)
+ 	{
  	  std::wstring __wstr;
! 	  path::_Codecvt<wchar_t> __cvt;
! 	  if (__str_codecvt_in_all(__f, __l, __wstr, __cvt))
! 	    return __wstr;
! 	}
  #endif
!       else
! 	{
! 	  path::_Codecvt<_EcharT> __cvt;
  	  std::string __str;
  	  if (__str_codecvt_out_all(__f, __l, __str, __cvt))
! 	    return _GLIBCXX_CONV_FROM_UTF8(__str);
  	}
+       __detail::__throw_conversion_error();
      }
+ #undef _GLIBCXX_CONV_FROM_UTF8
  
    /// @endcond
  
*************** namespace __detail
*** 1028,1034 ****
        if (__str.size() == 0)
  	return _WString(__a);
  
! #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
        // First convert native string from UTF-16 to to UTF-8.
        // XXX This assumes that the execution wide-character set is UTF-16.
        std::codecvt_utf8_utf16<value_type> __cvt;
--- 1047,1055 ----
        if (__str.size() == 0)
  	return _WString(__a);
  
! #ifndef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!       string_view __u8str = __str;
! #else
        // First convert native string from UTF-16 to to UTF-8.
        // XXX This assumes that the execution wide-character set is UTF-16.
        std::codecvt_utf8_utf16<value_type> __cvt;
*************** namespace __detail
*** 1038,1072 ****
        _String __u8str{_CharAlloc{__a}};
        const value_type* __wfirst = __str.data();
        const value_type* __wlast = __wfirst + __str.size();
!       if (__str_codecvt_out_all(__wfirst, __wlast, __u8str, __cvt)) {
        if constexpr (is_same_v<_CharT, char>)
  	return __u8str; // XXX assumes native ordinary encoding is UTF-8.
-       else {
- 
-       const char* __first = __u8str.data();
-       const char* __last = __first + __u8str.size();
- #else
-       const value_type* __first = __str.data();
-       const value_type* __last = __first + __str.size();
- #endif
- 
-       // Convert UTF-8 string to requested format.
- #ifdef _GLIBCXX_USE_CHAR8_T
-       if constexpr (is_same_v<_CharT, char8_t>)
- 	return _WString(__first, __last, __a);
        else
  #endif
  	{
! 	  // Convert UTF-8 to wide string.
! 	  _WString __wstr(__a);
! 	  struct _UCvt : std::codecvt<_CharT, char, std::mbstate_t> { } __cvt;
! 	  if (__str_codecvt_in_all(__first, __last, __wstr, __cvt))
! 	    return __wstr;
! 	}
  
! #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!       } }
  #endif
        __detail::__throw_conversion_error();
      }
    /// @endcond
--- 1059,1088 ----
        _String __u8str{_CharAlloc{__a}};
        const value_type* __wfirst = __str.data();
        const value_type* __wlast = __wfirst + __str.size();
!       if (!__str_codecvt_out_all(__wfirst, __wlast, __u8str, __cvt))
! 	__detail::__throw_conversion_error();
        if constexpr (is_same_v<_CharT, char>)
  	return __u8str; // XXX assumes native ordinary encoding is UTF-8.
        else
  #endif
  	{
! 	  const char* __first = __u8str.data();
! 	  const char* __last = __first + __u8str.size();
  
! 	  // Convert UTF-8 string to requested format.
! #ifdef _GLIBCXX_USE_CHAR8_T
! 	  if constexpr (is_same_v<_CharT, char8_t>)
! 	    return _WString(__first, __last, __a);
! 	  else
  #endif
+ 	    {
+ 	      // Convert UTF-8 to wide string.
+ 	      _WString __wstr(__a);
+ 	      path::_Codecvt<_CharT> __cvt;
+ 	      if (__str_codecvt_in_all(__first, __last, __wstr, __cvt))
+ 		return __wstr;
+ 	    }
+ 	}
        __detail::__throw_conversion_error();
      }
    /// @endcond
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/hashtable.h gcc-11.5.0/libstdc++-v3/include/bits/hashtable.h
*** gcc-11.4.0/libstdc++-v3/include/bits/hashtable.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/hashtable.h	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 950,956 ****
        // DR 1189.
        // reserve, if present, comes from _Rehash_base.
  
! #if __cplusplus > 201402L
        /// Re-insert an extracted node into a container with unique keys.
        insert_return_type
        _M_reinsert_node(node_type&& __nh)
--- 950,956 ----
        // DR 1189.
        // reserve, if present, comes from _Rehash_base.
  
! #if __cplusplus > 201404L
        /// Re-insert an extracted node into a container with unique keys.
        insert_return_type
        _M_reinsert_node(node_type&& __nh)
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 975,981 ****
  	      {
  		__ret.position
  		  = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
! 		__nh._M_ptr = nullptr;
  		__ret.inserted = true;
  	      }
  	  }
--- 975,981 ----
  	      {
  		__ret.position
  		  = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
! 		__nh.release();
  		__ret.inserted = true;
  	      }
  	  }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 995,1001 ****
  	auto __code = this->_M_hash_code(__k);
  	auto __ret
  	  = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
! 	__nh._M_ptr = nullptr;
  	return __ret;
        }
  
--- 995,1001 ----
  	auto __code = this->_M_hash_code(__k);
  	auto __ret
  	  = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
! 	__nh.release();
  	return __ret;
        }
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1062,1068 ****
  		{
  		  auto __nh = __src.extract(__pos);
  		  _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
! 		  __nh._M_ptr = nullptr;
  		  __n_elt = 1;
  		}
  	      else if (__n_elt != 1)
--- 1062,1068 ----
  		{
  		  auto __nh = __src.extract(__pos);
  		  _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
! 		  __nh.release();
  		  __n_elt = 1;
  		}
  	      else if (__n_elt != 1)
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/hashtable_policy.h gcc-11.5.0/libstdc++-v3/include/bits/hashtable_policy.h
*** gcc-11.4.0/libstdc++-v3/include/bits/hashtable_policy.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/hashtable_policy.h	Fri Jul 19 05:52:47 2024
*************** namespace __detail
*** 233,250 ****
--- 233,254 ----
  
        __gnu_cxx::__aligned_buffer<_Value> _M_storage;
  
+       [[__gnu__::__always_inline__]]
        _Value*
        _M_valptr() noexcept
        { return _M_storage._M_ptr(); }
  
+       [[__gnu__::__always_inline__]]
        const _Value*
        _M_valptr() const noexcept
        { return _M_storage._M_ptr(); }
  
+       [[__gnu__::__always_inline__]]
        _Value&
        _M_v() noexcept
        { return *_M_valptr(); }
  
+       [[__gnu__::__always_inline__]]
        const _Value&
        _M_v() const noexcept
        { return *_M_valptr(); }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/node_handle.h gcc-11.5.0/libstdc++-v3/include/bits/node_handle.h
*** gcc-11.4.0/libstdc++-v3/include/bits/node_handle.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/node_handle.h	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 168,173 ****
--- 168,183 ----
  	_M_ptr = nullptr;
        }
  
+       // Destroys the allocator. Does not deallocate or destroy the node.
+       // Precondition: !empty()
+       // Postcondition: empty()
+       void
+       release() noexcept
+       {
+ 	_M_alloc.release();
+ 	_M_ptr = nullptr;
+       }
+ 
      protected:
        typename _AllocTraits::pointer _M_ptr;
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 219,227 ****
  	  return __tmp;
  	}
  
- 	struct _Empty { };
- 
- 	[[__no_unique_address__]] _Empty     _M_empty;
  	[[__no_unique_address__]] _NodeAlloc _M_alloc;
        };
  
--- 229,234 ----
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 231,236 ****
--- 238,249 ----
  	       typename _Compare, typename _ValueAlloc>
  	friend class _Rb_tree;
  
+       template<typename _Key2, typename _Value2, typename _ValueAlloc,
+ 	       typename _ExtractKey, typename _Equal,
+ 	       typename _Hash, typename _RangeHash, typename _Unused,
+ 	       typename _RehashPolicy, typename _Traits>
+ 	friend class _Hashtable;
+ 
        /// @endcond
      };
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/bits/stl_tree.h gcc-11.5.0/libstdc++-v3/include/bits/stl_tree.h
*** gcc-11.4.0/libstdc++-v3/include/bits/stl_tree.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/bits/stl_tree.h	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1434,1440 ****
        _M_move_assign(_Rb_tree&, false_type);
  #endif
  
! #if __cplusplus > 201402L
      public:
        /// Re-insert an extracted node.
        insert_return_type
--- 1434,1440 ----
        _M_move_assign(_Rb_tree&, false_type);
  #endif
  
! #if __cplusplus > 201404L
      public:
        /// Re-insert an extracted node.
        insert_return_type
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1452,1458 ****
  	      {
  		__ret.position
  		  = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
! 		__nh._M_ptr = nullptr;
  		__ret.inserted = true;
  	      }
  	    else
--- 1452,1458 ----
  	      {
  		__ret.position
  		  = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
! 		__nh.release();
  		__ret.inserted = true;
  	      }
  	    else
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1480,1486 ****
  	      __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
  	    else
  	      __ret = _M_insert_equal_lower_node(__nh._M_ptr);
! 	    __nh._M_ptr = nullptr;
  	  }
  	return __ret;
        }
--- 1480,1486 ----
  	      __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
  	    else
  	      __ret = _M_insert_equal_lower_node(__nh._M_ptr);
! 	    __nh.release();
  	  }
  	return __ret;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1499,1505 ****
  	    if (__res.second)
  	      {
  		__ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
! 		__nh._M_ptr = nullptr;
  	      }
  	    else
  	      __ret = iterator(__res.first);
--- 1499,1505 ----
  	    if (__res.second)
  	      {
  		__ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
! 		__nh.release();
  	      }
  	    else
  	      __ret = iterator(__res.first);
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1522,1528 ****
  	      __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
  	    else
  	      __ret = _M_insert_equal_lower_node(__nh._M_ptr);
! 	    __nh._M_ptr = nullptr;
  	  }
  	return __ret;
        }
--- 1522,1528 ----
  	      __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
  	    else
  	      __ret = _M_insert_equal_lower_node(__nh._M_ptr);
! 	    __nh.release();
  	  }
  	return __ret;
        }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/debug/stl_iterator.h gcc-11.5.0/libstdc++-v3/include/debug/stl_iterator.h
*** gcc-11.4.0/libstdc++-v3/include/debug/stl_iterator.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/debug/stl_iterator.h	Fri Jul 19 05:52:47 2024
*************** namespace __gnu_debug
*** 35,65 ****
  {
    // Help Debug mode to see through reverse_iterator.
    template<typename _Iterator>
      inline bool
      __valid_range(const std::reverse_iterator<_Iterator>& __first,
  		  const std::reverse_iterator<_Iterator>& __last,
  		  typename _Distance_traits<_Iterator>::__type& __dist)
!     { return __valid_range(__last.base(), __first.base(), __dist); }
  
    template<typename _Iterator>
      inline typename _Distance_traits<_Iterator>::__type
      __get_distance(const std::reverse_iterator<_Iterator>& __first,
  		   const std::reverse_iterator<_Iterator>& __last)
!     { return __get_distance(__last.base(), __first.base()); }
  
    template<typename _Iterator, typename _Size>
      inline bool
      __can_advance(const std::reverse_iterator<_Iterator>& __it, _Size __n)
!     { return __can_advance(__it.base(), -__n); }
  
    template<typename _Iterator, typename _Diff>
      inline bool
      __can_advance(const std::reverse_iterator<_Iterator>& __it,
  		  const std::pair<_Diff, _Distance_precision>& __dist,
  		  int __way)
!     { return __can_advance(__it.base(), __dist, -__way); }
  
    template<typename _Iterator, typename _Sequence>
      inline std::reverse_iterator<_Iterator>
      __base(const std::reverse_iterator<_Safe_iterator<
  	     _Iterator, _Sequence, std::random_access_iterator_tag> >& __it)
--- 35,72 ----
  {
    // Help Debug mode to see through reverse_iterator.
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __valid_range(const std::reverse_iterator<_Iterator>& __first,
  		  const std::reverse_iterator<_Iterator>& __last,
  		  typename _Distance_traits<_Iterator>::__type& __dist)
!     {
!       return __gnu_debug::__valid_range(__last.base(), __first.base(), __dist);
!     }
  
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline typename _Distance_traits<_Iterator>::__type
      __get_distance(const std::reverse_iterator<_Iterator>& __first,
  		   const std::reverse_iterator<_Iterator>& __last)
!     { return __gnu_debug::__get_distance(__last.base(), __first.base()); }
  
    template<typename _Iterator, typename _Size>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __can_advance(const std::reverse_iterator<_Iterator>& __it, _Size __n)
!     { return __gnu_debug::__can_advance(__it.base(), -__n); }
  
    template<typename _Iterator, typename _Diff>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __can_advance(const std::reverse_iterator<_Iterator>& __it,
  		  const std::pair<_Diff, _Distance_precision>& __dist,
  		  int __way)
!     { return __gnu_debug::__can_advance(__it.base(), __dist, -__way); }
  
    template<typename _Iterator, typename _Sequence>
+     _GLIBCXX20_CONSTEXPR
      inline std::reverse_iterator<_Iterator>
      __base(const std::reverse_iterator<_Safe_iterator<
  	     _Iterator, _Sequence, std::random_access_iterator_tag> >& __it)
*************** namespace __gnu_debug
*** 82,87 ****
--- 89,95 ----
      }
  #else
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline auto
      __unsafe(const std::reverse_iterator<_Iterator>& __it)
      -> decltype(std::__make_reverse_iterator(__unsafe(__it.base())))
*************** namespace __gnu_debug
*** 91,127 ****
  #if __cplusplus >= 201103L
    // Help Debug mode to see through move_iterator.
    template<typename _Iterator>
      inline bool
      __valid_range(const std::move_iterator<_Iterator>& __first,
  		  const std::move_iterator<_Iterator>& __last,
  		  typename _Distance_traits<_Iterator>::__type& __dist)
!     { return __valid_range(__first.base(), __last.base(), __dist); }
  
    template<typename _Iterator>
      inline typename _Distance_traits<_Iterator>::__type
      __get_distance(const std::move_iterator<_Iterator>& __first,
  		   const std::move_iterator<_Iterator>& __last)
!     { return __get_distance(__first.base(), __last.base()); }
  
    template<typename _Iterator, typename _Size>
      inline bool
      __can_advance(const std::move_iterator<_Iterator>& __it, _Size __n)
!     { return __can_advance(__it.base(), __n); }
  
    template<typename _Iterator, typename _Diff>
      inline bool
      __can_advance(const std::move_iterator<_Iterator>& __it,
  		  const std::pair<_Diff, _Distance_precision>& __dist,
  		  int __way)
!     { return __can_advance(__it.base(), __dist, __way); }
  
    template<typename _Iterator>
      inline auto
      __unsafe(const std::move_iterator<_Iterator>& __it)
      -> decltype(std::make_move_iterator(__unsafe(__it.base())))
      { return std::make_move_iterator(__unsafe(__it.base())); }
  
    template<typename _Iterator>
      inline auto
      __base(const std::move_iterator<_Iterator>& __it)
      -> decltype(std::make_move_iterator(__base(__it.base())))
--- 99,143 ----
  #if __cplusplus >= 201103L
    // Help Debug mode to see through move_iterator.
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __valid_range(const std::move_iterator<_Iterator>& __first,
  		  const std::move_iterator<_Iterator>& __last,
  		  typename _Distance_traits<_Iterator>::__type& __dist)
!     {
!       return __gnu_debug::__valid_range(__first.base(), __last.base(), __dist);
!     }
  
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline typename _Distance_traits<_Iterator>::__type
      __get_distance(const std::move_iterator<_Iterator>& __first,
  		   const std::move_iterator<_Iterator>& __last)
!     { return __gnu_debug::__get_distance(__first.base(), __last.base()); }
  
    template<typename _Iterator, typename _Size>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __can_advance(const std::move_iterator<_Iterator>& __it, _Size __n)
!     { return __gnu_debug::__can_advance(__it.base(), __n); }
  
    template<typename _Iterator, typename _Diff>
+     _GLIBCXX20_CONSTEXPR
      inline bool
      __can_advance(const std::move_iterator<_Iterator>& __it,
  		  const std::pair<_Diff, _Distance_precision>& __dist,
  		  int __way)
!     { return __gnu_debug::__can_advance(__it.base(), __dist, __way); }
  
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline auto
      __unsafe(const std::move_iterator<_Iterator>& __it)
      -> decltype(std::make_move_iterator(__unsafe(__it.base())))
      { return std::make_move_iterator(__unsafe(__it.base())); }
  
    template<typename _Iterator>
+     _GLIBCXX20_CONSTEXPR
      inline auto
      __base(const std::move_iterator<_Iterator>& __it)
      -> decltype(std::make_move_iterator(__base(__it.base())))
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/fs_path.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/fs_path.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/fs_path.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/fs_path.h	Fri Jul 19 05:52:47 2024
*************** namespace __detail
*** 748,762 ****
--- 748,795 ----
    template<>
      struct path::_Cvt<path::value_type>
      {
+       // We need this type to be defined because we don't have `if constexpr`
+       // in C++11 and so path::string<C,T,A>(const A&) needs to be able to
+       // declare a variable of this type and pass it to __str_codecvt_in_all.
+       using __codecvt_utf8_to_wide = _Cvt;
+       // Dummy overload used for unreachable calls in path::string<C,T,A>.
+       template<typename _WStr>
+ 	friend bool
+ 	__str_codecvt_in_all(const char*, const char*,
+ 			     _WStr&, __codecvt_utf8_to_wide&) noexcept
+ 	{ return true; }
+ 
        template<typename _Iter>
  	static string_type
  	_S_convert(_Iter __first, _Iter __last)
  	{ return string_type{__first, __last}; }
      };
  
+   // Performs conversions from _CharT to path::string_type.
    template<typename _CharT>
      struct path::_Cvt
      {
+       // FIXME: We currently assume that the native wide encoding for wchar_t
+       // is either UTF-32 or UTF-16 (depending on the width of wchar_t).
+       // See comments in <bits/fs_path.h> for further details.
+       using __codecvt_utf8_to_wchar
+ 	= typename conditional<sizeof(wchar_t) == sizeof(char32_t),
+ 			       std::codecvt_utf8<wchar_t>,      // from UTF-32
+ 			       std::codecvt_utf8_utf16<wchar_t> // from UTF-16
+ 			      >::type;
+ 
+       // Converts from char16_t or char32_t using std::codecvt<charNN_t, char>.
+       // Need derived class here because std::codecvt has protected destructor.
+       struct __codecvt_utf8_to_utfNN : std::codecvt<_CharT, char, mbstate_t>
+       { };
+ 
+       // Convert from native pathname format (assumed to be UTF-8 everywhere)
+       // to the encoding implied by the wide character type _CharT.
+       using __codecvt_utf8_to_wide
+ 	= typename conditional<is_same<_CharT, wchar_t>::value,
+ 			       __codecvt_utf8_to_wchar,
+ 			       __codecvt_utf8_to_utfNN>::type;
+ 
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
  #ifdef _GLIBCXX_USE_CHAR8_T
        static string_type
*************** namespace __detail
*** 774,781 ****
        static string_type
        _S_wconvert(const char* __f, const char* __l, const char*)
        {
! 	using _Cvt = std::codecvt<wchar_t, char, mbstate_t>;
! 	const auto& __cvt = std::use_facet<_Cvt>(std::locale{});
  	std::wstring __wstr;
  	if (__str_codecvt_in_all(__f, __l, __wstr, __cvt))
  	    return __wstr;
--- 807,813 ----
        static string_type
        _S_wconvert(const char* __f, const char* __l, const char*)
        {
! 	std::codecvt_utf8_utf16<wchar_t> __cvt;
  	std::wstring __wstr;
  	if (__str_codecvt_in_all(__f, __l, __wstr, __cvt))
  	    return __wstr;
*************** namespace __detail
*** 787,794 ****
        static string_type
        _S_wconvert(const _CharT* __f, const _CharT* __l, const void*)
        {
! 	struct _UCvt : std::codecvt<_CharT, char, std::mbstate_t>
! 	{ } __cvt;
  	std::string __str;
  	if (__str_codecvt_out_all(__f, __l, __str, __cvt))
  	  {
--- 819,825 ----
        static string_type
        _S_wconvert(const _CharT* __f, const _CharT* __l, const void*)
        {
! 	__codecvt_utf8_to_wide __cvt;
  	std::string __str;
  	if (__str_codecvt_out_all(__f, __l, __str, __cvt))
  	  {
*************** namespace __detail
*** 819,826 ****
  	else
  #endif
  	  {
! 	    struct _UCvt : std::codecvt<_CharT, char, std::mbstate_t>
! 	    { } __cvt;
  	    std::string __str;
  	    if (__str_codecvt_out_all(__f, __l, __str, __cvt))
  	      return __str;
--- 850,856 ----
  	else
  #endif
  	  {
! 	    __codecvt_utf8_to_wide __cvt;
  	    std::string __str;
  	    if (__str_codecvt_out_all(__f, __l, __str, __cvt))
  	      return __str;
*************** namespace __detail
*** 990,996 ****
      inline std::basic_string<_CharT, _Traits, _Allocator>
      path::string(const _Allocator& __a) const
      {
!       if (is_same<_CharT, value_type>::value)
  	return { _M_pathname.begin(), _M_pathname.end(), __a };
  
        using _WString = basic_string<_CharT, _Traits, _Allocator>;
--- 1020,1026 ----
      inline std::basic_string<_CharT, _Traits, _Allocator>
      path::string(const _Allocator& __a) const
      {
!       if _GLIBCXX17_CONSTEXPR (is_same<_CharT, value_type>::value)
  	return { _M_pathname.begin(), _M_pathname.end(), __a };
  
        using _WString = basic_string<_CharT, _Traits, _Allocator>;
*************** namespace __detail
*** 1026,1034 ****
  	      else
  #endif
  	        {
! 	          // Convert UTF-8 to wide string.
! 	          struct _UCvt : std::codecvt<_CharT, char, std::mbstate_t>
! 		  { } __cvt;
  	          const char* __f = __from.data();
  	          const char* __l = __f + __from.size();
  	          if (__str_codecvt_in_all(__f, __l, __to, __cvt))
--- 1056,1063 ----
  	      else
  #endif
  	        {
! 		  // Convert UTF-8 to char16_t or char32_t string.
! 		  typename path::_Cvt<_CharT>::__codecvt_utf8_to_wide __cvt;
  	          const char* __f = __from.data();
  	          const char* __l = __f + __from.size();
  	          if (__str_codecvt_in_all(__f, __l, __to, __cvt))
*************** namespace __detail
*** 1041,1054 ****
  	  if (auto* __p = __dispatch(__u8str, __wstr, is_same<_CharT, char>{}))
  	    return *__p;
  	}
! #else
  #ifdef _GLIBCXX_USE_CHAR8_T
        if constexpr (is_same<_CharT, char8_t>::value)
            return _WString(__first, __last, __a);
        else
  #endif
          {
!           struct _UCvt : std::codecvt<_CharT, char, std::mbstate_t> { } __cvt;
            _WString __wstr(__a);
            if (__str_codecvt_in_all(__first, __last, __wstr, __cvt))
  	    return __wstr;
--- 1070,1083 ----
  	  if (auto* __p = __dispatch(__u8str, __wstr, is_same<_CharT, char>{}))
  	    return *__p;
  	}
! #else // ! Windows
  #ifdef _GLIBCXX_USE_CHAR8_T
        if constexpr (is_same<_CharT, char8_t>::value)
            return _WString(__first, __last, __a);
        else
  #endif
          {
! 	  typename path::_Cvt<_CharT>::__codecvt_utf8_to_wide __cvt;
            _WString __wstr(__a);
            if (__str_codecvt_in_all(__first, __last, __wstr, __cvt))
  	    return __wstr;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/numeric_traits.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/numeric_traits.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/numeric_traits.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/numeric_traits.h	Fri Jul 19 05:52:47 2024
***************
*** 22,27 ****
--- 22,30 ----
  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  // <http://www.gnu.org/licenses/>.
  
+ #ifndef _GLIBCXX_EXPERIMENTAL_BITS_NUMERIC_TRAITS_H
+ #define _GLIBCXX_EXPERIMENTAL_BITS_NUMERIC_TRAITS_H
+ 
  #include <type_traits>
  
  namespace std {
*************** template <>
*** 565,567 ****
--- 568,571 ----
  #endif // __FINITE_MATH_ONLY__
  
  } // namespace std
+ #endif  // _GLIBCXX_EXPERIMENTAL_BITS_NUMERIC_TRAITS_H
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd.h	Fri Jul 19 05:52:47 2024
***************
*** 42,48 ****
--- 42,53 ----
  #if _GLIBCXX_SIMD_X86INTRIN
  #include <x86intrin.h>
  #elif _GLIBCXX_SIMD_HAVE_NEON
+ #pragma GCC diagnostic push
+ // narrowing conversion of '__a' from 'uint64_t' {aka 'long long unsigned int'} to
+ //   'int64x1_t' {aka 'long long int'} [-Wnarrowing]
+ #pragma GCC diagnostic ignored "-Wnarrowing"
  #include <arm_neon.h>
+ #pragma GCC diagnostic pop
  #endif
  
  /** @ingroup ts_simd
*************** template <size_t _Bytes>
*** 385,390 ****
--- 390,396 ----
    constexpr auto
    __int_for_sizeof()
    {
+     static_assert(_Bytes > 0);
      if constexpr (_Bytes == sizeof(int))
        return int();
    #ifdef __clang__
*************** template <size_t _Bytes>
*** 450,456 ****
  	return _Ip{};
        }
      else
!       static_assert(_Bytes != _Bytes, "this should be unreachable");
    }
  #pragma GCC diagnostic pop
  
--- 456,462 ----
  	return _Ip{};
        }
      else
!       static_assert(_Bytes == 0, "this should be unreachable");
    }
  #pragma GCC diagnostic pop
  
*************** template <typename _To, typename _From>
*** 1615,1632 ****
        return reinterpret_cast<_To>(__x);
      else if constexpr (__is_vector_type_v<_To> && __from_is_vectorizable)
        {
! 	using _FV [[gnu::vector_size(sizeof(_From))]] = _From;
  	return reinterpret_cast<_To>(_FV{__x});
        }
      else if constexpr (__to_is_vectorizable && __from_is_vectorizable)
        {
! 	using _TV [[gnu::vector_size(sizeof(_To))]] = _To;
! 	using _FV [[gnu::vector_size(sizeof(_From))]] = _From;
  	return reinterpret_cast<_TV>(_FV{__x})[0];
        }
      else if constexpr (__to_is_vectorizable && __is_vector_type_v<_From>)
        {
! 	using _TV [[gnu::vector_size(sizeof(_To))]] = _To;
  	return reinterpret_cast<_TV>(__x)[0];
        }
      else
--- 1621,1638 ----
        return reinterpret_cast<_To>(__x);
      else if constexpr (__is_vector_type_v<_To> && __from_is_vectorizable)
        {
! 	using _FV [[__gnu__::__vector_size__(sizeof(_From))]] = _From;
  	return reinterpret_cast<_To>(_FV{__x});
        }
      else if constexpr (__to_is_vectorizable && __from_is_vectorizable)
        {
! 	using _TV [[__gnu__::__vector_size__(sizeof(_To))]] = _To;
! 	using _FV [[__gnu__::__vector_size__(sizeof(_From))]] = _From;
  	return reinterpret_cast<_TV>(_FV{__x})[0];
        }
      else if constexpr (__to_is_vectorizable && __is_vector_type_v<_From>)
        {
! 	using _TV [[__gnu__::__vector_size__(sizeof(_To))]] = _To;
  	return reinterpret_cast<_TV>(__x)[0];
        }
      else
*************** template <typename _Tp, int _Np>
*** 3123,3129 ****
      return {__mem, vector_aligned};
    }
  
! template <typename _Tp, size_t _Np>
    _GLIBCXX_SIMD_INTRINSIC
    enable_if_t<(_Np == native_simd_mask<_Tp>::size()), native_simd_mask<_Tp>>
    to_native(const fixed_size_simd_mask<_Tp, _Np>& __x)
--- 3129,3135 ----
      return {__mem, vector_aligned};
    }
  
! template <typename _Tp, int _Np>
    _GLIBCXX_SIMD_INTRINSIC
    enable_if_t<(_Np == native_simd_mask<_Tp>::size()), native_simd_mask<_Tp>>
    to_native(const fixed_size_simd_mask<_Tp, _Np>& __x)
*************** template <typename _Tp, size_t _Np>
*** 3134,3140 ****
    }
  
  // to_compatible {{{2
! template <typename _Tp, size_t _Np>
    _GLIBCXX_SIMD_INTRINSIC enable_if_t<(_Np == simd<_Tp>::size()), simd<_Tp>>
    to_compatible(const simd<_Tp, simd_abi::fixed_size<_Np>>& __x)
    {
--- 3140,3146 ----
    }
  
  // to_compatible {{{2
! template <typename _Tp, int _Np>
    _GLIBCXX_SIMD_INTRINSIC enable_if_t<(_Np == simd<_Tp>::size()), simd<_Tp>>
    to_compatible(const simd<_Tp, simd_abi::fixed_size<_Np>>& __x)
    {
*************** template <typename _Tp, size_t _Np>
*** 3143,3154 ****
      return {__mem, vector_aligned};
    }
  
! template <typename _Tp, size_t _Np>
    _GLIBCXX_SIMD_INTRINSIC
    enable_if_t<(_Np == simd_mask<_Tp>::size()), simd_mask<_Tp>>
    to_compatible(const simd_mask<_Tp, simd_abi::fixed_size<_Np>>& __x)
    {
      return simd_mask<_Tp>(
  	     [&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA { return __x[__i]; });
    }
  
--- 3149,3161 ----
      return {__mem, vector_aligned};
    }
  
! template <typename _Tp, int _Np>
    _GLIBCXX_SIMD_INTRINSIC
    enable_if_t<(_Np == simd_mask<_Tp>::size()), simd_mask<_Tp>>
    to_compatible(const simd_mask<_Tp, simd_abi::fixed_size<_Np>>& __x)
    {
      return simd_mask<_Tp>(
+ 	     __private_init,
  	     [&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA { return __x[__i]; });
    }
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_builtin.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_builtin.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_builtin.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_builtin.h	Fri Jul 19 05:52:47 2024
*************** template <int _Index, int _Total, int _C
*** 276,283 ****
    __extract_part(const _SimdWrapper<bool, _Np> __x)
    {
      static_assert(_Combine == 1, "_Combine != 1 not implemented");
!     static_assert(__have_avx512f && _Np == _Np);
!     static_assert(_Total >= 2 && _Index + _Combine <= _Total && _Index >= 0);
      return __x._M_data >> (_Index * _Np / _Total);
    }
  
--- 276,282 ----
    __extract_part(const _SimdWrapper<bool, _Np> __x)
    {
      static_assert(_Combine == 1, "_Combine != 1 not implemented");
!     static_assert(__have_avx512f && _Total >= 2 && _Index + _Combine <= _Total && _Index >= 0);
      return __x._M_data >> (_Index * _Np / _Total);
    }
  
*************** template <typename _Tp, typename _Mp, ty
*** 840,846 ****
  
        explicit
        operator __vector_type_t<_Tp, _Np>() const
!       { return static_cast<const simd<_Tp, _Abi>*>(this)->_M_data.__builtin(); }
      };
  
      struct _SimdBase1
--- 839,845 ----
  
        explicit
        operator __vector_type_t<_Tp, _Np>() const
!       { return __data(*static_cast<const simd<_Tp, _Abi>*>(this)); }
      };
  
      struct _SimdBase1
*************** struct _CommonImplBuiltin
*** 1291,1296 ****
--- 1290,1307 ----
  
    // }}}
    // _S_store {{{
+   template <size_t _Bytes>
+     _GLIBCXX_SIMD_INTRINSIC static void
+     _S_memcpy(char* __dst, const char* __src)
+     {
+       if constexpr (_Bytes > 0)
+ 	{
+ 	  constexpr size_t _Ns = std::__bit_floor(_Bytes);
+ 	  __builtin_memcpy(__dst, __src, _Ns);
+ 	  _S_memcpy<_Bytes - _Ns>(__dst + _Ns, __src + _Ns);
+ 	}
+     }
+ 
    template <size_t _ReqBytes = 0, typename _TV>
      _GLIBCXX_SIMD_INTRINSIC static void
      _S_store(_TV __x, void* __addr)
*************** struct _CommonImplBuiltin
*** 1298,1330 ****
        constexpr size_t _Bytes = _ReqBytes == 0 ? sizeof(__x) : _ReqBytes;
        static_assert(sizeof(__x) >= _Bytes);
  
        if constexpr (__is_vector_type_v<_TV>)
! 	{
! 	  using _Tp = typename _VectorTraits<_TV>::value_type;
! 	  constexpr size_t _Np = _Bytes / sizeof(_Tp);
! 	  static_assert(_Np * sizeof(_Tp) == _Bytes);
! 
! #ifdef _GLIBCXX_SIMD_WORKAROUND_PR90424
! 	  using _Up = conditional_t<
! 	    (is_integral_v<_Tp> || _Bytes < 4),
! 	    conditional_t<(sizeof(__x) > sizeof(long long)), long long, _Tp>,
! 	    float>;
! 	  const auto __v = __vector_bitcast<_Up>(__x);
! #else // _GLIBCXX_SIMD_WORKAROUND_PR90424
! 	  const __vector_type_t<_Tp, _Np> __v = __x;
! #endif // _GLIBCXX_SIMD_WORKAROUND_PR90424
! 
! 	  if constexpr ((_Bytes & (_Bytes - 1)) != 0)
! 	    {
! 	      constexpr size_t _MoreBytes = std::__bit_ceil(_Bytes);
! 	      alignas(decltype(__v)) char __tmp[_MoreBytes];
! 	      __builtin_memcpy(__tmp, &__v, _MoreBytes);
! 	      __builtin_memcpy(__addr, __tmp, _Bytes);
! 	    }
! 	  else
! 	    __builtin_memcpy(__addr, &__v, _Bytes);
! 	}
        else
  	__builtin_memcpy(__addr, &__x, _Bytes);
      }
  
--- 1309,1319 ----
        constexpr size_t _Bytes = _ReqBytes == 0 ? sizeof(__x) : _ReqBytes;
        static_assert(sizeof(__x) >= _Bytes);
  
+ #if !defined __clang__ && _GLIBCXX_SIMD_WORKAROUND_PR90424
        if constexpr (__is_vector_type_v<_TV>)
! 	_S_memcpy<_Bytes>(reinterpret_cast<char*>(__addr), reinterpret_cast<const char*>(&__x));
        else
+ #endif // _GLIBCXX_SIMD_WORKAROUND_PR90424
  	__builtin_memcpy(__addr, &__x, _Bytes);
      }
  
*************** template <typename _Abi>
*** 1470,1476 ****
  		   [&](auto __i) constexpr {
  		     return static_cast<_Tp>(__i < _Np ? __mem[__i] : 0);
  		   });
! 	else if constexpr (sizeof(_Up) > 8)
  	  return __generate_vector<_Tp, _SimdMember<_Tp>::_S_full_size>(
  		   [&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
  		     return static_cast<_Tp>(__i < _Np ? __mem[__i] : 0);
--- 1459,1465 ----
  		   [&](auto __i) constexpr {
  		     return static_cast<_Tp>(__i < _Np ? __mem[__i] : 0);
  		   });
! 	else if constexpr (sizeof(_Up) > 8 or __vectorized_sizeof<_Up>() <= sizeof(_Up))
  	  return __generate_vector<_Tp, _SimdMember<_Tp>::_S_full_size>(
  		   [&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
  		     return static_cast<_Tp>(__i < _Np ? __mem[__i] : 0);
*************** template <typename _Abi>
*** 1542,1548 ****
  	    for (size_t __i = 0; __i < _Np; ++__i)
  	      __mem[__i] = __v[__i];
  	  }
! 	else if constexpr (sizeof(_Up) > 8)
  	  __execute_n_times<_Np>([&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
  	    __mem[__i] = __v[__i];
  	  });
--- 1531,1537 ----
  	    for (size_t __i = 0; __i < _Np; ++__i)
  	      __mem[__i] = __v[__i];
  	  }
! 	else if constexpr (sizeof(_Up) > 8 or __vectorized_sizeof<_Up>() <= sizeof(_Up))
  	  __execute_n_times<_Np>([&](auto __i) constexpr _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
  	    __mem[__i] = __v[__i];
  	  });
*************** template <typename _Abi>
*** 1624,1630 ****
  	    if constexpr (_UW_size == _TV_size) // one convert+store
  	      {
  		const _UW __converted = __convert<_UW>(__v);
! 		_SuperImpl::_S_masked_store_nocvt(
  		  __converted, __mem,
  		  _UAbi::_MaskImpl::template _S_convert<
  		    __int_for_sizeof_t<_Up>>(__k));
--- 1613,1619 ----
  	    if constexpr (_UW_size == _TV_size) // one convert+store
  	      {
  		const _UW __converted = __convert<_UW>(__v);
! 		_UAbi::_SimdImpl::_S_masked_store_nocvt(
  		  __converted, __mem,
  		  _UAbi::_MaskImpl::template _S_convert<
  		    __int_for_sizeof_t<_Up>>(__k));
*************** template <typename _Abi>
*** 1639,1645 ****
  		const array<_UV, _NAllStores> __converted
  		  = __convert_all<_UV, _NAllStores>(__v);
  		__execute_n_times<_NFullStores>([&](auto __i) _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
! 		  _SuperImpl::_S_masked_store_nocvt(
  		    _UW(__converted[__i]), __mem + __i * _UW_size,
  		    _UAbi::_MaskImpl::template _S_convert<
  		      __int_for_sizeof_t<_Up>>(
--- 1628,1634 ----
  		const array<_UV, _NAllStores> __converted
  		  = __convert_all<_UV, _NAllStores>(__v);
  		__execute_n_times<_NFullStores>([&](auto __i) _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA {
! 		  _UAbi::_SimdImpl::_S_masked_store_nocvt(
  		    _UW(__converted[__i]), __mem + __i * _UW_size,
  		    _UAbi::_MaskImpl::template _S_convert<
  		      __int_for_sizeof_t<_Up>>(
*************** template <typename _Abi>
*** 1647,1653 ****
  		});
  		if constexpr (_NAllStores
  			      > _NFullStores) // one partial at the end
! 		  _SuperImpl::_S_masked_store_nocvt(
  		    _UW(__converted[_NFullStores]),
  		    __mem + _NFullStores * _UW_size,
  		    _UAbi::_MaskImpl::template _S_convert<
--- 1636,1642 ----
  		});
  		if constexpr (_NAllStores
  			      > _NFullStores) // one partial at the end
! 		  _UAbi::_SimdImpl::_S_masked_store_nocvt(
  		    _UW(__converted[_NFullStores]),
  		    __mem + _NFullStores * _UW_size,
  		    _UAbi::_MaskImpl::template _S_convert<
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_ppc.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_ppc.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_ppc.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_ppc.h	Fri Jul 19 05:52:47 2024
*************** template <typename _Abi>
*** 64,70 ****
  	__x = _Base::_S_bit_shift_left(__x, __y);
  	if constexpr (sizeof(_Tp) < sizeof(int))
  	  {
! 	    if (__y >= sizeof(_Tp) * __CHAR_BIT__)
  	      return {};
  	  }
  	return __x;
--- 64,70 ----
  	__x = _Base::_S_bit_shift_left(__x, __y);
  	if constexpr (sizeof(_Tp) < sizeof(int))
  	  {
! 	    if (__y >= int(sizeof(_Tp) * __CHAR_BIT__))
  	      return {};
  	  }
  	return __x;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_x86.h gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_x86.h
*** gcc-11.4.0/libstdc++-v3/include/experimental/bits/simd_x86.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/experimental/bits/simd_x86.h	Fri Jul 19 05:52:47 2024
*************** template <typename _Abi>
*** 1106,1136 ****
  		else
  		  _mm512_mask_storeu_pd(__mem, __k, __vi);
  	      }
- #if 0 // with KNL either sizeof(_Tp) >= 4 or sizeof(_vi) <= 32
-       // with Skylake-AVX512, __have_avx512bw is true
- 	  else if constexpr (__have_sse2)
- 	    {
- 	      using _M   = __vector_type_t<_Tp, _Np>;
- 	      using _MVT = _VectorTraits<_M>;
- 	      _mm_maskmoveu_si128(__auto_bitcast(__extract<0, 4>(__v._M_data)),
- 				  __auto_bitcast(_MaskImpl::template _S_convert<_Tp, _Np>(__k._M_data)),
- 				  reinterpret_cast<char*>(__mem));
- 	      _mm_maskmoveu_si128(__auto_bitcast(__extract<1, 4>(__v._M_data)),
- 				  __auto_bitcast(_MaskImpl::template _S_convert<_Tp, _Np>(
- 				    __k._M_data >> 1 * _MVT::_S_full_size)),
- 				  reinterpret_cast<char*>(__mem) + 1 * 16);
- 	      _mm_maskmoveu_si128(__auto_bitcast(__extract<2, 4>(__v._M_data)),
- 				  __auto_bitcast(_MaskImpl::template _S_convert<_Tp, _Np>(
- 				    __k._M_data >> 2 * _MVT::_S_full_size)),
- 				  reinterpret_cast<char*>(__mem) + 2 * 16);
- 	      if constexpr (_Np > 48 / sizeof(_Tp))
- 		_mm_maskmoveu_si128(
- 		  __auto_bitcast(__extract<3, 4>(__v._M_data)),
- 		  __auto_bitcast(_MaskImpl::template _S_convert<_Tp, _Np>(
- 		    __k._M_data >> 3 * _MVT::_S_full_size)),
- 		  reinterpret_cast<char*>(__mem) + 3 * 16);
- 	    }
- #endif
  	    else
  	      __assert_unreachable<_Tp>();
  	  }
--- 1106,1111 ----
*************** template <typename _Abi>
*** 1233,1240 ****
  	    else if constexpr (__have_avx && sizeof(_Tp) == 8)
  	      _mm_maskstore_pd(reinterpret_cast<double*>(__mem), __ki,
  			       __vector_bitcast<double>(__vi));
! 	    else if constexpr (__have_sse2)
! 	      _mm_maskmoveu_si128(__vi, __ki, reinterpret_cast<char*>(__mem));
  	  }
  	else if constexpr (sizeof(__v) == 32)
  	  {
--- 1208,1215 ----
  	    else if constexpr (__have_avx && sizeof(_Tp) == 8)
  	      _mm_maskstore_pd(reinterpret_cast<double*>(__mem), __ki,
  			       __vector_bitcast<double>(__vi));
! 	    else
! 	      _Base::_S_masked_store_nocvt(__v, __mem, __k);
  	  }
  	else if constexpr (sizeof(__v) == 32)
  	  {
*************** template <typename _Abi>
*** 1259,1271 ****
  	    else if constexpr (__have_avx && sizeof(_Tp) == 8)
  	      _mm256_maskstore_pd(reinterpret_cast<double*>(__mem), __ki,
  				  __vector_bitcast<double>(__v));
! 	    else if constexpr (__have_sse2)
! 	      {
! 		_mm_maskmoveu_si128(__lo128(__vi), __lo128(__ki),
! 				    reinterpret_cast<char*>(__mem));
! 		_mm_maskmoveu_si128(__hi128(__vi), __hi128(__ki),
! 				    reinterpret_cast<char*>(__mem) + 16);
! 	      }
  	  }
  	else
  	  __assert_unreachable<_Tp>();
--- 1234,1241 ----
  	    else if constexpr (__have_avx && sizeof(_Tp) == 8)
  	      _mm256_maskstore_pd(reinterpret_cast<double*>(__mem), __ki,
  				  __vector_bitcast<double>(__v));
! 	    else
! 	      _Base::_S_masked_store_nocvt(__v, __mem, __k);
  	  }
  	else
  	  __assert_unreachable<_Tp>();
*************** template <typename _Abi>
*** 2369,2397 ****
  		  __assert_unreachable<_Tp>();
  	      }
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 8)
! 	      return ~_mm512_mask_cmpeq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 4)
! 	      return ~_mm512_mask_cmpeq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 2)
! 	      return ~_mm512_mask_cmpeq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 1)
! 	      return ~_mm512_mask_cmpeq_epi8_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 8)
! 	      return ~_mm256_mask_cmpeq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 4)
! 	      return ~_mm256_mask_cmpeq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 2)
! 	      return ~_mm256_mask_cmpeq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 1)
! 	      return ~_mm256_mask_cmpeq_epi8_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 8)
! 	      return ~_mm_mask_cmpeq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 4)
! 	      return ~_mm_mask_cmpeq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 2)
! 	      return ~_mm_mask_cmpeq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 1)
! 	      return ~_mm_mask_cmpeq_epi8_mask(__k1, __xi, __yi);
  	    else
  	      __assert_unreachable<_Tp>();
  	  }                                                   // }}}
--- 2339,2367 ----
  		  __assert_unreachable<_Tp>();
  	      }
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 8)
! 	      return _mm512_mask_cmpneq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 4)
! 	      return _mm512_mask_cmpneq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 2)
! 	      return _mm512_mask_cmpneq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 64 && sizeof(_Tp) == 1)
! 	      return _mm512_mask_cmpneq_epi8_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 8)
! 	      return _mm256_mask_cmpneq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 4)
! 	      return _mm256_mask_cmpneq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 2)
! 	      return _mm256_mask_cmpneq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 32 && sizeof(_Tp) == 1)
! 	      return _mm256_mask_cmpneq_epi8_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 8)
! 	      return _mm_mask_cmpneq_epi64_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 4)
! 	      return _mm_mask_cmpneq_epi32_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 2)
! 	      return _mm_mask_cmpneq_epi16_mask(__k1, __xi, __yi);
  	    else if constexpr (sizeof(__xi) == 16 && sizeof(_Tp) == 1)
! 	      return _mm_mask_cmpneq_epi8_mask(__k1, __xi, __yi);
  	    else
  	      __assert_unreachable<_Tp>();
  	  }                                                   // }}}
*************** template <typename _Abi>
*** 3537,3542 ****
--- 3507,3515 ----
  #ifdef __clang__
  	    return __movm<_Np, _Tp>(__k._M_data) ? __v._M_data - __pm_one : __v._M_data;
  #else // __clang__
+ 	    using _TV = __vector_type_t<_Tp, _Np>;
+ 	    constexpr size_t __bytes = sizeof(__v) < 16 ? 16 : sizeof(__v);
+ 	    constexpr size_t __width = __bytes / sizeof(_Tp);
  	    if constexpr (is_integral_v<_Tp>)
  	      {
  		constexpr bool __lp64 = sizeof(long) == sizeof(long long);
*************** template <typename _Abi>
*** 3546,3556 ****
  			      std::conditional_t<__lp64, long long, int>,
  			      std::conditional_t<
  				std::is_same_v<_Ip, signed char>, char, _Ip>>;
! 		const auto __value = __vector_bitcast<_Up>(__v._M_data);
  #define _GLIBCXX_SIMD_MASK_SUB(_Sizeof, _Width, _Instr)                        \
!   if constexpr (sizeof(_Tp) == _Sizeof && sizeof(__v) == _Width)               \
!     return __vector_bitcast<_Tp>(__builtin_ia32_##_Instr##_mask(__value,       \
! 	     __vector_broadcast<_Np>(_Up(__pm_one)), __value, __k._M_data))
  		_GLIBCXX_SIMD_MASK_SUB(1, 64, psubb512);
  		_GLIBCXX_SIMD_MASK_SUB(1, 32, psubb256);
  		_GLIBCXX_SIMD_MASK_SUB(1, 16, psubb128);
--- 3519,3529 ----
  			      std::conditional_t<__lp64, long long, int>,
  			      std::conditional_t<
  				std::is_same_v<_Ip, signed char>, char, _Ip>>;
! 		const auto __value = __intrin_bitcast<__vector_type_t<_Up, __width>>(__v._M_data);
  #define _GLIBCXX_SIMD_MASK_SUB(_Sizeof, _Width, _Instr)                        \
!   if constexpr (sizeof(_Tp) == _Sizeof && sizeof(__value) == _Width)           \
!     return __intrin_bitcast<_TV>(__builtin_ia32_##_Instr##_mask(__value,       \
! 	     __vector_broadcast<__width>(_Up(__pm_one)), __value, __k._M_data))
  		_GLIBCXX_SIMD_MASK_SUB(1, 64, psubb512);
  		_GLIBCXX_SIMD_MASK_SUB(1, 32, psubb256);
  		_GLIBCXX_SIMD_MASK_SUB(1, 16, psubb128);
*************** template <typename _Abi>
*** 3567,3583 ****
  	      }
  	    else
  	      {
! #define _GLIBCXX_SIMD_MASK_SUB(_Sizeof, _Width, _Instr)                        \
!   if constexpr (sizeof(_Tp) == _Sizeof && sizeof(__v) == _Width)               \
      return __builtin_ia32_##_Instr##_mask(                                     \
! 	     __v._M_data, __vector_broadcast<_Np>(_Tp(__pm_one)), __v._M_data, \
  	     __k._M_data, _MM_FROUND_CUR_DIRECTION)
! 		_GLIBCXX_SIMD_MASK_SUB(4, 64, subps512);
  		_GLIBCXX_SIMD_MASK_SUB(4, 32, subps256);
  		_GLIBCXX_SIMD_MASK_SUB(4, 16, subps128);
! 		_GLIBCXX_SIMD_MASK_SUB(8, 64, subpd512);
  		_GLIBCXX_SIMD_MASK_SUB(8, 32, subpd256);
  		_GLIBCXX_SIMD_MASK_SUB(8, 16, subpd128);
  #undef _GLIBCXX_SIMD_MASK_SUB
  	      }
  #endif // __clang__
--- 3540,3563 ----
  	      }
  	    else
  	      {
! 		const auto __value = __intrin_bitcast<__vector_type_t<_Tp, __width>>(__v._M_data);
! #define _GLIBCXX_SIMD_MASK_SUB_512(_Sizeof, _Width, _Instr)                    \
!   if constexpr (sizeof(_Tp) == _Sizeof && sizeof(__value) == _Width)           \
      return __builtin_ia32_##_Instr##_mask(                                     \
! 	     __value, __vector_broadcast<__width>(_Tp(__pm_one)), __value,     \
  	     __k._M_data, _MM_FROUND_CUR_DIRECTION)
! #define _GLIBCXX_SIMD_MASK_SUB(_Sizeof, _Width, _Instr)                        \
!   if constexpr (sizeof(_Tp) == _Sizeof && sizeof(__value) == _Width)           \
!     return __intrin_bitcast<_TV>(__builtin_ia32_##_Instr##_mask(               \
! 	     __value, __vector_broadcast<__width>(_Tp(__pm_one)), __value,     \
! 	     __k._M_data))
! 		_GLIBCXX_SIMD_MASK_SUB_512(4, 64, subps512);
  		_GLIBCXX_SIMD_MASK_SUB(4, 32, subps256);
  		_GLIBCXX_SIMD_MASK_SUB(4, 16, subps128);
! 		_GLIBCXX_SIMD_MASK_SUB_512(8, 64, subpd512);
  		_GLIBCXX_SIMD_MASK_SUB(8, 32, subpd256);
  		_GLIBCXX_SIMD_MASK_SUB(8, 16, subpd128);
+ #undef _GLIBCXX_SIMD_MASK_SUB_512
  #undef _GLIBCXX_SIMD_MASK_SUB
  	      }
  #endif // __clang__
*************** template <typename _Abi>
*** 5311,5317 ****
        _S_find_last_set(simd_mask<_Tp, _Abi> __k)
        {
  	if constexpr (__is_avx512_abi<_Abi>())
! 	  return std::__bit_width(__k._M_data._M_data) - 1;
  	else
  	  return _Base::_S_find_last_set(__k);
        }
--- 5291,5297 ----
        _S_find_last_set(simd_mask<_Tp, _Abi> __k)
        {
  	if constexpr (__is_avx512_abi<_Abi>())
! 	  return std::__bit_width(_Abi::_S_masked(__k._M_data)._M_data) - 1;
  	else
  	  return _Base::_S_find_last_set(__k);
        }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/any gcc-11.5.0/libstdc++-v3/include/std/any
*** gcc-11.4.0/libstdc++-v3/include/std/any	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/any	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 184,191 ****
      /// Construct with a copy of @p __value as the contained object.
      template <typename _Tp, typename _VTp = _Decay_if_not_any<_Tp>,
  	      typename _Mgr = _Manager<_VTp>,
! 	      typename = _Require<__not_<__is_in_place_type<_VTp>>,
! 				  is_copy_constructible<_VTp>>>
        any(_Tp&& __value)
        : _M_manager(&_Mgr::_S_manage)
        {
--- 184,191 ----
      /// Construct with a copy of @p __value as the contained object.
      template <typename _Tp, typename _VTp = _Decay_if_not_any<_Tp>,
  	      typename _Mgr = _Manager<_VTp>,
! 	      enable_if_t<is_copy_constructible_v<_VTp>
! 			  && !__is_in_place_type_v<_VTp>, bool> = true>
        any(_Tp&& __value)
        : _M_manager(&_Mgr::_S_manage)
        {
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/array gcc-11.5.0/libstdc++-v3/include/std/array
*** gcc-11.4.0/libstdc++-v3/include/std/array	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/array	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 409,415 ****
        static_assert(!is_array_v<_Tp>);
        static_assert(is_constructible_v<_Tp, _Tp&>);
        if constexpr (is_constructible_v<_Tp, _Tp&>)
! 	return __to_array(__a, make_index_sequence<_Nm>{});
        __builtin_unreachable(); // FIXME: see PR c++/91388
      }
  
--- 409,415 ----
        static_assert(!is_array_v<_Tp>);
        static_assert(is_constructible_v<_Tp, _Tp&>);
        if constexpr (is_constructible_v<_Tp, _Tp&>)
! 	return std::__to_array(__a, make_index_sequence<_Nm>{});
        __builtin_unreachable(); // FIXME: see PR c++/91388
      }
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 421,427 ****
        static_assert(!is_array_v<_Tp>);
        static_assert(is_move_constructible_v<_Tp>);
        if constexpr (is_move_constructible_v<_Tp>)
! 	return __to_array<1>(__a, make_index_sequence<_Nm>{});
        __builtin_unreachable(); // FIXME: see PR c++/91388
      }
  #endif // C++20
--- 421,427 ----
        static_assert(!is_array_v<_Tp>);
        static_assert(is_move_constructible_v<_Tp>);
        if constexpr (is_move_constructible_v<_Tp>)
! 	return std::__to_array<1>(__a, make_index_sequence<_Nm>{});
        __builtin_unreachable(); // FIXME: see PR c++/91388
      }
  #endif // C++20
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/charconv gcc-11.5.0/libstdc++-v3/include/std/charconv
*** gcc-11.4.0/libstdc++-v3/include/std/charconv	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/charconv	Fri Jul 19 05:52:47 2024
*************** namespace __detail
*** 235,241 ****
        static_assert(is_unsigned<_Tp>::value, "implementation bug");
  
        to_chars_result __res;
!       unsigned __len;
  
        if _GLIBCXX17_CONSTEXPR (__gnu_cxx::__int_traits<_Tp>::__digits <= 16)
  	{
--- 235,241 ----
        static_assert(is_unsigned<_Tp>::value, "implementation bug");
  
        to_chars_result __res;
!       unsigned __len = 0;
  
        if _GLIBCXX17_CONSTEXPR (__gnu_cxx::__int_traits<_Tp>::__digits <= 16)
  	{
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/optional gcc-11.5.0/libstdc++-v3/include/std/optional
*** gcc-11.4.0/libstdc++-v3/include/std/optional	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/optional	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1248,1254 ****
  
    template<typename _Tp, typename _Up>
      requires (!__is_optional_v<_Up>)
!       && three_way_comparable_with<_Tp, _Up>
      constexpr compare_three_way_result_t<_Tp, _Up>
      operator<=>(const optional<_Tp>& __x, const _Up& __v)
      { return bool(__x) ? *__x <=> __v : strong_ordering::less; }
--- 1248,1254 ----
  
    template<typename _Tp, typename _Up>
      requires (!__is_optional_v<_Up>)
!       && three_way_comparable_with<_Up, _Tp>
      constexpr compare_three_way_result_t<_Tp, _Up>
      operator<=>(const optional<_Tp>& __x, const _Up& __v)
      { return bool(__x) ? *__x <=> __v : strong_ordering::less; }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/string_view gcc-11.5.0/libstdc++-v3/include/std/string_view
*** gcc-11.4.0/libstdc++-v3/include/std/string_view	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/string_view	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 275,281 ****
  
        constexpr void
        remove_suffix(size_type __n) noexcept
!       { this->_M_len -= __n; }
  
        constexpr void
        swap(basic_string_view& __sv) noexcept
--- 275,284 ----
  
        constexpr void
        remove_suffix(size_type __n) noexcept
!       {
! 	__glibcxx_assert(this->_M_len >= __n);
! 	this->_M_len -= __n;
!       }
  
        constexpr void
        swap(basic_string_view& __sv) noexcept
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/tuple gcc-11.5.0/libstdc++-v3/include/std/tuple
*** gcc-11.4.0/libstdc++-v3/include/std/tuple	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/tuple	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 801,806 ****
--- 801,813 ----
  	tuple(allocator_arg_t __tag, const _Alloc& __a)
  	: _Inherited(__tag, __a) { }
  
+       template<typename _Alloc,
+ 	       _ExplicitDefaultCtor<is_object<_Alloc>::value> = false>
+ 	_GLIBCXX20_CONSTEXPR
+ 	explicit
+ 	tuple(allocator_arg_t __tag, const _Alloc& __a)
+ 	: _Inherited(__tag, __a) { }
+ 
        template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
  	       _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
  	_GLIBCXX20_CONSTEXPR
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 1155,1160 ****
--- 1162,1174 ----
  	tuple(allocator_arg_t __tag, const _Alloc& __a)
  	: _Inherited(__tag, __a) { }
  
+       template<typename _Alloc,
+ 	       _ExplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = false>
+ 	_GLIBCXX20_CONSTEXPR
+ 	explicit
+ 	tuple(allocator_arg_t __tag, const _Alloc& __a)
+ 	: _Inherited(__tag, __a) { }
+ 
        template<typename _Alloc, bool _Dummy = true,
  	       _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
  	_GLIBCXX20_CONSTEXPR
diff -Nrcpad gcc-11.4.0/libstdc++-v3/include/std/utility gcc-11.5.0/libstdc++-v3/include/std/utility
*** gcc-11.4.0/libstdc++-v3/include/std/utility	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/include/std/utility	Fri Jul 19 05:52:47 2024
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 331,337 ****
  #if __has_builtin(__make_integer_seq)
        = __make_integer_seq<integer_sequence, _Tp, _Num>;
  #else
!       = integer_sequence<_Tp, __integer_pack(_Num)...>;
  #endif
  
    /// Alias template index_sequence
--- 331,337 ----
  #if __has_builtin(__make_integer_seq)
        = __make_integer_seq<integer_sequence, _Tp, _Num>;
  #else
!       = integer_sequence<_Tp, __integer_pack(_Tp(_Num))...>;
  #endif
  
    /// Alias template index_sequence
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 443,464 ****
      cmp_greater_equal(_Tp __t, _Up __u) noexcept
      { return !std::cmp_less(__t, __u); }
  
!   template<typename _Up, typename _Tp>
      constexpr bool
      in_range(_Tp __t) noexcept
      {
!       static_assert(__is_standard_integer<_Up>::value);
        static_assert(__is_standard_integer<_Tp>::value);
        using __gnu_cxx::__int_traits;
  
!       if constexpr (is_signed_v<_Tp> == is_signed_v<_Up>)
! 	return __int_traits<_Up>::__min <= __t
! 	  && __t <= __int_traits<_Up>::__max;
        else if constexpr (is_signed_v<_Tp>)
  	return __t >= 0
! 	  && make_unsigned_t<_Tp>(__t) <= __int_traits<_Up>::__max;
        else
! 	return __t <= make_unsigned_t<_Up>(__int_traits<_Up>::__max);
      }
  
  #if __cplusplus > 202002L
--- 443,464 ----
      cmp_greater_equal(_Tp __t, _Up __u) noexcept
      { return !std::cmp_less(__t, __u); }
  
!   template<typename _Res, typename _Tp>
      constexpr bool
      in_range(_Tp __t) noexcept
      {
!       static_assert(__is_standard_integer<_Res>::value);
        static_assert(__is_standard_integer<_Tp>::value);
        using __gnu_cxx::__int_traits;
  
!       if constexpr (is_signed_v<_Tp> == is_signed_v<_Res>)
! 	return __int_traits<_Res>::__min <= __t
! 	  && __t <= __int_traits<_Res>::__max;
        else if constexpr (is_signed_v<_Tp>)
  	return __t >= 0
! 	  && make_unsigned_t<_Tp>(__t) <= __int_traits<_Res>::__max;
        else
! 	return __t <= make_unsigned_t<_Res>(__int_traits<_Res>::__max);
      }
  
  #if __cplusplus > 202002L
diff -Nrcpad gcc-11.4.0/libstdc++-v3/libsupc++/Makefile.am gcc-11.5.0/libstdc++-v3/libsupc++/Makefile.am
*** gcc-11.4.0/libstdc++-v3/libsupc++/Makefile.am	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/libsupc++/Makefile.am	Fri Jul 19 05:52:47 2024
*************** atomicity_file = ${glibcxx_srcdir}/$(ATO
*** 132,137 ****
--- 132,145 ----
  atomicity.cc: ${atomicity_file}
  	$(LN_S) ${atomicity_file} ./atomicity.cc || true
  
+ if OS_IS_DARWIN
+ # See PR 112397
+ new_opvnt.lo: new_opvnt.cc
+ 	$(LTCXXCOMPILE) -fno-reorder-blocks-and-partition -I. -c $<
+ new_opvnt.o: new_opvnt.cc
+ 	$(CXXCOMPILE) -fno-reorder-blocks-and-partition -I. -c $<
+ endif
+ 
  # AM_CXXFLAGS needs to be in each subdirectory so that it can be
  # modified in a per-library or per-sub-library way.  Need to manually
  # set this option because CONFIG_CXXFLAGS has to be after
diff -Nrcpad gcc-11.4.0/libstdc++-v3/libsupc++/Makefile.in gcc-11.5.0/libstdc++-v3/libsupc++/Makefile.in
*** gcc-11.4.0/libstdc++-v3/libsupc++/Makefile.in	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/libsupc++/Makefile.in	Fri Jul 19 05:52:47 2024
*************** cp-demangle.o: cp-demangle.c
*** 965,970 ****
--- 965,976 ----
  atomicity.cc: ${atomicity_file}
  	$(LN_S) ${atomicity_file} ./atomicity.cc || true
  
+ # See PR 112397
+ @OS_IS_DARWIN_TRUE@new_opvnt.lo: new_opvnt.cc
+ @OS_IS_DARWIN_TRUE@	$(LTCXXCOMPILE) -fno-reorder-blocks-and-partition -I. -c $<
+ @OS_IS_DARWIN_TRUE@new_opvnt.o: new_opvnt.cc
+ @OS_IS_DARWIN_TRUE@	$(CXXCOMPILE) -fno-reorder-blocks-and-partition -I. -c $<
+ 
  install-stdHEADERS: $(std_HEADERS)
  	@$(NORMAL_INSTALL)
  	$(mkinstalldirs) $(DESTDIR)$(stddir)
diff -Nrcpad gcc-11.4.0/libstdc++-v3/python/libstdcxx/v6/printers.py gcc-11.5.0/libstdc++-v3/python/libstdcxx/v6/printers.py
*** gcc-11.4.0/libstdc++-v3/python/libstdcxx/v6/printers.py	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/python/libstdcxx/v6/printers.py	Fri Jul 19 05:52:47 2024
*************** def is_member_of_namespace(typ, *namespa
*** 157,163 ****
      Test whether a type is a member of one of the specified namespaces.
      The type can be specified as a string or a gdb.Type object.
      """
!     if type(typ) is gdb.Type:
          typ = str(typ)
      typ = strip_versioned_namespace(typ)
      for namespace in namespaces:
--- 157,163 ----
      Test whether a type is a member of one of the specified namespaces.
      The type can be specified as a string or a gdb.Type object.
      """
!     if isinstance(typ, gdb.Type):
          typ = str(typ)
      typ = strip_versioned_namespace(typ)
      for namespace in namespaces:
*************** def is_member_of_namespace(typ, *namespa
*** 168,177 ****
  def is_specialization_of(x, template_name):
      "Test if a type is a given template instantiation."
      global _versioned_namespace
!     if type(x) is gdb.Type:
          x = x.tag
      if _versioned_namespace:
!         return re.match('^std::(%s)?%s<.*>$' % (_versioned_namespace, template_name), x) is not None
      return re.match('^std::%s<.*>$' % template_name, x) is not None
  
  def strip_versioned_namespace(typename):
--- 168,177 ----
  def is_specialization_of(x, template_name):
      "Test if a type is a given template instantiation."
      global _versioned_namespace
!     if isinstance(x, gdb.Type):
          x = x.tag
      if _versioned_namespace:
!         template_name = '(%s)?%s' % (_versioned_namespace, template_name)
      return re.match('^std::%s<.*>$' % template_name, x) is not None
  
  def strip_versioned_namespace(typename):
*************** def strip_inline_namespaces(type_str):
*** 186,194 ****
      type_str = type_str.replace('std::__cxx11::', 'std::')
      expt_ns = 'std::experimental::'
      for lfts_ns in ('fundamentals_v1', 'fundamentals_v2'):
!         type_str = type_str.replace(expt_ns+lfts_ns+'::', expt_ns)
      fs_ns = expt_ns + 'filesystem::'
!     type_str = type_str.replace(fs_ns+'v1::', fs_ns)
      return type_str
  
  def get_template_arg_list(type_obj):
--- 186,194 ----
      type_str = type_str.replace('std::__cxx11::', 'std::')
      expt_ns = 'std::experimental::'
      for lfts_ns in ('fundamentals_v1', 'fundamentals_v2'):
!         type_str = type_str.replace(expt_ns + lfts_ns + '::', expt_ns)
      fs_ns = expt_ns + 'filesystem::'
!     type_str = type_str.replace(fs_ns + 'v1::', fs_ns)
      return type_str
  
  def get_template_arg_list(type_obj):
*************** class UniquePointerPrinter:
*** 298,305 ****
      def children (self):
          return SmartPtrIterator(unique_ptr_get(self.val))
  
!     def to_string (self):
!         return ('std::unique_ptr<%s>' % (str(self.val.type.template_argument(0))))
  
  def get_value_from_aligned_membuf(buf, valtype):
      """Returns the value held in a __gnu_cxx::__aligned_membuf."""
--- 298,306 ----
      def children (self):
          return SmartPtrIterator(unique_ptr_get(self.val))
  
!     def to_string(self):
!         t = self.val.type.template_argument(0)
!         return 'std::unique_ptr<{}>'.format(str(t))
  
  def get_value_from_aligned_membuf(buf, valtype):
      """Returns the value held in a __gnu_cxx::__aligned_membuf."""
*************** class StdBitIteratorPrinter:
*** 519,525 ****
      def to_string(self):
          if not self.val['_M_p']:
              return 'non-dereferenceable iterator for std::vector<bool>'
!         return bool(self.val['_M_p'].dereference() & (1 << self.val['_M_offset']))
  
  class StdBitReferencePrinter:
      "Print std::vector<bool>::reference"
--- 520,527 ----
      def to_string(self):
          if not self.val['_M_p']:
              return 'non-dereferenceable iterator for std::vector<bool>'
!         return bool(self.val['_M_p'].dereference()
!                     & (1 << self.val['_M_offset']))
  
  class StdBitReferencePrinter:
      "Print std::vector<bool>::reference"
*************** class SingleObjContainerPrinter(object):
*** 1151,1160 ****
              return self.visualizer.children ()
          return self._contained (self.contained_value)
  
!     def display_hint (self):
!         # if contained value is a map we want to display in the same way
!         if hasattr (self.visualizer, 'children') and hasattr (self.visualizer, 'display_hint'):
!             return self.visualizer.display_hint ()
          return self.hint
  
  def function_pointer_to_name(f):
--- 1153,1163 ----
              return self.visualizer.children ()
          return self._contained (self.contained_value)
  
!     def display_hint(self):
!         if (hasattr(self.visualizer, 'children')
!                 and hasattr(self.visualizer, 'display_hint')):
!             # If contained value is a map we want to display in the same way.
!             return self.visualizer.display_hint()
          return self.hint
  
  def function_pointer_to_name(f):
*************** class StdExpAnyPrinter(SingleObjContaine
*** 1185,1191 ****
  
      def __init__ (self, typename, val):
          self.typename = strip_versioned_namespace(typename)
!         self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
          self.val = val
          self.contained_type = None
          contained_value = None
--- 1188,1195 ----
  
      def __init__ (self, typename, val):
          self.typename = strip_versioned_namespace(typename)
!         self.typename = re.sub(r'^std::experimental::fundamentals_v\d::',
!                                'std::experimental::', self.typename, 1)
          self.val = val
          self.contained_type = None
          contained_value = None
*************** class StdExpAnyPrinter(SingleObjContaine
*** 1194,1201 ****
          if mgr != 0:
              func = function_pointer_to_name(mgr)
              if not func:
!                 raise ValueError("Invalid function pointer in %s" % (self.typename))
!             rx = r"""({0}::_Manager_\w+<.*>)::_S_manage\((enum )?{0}::_Op, (const {0}|{0} const) ?\*, (union )?{0}::_Arg ?\*\)""".format(typename)
              m = re.match(rx, func)
              if not m:
                  raise ValueError("Unknown manager function in %s" % self.typename)
--- 1198,1215 ----
          if mgr != 0:
              func = function_pointer_to_name(mgr)
              if not func:
!                 raise ValueError(
!                     "Invalid function pointer in %s" % (self.typename))
!             # We want to use this regular expression:
!             # T::_Manager_xxx<.*>::_S_manage\(T::_Op, const T\*, T::_Arg\*\)
!             # where T is std::any or std::experimental::any.
!             # But we need to account for variances in demangled names
!             # between GDB versions, e.g. 'enum T::_Op' instead of 'T::_Op'.
!             rx = (
!                 r"({0}::_Manager_\w+<.*>)::_S_manage\("
!                 r"(enum )?{0}::_Op, (const {0}|{0} const) ?\*, "
!                 r"(union )?{0}::_Arg ?\*\)"
!             ).format(typename)
              m = re.match(rx, func)
              if not m:
                  raise ValueError("Unknown manager function in %s" % self.typename)
*************** class StdExpAnyPrinter(SingleObjContaine
*** 1203,1209 ****
              mgrname = m.group(1)
              # FIXME need to expand 'std::string' so that gdb.lookup_type works
              if 'std::string' in mgrname:
!                 mgrname = re.sub("std::string(?!\w)", str(gdb.lookup_type('std::string').strip_typedefs()), m.group(1))
  
              mgrtype = gdb.lookup_type(mgrname)
              self.contained_type = mgrtype.template_argument(0)
--- 1217,1223 ----
              mgrname = m.group(1)
              # FIXME need to expand 'std::string' so that gdb.lookup_type works
              if 'std::string' in mgrname:
!                 mgrname = re.sub(r"std::string(?!\w)", str(gdb.lookup_type('std::string').strip_typedefs()), m.group(1))
  
              mgrtype = gdb.lookup_type(mgrname)
              self.contained_type = mgrtype.template_argument(0)
*************** class StdExpOptionalPrinter(SingleObjCon
*** 1233,1239 ****
      def __init__ (self, typename, val):
          valtype = self._recognize (val.type.template_argument(0))
          typename = strip_versioned_namespace(typename)
!         self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
          payload = val['_M_payload']
          if self.typename.startswith('std::experimental'):
              engaged = val['_M_engaged']
--- 1247,1255 ----
      def __init__ (self, typename, val):
          valtype = self._recognize (val.type.template_argument(0))
          typename = strip_versioned_namespace(typename)
!         self.typename = re.sub(
!             r'^std::(experimental::|)(fundamentals_v\d::|)(.*)',
!             r'std::\1\3<%s>' % valtype, typename, 1)
          payload = val['_M_payload']
          if self.typename.startswith('std::experimental'):
              engaged = val['_M_engaged']
*************** class StdPathPrinter:
*** 1431,1437 ****
                  # We can't access _Impl::_M_size because _Impl is incomplete
                  # so cast to int* to access the _M_size member at offset zero,
                  int_type = gdb.lookup_type('int')
!                 cmpt_type = gdb.lookup_type(pathtype+'::_Cmpt')
                  char_type = gdb.lookup_type('char')
                  impl = impl.cast(int_type.pointer())
                  size = impl.dereference()
--- 1447,1453 ----
                  # We can't access _Impl::_M_size because _Impl is incomplete
                  # so cast to int* to access the _M_size member at offset zero,
                  int_type = gdb.lookup_type('int')
!                 cmpt_type = gdb.lookup_type(pathtype + '::_Cmpt')
                  char_type = gdb.lookup_type('char')
                  impl = impl.cast(int_type.pointer())
                  size = impl.dereference()
*************** class StdPairPrinter:
*** 1503,1510 ****
  class StdCmpCatPrinter:
      "Print a comparison category object"
  
!     def __init__ (self, typename, val):
!         self.typename = typename[typename.rfind(':')+1:]
          self.val = val['_M_value']
  
      def to_string (self):
--- 1519,1526 ----
  class StdCmpCatPrinter:
      "Print a comparison category object"
  
!     def __init__(self, typename, val):
!         self.typename = typename[typename.rfind(':') + 1:]
          self.val = val['_M_value']
  
      def to_string (self):
*************** class StdErrorCodePrinter:
*** 1555,1568 ****
  
      @classmethod
      def _category_info(cls, cat):
!         "Return details of a std::error_category"
  
          name = None
          enum = None
          is_errno = False
  
          # Try these first, or we get "warning: RTTI symbol not found" when
!         # using cat.dynamic_type on the local class types for Net TS categories.
          func, enum = cls._match_net_ts_category(cat)
          if func is not None:
              return (None, func, enum, is_errno)
--- 1571,1585 ----
  
      @classmethod
      def _category_info(cls, cat):
!         """Return details of a std::error_category."""
  
          name = None
          enum = None
          is_errno = False
  
          # Try these first, or we get "warning: RTTI symbol not found" when
!         # using cat.dynamic_type on the local class types for Net TS
!         # categories.
          func, enum = cls._match_net_ts_category(cat)
          if func is not None:
              return (None, func, enum, is_errno)
*************** class StdSpanPrinter:
*** 1649,1655 ****
      def __init__(self, typename, val):
          self.typename = strip_versioned_namespace(typename)
          self.val = val
!         if val.type.template_argument(1) == gdb.parse_and_eval('static_cast<std::size_t>(-1)'):
              self.size = val['_M_extent']['_M_extent_value']
          else:
              self.size = val.type.template_argument(1)
--- 1666,1673 ----
      def __init__(self, typename, val):
          self.typename = strip_versioned_namespace(typename)
          self.val = val
!         size_max = gdb.parse_and_eval('static_cast<std::size_t>(-1)')
!         if val.type.template_argument(1) == size_max:
              self.size = val['_M_extent']['_M_extent_value']
          else:
              self.size = val.type.template_argument(1)
*************** def add_one_template_type_printer(obj, n
*** 1884,1902 ****
        4: 'std::allocator<std::pair<const {0}, {1}> >' }
  
      """
!     printer = TemplateTypePrinter('std::'+name, defargs)
      gdb.types.register_type_printer(obj, printer)
  
      # Add type printer for same type in debug namespace:
!     printer = TemplateTypePrinter('std::__debug::'+name, defargs)
      gdb.types.register_type_printer(obj, printer)
  
      if _versioned_namespace:
          # Add second type printer for same type in versioned namespace:
          ns = 'std::' + _versioned_namespace
          # PR 86112 Cannot use dict comprehension here:
!         defargs = dict((n, d.replace('std::', ns)) for (n,d) in defargs.items())
!         printer = TemplateTypePrinter(ns+name, defargs)
          gdb.types.register_type_printer(obj, printer)
  
  class FilteringTypePrinter(object):
--- 1902,1921 ----
        4: 'std::allocator<std::pair<const {0}, {1}> >' }
  
      """
!     printer = TemplateTypePrinter('std::' + name, defargs)
      gdb.types.register_type_printer(obj, printer)
  
      # Add type printer for same type in debug namespace:
!     printer = TemplateTypePrinter('std::__debug::' + name, defargs)
      gdb.types.register_type_printer(obj, printer)
  
      if _versioned_namespace:
          # Add second type printer for same type in versioned namespace:
          ns = 'std::' + _versioned_namespace
          # PR 86112 Cannot use dict comprehension here:
!         defargs = dict((n, d.replace('std::', ns))
!                        for (n, d) in defargs.items())
!         printer = TemplateTypePrinter(ns + name, defargs)
          gdb.types.register_type_printer(obj, printer)
  
  class FilteringTypePrinter(object):
diff -Nrcpad gcc-11.4.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py gcc-11.5.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py
*** gcc-11.4.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py	Fri Jul 19 05:52:47 2024
*************** class DequeWorkerBase(gdb.xmethod.XMetho
*** 168,183 ****
          self._bufsize = 512 // val_type.sizeof or 1
  
      def size(self, obj):
!         first_node = obj['_M_impl']['_M_start']['_M_node']
!         last_node = obj['_M_impl']['_M_finish']['_M_node']
!         cur = obj['_M_impl']['_M_finish']['_M_cur']
!         first = obj['_M_impl']['_M_finish']['_M_first']
!         return (last_node - first_node) * self._bufsize + (cur - first)
  
      def index(self, obj, idx):
!         first_node = obj['_M_impl']['_M_start']['_M_node']
!         index_node = first_node + int(idx) // self._bufsize
!         return index_node[0][idx % self._bufsize]
  
  class DequeEmptyWorker(DequeWorkerBase):
      def get_arg_types(self):
--- 168,190 ----
          self._bufsize = 512 // val_type.sizeof or 1
  
      def size(self, obj):
!         start = obj['_M_impl']['_M_start']
!         finish = obj['_M_impl']['_M_finish']
!         if start['_M_cur'] == finish['_M_cur']:
!             return 0
!         return (self._bufsize
!                 * (finish['_M_node'] - start['_M_node'] - 1)
!                 + (finish['_M_cur'] - finish['_M_first'])
!                 + (start['_M_last'] - start['_M_cur']))
  
      def index(self, obj, idx):
!         start = obj['_M_impl']['_M_start']
!         first_node_size = start['_M_last'] - start['_M_cur']
!         if idx < first_node_size:
!             return start['_M_cur'][idx]
!         idx = idx - first_node_size
!         index_node = start['_M_node'][1 + int(idx) // self._bufsize]
!         return index_node[idx % self._bufsize]
  
  class DequeEmptyWorker(DequeWorkerBase):
      def get_arg_types(self):
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc gcc-11.5.0/libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc
*** gcc-11.4.0/libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/c++11/compatibility-ldbl-alt128.cc	Fri Jul 19 05:52:47 2024
*************** _ZNKSt4hashIu9__ieee128EclEu9__ieee128 (
*** 241,244 ****
--- 241,280 ----
  # error "Configuration error"
  #endif
  
+ #if defined _GLIBCXX_USE_DUAL_ABI && defined __LONG_DOUBLE_IEEE128__
+ // PR libstdc++/105417
+ // The --with-long-double-abi=ibm build is missing some exports that are present in the
+ // --with-long-double-abi=ieee build. Those symbols never should have been exported at all,
+ // but now that they have been, they should be exported consistently by both ibm and ieee.
+ 
+ #define STR_(X) #X
+ #define STR(X) STR_(X)
+ #define JOIN_(X,Y) X ## Y
+ #define JOIN(X,Y) JOIN_(X,Y)
+ 
+ #define NUM_GET_TYPE(C, I) _ZNKSt17__gnu_cxx_ieee1287num_getI ## C ## St19istreambuf_iteratorI ## C ## St11char_traitsI ## C
+ #define FUNC_NAME(TAG, INT) EEE14_M_extract_int ## TAG ## I ## INT ## EES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_
+ 
+ // This defines __gnu_ieee128::num_get<CHAR>::_M_extract_int[abi:cxx11]<INT> as an alias for
+ // __gnu_ieee128::num_get<CHAR>::_M_extract_int<INT> (i.e. the same name without the abi-tag).
+ #define ALIAS(CHAR,MANGLED_CHAR,INT) extern "C" std::istreambuf_iterator<CHAR> \
+   JOIN(NUM_GET_TYPE(MANGLED_CHAR,INT), FUNC_NAME(B5cxx11,INT)) (void) \
+   __attribute__((alias (STR(NUM_GET_TYPE(MANGLED_CHAR,INT)) STR(FUNC_NAME(,INT)))))
+ 
+ ALIAS(char,c,j);
+ ALIAS(char,c,l);
+ ALIAS(char,c,m);
+ ALIAS(char,c,t);
+ ALIAS(char,c,x);
+ ALIAS(char,c,y);
+ #ifdef _GLIBCXX_USE_WCHAR_T
+ ALIAS(wchar_t,w,j);
+ ALIAS(wchar_t,w,l);
+ ALIAS(wchar_t,w,m);
+ ALIAS(wchar_t,w,t);
+ ALIAS(wchar_t,w,x);
+ ALIAS(wchar_t,w,y);
+ #endif
+ #endif
+ 
  #endif
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/c++17/fs_dir.cc gcc-11.5.0/libstdc++-v3/src/c++17/fs_dir.cc
*** gcc-11.4.0/libstdc++-v3/src/c++17/fs_dir.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/c++17/fs_dir.cc	Fri Jul 19 05:52:47 2024
*************** template class std::__shared_ptr<fs::rec
*** 44,57 ****
  
  struct fs::_Dir : _Dir_base
  {
!   _Dir(const fs::path& p, bool skip_permission_denied, error_code& ec)
!   : _Dir_base(p.c_str(), skip_permission_denied, ec)
    {
      if (!ec)
        path = p;
    }
  
!   _Dir(posix::DIR* dirp, const path& p) : _Dir_base(dirp), path(p) { }
  
    _Dir(_Dir&&) = default;
  
--- 44,63 ----
  
  struct fs::_Dir : _Dir_base
  {
!   _Dir(const fs::path& p, bool skip_permission_denied, bool nofollow,
!        [[maybe_unused]] bool filename_only, error_code& ec)
!   : _Dir_base(fdcwd(), p.c_str(), skip_permission_denied, nofollow, ec)
    {
+ #if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT && _GLIBCXX_HAVE_UNLINKAT
+     if (filename_only)
+       return; // Do not store path p when we aren't going to use it.
+ #endif
+ 
      if (!ec)
        path = p;
    }
  
!   _Dir(_Dir_base&& d, const path& p) : _Dir_base(std::move(d)), path(p) { }
  
    _Dir(_Dir&&) = default;
  
*************** struct fs::_Dir : _Dir_base
*** 111,117 ****
      return false;
    }
  
!   fs::path		path;
    directory_entry	entry;
  };
  
--- 117,179 ----
      return false;
    }
  
!   // Return a file descriptor for the directory and current entry's path.
!   // If dirfd is available, use it and return only the filename.
!   // Otherwise, return AT_FDCWD and return the full path.
!   pair<int, const posix::char_type*>
!   dir_and_pathname() const noexcept
!   {
!     const fs::path& p = entry.path();
! #if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT
!     if (!p.empty())
!       return {::dirfd(this->dirp), std::prev(p.end())->c_str()};
! #endif
!     return {this->fdcwd(), p.c_str()};
!   }
! 
!   // Create a new _Dir for the directory this->entry.path().
!   _Dir
!   open_subdir(bool skip_permission_denied, bool nofollow,
! 	      error_code& ec) const noexcept
!   {
!     auto [dirfd, pathname] = dir_and_pathname();
!     _Dir_base d(dirfd, pathname, skip_permission_denied, nofollow, ec);
!     // If this->path is empty, the new _Dir should have an empty path too.
!     const fs::path& p = this->path.empty() ? this->path : this->entry.path();
!     return _Dir(std::move(d), p);
!   }
! 
!   bool
!   do_unlink(bool is_directory, error_code& ec) const noexcept
!   {
! #if _GLIBCXX_HAVE_UNLINKAT
!     auto [dirfd, pathname] = dir_and_pathname();
!     if (::unlinkat(dirfd, pathname, is_directory ? AT_REMOVEDIR : 0) == -1)
!       {
! 	ec.assign(errno, std::generic_category());
! 	return false;
!       }
!     else
!       {
! 	ec.clear();
! 	return true;
!       }
! #else
!     return fs::remove(entry.path(), ec);
! #endif
!   }
! 
!   // Remove the non-directory that this->entry refers to.
!   bool
!   unlink(error_code& ec) const noexcept
!   { return do_unlink(/* is_directory*/ false, ec); }
! 
!   // Remove the directory that this->entry refers to.
!   bool
!   rmdir(error_code& ec) const noexcept
!   { return do_unlink(/* is_directory*/ true, ec); }
! 
!   fs::path		path; // Empty if only using unlinkat with file descr.
    directory_entry	entry;
  };
  
*************** namespace
*** 123,138 ****
      {
        return (obj & bits) != Bitmask::none;
      }
  }
  
  fs::directory_iterator::
  directory_iterator(const path& p, directory_options options, error_code* ecptr)
  {
    const bool skip_permission_denied
      = is_set(options, directory_options::skip_permission_denied);
  
    error_code ec;
!   _Dir dir(p, skip_permission_denied, ec);
  
    if (dir.dirp)
      {
--- 185,217 ----
      {
        return (obj & bits) != Bitmask::none;
      }
+ 
+ // Non-standard directory option flags, currently only for internal use:
+ //
+ // Do not allow directory iterator to open a symlink.
+ // This might seem redundant given directory_options::follow_directory_symlink
+ // but that is only checked for recursing into sub-directories, and we need
+ // something that controls the initial opendir() call in the constructor.
+ constexpr fs::directory_options __directory_iterator_nofollow{64};
+ // Do not store full paths in std::filesystem::recursive_directory_iterator.
+ // When fs::remove_all uses recursive_directory_iterator::__erase and unlinkat
+ // is available in libc, we do not need the parent directory's path, only the
+ // filenames of the directory entries (and a file descriptor for the parent).
+ // This flag avoids allocating memory for full paths that won't be needed.
+ constexpr fs::directory_options __directory_iterator_filename_only{128};
  }
  
  fs::directory_iterator::
  directory_iterator(const path& p, directory_options options, error_code* ecptr)
  {
+   // Do not report an error for permission denied errors.
    const bool skip_permission_denied
      = is_set(options, directory_options::skip_permission_denied);
+   // Do not allow opening a symlink.
+   const bool nofollow = is_set(options, __directory_iterator_nofollow);
  
    error_code ec;
!   _Dir dir(p, skip_permission_denied, nofollow, /*filename only*/false, ec);
  
    if (dir.dirp)
      {
*************** fs::directory_iterator::increment(error_
*** 180,227 ****
  
  struct fs::recursive_directory_iterator::_Dir_stack : std::stack<_Dir>
  {
!   _Dir_stack(directory_options opts, posix::DIR* dirp, const path& p)
    : options(opts), pending(true)
    {
!     this->emplace(dirp, p);
    }
  
    const directory_options options;
    bool pending;
  
    void clear() { c.clear(); }
  };
  
  fs::recursive_directory_iterator::
  recursive_directory_iterator(const path& p, directory_options options,
                               error_code* ecptr)
  {
!   if (posix::DIR* dirp = posix::opendir(p.c_str()))
!     {
!       if (ecptr)
! 	ecptr->clear();
!       auto sp = std::__make_shared<_Dir_stack>(options, dirp, p);
!       if (ecptr ? sp->top().advance(*ecptr) : sp->top().advance())
! 	_M_dirs.swap(sp);
!     }
!   else
      {
!       const int err = errno;
!       if (fs::is_permission_denied_error(err)
! 	  && is_set(options, fs::directory_options::skip_permission_denied))
  	{
! 	  if (ecptr)
! 	    ecptr->clear();
! 	  return;
  	}
- 
-       if (!ecptr)
- 	_GLIBCXX_THROW_OR_ABORT(filesystem_error(
- 	      "recursive directory iterator cannot open directory", p,
- 	      std::error_code(err, std::generic_category())));
- 
-       ecptr->assign(err, std::generic_category());
      }
  }
  
  fs::recursive_directory_iterator::~recursive_directory_iterator() = default;
--- 259,324 ----
  
  struct fs::recursive_directory_iterator::_Dir_stack : std::stack<_Dir>
  {
!   _Dir_stack(directory_options opts, _Dir&& dir)
    : options(opts), pending(true)
    {
!     this->push(std::move(dir));
    }
  
+   path::string_type orig;
    const directory_options options;
    bool pending;
  
    void clear() { c.clear(); }
+ 
+   path current_path() const
+   {
+     path p;
+     if (top().path.empty())
+       {
+ 	// Reconstruct path that failed from dir stack.
+ 	p = orig;
+ 	for (auto& d : this->c)
+ 	  p /= d.entry.path();
+       }
+     else
+       p = top().entry.path();
+     return p;
+   }
  };
  
  fs::recursive_directory_iterator::
  recursive_directory_iterator(const path& p, directory_options options,
                               error_code* ecptr)
  {
!   // Do not report an error for permission denied errors.
!   const bool skip_permission_denied
!     = is_set(options, directory_options::skip_permission_denied);
!   // Do not allow opening a symlink as the starting directory.
!   const bool nofollow = is_set(options, __directory_iterator_nofollow);
!   // Prefer to store only filenames (not full paths) in directory_entry values.
!   const bool filename_only
!      = is_set(options, __directory_iterator_filename_only);
! 
!   error_code ec;
!   _Dir dir(p, skip_permission_denied, nofollow, filename_only, ec);
! 
!   if (dir.dirp)
      {
!       auto sp = std::__make_shared<_Dir_stack>(options, std::move(dir));
!       if (ecptr ? sp->top().advance(skip_permission_denied, *ecptr)
! 		: sp->top().advance(skip_permission_denied))
  	{
! 	  _M_dirs.swap(sp);
! 	  if (filename_only) // Need to save original path for error reporting.
! 	    _M_dirs->orig = p.native();
  	}
      }
+   else if (ecptr)
+     *ecptr = ec;
+   else if (ec)
+     _GLIBCXX_THROW_OR_ABORT(fs::filesystem_error(
+ 	  "recursive directory iterator cannot open directory", p, ec));
  }
  
  fs::recursive_directory_iterator::~recursive_directory_iterator() = default;
*************** fs::recursive_directory_iterator::increm
*** 287,300 ****
  
    if (std::exchange(_M_dirs->pending, true) && top.should_recurse(follow, ec))
      {
!       _Dir dir(top.entry.path(), skip_permission_denied, ec);
        if (ec)
  	{
  	  _M_dirs.reset();
  	  return *this;
  	}
        if (dir.dirp)
! 	  _M_dirs->push(std::move(dir));
      }
  
    while (!_M_dirs->top().advance(skip_permission_denied, ec) && !ec)
--- 384,397 ----
  
    if (std::exchange(_M_dirs->pending, true) && top.should_recurse(follow, ec))
      {
!       _Dir dir = top.open_subdir(skip_permission_denied, !follow, ec);
        if (ec)
  	{
  	  _M_dirs.reset();
  	  return *this;
  	}
        if (dir.dirp)
! 	_M_dirs->push(std::move(dir));
      }
  
    while (!_M_dirs->top().advance(skip_permission_denied, ec) && !ec)
*************** fs::recursive_directory_iterator::disabl
*** 357,359 ****
--- 454,561 ----
  {
    _M_dirs->pending = false;
  }
+ 
+ // Used to implement filesystem::remove_all.
+ fs::recursive_directory_iterator&
+ fs::recursive_directory_iterator::__erase(error_code* ecptr)
+ {
+   error_code ec;
+   if (!_M_dirs)
+     {
+       ec = std::make_error_code(errc::invalid_argument);
+       return *this;
+     }
+ 
+   // We never want to skip permission denied when removing files.
+   const bool skip_permission_denied = false;
+   // We never want to follow directory symlinks when removing files.
+   const bool nofollow = true;
+ 
+   // Loop until we find something we can remove.
+   while (!ec)
+     {
+       auto& top = _M_dirs->top();
+ 
+ #if _GLIBCXX_FILESYSTEM_IS_WINDOWS
+       // _Dir::unlink uses fs::remove which uses std::system_category() for
+       // Windows errror codes, so we can't just check for EPERM and EISDIR.
+       // Use directory_entry::refresh() here to check if we have a directory.
+       // This can be a TOCTTOU race, but we don't have openat or unlinkat to
+       // solve that on Windows, and generally don't support symlinks anyway.
+       if (top.entry._M_type == file_type::none)
+ 	top.entry.refresh();
+ #endif
+ 
+       if (top.entry._M_type == file_type::directory)
+ 	{
+ 	  _Dir dir = top.open_subdir(skip_permission_denied, nofollow, ec);
+ 	  if (!ec)
+ 	    {
+ 	      __glibcxx_assert(dir.dirp != nullptr);
+ 	      if (dir.advance(skip_permission_denied, ec))
+ 		{
+ 		  // Non-empty directory, recurse into it.
+ 		  _M_dirs->push(std::move(dir));
+ 		  continue;
+ 		}
+ 	      if (!ec)
+ 		{
+ 		  // Directory is empty so we can remove it.
+ 		  if (top.rmdir(ec))
+ 		    break; // Success
+ 		}
+ 	    }
+ 	}
+       else if (top.unlink(ec))
+ 	break; // Success
+ #if ! _GLIBCXX_FILESYSTEM_IS_WINDOWS
+       else if (top.entry._M_type == file_type::none)
+ 	{
+ 	  // We did not have a cached type, so it's possible that top.entry
+ 	  // is actually a directory, and that's why the unlink above failed.
+ #ifdef EPERM
+ 	  // POSIX.1-2017 says unlink on a directory returns EPERM,
+ 	  // but LSB allows EISDIR too. Some targets don't even define EPERM.
+ 	  if (ec.value() == EPERM || ec.value() == EISDIR)
+ #else
+ 	  if (ec.value() == EISDIR)
+ #endif
+ 	    {
+ 	      // Retry, treating it as a directory.
+ 	      top.entry._M_type = file_type::directory;
+ 	      ec.clear();
+ 	      continue;
+ 	    }
+ 	}
+ #endif
+     }
+ 
+   if (!ec)
+     {
+       // We successfully removed the current entry, so advance to the next one.
+       if (_M_dirs->top().advance(skip_permission_denied, ec))
+ 	return *this;
+       else if (!ec)
+ 	{
+ 	  // Reached the end of the current directory.
+ 	  _M_dirs->pop();
+ 	  if (_M_dirs->empty())
+ 	    _M_dirs.reset();
+ 	  return *this;
+ 	}
+     }
+ 
+   // Reset _M_dirs to empty.
+   auto dirs = std::move(_M_dirs);
+ 
+   // Need to report an error
+   if (ecptr)
+     *ecptr = ec;
+   else
+     _GLIBCXX_THROW_OR_ABORT(fs::filesystem_error("cannot remove all",
+ 						 dirs->orig,
+ 						 dirs->current_path(),
+ 						 ec));
+ 
+   return *this;
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/c++17/fs_ops.cc gcc-11.5.0/libstdc++-v3/src/c++17/fs_ops.cc
*** gcc-11.4.0/libstdc++-v3/src/c++17/fs_ops.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/c++17/fs_ops.cc	Fri Jul 19 05:52:47 2024
***************
*** 61,70 ****
  #define _GLIBCXX_END_NAMESPACE_FILESYSTEM }
  #include "../filesystem/ops-common.h"
  
- #ifdef __AVR__
- # define not_supported function_not_supported
- #endif
- 
  #pragma GCC diagnostic ignored "-Wunused-parameter"
  
  namespace fs = std::filesystem;
--- 61,66 ----
*************** fs::absolute(const path& p, error_code&
*** 121,127 ****
    while (len > buf.size());
  
    if (len == 0)
!     ec.assign((int)GetLastError(), std::system_category());
    else
      {
        buf.resize(len);
--- 117,123 ----
    while (len > buf.size());
  
    if (len == 0)
!     ec = __last_system_error();
    else
      {
        buf.resize(len);
*************** fs::copy(const path& from, const path& t
*** 361,367 ****
      }
    if (is_other(f) || is_other(t))
      {
!       ec = std::make_error_code(std::errc::not_supported);
        return;
      }
    if (is_directory(f) && is_regular_file(t))
--- 357,363 ----
      }
    if (is_other(f) || is_other(t))
      {
!       ec = std::make_error_code(std::errc::invalid_argument);
        return;
      }
    if (is_directory(f) && is_regular_file(t))
*************** fs::copy(const path& from, const path& t
*** 424,430 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 420,426 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::copy_file(const path& from, const pa
*** 447,453 ****
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
  		      nullptr, nullptr, ec);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return false;
  #endif
  }
--- 443,449 ----
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
  		      nullptr, nullptr, ec);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return false;
  #endif
  }
*************** namespace
*** 595,601 ****
  	created = true;
        }
  #else
!     ec = std::make_error_code(std::errc::not_supported);
  #endif
      return created;
    }
--- 591,597 ----
  	created = true;
        }
  #else
!     ec = std::make_error_code(std::errc::function_not_supported);
  #endif
      return created;
    }
*************** fs::create_directory(const path& p, cons
*** 643,649 ****
      }
    return create_dir(p, static_cast<perms>(st.st_mode), ec);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return false;
  #endif
  }
--- 639,645 ----
      }
    return create_dir(p, static_cast<perms>(st.st_mode), ec);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return false;
  #endif
  }
*************** fs::create_directory_symlink(const path&
*** 664,670 ****
  			     error_code& ec) noexcept
  {
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!   ec = std::make_error_code(std::errc::not_supported);
  #else
    create_symlink(to, new_symlink, ec);
  #endif
--- 660,666 ----
  			     error_code& ec) noexcept
  {
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!   ec = std::make_error_code(std::errc::function_not_supported);
  #else
    create_symlink(to, new_symlink, ec);
  #endif
*************** fs::create_hard_link(const path& to, con
*** 694,702 ****
    if (CreateHardLinkW(new_hard_link.c_str(), to.c_str(), NULL))
      ec.clear();
    else
!     ec.assign((int)GetLastError(), system_category());
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 690,698 ----
    if (CreateHardLinkW(new_hard_link.c_str(), to.c_str(), NULL))
      ec.clear();
    else
!     ec = __last_system_error();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::create_symlink(const path& to, const
*** 720,726 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 716,722 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::current_path(error_code& ec)
*** 788,794 ****
      }
  #endif  // __GLIBC__
  #else   // _GLIBCXX_HAVE_UNISTD_H
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return p;
  }
--- 784,790 ----
      }
  #endif  // __GLIBC__
  #else   // _GLIBCXX_HAVE_UNISTD_H
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return p;
  }
*************** fs::current_path(const path& p, error_co
*** 811,817 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 807,813 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::equivalent(const path& p1, const pat
*** 851,857 ****
      {
        if (is_other(s1) && is_other(s2))
  	{
! 	  ec = std::make_error_code(std::errc::not_supported);
  	  return false;
  	}
        ec.clear();
--- 847,853 ----
      {
        if (is_other(s1) && is_other(s2))
  	{
! 	  ec = std::__unsupported();
  	  return false;
  	}
        ec.clear();
*************** fs::equivalent(const path& p1, const pat
*** 886,897 ****
        if (!h1 || !h2)
  	{
  	  if (!h1 && !h2)
! 	    ec.assign((int)GetLastError(), system_category());
  	  return false;
  	}
        if (!h1.get_info() || !h2.get_info())
  	{
! 	  ec.assign((int)GetLastError(), system_category());
  	  return false;
  	}
        return h1.info.dwVolumeSerialNumber == h2.info.dwVolumeSerialNumber
--- 882,893 ----
        if (!h1 || !h2)
  	{
  	  if (!h1 && !h2)
! 	    ec = __last_system_error();
  	  return false;
  	}
        if (!h1.get_info() || !h2.get_info())
  	{
! 	  ec = __last_system_error();
  	  return false;
  	}
        return h1.info.dwVolumeSerialNumber == h2.info.dwVolumeSerialNumber
*************** fs::equivalent(const path& p1, const pat
*** 901,907 ****
        return st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino;
  #endif
      }
!   else if (!exists(s1) && !exists(s2))
      ec = std::make_error_code(std::errc::no_such_file_or_directory);
    else if (err)
      ec.assign(err, std::generic_category());
--- 897,903 ----
        return st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino;
  #endif
      }
!   else if (!exists(s1) || !exists(s2))
      ec = std::make_error_code(std::errc::no_such_file_or_directory);
    else if (err)
      ec.assign(err, std::generic_category());
*************** fs::equivalent(const path& p1, const pat
*** 909,915 ****
      ec.clear();
    return false;
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return false;
  }
--- 905,911 ----
      ec.clear();
    return false;
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return false;
  }
*************** namespace
*** 940,946 ****
        ec.clear();
        return f(st);
  #else
!       ec = std::make_error_code(std::errc::not_supported);
        return deflt;
  #endif
      }
--- 936,942 ----
        ec.clear();
        return f(st);
  #else
!       ec = std::make_error_code(std::errc::function_not_supported);
        return deflt;
  #endif
      }
*************** fs::file_size(const path& p, error_code&
*** 965,974 ****
        if (s.type == file_type::directory)
  	ec = std::make_error_code(std::errc::is_a_directory);
        else
! 	ec = std::make_error_code(std::errc::not_supported);
      }
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return -1;
  }
--- 961,970 ----
        if (s.type == file_type::directory)
  	ec = std::make_error_code(std::errc::is_a_directory);
        else
! 	ec = std::__unsupported();
      }
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return -1;
  }
*************** fs::hard_link_count(const path& p, error
*** 990,996 ****
    return do_stat(p, ec, std::mem_fn(&stat_type::st_nlink),
  		 static_cast<uintmax_t>(-1));
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return static_cast<uintmax_t>(-1);
  #endif
  }
--- 986,992 ----
    return do_stat(p, ec, std::mem_fn(&stat_type::st_nlink),
  		 static_cast<uintmax_t>(-1));
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return static_cast<uintmax_t>(-1);
  #endif
  }
*************** fs::last_write_time(const path& p, error
*** 1038,1044 ****
  		 },
  		 file_time_type::min());
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return file_time_type::min();
  #endif
  }
--- 1034,1040 ----
  		 },
  		 file_time_type::min());
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return file_time_type::min();
  #endif
  }
*************** fs::last_write_time(const path& p,
*** 1084,1090 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 1080,1086 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::permissions(const path& p, perms prm
*** 1133,1139 ****
      err = errno;
  #else
    if (nofollow && is_symlink(st))
!     ec = std::make_error_code(std::errc::not_supported);
    else if (posix::chmod(p.c_str(), static_cast<posix::mode_t>(prms)))
      err = errno;
  #endif
--- 1129,1135 ----
      err = errno;
  #else
    if (nofollow && is_symlink(st))
!     ec = std::__unsupported();
    else if (posix::chmod(p.c_str(), static_cast<posix::mode_t>(prms)))
      err = errno;
  #endif
*************** fs::path fs::read_symlink(const path& p,
*** 1218,1224 ****
      }
    while (true);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return result;
  }
--- 1214,1220 ----
      }
    while (true);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return result;
  }
*************** fs::remove(const path& p, error_code& ec
*** 1267,1273 ****
  	  return true;
  	}
        else if (!ec)
! 	ec.assign((int)GetLastError(), system_category());
      }
    else if (status_known(st))
      ec.clear();
--- 1263,1269 ----
  	  return true;
  	}
        else if (!ec)
! 	ec = __last_system_error();
      }
    else if (status_known(st))
      ec.clear();
*************** fs::remove(const path& p, error_code& ec
*** 1285,1389 ****
    return false;
  }
  
! namespace std::filesystem
! {
! namespace
  {
!   struct ErrorReporter
    {
!     explicit
!     ErrorReporter(error_code& ec) : code(&ec)
!     { }
! 
!     explicit
!     ErrorReporter(const char* s, const path& p)
!     : code(nullptr), msg(s), path1(&p)
!     { }
! 
!     error_code* code;
!     const char* msg;
!     const path* path1;
! 
!     void
!     report(const error_code& ec) const
!     {
!       if (code)
! 	*code = ec;
!       else
! 	_GLIBCXX_THROW_OR_ABORT(filesystem_error(msg, *path1, ec));
!     }
! 
!     void
!     report(const error_code& ec, const path& path2) const
      {
!       if (code)
! 	*code = ec;
!       else if (path2 != *path1)
! 	_GLIBCXX_THROW_OR_ABORT(filesystem_error(msg, *path1, path2, ec));
!       else
! 	_GLIBCXX_THROW_OR_ABORT(filesystem_error(msg, *path1, ec));
      }
!   };
! 
!   uintmax_t
!   do_remove_all(const path& p, const ErrorReporter& err)
!   {
!     error_code ec;
!     const auto s = symlink_status(p, ec);
!     if (!status_known(s))
!       {
! 	if (ec)
! 	  err.report(ec, p);
! 	return -1;
!       }
! 
!     ec.clear();
!     if (s.type() == file_type::not_found)
!       return 0;
! 
!     uintmax_t count = 0;
!     if (s.type() == file_type::directory)
!       {
! 	directory_iterator d(p, ec), end;
! 	while (d != end)
! 	  {
! 	    const auto removed = fs::do_remove_all(d->path(), err);
! 	    if (removed == numeric_limits<uintmax_t>::max())
! 	      return -1;
! 	    count += removed;
! 
! 	    d.increment(ec);
! 	    if (ec)
! 	      {
! 		err.report(ec, p);
! 		return -1;
! 	      }
! 	  }
!       }
! 
!     if (fs::remove(p, ec))
!       ++count;
!     if (ec)
!       {
! 	err.report(ec, p);
! 	return -1;
!       }
!     return count;
    }
- }
- }
  
! std::uintmax_t
! fs::remove_all(const path& p)
! {
!   return fs::do_remove_all(p, ErrorReporter{"cannot remove all", p});
  }
  
  std::uintmax_t
  fs::remove_all(const path& p, error_code& ec)
  {
!   ec.clear();
!   return fs::do_remove_all(p, ErrorReporter{ec});
  }
  
  void
--- 1281,1364 ----
    return false;
  }
  
! std::uintmax_t
! fs::remove_all(const path& p)
  {
!   error_code ec;
!   uintmax_t count = 0;
!   recursive_directory_iterator dir(p, directory_options{64|128}, ec);
!   switch (ec.value()) // N.B. assumes ec.category() == std::generic_category()
    {
!   case 0:
!     // Iterate over the directory removing everything.
      {
!       const recursive_directory_iterator end;
!       while (dir != end)
! 	{
! 	  dir.__erase(); // throws on error
! 	  ++count;
! 	}
      }
!     // Directory is empty now, will remove it below.
!     break;
! #ifndef __AVR__
!   case ENOENT:
!     // Our work here is done.
!     return 0;
!   case ENOTDIR:
!   case ELOOP:
!     // Not a directory, will remove below.
!     break;
! #endif
!   default:
!     // An error occurred.
!     _GLIBCXX_THROW_OR_ABORT(filesystem_error("cannot remove all", p, ec));
    }
  
!   // Remove p itself, which is either a non-directory or is now empty.
!   return count + fs::remove(p);
  }
  
  std::uintmax_t
  fs::remove_all(const path& p, error_code& ec)
  {
!   uintmax_t count = 0;
!   recursive_directory_iterator dir(p, directory_options{64|128}, ec);
!   switch (ec.value()) // N.B. assumes ec.category() == std::generic_category()
!   {
!   case 0:
!     // Iterate over the directory removing everything.
!     {
!       const recursive_directory_iterator end;
!       while (dir != end)
! 	{
! 	  dir.__erase(&ec);
! 	  if (ec)
! 	    return -1;
! 	  ++count;
! 	}
!     }
!     // Directory is empty now, will remove it below.
!     break;
! #ifndef __AVR__
!   case ENOENT:
!     // Our work here is done.
!     ec.clear();
!     return 0;
!   case ENOTDIR:
!   case ELOOP:
!     // Not a directory, will remove below.
!     break;
! #endif
!   default:
!     // An error occurred.
!     return -1;
!   }
! 
!   // Remove p itself, which is either a non-directory or is now empty.
!   if (int last = fs::remove(p, ec); !ec)
!     return count + last;
!   return -1;
  }
  
  void
*************** fs::resize_file(const path& p, uintmax_t
*** 1446,1452 ****
  void
  fs::resize_file(const path& p, uintmax_t size, error_code& ec) noexcept
  {
!   if (size > static_cast<uintmax_t>(std::numeric_limits<off_t>::max()))
      ec.assign(EINVAL, std::generic_category());
    else if (posix::truncate(p.c_str(), size))
      ec.assign(errno, std::generic_category());
--- 1421,1427 ----
  void
  fs::resize_file(const path& p, uintmax_t size, error_code& ec) noexcept
  {
!   if (size > static_cast<uintmax_t>(std::numeric_limits<posix::off_t>::max()))
      ec.assign(EINVAL, std::generic_category());
    else if (posix::truncate(p.c_str(), size))
      ec.assign(errno, std::generic_category());
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/filesystem/dir-common.h gcc-11.5.0/libstdc++-v3/src/filesystem/dir-common.h
*** gcc-11.4.0/libstdc++-v3/src/filesystem/dir-common.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/filesystem/dir-common.h	Fri Jul 19 05:52:47 2024
***************
*** 34,40 ****
  # ifdef _GLIBCXX_HAVE_SYS_TYPES_H
  #  include <sys/types.h>
  # endif
! # include <dirent.h>
  #endif
  
  namespace std _GLIBCXX_VISIBILITY(default)
--- 34,44 ----
  # ifdef _GLIBCXX_HAVE_SYS_TYPES_H
  #  include <sys/types.h>
  # endif
! # include <dirent.h> // opendir, readdir, fdopendir, dirfd
! # ifdef _GLIBCXX_HAVE_FCNTL_H
! #  include <fcntl.h>  // open, openat, fcntl, AT_FDCWD, O_NOFOLLOW etc.
! #  include <unistd.h> // close, unlinkat
! # endif
  #endif
  
  namespace std _GLIBCXX_VISIBILITY(default)
*************** struct DIR { };
*** 66,96 ****
  inline DIR* opendir(const char*) { return nullptr; }
  inline dirent* readdir(DIR*) { return nullptr; }
  inline int closedir(DIR*) { return -1; }
  #endif
  } // namespace __gnu_posix
  
  namespace posix = __gnu_posix;
  
! struct _Dir_base
  {
!   _Dir_base(posix::DIR* dirp = nullptr) : dirp(dirp) { }
  
    // If no error occurs then dirp is non-null,
!   // otherwise null (whether error ignored or not).
!   _Dir_base(const posix::char_type* pathname, bool skip_permission_denied,
  	    error_code& ec) noexcept
!   : dirp(posix::opendir(pathname))
    {
      if (dirp)
        ec.clear();
      else
!     {
!       const int err = errno;
!       if (err == EACCES && skip_permission_denied)
! 	ec.clear();
!       else
! 	ec.assign(err, std::generic_category());
!     }
    }
  
    _Dir_base(_Dir_base&& d) : dirp(std::exchange(d.dirp, nullptr)) { }
--- 70,109 ----
  inline DIR* opendir(const char*) { return nullptr; }
  inline dirent* readdir(DIR*) { return nullptr; }
  inline int closedir(DIR*) { return -1; }
+ #undef _GLIBCXX_HAVE_DIRFD
+ #undef _GLIBCXX_HAVE_UNLINKAT
  #endif
  } // namespace __gnu_posix
  
  namespace posix = __gnu_posix;
  
! inline bool
! is_permission_denied_error(int e)
  {
!   if (e == EACCES)
!     return true;
! #ifdef __APPLE__
!   if (e == EPERM) // See PR 99533
!     return true;
! #endif
!   return false;
! }
  
+ struct _Dir_base
+ {
    // If no error occurs then dirp is non-null,
!   // otherwise null (even if a permission denied error is ignored).
!   _Dir_base(int fd, const posix::char_type* pathname,
! 	    bool skip_permission_denied, bool nofollow,
  	    error_code& ec) noexcept
!   : dirp(_Dir_base::openat(fd, pathname, nofollow))
    {
      if (dirp)
        ec.clear();
+     else if (is_permission_denied_error(errno) && skip_permission_denied)
+       ec.clear();
      else
!       ec.assign(errno, std::generic_category());
    }
  
    _Dir_base(_Dir_base&& d) : dirp(std::exchange(d.dirp, nullptr)) { }
*************** struct _Dir_base
*** 130,135 ****
--- 143,158 ----
        }
    }
  
+   static constexpr int
+   fdcwd() noexcept
+   {
+ #ifdef AT_FDCWD
+     return AT_FDCWD;
+ #else
+     return -1; // Use invalid fd if AT_FDCWD isn't supported.
+ #endif
+   }
+ 
    static bool is_dot_or_dotdot(const char* s) noexcept
    { return !strcmp(s, ".") || !strcmp(s, ".."); }
  
*************** struct _Dir_base
*** 138,157 ****
    { return !wcscmp(s, L".") || !wcscmp(s, L".."); }
  #endif
  
!   posix::DIR*	dirp;
! };
! 
! inline bool
! is_permission_denied_error(int e)
! {
!   if (e == EACCES)
!     return true;
! #ifdef __APPLE__
!   if (e == EPERM) // See PR 99533
      return true;
  #endif
!   return false;
! }
  
  } // namespace filesystem
  
--- 161,231 ----
    { return !wcscmp(s, L".") || !wcscmp(s, L".."); }
  #endif
  
!   // Set the close-on-exec flag if not already done via O_CLOEXEC.
!   static bool
!   set_close_on_exec([[maybe_unused]] int fd)
!   {
! #if ! defined O_CLOEXEC && defined FD_CLOEXEC
!     int flags = ::fcntl(fd, F_GETFD);
!     if (flags == -1 || ::fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
!       return false;
! #endif
      return true;
+   }
+ 
+   static posix::DIR*
+   openat(int fd, const posix::char_type* pathname, bool nofollow)
+   {
+ #if _GLIBCXX_HAVE_FDOPENDIR && defined O_RDONLY && defined O_DIRECTORY \
+     && ! _GLIBCXX_FILESYSTEM_IS_WINDOWS
+ 
+     // Any file descriptor we open here should be closed on exec.
+ #ifdef O_CLOEXEC
+     constexpr int close_on_exec = O_CLOEXEC;
+ #else
+     constexpr int close_on_exec = 0;
+ #endif
+ 
+     int flags = O_RDONLY | O_DIRECTORY | close_on_exec;
+ 
+     // Directory iterators are vulnerable to race conditions unless O_NOFOLLOW
+     // is supported, because a directory could be replaced with a symlink after
+     // checking is_directory(symlink_status(f)). O_NOFOLLOW avoids the race.
+ #ifdef O_NOFOLLOW
+     if (nofollow)
+       flags |= O_NOFOLLOW;
+ #else
+     nofollow = false;
+ #endif
+ 
+ 
+ #if _GLIBCXX_HAVE_OPENAT && defined AT_FDCWD
+     fd = ::openat(fd, pathname, flags);
+ #else
+     // If we cannot use openat, there's no benefit to using posix::open unless
+     // we will use O_NOFOLLOW, so just use the simpler posix::opendir.
+     if (!nofollow)
+       return posix::opendir(pathname);
+ 
+     fd = ::open(pathname, flags);
  #endif
! 
!     if (fd == -1)
!       return nullptr;
!     if (set_close_on_exec(fd))
!       if (::DIR* dirp = ::fdopendir(fd))
! 	return dirp;
!     int err = errno;
!     ::close(fd);
!     errno = err;
!     return nullptr;
! #else
!     return posix::opendir(pathname);
! #endif
!   }
! 
!   posix::DIR*	dirp;
! };
  
  } // namespace filesystem
  
*************** get_file_type(const std::filesystem::__g
*** 187,192 ****
--- 261,267 ----
    return file_type::none;
  #endif
  }
+ 
  _GLIBCXX_END_NAMESPACE_FILESYSTEM
  
  _GLIBCXX_END_NAMESPACE_VERSION
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/filesystem/dir.cc gcc-11.5.0/libstdc++-v3/src/filesystem/dir.cc
*** gcc-11.4.0/libstdc++-v3/src/filesystem/dir.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/filesystem/dir.cc	Fri Jul 19 05:52:47 2024
*************** namespace posix = std::filesystem::__gnu
*** 51,64 ****
  
  struct fs::_Dir : std::filesystem::_Dir_base
  {
!   _Dir(const fs::path& p, bool skip_permission_denied, error_code& ec)
!   : _Dir_base(p.c_str(), skip_permission_denied, ec)
    {
      if (!ec)
        path = p;
    }
  
!   _Dir(posix::DIR* dirp, const path& p) : _Dir_base(dirp), path(p) { }
  
    _Dir(_Dir&&) = default;
  
--- 51,65 ----
  
  struct fs::_Dir : std::filesystem::_Dir_base
  {
!   _Dir(const fs::path& p, bool skip_permission_denied, bool nofollow,
!        error_code& ec)
!   : _Dir_base(this->fdcwd(), p.c_str(), skip_permission_denied, nofollow, ec)
    {
      if (!ec)
        path = p;
    }
  
!   _Dir(_Dir_base&& d, const path& p) : _Dir_base(std::move(d)), path(p) { }
  
    _Dir(_Dir&&) = default;
  
*************** struct fs::_Dir : std::filesystem::_Dir_
*** 112,117 ****
--- 113,141 ----
      return false;
    }
  
+   // Return a file descriptor for the directory and current entry's path.
+   // If dirfd is available, use it and return only the filename.
+   // Otherwise, return AT_FDCWD and return the full path.
+   pair<int, const posix::char_type*>
+   dir_and_pathname() const noexcept
+   {
+     const fs::path& p = entry.path();
+ #if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT
+     return {::dirfd(this->dirp), std::prev(p.end())->c_str()};
+ #endif
+     return {this->fdcwd(), p.c_str()};
+   }
+ 
+   // Create a new _Dir for the directory this->entry.path().
+   _Dir
+   open_subdir(bool skip_permission_denied, bool nofollow,
+ 	      error_code& ec) noexcept
+   {
+     auto [dirfd, pathname] = dir_and_pathname();
+     _Dir_base d(dirfd, pathname, skip_permission_denied, nofollow, ec);
+     return _Dir(std::move(d), entry.path());
+   }
+ 
    fs::path		path;
    directory_entry	entry;
    file_type		type = file_type::none;
*************** namespace
*** 130,140 ****
  fs::directory_iterator::
  directory_iterator(const path& p, directory_options options, error_code* ecptr)
  {
    const bool skip_permission_denied
      = is_set(options, directory_options::skip_permission_denied);
  
    error_code ec;
!   _Dir dir(p, skip_permission_denied, ec);
  
    if (dir.dirp)
      {
--- 154,165 ----
  fs::directory_iterator::
  directory_iterator(const path& p, directory_options options, error_code* ecptr)
  {
+   // Do not report an error for permission denied errors.
    const bool skip_permission_denied
      = is_set(options, directory_options::skip_permission_denied);
  
    error_code ec;
!   _Dir dir(p, skip_permission_denied, /*nofollow*/false, ec);
  
    if (dir.dirp)
      {
*************** fs::directory_iterator::increment(error_
*** 186,191 ****
--- 211,221 ----
  
  struct fs::recursive_directory_iterator::_Dir_stack : std::stack<_Dir>
  {
+   _Dir_stack(_Dir&& dir)
+   {
+     this->push(std::move(dir));
+   }
+ 
    void clear() { c.clear(); }
  };
  
*************** recursive_directory_iterator(const path&
*** 194,226 ****
                               error_code* ecptr)
  : _M_options(options), _M_pending(true)
  {
!   if (posix::DIR* dirp = posix::opendir(p.c_str()))
!     {
!       if (ecptr)
! 	ecptr->clear();
!       auto sp = std::make_shared<_Dir_stack>();
!       sp->push(_Dir{ dirp, p });
!       if (ecptr ? sp->top().advance(*ecptr) : sp->top().advance())
! 	_M_dirs.swap(sp);
!     }
!   else
      {
!       const int err = errno;
!       if (std::filesystem::is_permission_denied_error(err)
! 	  && is_set(options, fs::directory_options::skip_permission_denied))
  	{
! 	  if (ecptr)
! 	    ecptr->clear();
! 	  return;
  	}
- 
-       if (!ecptr)
- 	_GLIBCXX_THROW_OR_ABORT(filesystem_error(
- 	      "recursive directory iterator cannot open directory", p,
- 	      std::error_code(err, std::generic_category())));
- 
-       ecptr->assign(err, std::generic_category());
      }
  }
  
  fs::recursive_directory_iterator::~recursive_directory_iterator() = default;
--- 224,250 ----
                               error_code* ecptr)
  : _M_options(options), _M_pending(true)
  {
!   // Do not report an error for permission denied errors.
!   const bool skip_permission_denied
!     = is_set(options, directory_options::skip_permission_denied);
! 
!   error_code ec;
!   _Dir dir(p, skip_permission_denied, /*nofollow*/false, ec);
! 
!   if (dir.dirp)
      {
!       auto sp = std::__make_shared<_Dir_stack>(std::move(dir));
!       if (ecptr ? sp->top().advance(skip_permission_denied, *ecptr)
! 		: sp->top().advance(skip_permission_denied))
  	{
! 	  _M_dirs.swap(sp);
  	}
      }
+   else if (ecptr)
+     *ecptr = ec;
+   else if (ec)
+     _GLIBCXX_THROW_OR_ABORT(fs::filesystem_error(
+ 	  "recursive directory iterator cannot open directory", p, ec));
  }
  
  fs::recursive_directory_iterator::~recursive_directory_iterator() = default;
*************** fs::recursive_directory_iterator::increm
*** 274,280 ****
  
    if (std::exchange(_M_pending, true) && top.should_recurse(follow, ec))
      {
!       _Dir dir(top.entry.path(), skip_permission_denied, ec);
        if (ec)
  	{
  	  _M_dirs.reset();
--- 298,304 ----
  
    if (std::exchange(_M_pending, true) && top.should_recurse(follow, ec))
      {
!       _Dir dir = top.open_subdir(skip_permission_denied, !follow, ec);
        if (ec)
  	{
  	  _M_dirs.reset();
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/filesystem/ops-common.h gcc-11.5.0/libstdc++-v3/src/filesystem/ops-common.h
*** gcc-11.4.0/libstdc++-v3/src/filesystem/ops-common.h	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/filesystem/ops-common.h	Fri Jul 19 05:52:47 2024
***************
*** 56,61 ****
--- 56,103 ----
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ 
+   // Get the last OS error (for POSIX this is just errno).
+   inline error_code
+   __last_system_error() noexcept
+   {
+ #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
+     // N.B. use error_code::default_error_condition() to convert to generic.
+     return {(int)::GetLastError(), std::system_category()};
+ #else
+     return {errno, std::generic_category()};
+ #endif
+   }
+ 
+   // Get an error code indicating unsupported functionality.
+   //
+   // This should be used when a function is unable to behave as specified
+   // due to an incomplete or partial implementation, e.g.
+   // filesystem::equivalent(a, b) if is_other(a) && is_other(b) is true.
+   //
+   // Use errc::function_not_supported for functions that are entirely
+   // unimplemented, e.g. create_symlink on Windows.
+   //
+   // Use errc::invalid_argument for requests to perform operations outside
+   // the spec, e.g. trying to copy a directory using filesystem::copy_file.
+   inline error_code
+   __unsupported() noexcept
+   {
+ #if defined __AVR__
+     // avr-libc defines ENOTSUP and EOPNOTSUPP but with nonsense values.
+     // ENOSYS is defined though, so use an error_code corresponding to that.
+     // This contradicts the comment above, but we don't have much choice.
+     return std::make_error_code(std::errc::function_not_supported);
+ #elif defined ENOTSUP
+     return std::make_error_code(std::errc::not_supported);
+ #elif defined EOPNOTSUPP
+     // This is supposed to be for socket operations
+     return std::make_error_code(std::errc::operation_not_supported);
+ #else
+     return std::make_error_code(std::errc::invalid_argument);
+ #endif
+   }
+ 
  namespace filesystem
  {
  namespace __gnu_posix
*************** namespace __gnu_posix
*** 115,120 ****
--- 157,163 ----
      return -1;
    }
  
+   using off_t = _off64_t;
    inline int truncate(const wchar_t* path, _off64_t length)
    {
      const int fd = ::_wopen(path, _O_BINARY|_O_RDWR);
*************** namespace __gnu_posix
*** 151,156 ****
--- 194,200 ----
    using ::utime;
  # endif
    using ::rename;
+   using ::off_t;
  # ifdef _GLIBCXX_HAVE_TRUNCATE
    using ::truncate;
  # else
*************** namespace __gnu_posix
*** 170,188 ****
  # endif
    using char_type = char;
  #else // ! _GLIBCXX_FILESYSTEM_IS_WINDOWS && ! _GLIBCXX_HAVE_UNISTD_H
! #ifdef __AVR__
! # define ENOTSUP ENOSYS
! #endif
! 
!   inline int open(const char*, int, ...) { errno = ENOTSUP; return -1; }
!   inline int close(int) { errno = ENOTSUP; return -1; }
    using mode_t = int;
!   inline int chmod(const char*, mode_t) { errno = ENOTSUP; return -1; }
!   inline int mkdir(const char*, mode_t) { errno = ENOTSUP; return -1; }
!   inline char* getcwd(char*, size_t) { errno = ENOTSUP; return nullptr; }
!   inline int chdir(const char*) { errno = ENOTSUP; return -1; }
!   inline int rename(const char*, const char*) { errno = ENOTSUP; return -1; }
!   inline int truncate(const char*, long) { errno = ENOTSUP; return -1; }
    using char_type = char;
  #endif // _GLIBCXX_FILESYSTEM_IS_WINDOWS
  } // namespace __gnu_posix
--- 214,229 ----
  # endif
    using char_type = char;
  #else // ! _GLIBCXX_FILESYSTEM_IS_WINDOWS && ! _GLIBCXX_HAVE_UNISTD_H
!   inline int open(const char*, int, ...) { errno = ENOSYS; return -1; }
!   inline int close(int) { errno = ENOSYS; return -1; }
    using mode_t = int;
!   inline int chmod(const char*, mode_t) { errno = ENOSYS; return -1; }
!   inline int mkdir(const char*, mode_t) { errno = ENOSYS; return -1; }
!   inline char* getcwd(char*, size_t) { errno = ENOSYS; return nullptr; }
!   inline int chdir(const char*) { errno = ENOSYS; return -1; }
!   inline int rename(const char*, const char*) { errno = ENOSYS; return -1; }
!   using off_t = long;
!   inline int truncate(const char*, off_t) { errno = ENOSYS; return -1; }
    using char_type = char;
  #endif // _GLIBCXX_FILESYSTEM_IS_WINDOWS
  } // namespace __gnu_posix
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 365,371 ****
      // 2712. copy_file() has a number of unspecified error conditions
      if (!is_regular_file(f))
        {
! 	ec = std::make_error_code(std::errc::not_supported);
  	return false;
        }
  
--- 406,412 ----
      // 2712. copy_file() has a number of unspecified error conditions
      if (!is_regular_file(f))
        {
! 	ec = std::make_error_code(std::errc::invalid_argument);
  	return false;
        }
  
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 373,379 ****
        {
  	if (!is_regular_file(t))
  	  {
! 	    ec = std::make_error_code(std::errc::not_supported);
  	    return false;
  	  }
  
--- 414,420 ----
        {
  	if (!is_regular_file(t))
  	  {
! 	    ec = std::make_error_code(std::errc::invalid_argument);
  	    return false;
  	  }
  
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 404,410 ****
  	  }
  	else if (!is_regular_file(t))
  	  {
! 	    ec = std::make_error_code(std::errc::not_supported);
  	    return false;
  	  }
        }
--- 445,451 ----
  	  }
  	else if (!is_regular_file(t))
  	  {
! 	    ec = std::make_error_code(std::errc::invalid_argument);
  	    return false;
  	  }
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 415,439 ****
        int fd;
      };
  
!     int iflag = O_RDONLY;
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!     iflag |= O_BINARY;
  #endif
  
      CloseFD in = { posix::open(from, iflag) };
      if (in.fd == -1)
        {
  	ec.assign(errno, std::generic_category());
  	return false;
        }
!     int oflag = O_WRONLY|O_CREAT;
      if (options.overwrite || options.update)
        oflag |= O_TRUNC;
      else
        oflag |= O_EXCL;
- #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
-     oflag |= O_BINARY;
- #endif
      CloseFD out = { posix::open(to, oflag, S_IWUSR) };
      if (out.fd == -1)
        {
--- 456,481 ----
        int fd;
      };
  
!     int common_flags = 0;
! #ifdef O_CLOEXEC
!     common_flags |= O_CLOEXEC;
! #endif
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!     common_flags |= O_BINARY;
  #endif
  
+     const int iflag = O_RDONLY | common_flags;
      CloseFD in = { posix::open(from, iflag) };
      if (in.fd == -1)
        {
  	ec.assign(errno, std::generic_category());
  	return false;
        }
!     int oflag = O_WRONLY | O_CREAT | common_flags;
      if (options.overwrite || options.update)
        oflag |= O_TRUNC;
      else
        oflag |= O_EXCL;
      CloseFD out = { posix::open(to, oflag, S_IWUSR) };
      if (out.fd == -1)
        {
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 458,482 ****
  
      size_t count = from_st->st_size;
  #if defined _GLIBCXX_USE_SENDFILE && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS
!     off_t offset = 0;
!     ssize_t n = ::sendfile(out.fd, in.fd, &offset, count);
!     if (n < 0 && errno != ENOSYS && errno != EINVAL)
!       {
! 	ec.assign(errno, std::generic_category());
! 	return false;
!       }
!     if ((size_t)n == count)
        {
! 	if (!out.close() || !in.close())
  	  {
  	    ec.assign(errno, std::generic_category());
  	    return false;
  	  }
! 	ec.clear();
! 	return true;
        }
-     else if (n > 0)
-       count -= n;
  #endif // _GLIBCXX_USE_SENDFILE
  
      using std::ios;
--- 500,528 ----
  
      size_t count = from_st->st_size;
  #if defined _GLIBCXX_USE_SENDFILE && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS
!     ssize_t n = 0;
!     if (count != 0)
        {
! 	off_t offset = 0;
! 	n = ::sendfile(out.fd, in.fd, &offset, count);
! 	if (n < 0 && errno != ENOSYS && errno != EINVAL)
  	  {
  	    ec.assign(errno, std::generic_category());
  	    return false;
  	  }
! 	if ((size_t)n == count)
! 	  {
! 	    if (!out.close() || !in.close())
! 	      {
! 		ec.assign(errno, std::generic_category());
! 		return false;
! 	      }
! 	    ec.clear();
! 	    return true;
! 	  }
! 	else if (n > 0)
! 	  count -= n;
        }
  #endif // _GLIBCXX_USE_SENDFILE
  
      using std::ios;
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 506,516 ****
        }
  #endif
  
!     if (count && !(std::ostream(&sbout) << &sbin))
!       {
! 	ec = std::make_error_code(std::errc::io_error);
! 	return false;
!       }
      if (!sbout.close() || !sbin.close())
        {
  	ec.assign(errno, std::generic_category());
--- 552,568 ----
        }
  #endif
  
!     // ostream::operator<<(streambuf*) fails if it extracts no characters,
!     // so don't try to use it for empty files. But from_st->st_size == 0 for
!     // some special files (e.g. procfs, see PR libstdc++/108178) so just try
!     // to read a character to decide whether there is anything to copy or not.
!     if (sbin.sgetc() != char_traits<char>::eof())
!       if (!(std::ostream(&sbout) << &sbin))
! 	{
! 	  ec = std::make_error_code(std::errc::io_error);
! 	  return false;
! 	}
! 
      if (!sbout.close() || !sbin.close())
        {
  	ec.assign(errno, std::generic_category());
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 561,569 ****
  	ec.clear();
        }
      else
!       ec.assign((int)GetLastError(), std::system_category());
  #else
!     ec = std::make_error_code(std::errc::not_supported);
  #endif
    }
  #pragma GCC diagnostic pop
--- 613,621 ----
  	ec.clear();
        }
      else
!       ec = std::__last_system_error();
  #else
!     ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    }
  #pragma GCC diagnostic pop
*************** _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
*** 583,592 ****
        {
  	buf.resize(len);
  	len = GetTempPathW(buf.size(), buf.data());
!       } while (len > buf.size());
  
      if (len == 0)
!       ec.assign((int)GetLastError(), std::system_category());
      else
        ec.clear();
  
--- 635,645 ----
        {
  	buf.resize(len);
  	len = GetTempPathW(buf.size(), buf.data());
!       }
!     while (len > buf.size());
  
      if (len == 0)
!       ec = __last_system_error();
      else
        ec.clear();
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/src/filesystem/ops.cc gcc-11.5.0/libstdc++-v3/src/filesystem/ops.cc
*** gcc-11.4.0/libstdc++-v3/src/filesystem/ops.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/src/filesystem/ops.cc	Fri Jul 19 05:52:47 2024
***************
*** 63,68 ****
--- 63,70 ----
  #define _GLIBCXX_END_NAMESPACE_FILESYSTEM } }
  #include "ops-common.h"
  
+ #include <filesystem> // std::filesystem::remove_all
+ 
  namespace fs = std::experimental::filesystem;
  namespace posix = std::filesystem::__gnu_posix;
  
*************** fs::copy(const path& from, const path& t
*** 297,303 ****
      }
    if (is_other(f) || is_other(t))
      {
!       ec = std::make_error_code(std::errc::not_supported);
        return;
      }
    if (is_directory(f) && is_regular_file(t))
--- 299,305 ----
      }
    if (is_other(f) || is_other(t))
      {
!       ec = std::make_error_code(std::errc::invalid_argument);
        return;
      }
    if (is_directory(f) && is_regular_file(t))
*************** fs::copy_file(const path& from, const pa
*** 380,386 ****
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
  		      nullptr, nullptr, ec);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return false;
  #endif
  }
--- 382,388 ----
    return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
  		      nullptr, nullptr, ec);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return false;
  #endif
  }
*************** namespace
*** 499,505 ****
  	created = true;
        }
  #else
!     ec = std::make_error_code(std::errc::not_supported);
  #endif
      return created;
    }
--- 501,507 ----
  	created = true;
        }
  #else
!     ec = std::make_error_code(std::errc::function_not_supported);
  #endif
      return created;
    }
*************** fs::create_directory(const path& p, cons
*** 547,553 ****
      }
    return create_dir(p, static_cast<perms>(st.st_mode), ec);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
    return false;
  #endif
  }
--- 549,555 ----
      }
    return create_dir(p, static_cast<perms>(st.st_mode), ec);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
    return false;
  #endif
  }
*************** fs::create_directory_symlink(const path&
*** 568,574 ****
  			     error_code& ec) noexcept
  {
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!   ec = std::make_error_code(std::errc::not_supported);
  #else
    create_symlink(to, new_symlink, ec);
  #endif
--- 570,576 ----
  			     error_code& ec) noexcept
  {
  #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
!   ec = std::make_error_code(std::errc::function_not_supported);
  #else
    create_symlink(to, new_symlink, ec);
  #endif
*************** fs::create_hard_link(const path& to, con
*** 598,606 ****
    if (CreateHardLinkW(new_hard_link.c_str(), to.c_str(), NULL))
      ec.clear();
    else
!     ec.assign((int)GetLastError(), system_category());
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 600,608 ----
    if (CreateHardLinkW(new_hard_link.c_str(), to.c_str(), NULL))
      ec.clear();
    else
!     ec = __last_system_error();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::create_symlink(const path& to, const
*** 624,630 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 626,632 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::current_path(error_code& ec)
*** 691,697 ****
      }
  #endif  // __GLIBC__
  #else   // _GLIBCXX_HAVE_UNISTD_H
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return p;
  }
--- 693,699 ----
      }
  #endif  // __GLIBC__
  #else   // _GLIBCXX_HAVE_UNISTD_H
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return p;
  }
*************** fs::current_path(const path& p, error_co
*** 714,720 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 716,722 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::equivalent(const path& p1, const pat
*** 754,760 ****
      {
        if (is_other(s1) && is_other(s2))
  	{
! 	  ec = std::make_error_code(std::errc::not_supported);
  	  return false;
  	}
        ec.clear();
--- 756,762 ----
      {
        if (is_other(s1) && is_other(s2))
  	{
! 	  ec = std::__unsupported();
  	  return false;
  	}
        ec.clear();
*************** fs::equivalent(const path& p1, const pat
*** 762,768 ****
  	return false;
        return st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino;
      }
!   else if (!exists(s1) && !exists(s2))
      ec = std::make_error_code(std::errc::no_such_file_or_directory);
    else if (err)
      ec.assign(err, std::generic_category());
--- 764,770 ----
  	return false;
        return st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino;
      }
!   else if (!exists(s1) || !exists(s2))
      ec = std::make_error_code(std::errc::no_such_file_or_directory);
    else if (err)
      ec.assign(err, std::generic_category());
*************** fs::equivalent(const path& p1, const pat
*** 770,776 ****
      ec.clear();
    return false;
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return false;
  }
--- 772,778 ----
      ec.clear();
    return false;
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return false;
  }
*************** namespace
*** 801,807 ****
        ec.clear();
        return f(st);
  #else
!       ec = std::make_error_code(std::errc::not_supported);
        return deflt;
  #endif
      }
--- 803,809 ----
        ec.clear();
        return f(st);
  #else
!       ec = std::make_error_code(std::errc::function_not_supported);
        return deflt;
  #endif
      }
*************** fs::file_size(const path& p, error_code&
*** 825,831 ****
        if (s.type == file_type::directory)
  	ec = std::make_error_code(std::errc::is_a_directory);
        else
! 	ec = std::make_error_code(std::errc::not_supported);
      }
    return -1;
  }
--- 827,833 ----
        if (s.type == file_type::directory)
  	ec = std::make_error_code(std::errc::is_a_directory);
        else
! 	ec = std::__unsupported();
      }
    return -1;
  }
*************** fs::last_write_time(const path& p __attr
*** 928,934 ****
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
  }
  
--- 930,936 ----
    else
      ec.clear();
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
  }
  
*************** fs::permissions(const path& p, perms prm
*** 975,981 ****
      err = errno;
  #else
    if (nofollow && is_symlink(st))
!     ec = std::make_error_code(std::errc::operation_not_supported);
    else if (posix::chmod(p.c_str(), static_cast<mode_t>(prms)))
      err = errno;
  #endif
--- 977,983 ----
      err = errno;
  #else
    if (nofollow && is_symlink(st))
!     ec = std::__unsupported();
    else if (posix::chmod(p.c_str(), static_cast<mode_t>(prms)))
      err = errno;
  #endif
*************** fs::path fs::read_symlink(const path& p
*** 1040,1046 ****
      }
    while (true);
  #else
!   ec = std::make_error_code(std::errc::not_supported);
  #endif
    return result;
  }
--- 1042,1048 ----
      }
    while (true);
  #else
!   ec = std::make_error_code(std::errc::function_not_supported);
  #endif
    return result;
  }
*************** fs::remove(const path& p, error_code& ec
*** 1070,1076 ****
  	  return true;
  	}
        else if (!ec)
! 	ec.assign((int)GetLastError(), system_category());
      }
    else if (status_known(st))
      ec.clear();
--- 1072,1078 ----
  	  return true;
  	}
        else if (!ec)
! 	ec = __last_system_error();
      }
    else if (status_known(st))
      ec.clear();
*************** fs::remove_all(const path& p)
*** 1102,1134 ****
  std::uintmax_t
  fs::remove_all(const path& p, error_code& ec)
  {
!   const auto s = symlink_status(p, ec);
!   if (!status_known(s))
!     return -1;
! 
!   ec.clear();
!   if (s.type() == file_type::not_found)
!     return 0;
! 
!   uintmax_t count = 0;
!   if (s.type() == file_type::directory)
!     {
!       directory_iterator d(p, ec), end;
!       while (!ec && d != end)
! 	{
! 	  const auto removed = fs::remove_all(d->path(), ec);
! 	  if (removed == numeric_limits<uintmax_t>::max())
! 	    return -1;
! 	  count += removed;
! 	  d.increment(ec);
! 	  if (ec)
! 	    return -1;
! 	}
!     }
! 
!   if (fs::remove(p, ec))
!     ++count;
!   return ec ? -1 : count;
  }
  
  void
--- 1104,1111 ----
  std::uintmax_t
  fs::remove_all(const path& p, error_code& ec)
  {
!   // Use the C++17 implementation.
!   return std::filesystem::remove_all(p.native(), ec);
  }
  
  void
*************** fs::resize_file(const path& p, uintmax_t
*** 1161,1176 ****
  void
  fs::resize_file(const path& p, uintmax_t size, error_code& ec) noexcept
  {
! #ifdef _GLIBCXX_HAVE_UNISTD_H
!   if (size > static_cast<uintmax_t>(std::numeric_limits<off_t>::max()))
      ec.assign(EINVAL, std::generic_category());
    else if (posix::truncate(p.c_str(), size))
      ec.assign(errno, std::generic_category());
    else
      ec.clear();
- #else
-   ec = std::make_error_code(std::errc::not_supported);
- #endif
  }
  
  
--- 1138,1149 ----
  void
  fs::resize_file(const path& p, uintmax_t size, error_code& ec) noexcept
  {
!   if (size > static_cast<uintmax_t>(std::numeric_limits<posix::off_t>::max()))
      ec.assign(EINVAL, std::generic_category());
    else if (posix::truncate(p.c_str(), size))
      ec.assign(errno, std::generic_category());
    else
      ec.clear();
  }
  
  
*************** fs::system_complete(const path& p, error
*** 1340,1346 ****
        || p.root_name() == base.root_name())
      return absolute(p, base);
    // else TODO
!   ec = std::make_error_code(std::errc::not_supported);
    return {};
  #else
    if (ec.value())
--- 1313,1319 ----
        || p.root_name() == base.root_name())
      return absolute(p, base);
    // else TODO
!   ec = std::__unsupported();
    return {};
  #else
    if (ec.value())
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc gcc-11.5.0/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc	Fri Jul 19 05:52:47 2024
*************** int main()
*** 26,44 ****
  {
    const std::string s("too late: boulangerie out of pain au raisin");
    const std::error_code
!     e(std::make_error_code(std::errc::operation_not_supported));
  
    // 1
    {
      std::system_error err1(e, s);
!     VERIFY( err1.code() == e ); 
      VERIFY( std::string(err1.what()).find(s) != std::string::npos );
    }
  
    // 2
    {
      std::system_error err2(95, std::system_category(), s);
!     VERIFY( err2.code() == std::error_code(95, std::system_category()) ); 
      VERIFY( std::string((err2.what(), s)).find(s) != std::string::npos );
    }
  
--- 26,44 ----
  {
    const std::string s("too late: boulangerie out of pain au raisin");
    const std::error_code
!     e(std::make_error_code(std::errc::invalid_argument));
  
    // 1
    {
      std::system_error err1(e, s);
!     VERIFY( err1.code() == e );
      VERIFY( std::string(err1.what()).find(s) != std::string::npos );
    }
  
    // 2
    {
      std::system_error err2(95, std::system_category(), s);
!     VERIFY( err2.code() == std::error_code(95, std::system_category()) );
      VERIFY( std::string((err2.what(), s)).find(s) != std::string::npos );
    }
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/any/cons/104242.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/any/cons/104242.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/any/cons/104242.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/any/cons/104242.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,12 ----
+ // { dg-do compile { target c++17 } }
+ 
+ // PR libstdc++/104242 - Class with constructor from std::any is not copyable
+ 
+ #include <any>
+ #include <type_traits>
+ 
+ struct A {
+     A(const A&) = default;
+     explicit A(std::any value);
+ };
+ static_assert(std::is_copy_constructible_v<A>);
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_equal_neg.cc	Fri Jul 19 05:52:47 2024
***************
*** 15,21 ****
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
--- 15,21 ----
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a -O2" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/greater_neg.cc	Fri Jul 19 05:52:47 2024
***************
*** 15,21 ****
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
--- 15,21 ----
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a -O2" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_comparisons/less_equal_neg.cc	Fri Jul 19 05:52:47 2024
***************
*** 15,21 ****
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
--- 15,21 ----
  // with this library; see the file COPYING3.  If not see
  // <http://www.gnu.org/licenses/>.
  
! // { dg-options "-std=gnu++2a -O2" }
  // { dg-do compile { target c++2a } }
  
  #include <utility>
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,34 ----
+ // { dg-do compile { target c++14 } }
+ 
+ // PR c++/111357 - __integer_pack fails to work with values of dependent type
+ // convertible to integers in noexcept context
+ 
+ #include <utility>
+ 
+ using std::integer_sequence;
+ using std::make_integer_sequence;
+ 
+ template<int... V>
+ void g(integer_sequence<int,V...>)
+ {}
+ 
+ template<typename ...T>
+ struct c1
+ {
+   static constexpr int value = 1;
+   constexpr operator int() { return value; }
+ };
+ 
+ template<typename T>
+ struct R
+ {
+   using S = make_integer_sequence<int,c1<T>{}>;
+ 
+   R() noexcept(noexcept(g(S()))) // { dg-bogus "argument to .__integer_pack." }
+   {}
+ };
+ 
+ int main()
+ {
+   R<int>();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/optional/relops/104606.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/optional/relops/104606.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/optional/relops/104606.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/optional/relops/104606.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,18 ----
+ // { dg-do compile { target c++17 } }
+ 
+ // Bug 104606 comparison operator resolution with std::optional and -std=c++20
+ 
+ #include <optional>
+ #include <variant>
+ #include <vector>
+ 
+ struct Value : std::variant<std::vector<Value>> { };
+ 
+ struct Comparator {
+   template <typename T> bool operator<=(const T &) { return true; }
+ };
+ 
+ std::optional<Value> o;
+ Comparator c;
+ 
+ auto x = c <= o;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc gcc-11.5.0/libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,15 ----
+ // { dg-do compile { target c++11 } }
+ 
+ // PR libstdc++/114147
+ // tuple allocator-extended ctor requires non-explicit default ctor
+ 
+ #include <tuple>
+ #include <memory>
+ 
+ struct X { explicit X(); };
+ 
+ std::allocator<int> a;
+ std::tuple<X> t0(std::allocator_arg, a);
+ std::tuple<int, X> t1(std::allocator_arg, a);
+ std::tuple<X, int> t2(std::allocator_arg, a);
+ std::tuple<int, X, int> t3(std::allocator_arg, a);
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc gcc-11.5.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,14 ----
+ // { dg-do compile { target c++17 } }
+ 
+ #include <string_view>
+ 
+ constexpr bool
+ check_remove_prefix()
+ {
+   std::string_view sv("123");
+   sv.remove_prefix(4);
+   // { dg-error "not a constant expression" "" { target *-*-* } 0 }
+   return true;
+ }
+ 
+ constexpr bool test = check_remove_prefix();
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc gcc-11.5.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,14 ----
+ // { dg-do compile { target c++17 } }
+ 
+ #include <string_view>
+ 
+ constexpr bool
+ check_remove_suffix()
+ {
+   std::string_view sv("123");
+   sv.remove_suffix(4);
+   // { dg-error "not a constant expression" "" { target *-*-* } 0 }
+   return true;
+ }
+ 
+ constexpr bool test = check_remove_suffix();
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/23_containers/array/creation/111512.cc gcc-11.5.0/libstdc++-v3/testsuite/23_containers/array/creation/111512.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/23_containers/array/creation/111512.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/23_containers/array/creation/111512.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,25 ----
+ // { dg-options "-std=gnu++20" }
+ // { dg-do compile { target c++20 } }
+ 
+ // Bug libstdc++/111511 - Incorrect ADL in std::to_array in GCC 11/12/13
+ // Bug c++/111512 - GCC's __builtin_memcpy can trigger ADL
+ 
+ #include <array>
+ #include <utility>
+ 
+ struct incomplete;
+ 
+ template<class T>
+ struct holder {
+     T t; // { dg-bogus "'holder<T>::t' has incomplete type" }
+ };
+ 
+ // A complete type that cannot be used as an associated type for ADL.
+ using adl_bomb = holder<incomplete>*;
+ 
+ int main()
+ {
+     adl_bomb a[1]{};
+     (void) std::to_array(a);
+     (void) std::to_array(std::move(a));
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc gcc-11.5.0/libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,125 ----
+ // { dg-do run { target c++17 } }
+ 
+ // PR libstdc++/114401 allocator destructor omitted when reinserting node_handle
+ 
+ #include <set>
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ template<typename T>
+ struct Alloc
+ {
+   using value_type = T;
+   using propagate_on_container_copy_assignment = std::true_type;
+   using propagate_on_container_move_assignment = std::true_type;
+   using propagate_on_container_swap = std::true_type;
+ 
+   Alloc(int identity) : id(std::make_shared<int>(identity)) { }
+ 
+   template<typename U>
+     Alloc(const Alloc<U> a) : id(a.id) { }
+ 
+   T* allocate(std::size_t n) { return std::allocator<T>().allocate(n); }
+   void deallocate(T* p, std::size_t n) { std::allocator<T>().deallocate(p, n); }
+ 
+   template<typename U>
+     friend bool
+     operator==(const Alloc& a, const Alloc<U>& a2)
+     { return a.id == a2.id; }
+ 
+   template<typename U>
+     friend bool
+     operator!=(const Alloc& a, const Alloc<U>& a2)
+     { return !(a == a2); }
+ 
+   std::shared_ptr<int> id;
+ };
+ 
+ using test_type = std::multiset<int, std::less<int>, Alloc<int>>;
+ 
+ void
+ test_node_ops()
+ {
+   test_type s1({1,3,5}, Alloc<int>(1));
+   test_type s2({2,4,6,8}, Alloc<int>(2));
+   VERIFY( s1.get_allocator() != s2.get_allocator() );
+ 
+   auto node_a = s1.extract(1);
+   VERIFY( ! node_a.empty() );
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+ 
+   node_a = std::move(node_a); // self-move
+   VERIFY( node_a.empty() );
+ 
+   swap(node_a, node_a); // self-swap
+   VERIFY( node_a.empty() );
+ 
+   auto node_b = s2.extract(2);
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   node_a = std::move(node_b); // empty = !empty
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(!empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   node_a = s1.extract(3); // !empty = !empty
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+   node_b = s2.extract(0); // empty = empty
+   VERIFY( node_b.empty() );
+   node_b = s2.extract(6); // empty = !empty
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(!empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.get_allocator() == s1.get_allocator() );
+ 
+   node_a = {};
+   node_b = std::move(node_a); // !empty = empty
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ }
+ 
+ void
+ test_alloc_lifetime()
+ {
+   Alloc<int> a(1);
+   test_type s({1,2,3}, a);
+   VERIFY( a.id.use_count() == 2 ); // a and the copy in s
+ 
+   s.insert(s.extract(1));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(s.begin(), s.extract(2));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   auto node = s.extract(1);
+   VERIFY( a.id.use_count() == 3 );
+   node = s.extract(0);
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(std::move(node));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type(s));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type({4,5,6}, a));
+   VERIFY( a.id.use_count() == 2 );
+ }
+ 
+ int main()
+ {
+   test_node_ops();
+   test_alloc_lifetime();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc gcc-11.5.0/libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,125 ----
+ // { dg-do run { target c++17 } }
+ 
+ // PR libstdc++/114401 allocator destructor omitted when reinserting node_handle
+ 
+ #include <set>
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ template<typename T>
+ struct Alloc
+ {
+   using value_type = T;
+   using propagate_on_container_copy_assignment = std::true_type;
+   using propagate_on_container_move_assignment = std::true_type;
+   using propagate_on_container_swap = std::true_type;
+ 
+   Alloc(int identity) : id(std::make_shared<int>(identity)) { }
+ 
+   template<typename U>
+     Alloc(const Alloc<U> a) : id(a.id) { }
+ 
+   T* allocate(std::size_t n) { return std::allocator<T>().allocate(n); }
+   void deallocate(T* p, std::size_t n) { std::allocator<T>().deallocate(p, n); }
+ 
+   template<typename U>
+     friend bool
+     operator==(const Alloc& a, const Alloc<U>& a2)
+     { return a.id == a2.id; }
+ 
+   template<typename U>
+     friend bool
+     operator!=(const Alloc& a, const Alloc<U>& a2)
+     { return !(a == a2); }
+ 
+   std::shared_ptr<int> id;
+ };
+ 
+ using test_type = std::set<int, std::less<int>, Alloc<int>>;
+ 
+ void
+ test_node_ops()
+ {
+   test_type s1({1,3,5}, Alloc<int>(1));
+   test_type s2({2,4,6,8}, Alloc<int>(2));
+   VERIFY( s1.get_allocator() != s2.get_allocator() );
+ 
+   auto node_a = s1.extract(1);
+   VERIFY( ! node_a.empty() );
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+ 
+   node_a = std::move(node_a); // self-move
+   VERIFY( node_a.empty() );
+ 
+   swap(node_a, node_a); // self-swap
+   VERIFY( node_a.empty() );
+ 
+   auto node_b = s2.extract(2);
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   node_a = std::move(node_b); // empty = !empty
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(!empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   node_a = s1.extract(3); // !empty = !empty
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+   node_b = s2.extract(0); // empty = empty
+   VERIFY( node_b.empty() );
+   node_b = s2.extract(6); // empty = !empty
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(!empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.get_allocator() == s1.get_allocator() );
+ 
+   node_a = {};
+   node_b = std::move(node_a); // !empty = empty
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ }
+ 
+ void
+ test_alloc_lifetime()
+ {
+   Alloc<int> a(1);
+   test_type s({1,2,3}, a);
+   VERIFY( a.id.use_count() == 2 ); // a and the copy in s
+ 
+   s.insert(s.extract(1));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(s.begin(), s.extract(2));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   auto node = s.extract(1);
+   VERIFY( a.id.use_count() == 3 );
+   node = s.extract(0);
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(std::move(node));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type(s));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type({4,5,6}, a));
+   VERIFY( a.id.use_count() == 2 );
+ }
+ 
+ int main()
+ {
+   test_node_ops();
+   test_alloc_lifetime();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc gcc-11.5.0/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,126 ----
+ // { dg-do run { target c++17 } }
+ 
+ // PR libstdc++/114401 allocator destructor omitted when reinserting node_handle
+ 
+ #include <unordered_set>
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ template<typename T>
+ struct Alloc
+ {
+   using value_type = T;
+   using propagate_on_container_copy_assignment = std::true_type;
+   using propagate_on_container_move_assignment = std::true_type;
+   using propagate_on_container_swap = std::true_type;
+ 
+   Alloc(int identity) : id(std::make_shared<int>(identity)) { }
+ 
+   template<typename U>
+     Alloc(const Alloc<U> a) : id(a.id) { }
+ 
+   T* allocate(std::size_t n) { return std::allocator<T>().allocate(n); }
+   void deallocate(T* p, std::size_t n) { std::allocator<T>().deallocate(p, n); }
+ 
+   template<typename U>
+     friend bool
+     operator==(const Alloc& a, const Alloc<U>& a2)
+     { return a.id == a2.id; }
+ 
+   template<typename U>
+     friend bool
+     operator!=(const Alloc& a, const Alloc<U>& a2)
+     { return !(a == a2); }
+ 
+   std::shared_ptr<int> id;
+ };
+ 
+ using test_type
+   = std::unordered_multiset<int, std::hash<int>, std::equal_to<int>, Alloc<int>>;
+ 
+ void
+ test_node_ops()
+ {
+   test_type s1({1,3,5}, 3, Alloc<int>(1));
+   test_type s2({2,4,6,8}, 4, Alloc<int>(2));
+   VERIFY( s1.get_allocator() != s2.get_allocator() );
+ 
+   auto node_a = s1.extract(1);
+   VERIFY( ! node_a.empty() );
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+ 
+   node_a = std::move(node_a); // self-move
+   VERIFY( node_a.empty() );
+ 
+   swap(node_a, node_a); // self-swap
+   VERIFY( node_a.empty() );
+ 
+   auto node_b = s2.extract(2);
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   node_a = std::move(node_b); // empty = !empty
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(!empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   node_a = s1.extract(3); // !empty = !empty
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+   node_b = s2.extract(0); // empty = empty
+   VERIFY( node_b.empty() );
+   node_b = s2.extract(6); // empty = !empty
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(!empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.get_allocator() == s1.get_allocator() );
+ 
+   node_a = {};
+   node_b = std::move(node_a); // !empty = empty
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ }
+ 
+ void
+ test_alloc_lifetime()
+ {
+   Alloc<int> a(1);
+   test_type s({1,2,3}, 3, a);
+   VERIFY( a.id.use_count() == 2 ); // a and the copy in s
+ 
+   s.insert(s.extract(1));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(s.begin(), s.extract(2));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   auto node = s.extract(1);
+   VERIFY( a.id.use_count() == 3 );
+   node = s.extract(0);
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(std::move(node));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type(s));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type({4,5,6}, 3, a));
+   VERIFY( a.id.use_count() == 2 );
+ }
+ 
+ int main()
+ {
+   test_node_ops();
+   test_alloc_lifetime();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc gcc-11.5.0/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,126 ----
+ // { dg-do run { target c++17 } }
+ 
+ // PR libstdc++/114401 allocator destructor omitted when reinserting node_handle
+ 
+ #include <unordered_set>
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ template<typename T>
+ struct Alloc
+ {
+   using value_type = T;
+   using propagate_on_container_copy_assignment = std::true_type;
+   using propagate_on_container_move_assignment = std::true_type;
+   using propagate_on_container_swap = std::true_type;
+ 
+   Alloc(int identity) : id(std::make_shared<int>(identity)) { }
+ 
+   template<typename U>
+     Alloc(const Alloc<U> a) : id(a.id) { }
+ 
+   T* allocate(std::size_t n) { return std::allocator<T>().allocate(n); }
+   void deallocate(T* p, std::size_t n) { std::allocator<T>().deallocate(p, n); }
+ 
+   template<typename U>
+     friend bool
+     operator==(const Alloc& a, const Alloc<U>& a2)
+     { return a.id == a2.id; }
+ 
+   template<typename U>
+     friend bool
+     operator!=(const Alloc& a, const Alloc<U>& a2)
+     { return !(a == a2); }
+ 
+   std::shared_ptr<int> id;
+ };
+ 
+ using test_type
+   = std::unordered_set<int, std::hash<int>, std::equal_to<int>, Alloc<int>>;
+ 
+ void
+ test_node_ops()
+ {
+   test_type s1({1,3,5}, 3, Alloc<int>(1));
+   test_type s2({2,4,6,8}, 4, Alloc<int>(2));
+   VERIFY( s1.get_allocator() != s2.get_allocator() );
+ 
+   auto node_a = s1.extract(1);
+   VERIFY( ! node_a.empty() );
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+ 
+   node_a = std::move(node_a); // self-move
+   VERIFY( node_a.empty() );
+ 
+   swap(node_a, node_a); // self-swap
+   VERIFY( node_a.empty() );
+ 
+   auto node_b = s2.extract(2);
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   node_a = std::move(node_b); // empty = !empty
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(!empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.empty() );
+ 
+   node_a = s1.extract(3); // !empty = !empty
+   VERIFY( node_a.get_allocator() == s1.get_allocator() );
+   node_b = s2.extract(0); // empty = empty
+   VERIFY( node_b.empty() );
+   node_b = s2.extract(6); // empty = !empty
+   VERIFY( node_b.get_allocator() == s2.get_allocator() );
+ 
+   swap(node_a, node_b); // swap(!empty, !empty)
+   VERIFY( node_a.get_allocator() == s2.get_allocator() );
+   VERIFY( node_b.get_allocator() == s1.get_allocator() );
+ 
+   node_a = {};
+   node_b = std::move(node_a); // !empty = empty
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ 
+   swap(node_a, node_b); // swap(empty, empty)
+   VERIFY( node_a.empty() );
+   VERIFY( node_b.empty() );
+ }
+ 
+ void
+ test_alloc_lifetime()
+ {
+   Alloc<int> a(1);
+   test_type s({1,2,3}, 3, a);
+   VERIFY( a.id.use_count() == 2 ); // a and the copy in s
+ 
+   s.insert(s.extract(1));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(s.begin(), s.extract(2));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   auto node = s.extract(1);
+   VERIFY( a.id.use_count() == 3 );
+   node = s.extract(0);
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.insert(std::move(node));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type(s));
+   VERIFY( a.id.use_count() == 2 );
+ 
+   s.merge(test_type({4,5,6}, 3, a));
+   VERIFY( a.id.use_count() == 2 );
+ }
+ 
+ int main()
+ {
+   test_node_ops();
+   test_alloc_lifetime();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc gcc-11.5.0/libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/25_algorithms/move/constexpr.cc	Fri Jul 19 05:52:47 2024
*************** test01()
*** 17,19 ****
--- 17,30 ----
  }
  
  static_assert(test01());
+ 
+ constexpr bool
+ test02()
+ {
+   int x[2] = {1,2}, y[2];
+   std::span in(x), out(y);
+   std::move(in.rbegin(), in.rend(), out.rbegin());
+   return std::equal(in.rbegin(), in.rend(), out.rbegin());
+ }
+ 
+ static_assert(test02());
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/97731.cc gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/97731.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/97731.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/97731.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,48 ----
+ // Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library is free
+ // software; you can redistribute it and/or modify it under the
+ // terms of the GNU General Public License as published by the
+ // Free Software Foundation; either version 3, or (at your option)
+ // any later version.
+ 
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ // GNU General Public License for more details.
+ 
+ // You should have received a copy of the GNU General Public License along
+ // with this library; see the file COPYING3.  If not see
+ // <http://www.gnu.org/licenses/>.
+ 
+ // { dg-do run { target c++17 } }
+ // { dg-require-filesystem-ts "" }
+ 
+ #include <filesystem>
+ #include <cerrno>
+ #include <testsuite_hooks.h>
+ 
+ bool used_custom_readdir = false;
+ 
+ extern "C" void* readdir(void*)
+ {
+   used_custom_readdir = true;
+   errno = EIO;
+   return nullptr;
+ }
+ 
+ void
+ test01()
+ {
+   using std::filesystem::recursive_directory_iterator;
+   std::error_code ec;
+   recursive_directory_iterator it(".", ec);
+   if (used_custom_readdir)
+     VERIFY( ec.value() == EIO );
+ }
+ 
+ int
+ main()
+ {
+   test01();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc	Fri Jul 19 05:52:47 2024
*************** test05()
*** 184,189 ****
--- 184,207 ----
    remove_all(p, ec);
  }
  
+ void
+ test06()
+ {
+ #if !(defined __MINGW32__ || defined __MINGW64__)
+   auto p = __gnu_test::nonexistent_path();
+   create_directories(p/"d1/d2");
+   create_directory_symlink("d1", p/"link");
+   fs::recursive_directory_iterator it(p), endit;
+   VERIFY( std::distance(it, endit) == 3 ); // d1 and d2 and link
+ 
+   it = fs::recursive_directory_iterator(p, fs::directory_options::follow_directory_symlink);
+   VERIFY( std::distance(it, endit) == 4 ); // d1 and d1/d2 and link and link/d2
+ 
+   std::error_code ec;
+   remove_all(p, ec);
+ #endif
+ }
+ 
  int
  main()
  {
*************** main()
*** 192,195 ****
--- 210,214 ----
    test03();
    test04();
    test05();
+   test06();
  }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file_108178.cc gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file_108178.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file_108178.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file_108178.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,33 ----
+ // { dg-do run { target c++17 } }
+ // { dg-require-filesystem-ts "" }
+ 
+ // C++17 30.10.15.4 Copy [fs.op.copy_file]
+ 
+ #include <filesystem>
+ #include <fstream>
+ #include <unistd.h> // getpid
+ #include <testsuite_fs.h>
+ #include <testsuite_hooks.h>
+ 
+ namespace fs = std::filesystem;
+ 
+ void
+ test_procfs() // PR libstdc++/108178
+ {
+   auto pid = ::getpid();
+   std::string from = "/proc/" + std::to_string(pid) + "/status";
+   if (fs::exists(from))
+   {
+     auto to = __gnu_test::nonexistent_path();
+     fs::copy_file(from, to);
+     std::ifstream f(to);
+     VERIFY(f.is_open());
+     VERIFY(f.peek() != std::char_traits<char>::eof());
+     fs::remove(to);
+   }
+ }
+ 
+ int main()
+ {
+   test_procfs();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc	Fri Jul 19 05:52:47 2024
*************** test01()
*** 34,46 ****
    bool result;
  
    result = equivalent(p1, p2, ec);
!   VERIFY( ec );
    VERIFY( !result );
  
    __gnu_test::scoped_file f1(p1);
    ec = bad_ec;
    result = equivalent(p1, p2, ec);
!   VERIFY( !ec );
    VERIFY( !result );
  
    __gnu_test::scoped_file f2(p2);
--- 34,46 ----
    bool result;
  
    result = equivalent(p1, p2, ec);
!   VERIFY( ec == std::errc::no_such_file_or_directory );
    VERIFY( !result );
  
    __gnu_test::scoped_file f1(p1);
    ec = bad_ec;
    result = equivalent(p1, p2, ec);
!   VERIFY( ec == std::errc::no_such_file_or_directory );
    VERIFY( !result );
  
    __gnu_test::scoped_file f2(p2);
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/95048.cc gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/95048.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/95048.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/construct/95048.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,51 ----
+ // { dg-do run { target c++17 } }
+ 
+ // C++17 30.10.8.4.1 path constructors [fs.path.construct]
+ 
+ #include <filesystem>
+ #include <testsuite_hooks.h>
+ 
+ using std::filesystem::path;
+ 
+ #define CHECK(E, S) (path(E##S) == path(u8##S))
+ 
+ void
+ test_wide()
+ {
+   VERIFY( CHECK(L, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(L, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(L, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(L, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").wstring() == L"\U0001D11E" ); // G Clef
+ }
+ 
+ void
+ test_u16()
+ {
+   VERIFY( CHECK(u, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(u, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(u, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(u, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").u16string() == u"\U0001D11E" ); // G Clef
+ }
+ 
+ void
+ test_u32()
+ {
+   VERIFY( CHECK(U, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(U, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(U, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(U, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").u32string() == U"\U0001D11E" ); // G Clef
+ }
+ 
+ int
+ main()
+ {
+   test_wide();
+   test_u16();
+   test_u32();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc	Fri Jul 19 05:52:47 2024
*************** test05()
*** 174,180 ****
  {
    auto p = __gnu_test::nonexistent_path();
    create_directory(p);
!   create_directory_symlink(p, p / "l");
    fs::recursive_directory_iterator it(p), endit;
    VERIFY( begin(it) == it );
    static_assert( noexcept(begin(it)), "begin is noexcept" );
--- 174,180 ----
  {
    auto p = __gnu_test::nonexistent_path();
    create_directory(p);
!   create_directory(p / "x");
    fs::recursive_directory_iterator it(p), endit;
    VERIFY( begin(it) == it );
    static_assert( noexcept(begin(it)), "begin is noexcept" );
*************** test05()
*** 185,190 ****
--- 185,208 ----
    remove_all(p, ec);
  }
  
+ void
+ test06()
+ {
+ #if !(defined __MINGW32__ || defined __MINGW64__)
+   auto p = __gnu_test::nonexistent_path();
+   create_directories(p/"d1/d2");
+   create_directory_symlink("d1", p/"link");
+   fs::recursive_directory_iterator it(p), endit;
+   VERIFY( std::distance(it, endit) == 3 ); // d1 and d2 and link
+ 
+   it = fs::recursive_directory_iterator(p, fs::directory_options::follow_directory_symlink);
+   VERIFY( std::distance(it, endit) == 4 ); // d1 and d1/d2 and link and link/d2
+ 
+   std::error_code ec;
+   remove_all(p, ec);
+ #endif
+ }
+ 
  int
  main()
  {
*************** main()
*** 193,196 ****
--- 211,215 ----
    test03();
    test04();
    test05();
+   test06();
  }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc	Fri Jul 19 05:52:47 2024
*************** test01()
*** 35,47 ****
    bool result;
  
    result = equivalent(p1, p2, ec);
!   VERIFY( ec );
    VERIFY( !result );
    const auto bad_ec = ec;
  
    __gnu_test::scoped_file f1(p1);
    result = equivalent(p1, p2, ec);
!   VERIFY( !ec );
    VERIFY( !result );
  
    __gnu_test::scoped_file f2(p2);
--- 35,47 ----
    bool result;
  
    result = equivalent(p1, p2, ec);
!   VERIFY( ec == std::errc::no_such_file_or_directory );
    VERIFY( !result );
    const auto bad_ec = ec;
  
    __gnu_test::scoped_file f1(p1);
    result = equivalent(p1, p2, ec);
!   VERIFY( ec == std::errc::no_such_file_or_directory );
    VERIFY( !result );
  
    __gnu_test::scoped_file f2(p2);
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/95048.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/95048.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/95048.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/filesystem/path/construct/95048.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,53 ----
+ // { dg-options "-lstdc++fs" }
+ // { dg-do run { target c++11 } }
+ // { dg-require-filesystem-ts "" }
+ 
+ // 8.4.1 path constructors [path.construct]
+ 
+ #include <experimental/filesystem>
+ #include <testsuite_hooks.h>
+ 
+ using std::experimental::filesystem::path;
+ 
+ #define CHECK(E, S) (path(E##S) == path(u8##S))
+ 
+ void
+ test_wide()
+ {
+   VERIFY( CHECK(L, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(L, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(L, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(L, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").wstring() == L"\U0001D11E" ); // G Clef
+ }
+ 
+ void
+ test_u16()
+ {
+   VERIFY( CHECK(u, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(u, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(u, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(u, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").u16string() == u"\U0001D11E" ); // G Clef
+ }
+ 
+ void
+ test_u32()
+ {
+   VERIFY( CHECK(U, "\u00E4") ); // PR libstdc++/95048
+   VERIFY( CHECK(U, "\U0001F4C1") ); // folder
+   VERIFY( CHECK(U, "\U0001F4C2") ); // open folder
+   VERIFY( CHECK(U, "\U0001F4C4") ); // filing cabient
+ 
+   VERIFY( path(u8"\U0001D11E").u32string() == U"\U0001D11E" ); // G Clef
+ }
+ 
+ int
+ main()
+ {
+   test_wide();
+   test_u16();
+   test_u32();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,63 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do compile { target c++17 } }
+ 
+ #include <experimental/simd>
+ 
+ namespace stdx = std::experimental;
+ 
+ template <typename T, typename V>
+   void
+   test01()
+   {
+     using M = typename V::mask_type;
+     [[maybe_unused]] auto x = to_fixed_size(V());
+     [[maybe_unused]] auto k = to_fixed_size(M());
+     if constexpr (stdx::simd<T>::size() == V::size())
+       {
+ 	[[maybe_unused]] auto xx = to_compatible(x);
+ 	[[maybe_unused]] auto kk = to_compatible(k);
+ 	x = to_fixed_size(xx);
+ 	k = to_fixed_size(kk);
+       }
+     if constexpr (stdx::native_simd<T>::size() == V::size())
+       {
+ 	[[maybe_unused]] auto xx = to_native(x);
+ 	[[maybe_unused]] auto kk = to_native(k);
+ 	x = to_fixed_size(xx);
+ 	k = to_fixed_size(kk);
+       }
+   }
+ 
+ template <typename T>
+   void
+   iterate_abis()
+   {
+     test01<T, stdx::simd<T, stdx::simd_abi::scalar>>();
+     test01<T, stdx::simd<T>>();
+     test01<T, stdx::native_simd<T>>();
+     test01<T, stdx::fixed_size_simd<T, 3>>();
+     test01<T, stdx::fixed_size_simd<T, stdx::simd_abi::max_fixed_size<T> - 4>>();
+   }
+ 
+ int
+ main()
+ {
+   iterate_abis<char>();
+   iterate_abis<wchar_t>();
+   iterate_abis<char16_t>();
+   iterate_abis<char32_t>();
+ 
+   iterate_abis<signed char>();
+   iterate_abis<unsigned char>();
+   iterate_abis<short>();
+   iterate_abis<unsigned short>();
+   iterate_abis<int>();
+   iterate_abis<unsigned int>();
+   iterate_abis<long>();
+   iterate_abis<unsigned long>();
+   iterate_abis<long long>();
+   iterate_abis<unsigned long long>();
+   iterate_abis<float>();
+   iterate_abis<double>();
+   iterate_abis<long double>();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,105 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do compile { target c++17 } }
+ 
+ #include <experimental/simd>
+ 
+ template <typename T>
+   void
+   maybe_test()
+   {
+     using V = std::experimental::simd<T, std::experimental::simd_abi::_VecBuiltin<16>>;
+     if constexpr (std::is_destructible_v<V>)
+       {
+ 	using V2 [[gnu::vector_size(16)]] = T;
+ 	V x = {};
+ 	V2 x2 = static_cast<V2>(x);
+ 	x = static_cast<V>(x2);
+ 	for (unsigned i = 0; i < V::size(); ++i)
+ 	  {
+ 	    if (x2[i] != 0)
+ 	      __builtin_abort();
+ 	  }
+ #ifdef __SSE__
+ 	if constexpr (std::is_same_v<T, float>)
+ 	  x = static_cast<V>(static_cast<__m128>(x));
+ 	else if constexpr (std::is_same_v<T, double>)
+ 	  x = static_cast<V>(static_cast<__m128d>(x));
+ 	else if constexpr (std::is_integral_v<T>)
+ 	  x = static_cast<V>(static_cast<__m128i>(x));
+ #elif __ALTIVEC__
+ 	if constexpr (std::is_same_v<T, float>)
+ 	  x = static_cast<V>(static_cast<__vector float>(x));
+ #ifdef __VSX__
+ 	else if constexpr (std::is_same_v<T, double>)
+ 	  x = static_cast<V>(static_cast<__vector double>(x));
+ #endif
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(signed char)
+ 			     && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<__vector signed char>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(signed char))
+ 	  x = static_cast<V>(static_cast<__vector unsigned char>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(short)
+ 			     && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<__vector signed short>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(short))
+ 	  x = static_cast<V>(static_cast<__vector unsigned short>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(int)
+ 			     && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<__vector signed int>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(int))
+ 	  x = static_cast<V>(static_cast<__vector unsigned int>(x));
+ #ifdef __VSX__
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(long long)
+ 			     && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<__vector signed long long>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == sizeof(long long))
+ 	  x = static_cast<V>(static_cast<__vector unsigned long long>(x));
+ #endif
+ #elif __ARM_NEON
+ 	if constexpr (std::is_same_v<T, float>)
+ 	  x = static_cast<V>(static_cast<float32x4_t>(x));
+ #ifdef __aarch64__
+ 	else if constexpr (std::is_same_v<T, double>)
+ 	  x = static_cast<V>(static_cast<float64x2_t>(x));
+ #endif
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 1 && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<int8x16_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 1)
+ 	  x = static_cast<V>(static_cast<uint8x16_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 2 && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<int16x8_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 2)
+ 	  x = static_cast<V>(static_cast<uint16x8_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 4 && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<int32x4_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 4)
+ 	  x = static_cast<V>(static_cast<uint32x4_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 8 && std::is_signed_v<T>)
+ 	  x = static_cast<V>(static_cast<int64x2_t>(x));
+ 	else if constexpr (std::is_integral_v<T> && sizeof(T) == 8)
+ 	  x = static_cast<V>(static_cast<uint64x2_t>(x));
+ #endif
+       }
+   }
+ 
+ int main()
+ {
+   maybe_test<char>();
+   maybe_test<wchar_t>();
+   maybe_test<char16_t>();
+   maybe_test<char32_t>();
+ 
+   maybe_test<signed char>();
+   maybe_test<unsigned char>();
+   maybe_test<short>();
+   maybe_test<unsigned short>();
+   maybe_test<int>();
+   maybe_test<unsigned int>();
+   maybe_test<long>();
+   maybe_test<unsigned long>();
+   maybe_test<long long>();
+   maybe_test<unsigned long long>();
+   maybe_test<float>();
+   maybe_test<double>();
+   maybe_test<long double>();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr115454_find_last_set.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr115454_find_last_set.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/pr115454_find_last_set.cc	Thu Jan  1 00:00:00 1970
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/pr115454_find_last_set.cc	Fri Jul 19 05:52:47 2024
***************
*** 0 ****
--- 1,51 ----
+ // { dg-options "-std=gnu++17" }
+ // { dg-do run { target *-*-* } }
+ // { dg-require-effective-target c++17 }
+ // { dg-additional-options "-march=x86-64-v4" { target avx512f_runtime } }
+ // { dg-require-cmath "" }
+ 
+ #include <experimental/simd>
+ 
+ namespace stdx = std::experimental;
+ 
+ using T = std::uint64_t;
+ 
+ template <typename U, int N>
+ using V = stdx::simd<U, stdx::simd_abi::deduce_t<U, N>>;
+ 
+ [[gnu::noinline, gnu::noipa]]
+ int reduce(V<T, 4> x)
+ {
+   static_assert(stdx::find_last_set(V<T, 4>([](unsigned i) { return i; }) != V<T, 4>(0)) == 3);
+   return stdx::find_last_set(x != -1);
+ }
+ 
+ [[gnu::noinline, gnu::noipa]]
+ int reduce2()
+ {
+   using M8 = typename V<short, 8>::mask_type;
+   using M4 = typename V<int, 4>::mask_type;
+   if constexpr (sizeof(M8) == sizeof(M4)
+ 		  && !std::is_same_v<M4, stdx::fixed_size_simd_mask<int, 4>>)
+     // fixed_size invariant: padding bits of masks are zero, the memcpy would violate that
+     {
+       M4 k;
+       __builtin_memcpy(&__data(k), &__data(M8(true)), sizeof(M4));
+       return stdx::find_last_set(k);
+     }
+   return 3;
+ }
+ 
+ 
+ int main()
+ {
+   const V<T, 4> x {};
+ 
+   const int r = reduce(x);
+   if (r != 3)
+       __builtin_abort();
+ 
+   const int r2 = reduce2();
+   if (r2 != 3)
+       __builtin_abort();
+ }
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc	Fri Jul 19 05:52:47 2024
*************** template <typename V>
*** 180,190 ****
  	  for (int j = 0; j < 100; ++j)
  	    {
  	      const V seq([&](auto i) -> T { return (j + i) % n_promo_bits; });
! 	      COMPARE(V(1) >> seq, V([&](auto i) { return T(T(1) >> seq[i]); }))
! 		<< "seq = " << seq;
! 	      COMPARE(make_value_unknown(V(1)) >> make_value_unknown(seq),
! 		V([&](auto i) { return T(T(1) >> seq[i]); }))
! 		<< "seq = " << seq;
  	    }
  	  for_constexpr<int, 0, n_promo_bits - 1>([](auto shift_ic) {
  	    constexpr int shift = shift_ic;
--- 180,189 ----
  	  for (int j = 0; j < 100; ++j)
  	    {
  	      const V seq([&](auto i) -> T { return (j + i) % n_promo_bits; });
! 	      const V expect([&](auto i) { return seq[i] == 0 ? T(1) : T(0); });
! 	      COMPARE(V(1) >> seq, expect) << "\nseq = " << seq;
! 	      COMPARE(make_value_unknown(V(1)) >> make_value_unknown(seq), expect)
! 		<< "\nseq = " << seq;
  	    }
  	  for_constexpr<int, 0, n_promo_bits - 1>([](auto shift_ic) {
  	    constexpr int shift = shift_ic;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc	Fri Jul 19 05:52:47 2024
*************** template <typename V>
*** 220,227 ****
  	binary_op_return_type<vldouble, short>();
  	binary_op_return_type<vldouble, ushort>();
  	binary_op_return_type<vldouble, uint>();
- 	binary_op_return_type<vldouble, long>();
- 	binary_op_return_type<vldouble, ulong>();
  	binary_op_return_type<vldouble, float>();
  	binary_op_return_type<vldouble, double>();
  
--- 220,225 ----
*************** template <typename V>
*** 231,238 ****
  	binary_op_return_type<vf64<long double>, ushort>();
  	binary_op_return_type<vf64<long double>, int>();
  	binary_op_return_type<vf64<long double>, uint>();
- 	binary_op_return_type<vf64<long double>, long>();
- 	binary_op_return_type<vf64<long double>, ulong>();
  	binary_op_return_type<vf64<long double>, float>();
  	binary_op_return_type<vf64<long double>, double>();
  	binary_op_return_type<vf64<long double>, vf64<long double>>();
--- 229,234 ----
*************** template <typename V>
*** 245,252 ****
  	binary_op_return_type<simd<long double, A>, ushort>();
  	binary_op_return_type<simd<long double, A>, int>();
  	binary_op_return_type<simd<long double, A>, uint>();
- 	binary_op_return_type<simd<long double, A>, long>();
- 	binary_op_return_type<simd<long double, A>, ulong>();
  	binary_op_return_type<simd<long double, A>, float>();
  	binary_op_return_type<simd<long double, A>, double>();
  
--- 241,246 ----
*************** template <typename V>
*** 258,263 ****
--- 252,275 ----
  	    VERIFY((is_substitution_failure<vf64<ldouble>, ullong>));
  	    VERIFY((is_substitution_failure<simd<ldouble, A>, llong>));
  	    VERIFY((is_substitution_failure<simd<ldouble, A>, ullong>));
+ 	    if constexpr (sizeof(long) == sizeof(llong))
+ 	      {
+ 		VERIFY((is_substitution_failure<vldouble, long>));
+ 		VERIFY((is_substitution_failure<vldouble, ulong>));
+ 		VERIFY((is_substitution_failure<vf64<ldouble>, long>));
+ 		VERIFY((is_substitution_failure<vf64<ldouble>, ulong>));
+ 		VERIFY((is_substitution_failure<simd<ldouble, A>, long>));
+ 		VERIFY((is_substitution_failure<simd<ldouble, A>, ulong>));
+ 	      }
+ 	    else
+ 	      {
+ 		binary_op_return_type<vldouble, long>();
+ 		binary_op_return_type<vldouble, ulong>();
+ 		binary_op_return_type<vf64<long double>, long>();
+ 		binary_op_return_type<vf64<long double>, ulong>();
+ 		binary_op_return_type<simd<long double, A>, long>();
+ 		binary_op_return_type<simd<long double, A>, ulong>();
+ 	      }
  	  }
  	else
  	  {
*************** template <typename V>
*** 267,272 ****
--- 279,290 ----
  	    binary_op_return_type<vf64<long double>, ullong>();
  	    binary_op_return_type<simd<long double, A>, llong>();
  	    binary_op_return_type<simd<long double, A>, ullong>();
+ 	    binary_op_return_type<vldouble, long>();
+ 	    binary_op_return_type<vldouble, ulong>();
+ 	    binary_op_return_type<vf64<long double>, long>();
+ 	    binary_op_return_type<vf64<long double>, ulong>();
+ 	    binary_op_return_type<simd<long double, A>, long>();
+ 	    binary_op_return_type<simd<long double, A>, ulong>();
  	  }
  
  	VERIFY((is_substitution_failure<vf64<long double>, vldouble>));
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/lib/dg-options.exp gcc-11.5.0/libstdc++-v3/testsuite/lib/dg-options.exp
*** gcc-11.4.0/libstdc++-v3/testsuite/lib/dg-options.exp	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/lib/dg-options.exp	Fri Jul 19 05:52:47 2024
*************** proc atomic_link_flags { paths } {
*** 274,280 ****
        if { [file exists "${gccpath}/libatomic/.libs/libatomic.a"]
             || [file exists "${gccpath}/libatomic/.libs/libatomic.${shlib_ext}"] } {
            append flags " -B${gccpath}/libatomic/ "
!           append flags " -L${gccpath}/libatomic/.libs"
            append ld_library_path ":${gccpath}/libatomic/.libs"
        }
      } else {
--- 274,280 ----
        if { [file exists "${gccpath}/libatomic/.libs/libatomic.a"]
             || [file exists "${gccpath}/libatomic/.libs/libatomic.${shlib_ext}"] } {
            append flags " -B${gccpath}/libatomic/ "
!           append flags " -B${gccpath}/libatomic/.libs"
            append ld_library_path ":${gccpath}/libatomic/.libs"
        }
      } else {
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/lib/libstdc++.exp gcc-11.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp
*** gcc-11.4.0/libstdc++-v3/testsuite/lib/libstdc++.exp	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp	Fri Jul 19 05:52:47 2024
*************** proc libstdc++_init { testfile } {
*** 133,141 ****
      if ![info exists DEFAULT_CXXFLAGS] then {
  	set DEFAULT_CXXFLAGS ""
  	# Host specific goo here.
- 	if { [string match "powerpc-*-darwin*" $target_triplet] } {
- 	    append DEFAULT_CXXFLAGS " -multiply_defined suppress"
- 	}
  	if { [string match "powerpc-ibm-aix*" $target_triplet] } {
  	    append DEFAULT_CXXFLAGS " -Wl,-bmaxdata:0x20000000"
  	}
--- 133,138 ----
*************** proc v3_target_compile { source dest typ
*** 510,520 ****
  	}
      }
  
      lappend options "compiler=$cxx_final"
      lappend options "timeout=[timeout_value]"
  
      set comp_output [target_compile $source $dest $type $options]
! 
      return $comp_output
  }
  
--- 507,547 ----
  	}
      }
  
+     # For Windows and Darwin we might want to create a temporary file.
+     # Note that it needs deleting.
+     set file_to_delete ""
+     # Small adjustment for Windows hosts.
+     if { $dest == "/dev/null"
+ 	  && [info exists ::env(OS)] && [string match "Windows*" $::env(OS)] } {
+ 	if { $type == "executable" } {
+ 	    set dest "x.exe"
+ 	    set file_to_delete ${dest}
+ 	} else {
+ 	    # Windows uses special file named "nul" as a substitute for
+ 	    # /dev/null
+ 	    set dest "nul"
+ 	}
+     }
+ 
+     # Using /dev/null as the executable name does not work on Darwin when
+     # debug is enabled, since the debug linker does not accept /dev/null as
+     # a valid executable name.
+     if { $dest == "/dev/null" && [istarget *-*-darwin*]
+          && $type == "executable" } {
+ 	set dest dev-null-[pid].exe
+ 	set file_to_delete ${dest}
+     }
+ 
      lappend options "compiler=$cxx_final"
      lappend options "timeout=[timeout_value]"
  
      set comp_output [target_compile $source $dest $type $options]
!     if { $type == "executable" && $file_to_delete != "" } {
! 	file delete $file_to_delete
! 	if { [istarget *-*-darwin*] && [file exists $file_to_delete.dSYM] } {
! 	    file delete -force $file_to_delete.dSYM
! 	}
!     }
      return $comp_output
  }
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/lib/prune.exp gcc-11.5.0/libstdc++-v3/testsuite/lib/prune.exp
*** gcc-11.4.0/libstdc++-v3/testsuite/lib/prune.exp	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/lib/prune.exp	Fri Jul 19 05:52:47 2024
*************** proc libstdc++-dg-prune { system text }
*** 46,51 ****
--- 46,52 ----
      regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text
      regsub -all "(^|\n)\[^\n\]*:   (recursively )?required \[^\n\]*" $text "" text
      regsub -all "(^|\n)\[^\n\]*:   . skipping \[0-9\]* instantiation contexts \[^\n\]*" $text "" text
+     regsub -all "(^|\n)\[^\n\]*:   in .constexpr. expansion \[^\n\]*" $text "" text
      regsub -all "(^|\n)    inlined from \[^\n\]*" $text "" text
      # Why doesn't GCC need these to strip header context?
      regsub -all "(^|\n)In file included from \[^\n\]*" $text "" text
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc gcc-11.5.0/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc	Fri Jul 19 05:52:47 2024
*************** main ()
*** 67,72 ****
--- 67,96 ----
  // { dg-final { whatis-test q1.back() int } }
  // { dg-final { whatis-test q3\[0\] int } }
  
+   // PR libstdc++/112491
+   std::deque<int> q5;
+   q5.push_front(5);
+ // { dg-final { note-test q5.size() 1 } }
+ // { dg-final { note-test q5\[0\] 5 } }
+   std::deque<int> q6 = q1;
+   q6.pop_front();
+ // { dg-final { note-test {q6.size() == (q1_size-1)} true } }
+ // { dg-final { note-test q6\[1\] 102 } }
+   std::deque<int> q7 = q2;
+   q7.pop_front();
+   q7.pop_front();
+ // { dg-final { note-test {q7.size() == (q2_size-2)} true } }
+ // { dg-final { note-test q7\[1\] 203 } }
+   std::deque<int> q8 = q3;
+   q8.pop_front();
+   q8.pop_front();
+   q8.pop_front();
+ // { dg-final { note-test {q8.size() == (q3_size-3)} true } }
+ // { dg-final { note-test q8\[1\] 304 } }
+   std::deque<int> q9 = q8;
+   q9.clear();
+ // { dg-final { note-test q9.size() 0 } }
+ 
    return 0;  // Mark SPOT
  }
  
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc gcc-11.5.0/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc	Fri Jul 19 05:52:47 2024
*************** test02()
*** 199,206 ****
    using max_type = std::conditional_t<signed_p, max_diff_t, max_size_t>;
    using shorten_type = std::conditional_t<shorten_p, hw_type, max_type>;
    const int hw_type_bit_size = sizeof(hw_type) * __CHAR_BIT__;
!   const int limit = 1000;
!   const int log2_limit = 10;
    static_assert((1 << log2_limit) >= limit);
    const int min = (signed_p ? -limit : 0);
    const int max = limit;
--- 199,206 ----
    using max_type = std::conditional_t<signed_p, max_diff_t, max_size_t>;
    using shorten_type = std::conditional_t<shorten_p, hw_type, max_type>;
    const int hw_type_bit_size = sizeof(hw_type) * __CHAR_BIT__;
!   const unsigned limit = 100;
!   const int log2_limit = 7;
    static_assert((1 << log2_limit) >= limit);
    const int min = (signed_p ? -limit : 0);
    const int max = limit;
*************** test03()
*** 257,264 ****
    using max_type = std::conditional_t<signed_p, max_diff_t, max_size_t>;
    using base_type = std::conditional_t<toggle_base_p, hw_type, max_type>;
    constexpr int hw_type_bit_size = sizeof(hw_type) * __CHAR_BIT__;
!   constexpr int limit = 1000;
!   constexpr int log2_limit = 10;
    static_assert((1 << log2_limit) >= limit);
    const int min = (signed_p ? -limit : 0);
    const int max = limit;
--- 257,264 ----
    using max_type = std::conditional_t<signed_p, max_diff_t, max_size_t>;
    using base_type = std::conditional_t<toggle_base_p, hw_type, max_type>;
    constexpr int hw_type_bit_size = sizeof(hw_type) * __CHAR_BIT__;
!   constexpr unsigned limit = 100;
!   constexpr int log2_limit = 7;
    static_assert((1 << log2_limit) >= limit);
    const int min = (signed_p ? -limit : 0);
    const int max = limit;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc gcc-11.5.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc	Fri Jul 19 05:52:47 2024
*************** void test01(int dummy, ...)
*** 35,41 ****
    char* s = 0;
    const char* cs = 0;
    const char* format = "%i";
!   FILE* stream = 0;
    std::size_t n = 0;
  
    int ret;
--- 35,41 ----
    char* s = 0;
    const char* cs = 0;
    const char* format = "%i";
!   FILE* stream = va_arg(ap, FILE*);
    std::size_t n = 0;
  
    int ret;
diff -Nrcpad gcc-11.4.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc gcc-11.5.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
*** gcc-11.4.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc	Mon May 29 08:46:33 2023
--- gcc-11.5.0/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc	Fri Jul 19 05:52:47 2024
*************** void test01(int dummy, ...)
*** 42,48 ****
  #endif
  
  #if _GLIBCXX_HAVE_VFWSCANF
!   FILE* stream = 0;
    const wchar_t* format1 = 0;
    int ret1;
    ret1 = std::tr1::vfwscanf(stream, format1, arg);
--- 42,48 ----
  #endif
  
  #if _GLIBCXX_HAVE_VFWSCANF
!   FILE* stream = va_arg(arg, FILE*);
    const wchar_t* format1 = 0;
    int ret1;
    ret1 = std::tr1::vfwscanf(stream, format1, arg);
diff -Nrcpad gcc-11.4.0/libvtv/ChangeLog gcc-11.5.0/libvtv/ChangeLog
*** gcc-11.4.0/libvtv/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/libvtv/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/lto-plugin/ChangeLog gcc-11.5.0/lto-plugin/ChangeLog
*** gcc-11.4.0/lto-plugin/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/lto-plugin/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/maintainer-scripts/ChangeLog gcc-11.5.0/maintainer-scripts/ChangeLog
*** gcc-11.4.0/maintainer-scripts/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/maintainer-scripts/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
diff -Nrcpad gcc-11.4.0/zlib/ChangeLog gcc-11.5.0/zlib/ChangeLog
*** gcc-11.4.0/zlib/ChangeLog	Mon May 29 08:46:50 2023
--- gcc-11.5.0/zlib/ChangeLog	Fri Jul 19 05:53:32 2024
***************
*** 1,3 ****
--- 1,7 ----
+ 2024-07-19  Release Manager
+ 
+ 	* GCC 11.5.0 released.
+ 
  2023-05-29  Release Manager
  
  	* GCC 11.4.0 released.
