public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/67060] New: [6 Regression] FAIL: gcc.dg/pr56228.c (test for excess errors)
@ 2015-07-29 21:18 danglin at gcc dot gnu.org
  2015-07-30  7:09 ` [Bug target/67060] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: danglin at gcc dot gnu.org @ 2015-07-29 21:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67060

            Bug ID: 67060
           Summary: [6 Regression] FAIL: gcc.dg/pr56228.c (test for excess
                    errors)
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
              Host: hppa64-hp-hpux11.11
            Target: hppa64-hp-hpux11.11
             Build: hppa64-hp-hpux11.11

Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/ 
-f
no-diagnostics-show-caret -fdiagnostics-color=never   -O2 -c   -o pr56228.o
/tes
t/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c    (timeout = 300)
spawn /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
-fno-diagnostics
-show-caret -fdiagnostics-color=never -O2 -c -o pr56228.o
/test/gnu/gcc/gcc/gcc/
testsuite/gcc.dg/pr56228.c
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c: In function 'foo':
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c:17:1: error: unable to find a
r
egister to spill in class 'R1_REGS'
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c:17:1: error: this is the insn:
(call_insn 12 11 13 2 (parallel [            (call (mem:SI (reg/f:DI 76) [0
*fnb_2 S4 A32])
                (const_int 64 [0x40]))
            (clobber (reg:DI 1 %r1))
            (clobber (reg:DI 2 %r2))
            (clobber (reg:DI 4 %r4))
            (use (reg:DI 27 %r27))
            (use (reg/f:DI 29 %r29))            (use (const_int 1 [0x1]))
        ]) /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c:15 262
{call_reg_64b
it}
     (expr_list:REG_DEAD (reg/f:DI 76)
        (expr_list:REG_DEAD (reg/f:DI 29 %r29)
            (expr_list:REG_CALL_DECL (nil)
                (nil))))
    (nil))
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr56228.c:17: confused by earlier
errors, bailing out
compiler exited with status 1

pa.md has the following code which attempts to ensure the call address is
in a register:

          op = force_reg (word_mode, op);
          emit_call_insn (gen_call_reg_64bit (op, nb, r4));

However, optimization has removed the forced copy and a reload is needed.
This fails because the reload needs %r1 and the pattern clobbers %r1.

Maybe the clobber can be removed from the pattern as the call itself doesn't
use %r1 although it is a CALL_USED_REGISTERS register.


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

end of thread, other threads:[~2015-08-03 17:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-29 21:18 [Bug target/67060] New: [6 Regression] FAIL: gcc.dg/pr56228.c (test for excess errors) danglin at gcc dot gnu.org
2015-07-30  7:09 ` [Bug target/67060] " rguenth at gcc dot gnu.org
2015-08-03 17:26 ` danglin at gcc dot gnu.org
2015-08-03 17:29 ` danglin at gcc dot gnu.org
2015-08-03 17:32 ` danglin at gcc dot gnu.org
2015-08-03 17:47 ` danglin at gcc dot gnu.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).