Command: avr-gcc -O1 -S div32_7.c or avr-gcc -O1 -fno-split-wide-types -S div32_7.c
Code size 4.1.2: 0x28 Code size 4.3.0: 0x68 Code size 4.3.0: 0x28 with -fno-split-wide-types //---------------- unsigned long udivr32_7( unsigned long a, unsigned char b, unsigned char *r ) { unsigned char i, t; for( t = 0, i = 32; i ; i-- ){ t += t; if( a & 0x80000000UL ) t++; a += a; if( t >= b ){ t -= b; a |= 1; } } *r = t; return a; } //---------------- -- Summary: code bloat caused by -fsplit-wide-types Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: a dot kaiser at gmx dot net GCC host triplet: winavr 20080402 release GCC target triplet: avr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35860