[Bug tree-optimization/50318] New: ICE optimizing widening multiply-and-accumulate
ams at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 7 11:08:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50318
Bug #: 50318
Summary: ICE optimizing widening multiply-and-accumulate
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: ams@gcc.gnu.org
The widening mulitply pass creates a bad expression when using constants with
types that don't match the other operand:
(This testcase is reduced from the Linux kernel)
long long test (unsigned int sec, unsigned long long nsecs)
{
return (long long)(long)sec * 1000000000L + (long long)(unsigned
long)nsecs;
}
dummy.i: In function ‘test’:
dummy.i:2:11: error: type mismatch in widening multiply-accumulate
expression
long long int
unsigned int
long int
long long int
D.4708_8 = WIDEN_MULT_PLUS_EXPR <sec_1(D), 1000000000, D.4720_11>;
dummy.i:2:11: internal compiler error: verify_gimple failed
More information about the Gcc-bugs
mailing list