[forwarded from http://bugs.debian.org/285695]
works with 3.3 CVS 20041215, HEAD 200401212, fails with 3.4 CVS 20041215, binutils-2.15. $ gcc -O foo.c /tmp/cc68I7Tr.s: Assembler messages: /tmp/cc68I7Tr.s:26: Error: bad register name `%sil' #include <stdio.h> int main( int nb, char *argv[] ) { unsigned char a = nb, b = nb + 1; printf("a = %d - b = %d\n", a, b); a ^= b; b ^= a; a ^= b; printf("a = %d - b = %d\n", a, b); return 0; } -- Summary: [3.4 regression] Error: bad register name `%sil' Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: critical Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i486-linux GCC host triplet: i486-linux GCC target triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19005