[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 --- Comment #5 from uros at gcc dot gnu.org --- Author: uros Date: Thu May 23 04:55:40 2019 New Revision: 271537 URL: https://gcc.gnu.org/viewcvs?rev=271537=gcc=rev Log: Backported from mainline 2019-05-21 Uroš Bizjak * config/i386/cpuid.h (__cpuid): For 32bit targets, zero %ebx and %ecx bafore calling cpuid with leaf 1 or non-constant leaf argument. 2019-05-21 Uroš Bizjak PR target/90547 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): Avoid calling gen_lowpart with CONST operand. testsuite/ChangeLog: Backported from mainline 2019-05-21 Uroš Bizjak PR target/90547 * gcc.target/i386/pr90547.c: New test. Added: branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr90547.c Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/config/i386/cpuid.h branches/gcc-7-branch/gcc/config/i386/i386.md branches/gcc-7-branch/gcc/testsuite/ChangeLog
[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 Uroš Bizjak changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Uroš Bizjak --- Fixed everywhere.
[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 --- Comment #4 from uros at gcc dot gnu.org --- Author: uros Date: Wed May 22 22:50:39 2019 New Revision: 271529 URL: https://gcc.gnu.org/viewcvs?rev=271529=gcc=rev Log: Backported from mainline 2019-05-21 Uroš Bizjak * config/i386/cpuid.h (__cpuid): For 32bit targets, zero %ebx and %ecx bafore calling cpuid with leaf 1 or non-constant leaf argument. 2019-05-21 Uroš Bizjak PR target/90547 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): Avoid calling gen_lowpart with CONST operand. testsuite/ChangeLog: Backported from mainline 2019-05-21 Uroš Bizjak PR target/90547 * gcc.target/i386/pr90547.c: New test. Added: branches/gcc-8-branch/gcc/testsuite/gcc.target/i386/pr90547.c Modified: branches/gcc-8-branch/gcc/ChangeLog branches/gcc-8-branch/gcc/config/i386/cpuid.h branches/gcc-8-branch/gcc/config/i386/i386.md branches/gcc-8-branch/gcc/testsuite/ChangeLog
[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 --- Comment #3 from uros at gcc dot gnu.org --- Author: uros Date: Wed May 22 18:49:22 2019 New Revision: 271516 URL: https://gcc.gnu.org/viewcvs?rev=271516=gcc=rev Log: Backported from mainline 2019-05-21 Uroš Bizjak * config/i386/cpuid.h (__cpuid): For 32bit targets, zero %ebx and %ecx bafore calling cpuid with leaf 1 or non-constant leaf argument. 2019-05-21 Uroš Bizjak PR target/90547 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): Avoid calling gen_lowpart with CONST operand. testsuite/ChangeLog: Backported from mainline 2019-05-21 Uroš Bizjak PR target/90547 * gcc.target/i386/pr90547.c: New test. Added: branches/gcc-9-branch/gcc/testsuite/gcc.target/i386/pr90547.c Modified: branches/gcc-9-branch/gcc/ChangeLog branches/gcc-9-branch/gcc/config/i386/cpuid.h branches/gcc-9-branch/gcc/config/i386/i386.md branches/gcc-9-branch/gcc/testsuite/ChangeLog
[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 --- Comment #2 from uros at gcc dot gnu.org --- Author: uros Date: Tue May 21 17:57:11 2019 New Revision: 271479 URL: https://gcc.gnu.org/viewcvs?rev=271479=gcc=rev Log: PR target/90547 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): Avoid calling gen_lowpart with CONST operand. testsuite/ChangeLog: PR target/90547 * gcc.target/i386/pr90547.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr90547.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md trunk/gcc/testsuite/ChangeLog
[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547 Uroš Bizjak changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2019-05-20 Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com Target Milestone|--- |7.5 Ever confirmed|0 |1 --- Comment #1 from Uroš Bizjak --- Patch in testing: --cut here-- Index: config/i386/i386.md === --- config/i386/i386.md (revision 271430) +++ config/i386/i386.md (working copy) @@ -8525,6 +8525,14 @@ operands[2] = shallow_copy_rtx (operands[2]); PUT_MODE (operands[2], SImode); } + else if (GET_CODE (operands[2]) == CONST) +{ + /* (const:DI (plus:DI (symbol_ref:DI ("...")) (const_int N))) */ + operands[2] = copy_rtx (operands[2]); + PUT_MODE (operands[2], SImode); + PUT_MODE (XEXP (operands[2], 0), SImode); + PUT_MODE (XEXP (XEXP (operands[2], 0), 0), SImode); +} else operands[2] = gen_lowpart (SImode, operands[2]); }) --cut here--