[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-31 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-10-31 12:34 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-31 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-10-31 12:33 --- Subject: Bug 33779 Author: rguenth Date: Wed Oct 31 12:33:05 2007 New Revision: 129796 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129796 Log: 2007-10-31 Richard Guenther <[EMAIL PROTECTED]> PR

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2007-10-27 17:30 --- I'll take this. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2007-10-27 17:29 --- "This goes wrong in extract_muldiv..." sorry for not pasting my complete analysis (actually the testcase is carefuly crafted from looking at this code ;)). The recursion through conversions case CONVERT_EXPR:

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread tromey at gcc dot gnu dot org
--- Comment #5 from tromey at gcc dot gnu dot org 2007-10-27 16:42 --- I looked at this a little. This test is a little bit funny because the '+' has undefined overflow but the '*' does not. Move the cast to make the '+' have defined overflow, and it works. What happens is that we cal

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-22 Thread pinskia at gcc dot gnu dot org
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot |

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-19 Thread janis at gcc dot gnu dot org
--- Comment #4 from janis at gcc dot gnu dot org 2007-10-19 16:31 --- A regression hunt for the first testcase on powerpc-linux identified the following patch: http://gcc.gnu.org/viewcvs?view=rev&rev=120649 r120649 | ian | 2007-01-10 21:07:38 + (Wed, 10 Jan 2007) -- jan

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-15 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-10-15 13:32 --- Only the first testcase is a regression (AFAIK), the second one also fails with 2.95. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-15 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-10-15 13:31 --- whoops, make the testcase in comment #1 int foo(int i) { return ((int)((unsigned)(i + 1) * 4)) / 4; } extern void abort(void); int main() { if (foo(0x3fff) != 0) abort (); return 0; } -- http://g

[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-15 Thread rguenth at gcc dot gnu dot org
--- Comment #1 from rguenth at gcc dot gnu dot org 2007-10-15 13:24 --- Another one: int foo(int i) { return ((int)((unsigned)(i + 1) * 4)) / 4; } extern void abort(void); int main() { if (foo(0x3fff) == 0) abort (); return 0; } -- http://gcc.gnu.org/bugzilla/show_bu