public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/30178]  New: FAIL: gcc.c-torture/execute/20010422-1.c execution,  -O1
@ 2006-12-12 19:50 danglin at gcc dot gnu dot org
  2006-12-12 19:54 ` [Bug tree-optimization/30178] " pinskia at gcc dot gnu dot org
  0 siblings, 1 reply; 2+ messages in thread
From: danglin at gcc dot gnu dot org @ 2006-12-12 19:50 UTC (permalink / raw)
  To: gcc-bugs

Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20010422-1.c  -w  -O1 
-fno-s
how-column  -lm   -o /test/gnu/gcc/objdir/gcc/testsuite/gcc/20010422-1.x1   
(ti
meout = 300)
PASS: gcc.c-torture/execute/20010422-1.c compilation,  -O1
Setting LD_LIBRARY_PATH to :/test/gnu/gcc/objdir/gcc::/test/gnu/gcc/objdir/gcc
FAIL: gcc.c-torture/execute/20010422-1.c execution,  -O1

The function foo is miscompiled.

unsigned int foo(unsigned int x)
{
  if (x < 5)
    x = 4;
  else
    x = 8;
  return x;
}

        .SPACE $TEXT$
        .NSUBSPA $CODE$
        .align 4
        .EXPORT foo,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
foo
        .PROC
        .CALLINFO FRAME=0,NO_CALLS
        .ENTRY
        ldi 8,%r19
        comiclr,<< 4,%r28,%r0
        ldi 4,%r19
        bv %r0(%r2)
        copy %r19,%r28
        .EXIT
        .PROCEND

The "comiclr" instruction should test the first argument register, %r26,
not %r28.  The value of %r28 could be anything at the point of the comiclr
instruction.  As a result, the test passes on some targets.

This is the .expand rtl:

;;
;; Full RTL generated for this function:
;;
(note 2 0 8 NOTE_INSN_DELETED)

;; Start of basic block 2, registers live: (nil)
;; Pred edge  ENTRY [100.0%]  (fallthru)
(note 8 2 6 2 [bb 2] NOTE_INSN_BASIC_BLOCK)

(insn 6 8 7 2 (set (reg/v:SI 96 [ x ])
        (reg:SI 26 %r26 [ x ])) -1 (nil)
    (expr_list:REG_EQUIV (mem/c/i:SI (plus:SI (reg/f:SI 89
virtual-incoming-args
)
                (const_int -4 [0xfffffffc])) [0 x+0 S4 A32])
        (nil)))

(note 7 6 9 2 NOTE_INSN_FUNCTION_BEG)
;; End of basic block 2, registers live: (nil)
;; Succ edge  3 [100.0%]  (fallthru)

;; Start of basic block 3, registers live: (nil)
;; Pred edge  2 [100.0%]  (fallthru)
(note 9 7 11 3 [bb 3] NOTE_INSN_BASIC_BLOCK)

(jump_insn 11 9 12 3 (set (pc)
        (if_then_else (gtu (reg/v:SI 94 [ x___24 ])
                (const_int 4 [0x4]))
            (label_ref 17)
            (pc))) -1 (nil)
    (expr_list:REG_BR_PROB (const_int 3300 [0xce4])
        (nil)))
;; End of basic block 3, registers live: (nil)
;; Succ edge  4 [67.0%]  (fallthru)
;; Succ edge  5 [33.0%]

;; Start of basic block 4, registers live: (nil)
;; Pred edge  3 [67.0%]  (fallthru)
(code_label 12 11 13 4 3 "" [0 uses])

(note 13 12 14 4 [bb 4] NOTE_INSN_BASIC_BLOCK)

(insn 14 13 15 4 (set (reg/v:SI 96 [ x ])
        (const_int 4 [0x4])) -1 (nil)
    (nil))

(jump_insn 15 14 16 4 (set (pc)
        (label_ref 20)) -1 (nil)
    (nil))
;; End of basic block 4, registers live: (nil)
;; Succ edge  6 [100.0%]

(barrier 16 15 17)

;; Start of basic block 5, registers live: (nil)
;; Pred edge  3 [33.0%]
(code_label 17 16 18 5 2 "" [1 uses])

(note 18 17 19 5 [bb 5] NOTE_INSN_BASIC_BLOCK)

(insn 19 18 20 5 (set (reg/v:SI 96 [ x ])
        (const_int 8 [0x8])) -1 (nil)
    (nil))
;; End of basic block 5, registers live: (nil)
;; Succ edge  6 [100.0%]  (fallthru)

;; Start of basic block 6, registers live: (nil)
;; Pred edge  4 [100.0%]
;; Pred edge  5 [100.0%]  (fallthru)
(code_label 20 19 21 6 4 "" [1 uses])

(note 21 20 22 6 [bb 6] NOTE_INSN_BASIC_BLOCK)

(insn 22 21 23 6 (set (reg:SI 95 [ <result> ])
        (reg/v:SI 96 [ x ])) -1 (nil)
    (nil))

(jump_insn 23 22 24 6 (set (pc)
        (label_ref 26)) -1 (nil)
    (nil))
;; End of basic block 6, registers live: (nil)
;; Succ edge  8 [100.0%]

(barrier 24 23 34)

;; Start of basic block 7, registers live: (nil)
(note 34 24 28 7 [bb 7] NOTE_INSN_BASIC_BLOCK)

(insn 28 34 29 7 (clobber (reg/i:SI 28 %r28)) -1 (nil)
    (nil))

(insn 29 28 30 7 (clobber (reg:SI 95 [ <result> ])) -1 (nil)
    (nil))

(jump_insn 30 29 31 7 (set (pc)
        (label_ref 32)) -1 (nil)
    (nil))
;; End of basic block 7, registers live: (nil)
;; Succ edge  9 [100.0%]

(barrier 31 30 26)

;; Start of basic block 8, registers live: (nil)
;; Pred edge  6 [100.0%]
(code_label 26 31 35 8 1 "" [1 uses])

(note 35 26 27 8 [bb 8] NOTE_INSN_BASIC_BLOCK)

(insn 27 35 32 8 (set (reg/i:SI 28 %r28)
        (reg:SI 95 [ <result> ])) -1 (nil)
    (nil))
;; End of basic block 8, registers live: (nil)
;; Succ edge  9 [100.0%]  (fallthru)

;; Start of basic block 9, registers live: (nil)
;; Pred edge  7 [100.0%]
;; Pred edge  8 [100.0%]  (fallthru)
(code_label 32 27 36 9 5 "" [1 uses])

(note 36 32 33 9 [bb 9] NOTE_INSN_BASIC_BLOCK)

(insn 33 36 0 9 (use (reg/i:SI 28 %r28)) -1 (nil)
    (nil))
;; End of basic block 9, registers live: (nil)
;; Succ edge  EXIT [100.0%]  (fallthru)


-- 
           Summary: FAIL: gcc.c-torture/execute/20010422-1.c execution,  -O1
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-*-* (32 bit)
  GCC host triplet: hppa*-*-* (32 bit)
GCC target triplet: hppa*-*-* (32 bit)


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


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

* [Bug tree-optimization/30178] FAIL: gcc.c-torture/execute/20010422-1.c execution,  -O1
  2006-12-12 19:50 [Bug tree-optimization/30178] New: FAIL: gcc.c-torture/execute/20010422-1.c execution, -O1 danglin at gcc dot gnu dot org
@ 2006-12-12 19:54 ` pinskia at gcc dot gnu dot org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-12-12 19:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-12 19:53 -------


*** This bug has been marked as a duplicate of 30159 ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE


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


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

end of thread, other threads:[~2006-12-12 19:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-12 19:50 [Bug tree-optimization/30178] New: FAIL: gcc.c-torture/execute/20010422-1.c execution, -O1 danglin at gcc dot gnu dot org
2006-12-12 19:54 ` [Bug tree-optimization/30178] " 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).