[Bug target/90547] [8/9/10 Regression] ICE in gen_lowpart_general, at rtlhooks.c:63

2019-05-22 Thread uros at gcc dot gnu.org
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

2019-05-22 Thread ubizjak at gmail dot com
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

2019-05-22 Thread uros at gcc dot gnu.org
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

2019-05-22 Thread uros at gcc dot gnu.org
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

2019-05-21 Thread uros at gcc dot gnu.org
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

2019-05-20 Thread ubizjak at gmail dot com
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--