The following function will use a bclr on a 32 bit host and a andil on a 64bit host.
int f(int x) { return x & 0x7fffffff; } This is caused by a missing & 0xffffffff the expression exact_log2 (~ INTVAL (operands[2]))) in output_andsi3. -- Summary: m68k gcc does not convert andil to bclr when compiled on a 64bit host Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: radford at blackbean dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: m68k-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39531