There are two issues here: - the inline assembly is rejected at -O. I don't know if the assembler code is valid, but fwiw it's accepted by gcc 4.1 and 4.2. - gcc segfaults.
I see this with current trunk and with trunk from 20070720. (sid)27576:[EMAIL PROTECTED]: ~] /usr/lib/gcc-snapshot/bin/gcc -c -O samhain-sh_tiger1_64.c samhain-sh_tiger1_64.c: In function 'tiger_compress': samhain-sh_tiger1_64.c:12: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' samhain-sh_tiger1_64.c:12: error: 'asm' operand has impossible constraints samhain-sh_tiger1_64.c: In function 'tiger_t': samhain-sh_tiger1_64.c:23: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see <URL:file:///usr/share/doc/gcc-4.2/README.Bugs>. zsh: exit 1 /usr/lib/gcc-snapshot/bin/gcc -c -O samhain-sh_tiger1_64.c (sid)27577:[EMAIL PROTECTED]: ~] gcc-4.1 -c -O samhain-sh_tiger1_64.c (sid)27578:[EMAIL PROTECTED]: ~] gcc-4.2 -c -O samhain-sh_tiger1_64.c (sid)27579:[EMAIL PROTECTED]: ~] -- Summary: [4.3 Regression] rejects valid? assembler, segfaults Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tbm at cyrius dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33138