* [Bug target/16888] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
@ 2005-04-07 6:31 ` pinskia at gcc dot gnu dot org
2005-04-07 6:32 ` [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-07 6:31 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-07 06:31 -------
*** Bug 20214 has been marked as a duplicate of this bug. ***
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
2005-04-07 6:31 ` [Bug target/16888] ICE: in print_reg, at config/i386/i386.c:7254 pinskia at gcc dot gnu dot org
@ 2005-04-07 6:32 ` pinskia at gcc dot gnu dot org
2005-04-19 6:16 ` aoliva at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-07 6:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-07 06:32 -------
Copying regression markers from 20214 and the target milestone.
--
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|3.3.4 3.4.2 4.0.0 |4.0.0 3.3.3 3.2.3 3.4.0
Known to work| |3.0.4 2.95.3
Last reconfirmed|2005-01-06 12:59:13 |2005-04-07 06:32:34
date| |
Summary|ICE: in print_reg, at |[3.3/3.4/4.0/4.1 Regression]
|config/i386/i386.c:7254 |ICE: in print_reg, at
| |config/i386/i386.c:7254
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
2005-04-07 6:31 ` [Bug target/16888] ICE: in print_reg, at config/i386/i386.c:7254 pinskia at gcc dot gnu dot org
2005-04-07 6:32 ` [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-04-19 6:16 ` aoliva at gcc dot gnu dot org
2005-04-19 17:09 ` aoliva at redhat dot com
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu dot org @ 2005-04-19 6:16 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |aoliva at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2005-04-07 06:32:34 |2005-04-19 06:16:04
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (2 preceding siblings ...)
2005-04-19 6:16 ` aoliva at gcc dot gnu dot org
@ 2005-04-19 17:09 ` aoliva at redhat dot com
2005-04-21 4:57 ` mmitchel at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: aoliva at redhat dot com @ 2005-04-19 17:09 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From aoliva at gcc dot gnu dot org 2005-04-19 17:08 -------
Subject: [PR target/16888] clear reg names of unavailable regs
We used to crash at print_operand time, because the register asm
variable named a REX register, not available in 32-bit mode.
This patch arranges for us to clear the names of registers not
available for the given command-line options or defaults, which gets
us an error message at the point of the register var declaration.
An alternative would be to introduce a new target hook to validate
register names, but this didn't sound worth the effort.
Bootstrapped and regtested on amd64-linux-gnu. Ok to install?
Index: gcc/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>
PR target/16888
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
for unavailable registers.
Index: gcc/config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.h,v
retrieving revision 1.428
diff -u -p -r1.428 i386.h
--- gcc/config/i386/i386.h 14 Apr 2005 23:42:45 -0000 1.428
+++ gcc/config/i386/i386.h 19 Apr 2005 06:03:00 -0000
@@ -1042,14 +1042,14 @@ do { \
int i; \
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
if (TEST_HARD_REG_BIT (reg_class_contents[(int)MMX_REGS], i)) \
- fixed_regs[i] = call_used_regs[i] = 1; \
+ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
} \
if (! TARGET_SSE) \
{ \
int i; \
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
if (TEST_HARD_REG_BIT (reg_class_contents[(int)SSE_REGS], i)) \
- fixed_regs[i] = call_used_regs[i] = 1; \
+ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
} \
if (! TARGET_80387 && ! TARGET_FLOAT_RETURNS_IN_80387) \
{ \
@@ -1058,7 +1058,15 @@ do { \
COPY_HARD_REG_SET (x, reg_class_contents[(int)FLOAT_REGS]); \
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
if (TEST_HARD_REG_BIT (x, i)) \
- fixed_regs[i] = call_used_regs[i] = 1; \
+ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
+ } \
+ if (! TARGET_64BIT) \
+ { \
+ int i; \
+ for (i = FIRST_REX_INT_REG; i <= LAST_REX_INT_REG; i++) \
+ reg_names[i] = ""; \
+ for (i = FIRST_REX_SSE_REG; i <= LAST_REX_SSE_REG; i++) \
+ reg_names[i] = ""; \
} \
} while (0)
Index: gcc/testsuite/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>
PR target/16888
* gcc.target/i386/asm-1.c: New test.
Index: gcc/testsuite/gcc.target/i386/asm-1.c
===================================================================
RCS file: gcc/testsuite/gcc.target/i386/asm-1.c
diff -N gcc/testsuite/gcc.target/i386/asm-1.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc/testsuite/gcc.target/i386/asm-1.c 19 Apr 2005 06:03:15 -0000
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-m32" } */
+
+register unsigned int EAX asm ("r14"); /* { dg-error "register name" } */
+
+void foo ()
+{
+ EAX = 0;
+}
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4/4.0/4.1 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (3 preceding siblings ...)
2005-04-19 17:09 ` aoliva at redhat dot com
@ 2005-04-21 4:57 ` mmitchel at gcc dot gnu dot org
2005-05-03 17:00 ` [Bug target/16888] [3.3/3.4 " aoliva at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-04-21 4:57 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.0 |4.0.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (4 preceding siblings ...)
2005-04-21 4:57 ` mmitchel at gcc dot gnu dot org
@ 2005-05-03 17:00 ` aoliva at gcc dot gnu dot org
2005-05-03 17:01 ` cvs-commit at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: aoliva at gcc dot gnu dot org @ 2005-05-03 17:00 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|aoliva at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
Summary|[3.3/3.4/4.0/4.1 Regression]|[3.3/3.4 Regression] ICE:
|ICE: in print_reg, at |in print_reg, at
|config/i386/i386.c:7254 |config/i386/i386.c:7254
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (5 preceding siblings ...)
2005-05-03 17:00 ` [Bug target/16888] [3.3/3.4 " aoliva at gcc dot gnu dot org
@ 2005-05-03 17:01 ` cvs-commit at gcc dot gnu dot org
2005-05-03 17:02 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-03 17:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-03 17:00 -------
Subject: Bug 16888
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: aoliva@gcc.gnu.org 2005-05-03 17:00:26
Modified files:
gcc : ChangeLog
gcc/config/i386: i386.h
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.target/i386: asm-1.c
Log message:
gcc/ChangeLog:
PR target/16888
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
for unavailable registers.
gcc/testsuite/ChangeLog:
PR target/16888
* gcc.target/i386/asm-1.c: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.213&r2=2.7592.2.214
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.421.6.2&r2=1.421.6.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.154&r2=1.5084.2.155
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/asm-1.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.3/3.4 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (6 preceding siblings ...)
2005-05-03 17:01 ` cvs-commit at gcc dot gnu dot org
@ 2005-05-03 17:02 ` cvs-commit at gcc dot gnu dot org
2005-07-08 1:36 ` [Bug target/16888] [3.4 " mmitchel at gcc dot gnu dot org
2005-09-07 19:08 ` pinskia at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-03 17:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-03 17:01 -------
Subject: Bug 16888
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: aoliva@gcc.gnu.org 2005-05-03 17:01:01
Modified files:
gcc : ChangeLog
gcc/config/i386: i386.h
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.target/i386: asm-1.c
Log message:
gcc/ChangeLog:
PR target/16888
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
for unavailable registers.
gcc/testsuite/ChangeLog:
PR target/16888
* gcc.target/i386/asm-1.c: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8579&r2=2.8580
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?cvsroot=gcc&r1=1.432&r2=1.433
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5435&r2=1.5436
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/asm-1.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.4 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (7 preceding siblings ...)
2005-05-03 17:02 ` cvs-commit at gcc dot gnu dot org
@ 2005-07-08 1:36 ` mmitchel at gcc dot gnu dot org
2005-09-07 19:08 ` pinskia at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-07-08 1:36 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.1 |4.0.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/16888] [3.4 Regression] ICE: in print_reg, at config/i386/i386.c:7254
[not found] <20040805170046.16888.belyshev@depni.sinp.msu.ru>
` (8 preceding siblings ...)
2005-07-08 1:36 ` [Bug target/16888] [3.4 " mmitchel at gcc dot gnu dot org
@ 2005-09-07 19:08 ` pinskia at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-07 19:08 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.2 |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16888
^ permalink raw reply [flat|nested] 12+ messages in thread