------- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca 2005-12-27
01:41 -------
Subject: Re: [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done
in the wrong type
> ------- Comment #14 from danglin at gcc dot gnu dot org 2005-12-27 01:07
> -------
> Running /mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/execute.exp
> ...
> FAIL: gcc.c-torture/execute/pr25125.c execution, -O2
> FAIL: gcc.c-torture/execute/pr25125.c execution, -O3 -fomit-frame-pointer
> FAIL: gcc.c-torture/execute/pr25125.c execution, -O3 -g
> FAIL: gcc.c-torture/execute/pr25125.c execution, -Os
Should have said this is on hppa2.0w-hp-hpux11.11. The initial rtl
for function f is wrong:
(jump_insn 14 13 15 3 (set (pc)
(if_then_else (gt (reg:SI 98)
(const_int 0 [0x0]))
(label_ref 20)
(pc))) -1 (nil)
(expr_list:REG_BR_PROB (const_int 1355 [0x54b])
(nil)))
;; End of basic block 3, registers live: (nil)
;; Start of basic block 4, registers live: (nil)
(code_label 15 14 16 4 3 "" [0 uses])
(note 16 15 17 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(insn 17 16 18 4 (set (reg:SI 94 [ D.1834 ])
(const_int 32768 [0x8000])) -1 (nil)
(nil))
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25125