--- Comment #10 from jakub at gcc dot gnu dot org 2010-07-08 07:47 ---
I'd say the test instead just should use signed char instead of char.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44828
--- Comment #11 from rguenth at gcc dot gnu dot org 2010-07-08 11:56
---
Subject: Bug 44828
Author: rguenth
Date: Thu Jul 8 11:56:08 2010
New Revision: 161951
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161951
Log:
2010-07-08 Richard Guenther rguent...@suse.de
--- Comment #7 from bergner at gcc dot gnu dot org 2010-07-07 22:51 ---
Jakub's test case still fails on powerpc*-linux because we default to unsigned
char. I think the obvious fix is to just pass -fsigned-char in dg-options.
--
bergner at gcc dot gnu dot org changed:
--- Comment #8 from bergner at gcc dot gnu dot org 2010-07-08 04:12 ---
Subject: Bug 44828
Author: bergner
Date: Thu Jul 8 04:12:04 2010
New Revision: 161942
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161942
Log:
PR middle-end/44828
*
--- Comment #9 from bergner at gcc dot gnu dot org 2010-07-08 04:19 ---
The fix in Comment #8 fixes the test case on systems that have a default of
unsigned char (eg, powerpc*-linux).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44828
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-07-06 13:40 ---
Fixed on trunk. The problem is latent everywhere but the optimization
doesn't happen for 4.2.4 or earlier.
Which makes it a regression.
--
rguenth at gcc dot gnu dot org changed:
What|Removed
--- Comment #6 from regehr at cs dot utah dot edu 2010-07-06 14:10 ---
(In reply to comment #2)
Not sure whether the testcase is valid or not. The multiplication using char
variables on both sides (and likewise for result) is: -54 * -56 (= 3024),
but (char) 3024 is -48. For int