The testcase is gcc.dg/tree-prof/val-prof-2.c. It only happens when profile use is used. Note this is worse if we use unsigned long long instead as we get a size mismatch. See PR 22368 for the patch to catch this (the second patch): /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c: In function 'main':^M /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: error: types mismatch in comparsion^M unsigned intD.3^M intD.0^M PROF.4D.1300 != 0;^M ^M /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: internal compiler error: verify_stmts failed^M Please submit a full bug report,^M with preprocessed source if appropriate.^M See <URL:http://gcc.gnu.org/bugs.html> for instructions.^M
Created attachment 9295 [details] patch which I need to test (from Honza)
Confirmed, will test the patch now.
And yes the patch fixes the bug.
I have a patch (and found this bug "too late").
Subject: Bug 22525 Author: rguenth Date: Mon Apr 24 07:58:53 2006 New Revision: 113216 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113216 Log: 2006-04-24 Richard Guenther <rguenther@suse.de> PR tree-optimization/22525 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary variable, adjust types of generated expressions. Modified: trunk/gcc/ChangeLog trunk/gcc/value-prof.c
Fixed.
(In reply to comment #6) > Fixed. > After this patch was applied onto trunk, the following test started failing on Solaris x86: FAIL: gcc.dg/tree-prof/val-prof-2.c scan-tree-dump n \+ \-1 All the other val-prof-2.c tests PASS. Any ideas? Brett Albertson
Sorry, I fixed that in a followup. -1 is now unsigned and so appears as n + fffffffffff.