This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/25125] [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done in the wrong type
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Dec 2005 01:41:32 -0000
- Subject: [Bug middle-end/25125] [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done in the wrong type
- References: <bug-25125-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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