Skip to content
Snippets Groups Projects
  1. Jul 01, 2022
    • Pekka Seppänen's avatar
      lto: pass -pthread to AM_LDFLAGS [PR 106118] · 51debf7f
      Pekka Seppänen authored
      Move -pthread from configure.ac to Makefile.in so that it is passed to AM_LDFLAGS.
      
      	PR lto/106118
      
      lto-plugin/ChangeLog:
      
      	* configure.ac: Move -pthread from here...
      	* Makefile.am: ...to here.
      	* configure: Regenerate.
      	* Makefile.in: Likewise.
      51debf7f
    • Richard Biener's avatar
      tree-optimization/106131 - wrong code with FRE rewriting · 9701432f
      Richard Biener authored
      The following makes sure to not use the original TBAA type for
      looking up a value across an aggregate copy when we had to offset
      the read.
      
      2022-06-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/106131
      	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
      	zero when offsetting the read looking through an aggregate
      	copy.
      
      	* g++.dg/torture/pr106131.C: New testcase.
      9701432f
    • Martin Liska's avatar
      if-to-switch: properly allow side effects only for first condition · 618bac5b
      Martin Liska authored
      Properly allow side effects only for a first BB in a condition chain.
      
      	PR tree-optimization/106126
      
      gcc/ChangeLog:
      
      	* gimple-if-to-switch.cc (struct condition_info): Save
      	has_side_effect.
      	(find_conditions): Parse all BBs.
      	(pass_if_to_switch::execute): Allow only side effects for first
      	BB.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/pr106126.c: New test.
      618bac5b
    • Haochen Jiang's avatar
      i386: Add AVX512BW to AVX512F in MASK_ISA2 · 33981253
      Haochen Jiang authored
      gcc/ChangeLog:
      
      	* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
      	Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
      	OPTION_MASK_ISA2_AVX512BF16_UNSET and
      	OPTION_MASK_ISA2_AVX512FP16_UNSET.
      33981253
    • Haochen Jiang's avatar
      Add myself for write after approval · 53b2a1a5
      Haochen Jiang authored
      ChangeLog:
      
      	* MAINTAINERS (Write After Approval): Add myself.
      53b2a1a5
    • GCC Administrator's avatar
      Daily bump. · 976196b3
      GCC Administrator authored
      976196b3
  2. Jun 30, 2022
    • Ian Lance Taylor's avatar
      libgo: handle stat st_atim32 field and SYS_SECCOMP · 762fd5e5
      Ian Lance Taylor authored
      Patches for musl support, from Sören Tempel.
      
      Fixes PR go/105225
      
      Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
      762fd5e5
    • Harald Anlauf's avatar
      Fortran: error recovery on invalid CLASS(), PARAMETER declarations [PR105243] · 4c233cab
      Harald Anlauf authored
      
      gcc/fortran/ChangeLog:
      
      	PR fortran/103137
      	PR fortran/103138
      	PR fortran/103693
      	PR fortran/105243
      	* decl.cc (gfc_match_data_decl): Reject CLASS entity declaration
      	when it is given the PARAMETER attribute.
      
      gcc/testsuite/ChangeLog:
      
      	PR fortran/103137
      	PR fortran/103138
      	PR fortran/103693
      	PR fortran/105243
      	* gfortran.dg/class_58.f90: Fix test.
      	* gfortran.dg/class_73.f90: New test.
      
      Co-authored-by: default avatarSteven G. Kargl <kargl@gcc.gnu.org>
      4c233cab
    • Jonathan Wakely's avatar
      c-family: Add <time.h> names to diagnostics for known headers · d489ec08
      Jonathan Wakely authored
      gcc/c-family/ChangeLog:
      
      	* known-headers.cc (get_stdlib_header_for_name): Add <time.h>
      	names.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/spellcheck-stdlib.C: Check <ctime> types and functions.
      d489ec08
    • Joseph Myers's avatar
      lto: Fix option merging [PR106129] · 8a8ee37a
      Joseph Myers authored
      The LTO merging of options from different input files was broken by:
      
      commit 227a2ecf
      Author: Martin Liska <mliska@suse.cz>
      Date:   Fri Mar 12 11:53:47 2021 +0100
      
          lto-wrapper: Use vec<cl_decoded_option> data type.
      
      Previously, find_and_merge_options would merge options it read into
      those in *opts. After this commit, options in *opts on entry to
      find_and_merge_options are ignored; the only merging that takes place
      is between multiple sets of options in the same input file that are
      read in the same call to this function (not sure how that case can
      occur at all). The effects include, for example, that if some objects
      are built with PIC enabled and others with it disabled, and the last
      LTO object processed has PIC enabled, the choice of PIC for the last
      object will result in the whole program being built as PIC, when the
      merging logic is intended to ensure that a mixture of PIC and non-PIC
      objects results in the whole program being built as non-PIC.
      
      Fix this with an extra argument to find_and_merge_options to determine
      whether merging should take place.  This shows up a second issue with
      that commit (which I think wasn't actually intended to change code
      semantics at all): once merging is enabled again, the check for
      -Xassembler options became an infinite loop in the case where both
      inputs had -Xassembler options, with the same first option, so fix
      that loop to restore the previous semantics.
      
      Note that I'm not sure how LTO option merging might be tested in the
      testsuite (clearly there wasn't sufficient, if any, coverage to detect
      these bugs).
      
      Bootstrapped with no regressions for x86_64-pc-linux-gnu.
      
      	PR lto/106129
      	* lto-wrapper.cc (find_option): Add argument start.
      	(merge_and_complain): Loop over existing_opt_index and
      	existing_opt2_index for Xassembler check.  Update calls to
      	find_option.
      	(find_and_merge_options): Add argument first to determine whether
      	to merge options with those passed in *opts.
      	(run_gcc): Update calls to find_and_merge_options.
      8a8ee37a
    • Jonathan Wakely's avatar
      libstdc++: Fix comment typos · c1fe8ddf
      Jonathan Wakely authored
      libstdc++-v3/ChangeLog:
      
      	* include/bits/utility.h: Fix comment typos.
      c1fe8ddf
    • Jonathan Wakely's avatar
      libstdc++: Improve exceptions thrown from fs::temp_directory_path · 1eef21cc
      Jonathan Wakely authored
      Currently the throwing overload of fs::temp_directory_path() will
      discard the path that was obtained from the environment. When it fails
      because the path doesn't resolve to a directory you get an unhelpful
      error like:
      
        filesystem error: temp_directory_path: Not a directory
      
      It would be better to also print the path in that case, e.g.
      
        filesystem error: temp_directory_path: Not a directory [/home/bob/tmp]
      
      libstdc++-v3/ChangeLog:
      
      	* src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path
      	in exception.
      	(fs::temp_directory_path(error_code&)): Rearrange to more
      	closely match the structure of the first overload.
      	* src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
      	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
      	Check that exception contains the path.
      	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
      	Likewise.
      1eef21cc
    • Jonathan Wakely's avatar
      libstdc++: Fix experimental::filesystem::status on Windows [PR88881] · 6c96b14a
      Jonathan Wakely authored
      Although the Filesystem TS isn't properly supported on Windows (unlike
      the C++17 Filesystem lib), most tests do pass. Two of the failures are
      due to PR 88881 which was only fixed for std::filesystem not the TS.
      This applies the fix to the TS implementation too.
      
      libstdc++-v3/ChangeLog:
      
      	PR libstdc++/88881
      	* src/filesystem/ops.cc (has_trailing_slash): New helper
      	function.
      	(fs::status): Strip trailing slashes.
      	(fs::symlink_status): Likewise.
      	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
      	Clean the environment before each test and use TMP instead of
      	TMPDIR so the test passes on Windows.
      6c96b14a
    • Aldy Hernandez's avatar
      Implement ggc_vrange_allocator. · fa22c9c7
      Aldy Hernandez authored
      This patch makes the vrange_allocator an abstract class, and uses it
      to implement the obstack allocator as well as a new GC allocator.
      
      The GC bits will be used to implement the vrange storage class for
      global ranges, which will be contributed in the next week or so.
      
      Tested and benchmarked on x86-64 Linux.
      
      gcc/ChangeLog:
      
      	* gimple-range-cache.cc (block_range_cache::block_range_cache):
      	Rename vrange_allocator to obstack_vrange_allocator.
      	(ssa_global_cache::ssa_global_cache): Same.
      	* gimple-range-edge.h (class gimple_outgoing_range): Same.
      	* gimple-range-infer.h (class infer_range_manager): Same.
      	* value-range.h (class vrange_allocator): Make abstract.
      	(class obstack_vrange_allocator): Inherit from vrange_allocator.
      	(class ggc_vrange_allocator): New.
      fa22c9c7
    • Nathan Sidwell's avatar
      c++: Note macro locations · 47e36785
      Nathan Sidwell authored
      In order to prune ordinary locations, we need to note the locations of
      macros we'll be writing out.  This rearanges the macro processing to achieve
      that.  Also drop an unneeded parameter from macro reading & writing.
      
      Fix some it's/its errors.
      
      	gcc/cp/
      	* module.cc (module_state::write_define): Drop located param.
      	(module_state::read_define): Likewise.
      	(module_state::prepare_macros): New, broken out of ...
      	(module_state::write_macros): ... here.  Adjust.
      	(module_state::write_begin): Adjust.
      	gcc/testsuite/
      	* g++.dg/modules/inext-1.H: Check include-next happened.
      47e36785
    • Roger Sayle's avatar
      Use xchg for DImode double word rotate by 32 bits with -m32 on x86. · 00193676
      Roger Sayle authored
      This patch was motivated by the investigation of Linus Torvalds' spill
      heavy cryptography kernels in PR 105930.  The <any_rotate>di3 expander
      handles all rotations by an immediate constant for 1..63 bits with the
      exception of 32 bits, which FAILs and is then split by the middle-end.
      This patch makes these 32-bit doubleword rotations consistent with the
      other DImode rotations during reload, which results in reduced register
      pressure, fewer instructions and the use of x86's xchg instruction
      when appropriate.  In theory, xchg can be handled by register renaming,
      but even on micro-architectures where it's implemented by 3 uops (no
      worse than a three instruction shuffle), avoiding nominating a
      "temporary" register, reduces user-visible register pressure (and
      has obvious code size benefits).
      
      The effects are best shown with the new testcase:
      
      unsigned long long bar();
      unsigned long long foo()
      {
        unsigned long long x = bar();
        return (x>>32) | (x<<32);
      }
      
      for which GCC with -m32 -O2 currently generates:
      
              subl    $12, %esp
              call    bar
              addl    $12, %esp
              movl    %eax, %ecx
              movl    %edx, %eax
              movl    %ecx, %edx
              ret
      
      but with this patch now generates:
      
              subl    $12, %esp
              call    bar
              addl    $12, %esp
              xchgl   %edx, %eax
              ret
      
      With this patch, the number of lines of assembly language generated
      for the blake2b kernel (from the attachment to PR105930) decreases
      from 5626 to 5404. Although there's an impressive reduction in
      instruction count, there's no change/reduction in stack frame size.
      
      2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
      	    Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/ChangeLog
      	* config/i386/i386.md (swap_mode): Rename from *swap<mode> to
      	provide gen_swapsi.
      	(<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
      	via new gen_<insn>32di2_doubleword below.
      	(<anyrotate>32di2_doubleword): New define_insn_and_split
      	that splits after reload as either a pair of move instructions
      	or an xchgl (using gen_swapsi).
      
      gcc/testsuite/ChangeLog
      	* gcc.target/i386/xchg-3.c: New test case.
      00193676
    • Richard Biener's avatar
      Avoid computing RPO for update_ssa · aea32943
      Richard Biener authored
      At some point when domwalk got the ability to use RPO for ordering
      dominator children we carefully avoided update_ssa eating the cost
      of RPO compute.  Unfortunately some later consolidation of CTORs
      lost this again so the following makes this explicit via a special
      value to the bb_index_to_rpo argument of domwalk, speeding up
      update_ssa again.
      
      	* domwalk.h (dom_walker::dom_walker): Update comment to
      	reflect reality and new special argument value for
      	bb_index_to_rpo.
      	* domwalk.cc (dom_walker::dom_walker): Recognize -1
      	bb_index_to_rpo.
      	* tree-into-ssa.cc
      	(rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
      	dom_walker to not use RPO.
      aea32943
    • Martin Liska's avatar
      remove dead member variable in dom_jt_state · 721aa2cc
      Martin Liska authored
      gcc/ChangeLog:
      
      	* tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
      	it is unused.
      721aa2cc
    • Cui,Lili's avatar
      Revert "MAINTAINERS: Add myself for write after approval" · aa1ae747
      Cui,Lili authored
      This reverts commit 1e6ff699.
      aa1ae747
    • Cui,Lili's avatar
      MAINTAINERS: Add myself for write after approval · 1e6ff699
      Cui,Lili authored
      ChangeLog:
      
      	* MAINTAINERS (Write After Approval): Add myself.
      1e6ff699
    • Kito Cheng's avatar
      testsuite/102690: Only check warning for lp64 in Warray-bounds-16.C · 0f6eef39
      Kito Cheng authored
      That warning won't happen on ilp32 targets, seems like Andrew Pinski
      already mention that[1] before.
      
      Verified on riscv32-unknown-elf and riscv64-unknown-elf.
      
      [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92879#c1
      
      gcc/testsuite/ChangeLog:
      
      	PR testsuite/102690
      	* g++.dg/warn/Warray-bounds-16.C: XFAIL only on lp64 for the
      	warning.
      0f6eef39
    • Andrew MacLeod's avatar
      Don't use gori dependencies to optimize. · 918ccccb
      Andrew MacLeod authored
        The routine fold_using_range::relation_fold_and_or needs to veriyf that both
      operands of 2 stmts are the same, and uses GORIs dependency cache for this.
      This cache cannot be counted on to reflect the current contents of a
      stmt, expecially in the presence of an IL changing pass.  Instead, look at the
      statement operands.
      
      	PR tree-optimization/106114
      	gcc/
      	* gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
      	statement operands instead of GORI cache.
      	gcc/testsuite/
      	* gcc.dg/pr106114.c: New.
      918ccccb
    • Antoni Boucher's avatar
      target: Fix asm generation for AVX builtins when using -masm=intel [PR106095] · e484755a
      Antoni Boucher authored
      gcc/ChangeLog:
      	PR target/106095
      	* config/i386/sse.md: Fix asm generation.
      
      gcc/testsuite/ChangeLog:
      	PR target/106095
      	* gcc.target/i386/pr106095.c: Add test using those AVX builtins.
      e484755a
    • GCC Administrator's avatar
      Daily bump. · ce600bc4
      GCC Administrator authored
      ce600bc4
  3. Jun 29, 2022
    • Antoni Boucher's avatar
      libgccjit: Fix bug where unary_op will return an integer type instead of the correct type · e3a5c773
      Antoni Boucher authored
      2022-06-29  Antoni Boucher  <bouanto@zoho.com>
      
      gcc/jit/
      	PR jit/105812
      	* jit-playback.cc: Use the correct return type when folding in
      	as_truth_value.
      
      gcc/testsuite/
      	PR jit/105812
      	* jit.dg/test-asm.cc: Add include missing to make the test pass.
      	* jit.dg/test-pr105812-bool-operations.c: New test.
      e3a5c773
    • Ian Lance Taylor's avatar
      3183acc8
    • Iain Buclaw's avatar
      d: Fix error: aggregate value used where floating point was expected · 329bef49
      Iain Buclaw authored
      Casting from vector to static array is permitted, and the frontend
      generates a reinterpret cast, but casting back the other way resulted in
      an error.  This has been fixed to be properly handled in the code
      generation pass of VectorExp, and the conversion for lvalue and rvalue
      handling done in convert_expr and convert_for_rvalue respectively.
      
      	PR d/106139
      
      gcc/d/ChangeLog:
      
      	* d-convert.cc (convert_expr): Handle casting from array to vector.
      	(convert_for_rvalue): Rewrite vector to array casts of the same
      	element type into a constructor.
      	(convert_for_assignment): Return calling convert_for_rvalue.
      	* expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a
      	vector expression from a static array.
      	* toir.cc (IRVisitor::visit (ReturnStatement *)): Call
      	convert_for_rvalue on return value.
      
      gcc/testsuite/ChangeLog:
      
      	* gdc.dg/pr106139a.d: New test.
      	* gdc.dg/pr106139b.d: New test.
      	* gdc.dg/pr106139c.d: New test.
      	* gdc.dg/pr106139d.d: New test.
      329bef49
    • Sergei Trofimovich's avatar
      jit: avoid calloc() poisoning on musl [PR106102] · 49d50806
      Sergei Trofimovich authored
      On musl <pthread.h> uses calloc() (via <sched.h>). jit/ includes
      it directly and exposes use of poisoned calloc():
      
          /build/build/./prev-gcc/xg++ ... ../../gcc-13-20220626/gcc/jit/jit-playback.cc
          make[3]: *** [Makefile:1143: jit/libgccjit.o] Error 1
          make[3]: *** Waiting for unfinished jobs....
          In file included from /<<NIX>>/musl-1.2.3-dev/include/pthread.h:30,
                           from ../../gcc-13-20220626/gcc/jit/jit-playback.cc:44:
          /<<NIX>>/musl-1.2.3-dev/include/sched.h:84:7: error: attempt to use poisoned "calloc"
             84 | void *calloc(size_t, size_t);
                |       ^
          /<<NIX>>/musl-1.2.3-dev/include/sched.h:124:36: error: attempt to use poisoned "calloc"
            124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
                |                                    ^
      
      The change moves <pthread.h> inclusion to "system.h" under new
      INCLUDE_PTHREAD_H guard and uses this mechanism in libgccjit.
      
      gcc/
      
      	PR c++/106102
      	* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
      
      gcc/jit/
      
      	PR c++/106102
      	* jit-playback.cc: Include <pthread.h> via "system.h" to avoid calloc()
      	poisoning.
      	* jit-recording.cc: Ditto.
      	* libgccjit.cc: Ditto.
      49d50806
    • Harald Anlauf's avatar
      Fortran: improve error recovery for EXTENDS_TYPE_OF() [PR106121] · b8f284d3
      Harald Anlauf authored
      
      gcc/fortran/ChangeLog:
      
      	PR fortran/106121
      	* simplify.cc (gfc_simplify_extends_type_of): Do not attempt to
      	simplify when one of the arguments is a CLASS variable that was
      	not properly declared.
      
      gcc/testsuite/ChangeLog:
      
      	PR fortran/106121
      	* gfortran.dg/extends_type_of_4.f90: New test.
      
      Co-authored-by: default avatarSteven G. Kargl <kargl@gcc.gnu.org>
      b8f284d3
    • Nathan Sidwell's avatar
      c++: Rename macro location structs · 01779f4f
      Nathan Sidwell authored
      The macro location tables should really mention they are about
      locations.  So rename them.  Also, add a missing free of the remapping
      table, and remove some now-unneeded macro checking.
      
      	gcc/cp/
      	* module.cc (macro_info, macro_traits, macro_table,
      	macro_remap): Rename to ...
      	(macro_loc_info, macro_loc_traits, macro_loc_table,
      	macro_loc_remap): ... these.  Update all uses.
      	(module_state::write_prepare_maps): Remove unneeded macro checking.
      	(module_state::write_begin): Free macro_loc_remap.
      01779f4f
    • Iain Buclaw's avatar
      d: Fix build on aarch64-suse-linux · 98c18e04
      Iain Buclaw authored
      The variables being used to get the result out of TYPE_VECTOR_SUBPARTS
      were being flagged by -Werror=maybe-uninitialized.  As they have already
      been checked for being constant earlier, use `to_constant' instead.
      
      gcc/d/ChangeLog:
      
      	* intrinsics.cc (build_shuffle_mask_type): Use to_constant when
      	getting the number of subparts from a vector type.
      	(expand_intrinsic_vec_shufflevector): Likewise.
      98c18e04
    • Joseph Myers's avatar
      nios2: Fix PIC function call slowness · b01c075e
      Joseph Myers authored
      On Nios II, PIC function calls use R_NIOS2_CALL* relocations, which
      may refer to a GOT entry that initially points to a PLT entry to
      resolve the function on first call and that is then changed by the
      dynamic linker to point directly to the function to be called so
      subsequent calls do not go through the dynamic linker.  To quote the
      ABI, "A global offset table (GOT) entry referenced using
      R_NIOS2_GOT16, R_NIOS2_GOT_LO as well as R_NIOS2_GOT_HA must be
      resolved at load time.  A GOT entry referenced only using
      R_NIOS2_CALL16, R_NIOS2_CALL_LO as well as R_NIOS2_CALL_HA can
      initially refer to a procedure linkage table (PLT) entry and then be
      resolved lazily.".
      
      However, GCC wrongly treats function addresses loaded from the GOT
      with such relocations as constant.  If the address load is pulled out
      of a loop, then every call in the loop looks up the function by name.
      This shows up as very slow execution of many glibc testcases in glibc
      2.35 and later (tests that call functions from shared libc many times
      in a loop), where tests are now built as PIE by default.  Fix this
      problem by using gen_rtx_MEM instead of gen_const_mem when loading
      addresses for PIC function calls.
      
      Tested with no regressions for cross to nios2-linux-gnu, where many
      glibc tests pass that previously timed out.
      
      	* config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
      	not gen_const_mem for UNSPEC_PIC_CALL_SYM.
      b01c075e
    • Jakub Jelinek's avatar
      libgfortran: Switch some more __float128 uses to _Float128 · 5097cdf9
      Jakub Jelinek authored
      My patch apparently left some __float128 uses in libgfortran
      that could use _Float128 instead, the following patch changes that.
      
      2022-06-29  Jakub Jelinek  <jakub@redhat.com>
      
      	* mk-kinds-h.sh: Change __float128 to _Float128 in a comment.
      	* acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): Use _Float128 instead of
      	__float128.
      	* libgfortran.h (isnan): Change __float128 to _Float128 in a comment.
      	(__acoshieee128, __acosieee128, __asinhieee128, __asinieee128,
      	__atan2ieee128, __atanhieee128, __atanieee128, __copysignieee128,
      	__coshieee128, __cosieee128, __erfcieee128, __erfieee128,
      	__expieee128, __fabsieee128, __fmaieee128, __fmodieee128, __jnieee128,
      	__log10ieee128, __logieee128, __powieee128, __sinhieee128,
      	__sinieee128, __sqrtieee128, __tanhieee128, __tanieee128,
      	__ynieee128, __strtoieee128): Use _Float128 instead of __float128.
      	* configure: Regenerated.
      5097cdf9
    • Jakub Jelinek's avatar
      libgfortran: Fix up LIBGFOR_CHECK_FLOAT128 [PR106137] · c022c0de
      Jakub Jelinek authored
      My recent gfortran + libgfortran patch apparently broke (some?) aarch64
      builds.  While it is desirable to use just _Float128 rather than __float128,
      we only want to use it (and e.g. define HAVE_FLOAT128) on targets where
      _Float128 is supported and long double isn't IEEE quad precision.
      Which is targets that support __float128 type which we have been testing
      for before - _Float128 is supported on those targets and on targets where
      long double is IEEE quad precision.
      
      So, the following patch restores check for whether __float128 is supported
      into the LIBGFOR_CHECK_FLOAT128 check which determines whether
      HAVE_FLOAT128 is defined or whether to use libquadmath, so that e.g. on
      aarch64 where long double is IEEE quad we don't do that.
      
      2022-06-29  Jakub Jelinek  <jakub@redhat.com>
      
      	PR bootstrap/106137
      	* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Adjust comment.
      	Also test for __float128.
      	(HAVE_FLOAT128): Adjust description.
      	* config.h.in: Regenerated.
      	* configure: Regenerated.
      c022c0de
    • Martin Liska's avatar
      libsanitizer: cherry-pick 791e0d1bc85d · aa87b754
      Martin Liska authored
      791e0d1bc85d: [compiler-rt] Add NO_EXEC_STACK_DIRECTIVE on s390x
      aa87b754
    • Richard Biener's avatar
      rtl-optimization/106082 - preserve EH note for no non-local goto · 0282c4ac
      Richard Biener authored
      The following makes sure we preserve EH notes on call insns that
      indicate the call doesn't perform a non-local goto when distributing
      notes after combining insns.
      
      2022-06-28  Richard Biener  <rguenther@suse.de>
      
      	PR rtl-optimization/106082
      	* combine.cc (distribute_notes): Preserve notes when
      	they indicate a call doesn't perform a non-local goto.
      0282c4ac
    • Richard Biener's avatar
      tree-optimization/106112 - fix CSE from wider operation · 2dbb45d6
      Richard Biener authored
      The following fixes a mistake in looking up an extended operand
      in the CSE of a truncated operation.
      
      2022-06-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/106112
      	* tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
      	a constant operand according to its type.
      
      	* gcc.dg/torture/pr106112.c: New testcase.
      2dbb45d6
    • Jan Beulich's avatar
      testsuite/ix86: SSE2 is a prereq to _Float16 use · d42c1598
      Jan Beulich authored
      When enabling AVX512FP via attribute or pragma, the _Float16 type would
      remain unavailable when at initialization time SSE2 wouldn't be seen as
      available for use. While this may hint at a wider underlying issue (like
      the feature, the type may want providing dynamically, albeit this may be
      challenging in particular for functions returning _Float16 yet having
      the attribute specified after their return type), for now simply make
      SSE2 available when targeting ix86.
      
      gcc/testsuite/
      
      	* gcc.target/i386/avx512fp16-reduce-op-2.c: Force SSE2 for i?86.
      	* gcc.target/i386/pr99464.c: Likewise.
      d42c1598
    • Jan Beulich's avatar
      testsuite/ix86: prune MMX ABI warning · 904ff2b3
      Jan Beulich authored
      So far on 32-bit hosts this test failed (for both C and C++) because of
      the ABI change warning occurring without (explictly) enabling MMX.
      
      gcc/testsuite/
      
      	* c-c++-common/torture/builtin-shufflevector-2.c: Prune ix86 MMX
      	ABI warning.
      904ff2b3
    • Martin Liska's avatar
      docs: remove removed param from documentation · 4ef0f271
      Martin Liska authored
      gcc/ChangeLog:
      
      	* doc/invoke.texi: Remove removed evrp-mode.
      4ef0f271
Loading