https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110311

--- Comment #49 from Jürgen Reuter <juergen.reuter at desy dot de> ---
(In reply to anlauf from comment #48)
> (In reply to anlauf from comment #47)
> > However, when I use -O2 together with an -march= flag, the code works.
> > I've tested -march=sandybridge, -march=haswell, -march=skylake,
> > -march=native.
> > It FPEs without.
> 
> And it FPEs with core2,nehalem,westmere!
> 
> Next I tried:
> 
> -march=sandybridge -mno-avx  # FPE!
> -march=sandybridge           # OK.

Yes, I can fully confirm your findings, also the ones from comment #47. I was
looking at the commits in the period June 12-18 which could have caused this,
some which seem potential candidates are:
2023-06-18  Honza  <j...@ryzen3.suse.cz>
        PR tree-optimization/109849
2023-06-16  Jakub Jelinek  <ja...@redhat.com>
        PR tree-optimization/110271
        * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children)
        <case PLUS_EXPR>: Ignore return value from match_arith_overflow,
        instead call match_uaddc_usubc only if gsi_stmt (gsi) is still stmt.
(This one sounds pretty suspicious to me)
2023-06-16  Richard Biener  <rguent...@suse.de>
        PR tree-optimization/110269
        * fold-const.cc (fold_binary_loc): Merge x != 0 folding
2023-06-13  Alexandre Oliva  <ol...@adacore.com>
        * range-op-float.cc (frange_nextafter): Drop inline.
        (frelop_early_resolve): Add static.
        (frange_float): Likewise
2023-06-12  Andrew MacLeod  <amacl...@redhat.com>
        PR tree-optimization/110205
        * range-op-float.cc (range_operator::fold_range): Add default FII
        fold routine.
        * range-op-mixed.h (class operator_gt): Add missing final overrides.
        * range-op.cc (range_op_handler::fold_range): Add RO_FII case.
2023-06-12  Andrew MacLeod  <amacl...@redhat.com>
        * gimple-range-gori.cc (gori_compute::condexpr_adjust): Do not
        pass type.
        [...]
(there is a long list of commits by Andrew on June 12)
2023-06-12  Andre Vieira  <andre.simoesdiasvie...@arm.com>
        PR middle-end/110142
        * tree-vect-patterns.cc (vect_recog_widen_op_pattern): Don't pass
        subtype to vect_widened_op_tree and remove subtype parameter, also
        remove superfluous overloaded function definition.
        (vect_recog_widen_plus_pattern): Remove subtype parameter and dont pass
        to call to vect_recog_widen_op_pattern.
        (vect_recog_widen_minus_pattern): Likewise.
(^^^ this one also looks suspicious to me)

Any ideas which could have caused the changes?

Reply via email to