[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 Uroš Bizjak changed: What|Removed |Added CC|uros at gcc dot gnu.org| Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com Target Milestone|--- |9.3 --- Comment #13 from Uroš Bizjak --- Fixed for 9.3+.
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 --- Comment #12 from uros at gcc dot gnu.org --- Author: uros Date: Mon Oct 28 14:16:50 2019 New Revision: 277520 URL: https://gcc.gnu.org/viewcvs?rev=277520=gcc=rev Log: PR target/92225 * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2 condition for V2DImode. testsuite/ChangeLog: PR target/92225 * gcc.target/i386/pr92225.c: New test. Added: branches/gcc-9-branch/gcc/testsuite/gcc.target/i386/pr92225.c Modified: branches/gcc-9-branch/gcc/ChangeLog branches/gcc-9-branch/gcc/config/i386/sse.md branches/gcc-9-branch/gcc/testsuite/ChangeLog
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #11 from Richard Biener --- Fixed. Thanks Uros.
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 --- Comment #10 from uros at gcc dot gnu.org --- Author: uros Date: Mon Oct 28 11:29:43 2019 New Revision: 277510 URL: https://gcc.gnu.org/viewcvs?rev=277510=gcc=rev Log: PR target/92225 * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2 condition for V2DImode. testsuite/ChangeLog: PR target/92225 * gcc.target/i386/pr92225.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr92225.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 --- Comment #9 from Uroš Bizjak --- (In reply to rguent...@suse.de from comment #8) > Will you do the fix? I have it in testing.
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 --- Comment #8 from rguenther at suse dot de --- On Fri, 25 Oct 2019, ubizjak at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 > > --- Comment #7 from Uroš Bizjak --- > (In reply to Uroš Bizjak from comment #6) > > This. V2DImode of REDUC_SSE_SMINMAX_MODE should be conditional on > > TARGET_SSE4_2. > > --cut here-- > diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md > index 403e91d4b176..245cb522321c 100644 > --- a/gcc/config/i386/sse.md > +++ b/gcc/config/i386/sse.md > @@ -2771,7 +2771,7 @@ > ;; Modes handled by reduc_sm{in,ax}* patterns. > (define_mode_iterator REDUC_SSE_SMINMAX_MODE >[(V4SF "TARGET_SSE") (V2DF "TARGET_SSE") > - (V2DI "TARGET_SSE") (V4SI "TARGET_SSE") (V8HI "TARGET_SSE") > + (V2DI "TARGET_SSE4_2") (V4SI "TARGET_SSE") (V8HI "TARGET_SSE") > (V16QI "TARGET_SSE")]) > > (define_expand "reduc__scal_" > --cut here-- Will you do the fix?
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2019-10-25 Ever confirmed|0 |1 --- Comment #3 from Richard Biener --- Confirmed. Eventually ix86_expand_int_vcond fails because the compare needs 4105 /* Only SSE4.1/SSE4.2 supports V2DImode. */ 4106 if (mode == V2DImode) and code is GT. Somehow (define_expand "3" [(set (match_operand:VI8_AVX2_AVX512F 0 "register_operand") (maxmin:VI8_AVX2_AVX512F (match_operand:VI8_AVX2_AVX512F 1 "register_operand") (match_operand:VI8_AVX2_AVX512F 2 "register_operand")))] "TARGET_SSE4_2" doesn't work? Ah, because it's directly invoked via (define_expand "reduc__scal_" [(smaxmin:REDUC_SSE_SMINMAX_MODE (match_operand: 0 "register_operand") (match_operand:REDUC_SSE_SMINMAX_MODE 1 "register_operand"))] "" { rtx tmp = gen_reg_rtx (mode); ix86_expand_reduc (gen_3, tmp, operands[1]); emit_insn (gen_vec_extract (operands[0], tmp, const0_rtx)); DONE; })
[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225 --- Comment #2 from David Binderman --- Reduced code: void a(long); unsigned *b; void c() { long d; for (int e; e; e++) if (b[e] > d) d = b[e]; a(d); }