public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/12978] New: problem with -fweb and c4x target
@ 2003-11-09 12:00 hermantenbrugge at home dot nl
  2003-11-09 18:22 ` [Bug target/12978] " pinskia at gcc dot gnu dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: hermantenbrugge at home dot nl @ 2003-11-09 12:00 UTC (permalink / raw)
  To: gcc-bugs

The c4x target fails to compile the
gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c with -O3.
The problem is that since -fweb is enabled the memcpy call that is used in the
trampoline function is not working anymore.
Before the web pass the memcpy looks like:

(insn 51 50 52 0 (parallel [
            (set (mem:BLK (reg/f:QI 47) [0 A32])
                (mem:BLK (reg/f:QI 48) [0 A32]))
            (use (const_int 10 [0xa]))
            (use (const_int 1 [0x1]))
            (clobber (reg:QI 49))
            (clobber (reg/f:QI 47))
            (clobber (reg/f:QI 48))
            (clobber (reg:QI rs)) 
            (clobber (reg:QI re))
            (clobber (reg:QI rc))
        ]) 212 {movstrqi_large} (nil)
    (expr_list:REG_EQUAL (mem:BLK (symbol_ref:QI ("*LTRAMP0") [flags 0x2]) [0 A32])
        (nil)))

After the web pass hass run the mempcy looks like:
(insn 51 50 52 0 (parallel [
            (set (mem:BLK (reg/f:QI 47) [0 A32])
                (mem:BLK (reg/f:QI 48) [0 A32]))
            (use (const_int 10 [0xa]))
            (use (const_int 1 [0x1]))
            (clobber (reg:QI 49))
            (clobber (reg/f:QI 54))
            (clobber (reg/f:QI 53))
            (clobber (reg:QI rs))
            (clobber (reg:QI re))
            (clobber (reg:QI rc))
        ]) 212 {movstrqi_large} (nil)
    (expr_list:REG_EQUAL (mem:BLK (symbol_ref:QI ("*LTRAMP0") [flags 0x2]) [0 A32])
        (nil)))

The web pass has created new registers for the clobbers that are present here.
This means the code after this memcpy call asumes now that the registers are
not modified! The must be a bug in the web pass.

-- 
           Summary: problem with -fweb and c4x target
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hermantenbrugge at home dot nl
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: c4x
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: c4x


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2004-01-31  3:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-09 12:00 [Bug c/12978] New: problem with -fweb and c4x target hermantenbrugge at home dot nl
2003-11-09 18:22 ` [Bug target/12978] " pinskia at gcc dot gnu dot org
2003-12-18 21:03 ` [Bug target/12978] [3.4 Regression] " steven at gcc dot gnu dot org
2003-12-18 21:04 ` hermantenbrugge at home dot nl
2003-12-19 10:20 ` pinskia at gcc dot gnu dot org
2003-12-21 17:27 ` pinskia at gcc dot gnu dot org
2003-12-21 17:47 ` pinskia at gcc dot gnu dot org
2003-12-29 17:59 ` pinskia at gcc dot gnu dot org
2004-01-10 23:27 ` steven at gcc dot gnu dot org
2004-01-25  2:20 ` [Bug target/12978] [3.4/3.5 " cvs-commit at gcc dot gnu dot org
2004-01-25  2:21 ` [Bug target/12978] [3.4 " pinskia at gcc dot gnu dot org
2004-01-27 13:06 ` cvs-commit at gcc dot gnu dot org
2004-01-31  3:29 ` cvs-commit at gcc dot gnu dot org
2004-01-31  3:30 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).