[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2005-01-20 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-21 
02:14 ---
Subject: Bug 18701

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-01-21 02:14:27

Modified files:
gcc: ChangeLog combine.c 

Log message:
PR target/18701
* combine.c (combine_simplify_rtx): Revert change of 2004-12-31.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.7214r2=2.7215
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gccr1=1.469r2=1.470



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-31 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-12-31 
16:24 ---
Subject: Bug 18701

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2004-12-31 16:24:48

Modified files:
gcc: ChangeLog combine.c 

Log message:
PR target/18701
* combine.c (gen_lowpart_for_combine): When stripping SUBREG of
MEM, adjust imode and isize.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6987r2=2.6988
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gccr1=1.463r2=1.464



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-31 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-12-31 
16:28 ---
Subject: Bug 18701

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2004-12-31 16:28:34

Modified files:
gcc: ChangeLog combine.c 

Log message:
PR target/18701
* combine.c (combine_simplify_rtx): Do not allow paradoxical
subregs of MEM.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6988r2=2.6989
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gccr1=1.464r2=1.465



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-31 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-31 16:33 
---
URL:http://gcc.gnu.org/ml/gcc-patches/2004-12/msg02151.html

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-23 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-23 18:46 
---
URL:http://gcc.gnu.org/ml/gcc-patches/2004-12/msg01628.html

-- 
   What|Removed |Added

   Keywords||patch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-19 18:02 
---
Looking at the 20040218-1.c failure.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2004-12-19 18:02:44
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2004-12-20 
00:54 ---
This is not assigned. 

-- 
   What|Removed |Added

 Status|ASSIGNED|NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|NEW |ASSIGNED
   Last reconfirmed|2004-12-19 18:02:44 |2004-12-20 00:59:11
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-20 00:59 
---
Assign it to me, stupid bugzilla dammit!

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |hp at gcc dot gnu dot org
   |dot org |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at bitrange dot com

--- Additional Comments From hp at bitrange dot com  2004-12-20 01:00 
---
Subject: Re:  [4.0 regression] mmix-knuth-mmixware
 gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c,
 20040709-2.c

On Sun, 20 Dec 2004, steven at gcc dot gnu dot org wrote:
 --- Additional Comments From steven at gcc dot gnu dot org  2004-12-20 
 00:54 ---
 This is not assigned.

Likely because of a bug in bugzilla: I pressed the
verify-and-assign-to-me button.  Then again...

brgds, H-P


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-20 01:55 
---
Combine changes:

(insn 13 12 15 0 (set (reg:HI 273)
(mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16])) 1 {movhi} (nil)
(expr_list:REG_DEAD (reg/v/f:DI 269 [ y ])
(nil)))
(insn 15 13 16 0 (set (reg:DI 275)
(plus:DI (reg:DI 272)
(subreg:DI (reg:HI 273) 0))) 7 {adddi3} (insn_list:REG_DEP_TRUE 12
(insn_list:REG_DEP_TRUE 13 (nil)))
(expr_list:REG_DEAD (reg:DI 272)
(expr_list:REG_DEAD (reg:HI 273)
(nil

into:

(insn 15 13 16 0 (set (reg:DI 275)
(plus:DI (reg:DI 272)
(subreg:DI (mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16]) 0))) 7 {adddi3}
(insn_list:REG_DEP_TRUE 12 (nil))
(expr_list:REG_DEAD (reg/v/f:DI 269 [ y ])
(expr_list:REG_DEAD (reg:DI 272)
(nil

which is already wrong because the address isn't valid in DImode
(STRICT_ALIGNMENT).  Likely a paradoxical subregs issue; they're allowed
if !INSN_SCHEDULING.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-12-19 Thread hp at gcc dot gnu dot org

--- Additional Comments From hp at gcc dot gnu dot org  2004-12-20 03:40 
---
On the assumption that the above transformation is valid [because when we see
the (subreg:DI (mem:HI ...)) we should think of it as a (reg:DI ...)], we later
get (though I have no clue why there's SImode here):
Breakpoint 8, try_combine (i3=0xf6efe398, i2=0xf6efe370, i1=0x0,
new_direct_jump_p=0xfefffa28)
at /home/hp/combined/combined/gcc/combine.c:1629
i1 = (nil)
i2 = (insn 16 15 17 0 (set (subreg:DI (reg:HI 276) 0)
(plus:DI (reg:DI 272)
(subreg:DI (mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16]) 0))) 7 {adddi3}
(insn_list:REG_DEP_TRUE 12 (nil))
(expr_list:REG_DEAD (reg:DI 272)
(expr_list:REG_DEAD (reg/v/f:DI 269 [ y ])
(nil
i3 = (insn 17 16 18 0 (set (reg:SI 277)
(subreg:SI (reg:HI 276) 0)) 2 {movsi} (insn_list:REG_DEP_TRUE 16 (nil))
(expr_list:REG_DEAD (reg:HI 276)
(nil)))

causing gcc to end up in combine_simplify_rtx
with x = (subreg:SI (subreg:HI (plus:DI (reg:DI 272)
(subreg:DI (mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16]) 0)) 6) 0)
and now the subreg-will-be-a-reg-not-a-mem-access-in-the-outer-mode assumption
is made false, because x is transformed into
(plus:DI (reg:DI 272)
(subreg:DI (mem:SI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 6 [0x6])) [3 S4 A16]) 0))
where the mem is now an invalid address (accessing SImode at !SImode boundary)
though as the result is not a SEGV but an unexpected result, the test-case
will abort rather than the simulator simulate a SIGSEGV (or SIGBUS).

The solution should be along the lines to avoid generating the first paradoxical
subreg.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701


[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c

2004-11-28 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Keywords||wrong-code
   Target Milestone|--- |4.0.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701