------- Comment #3 from tbm at cyrius dot com 2006-07-27 17:16 ------- (In reply to comment #2) > This is not i386 specific. I get the same on ia64 with e.g. > > void f(int port) > { > __asm__ volatile ("inb %1,%0" > :"=a" (port) > :"d"((unsigned short) port)); > }
Just for the record, here's the output: [EMAIL PROTECTED]:~/src/svgalib-1.4.3$ /usr/lib/gcc-snapshot/bin/gcc -c -O2 x.c x.c: In function 'f': x.c:3: error: impossible register constraint in 'asm' x.c:3: error: impossible register constraint in 'asm' x.c:3: error: impossible register constraint in 'asm' x.c:6: error: unrecognizable insn: (insn 11 7 23 2 (set (reg:SI 2 r2) (asm_operands/v:SI ("inb %1,%0") ("=a") 0 [ (reg:HI 112 in0) ] [ (asm_input:HI ("d")) ] ("x.c") 3)) -1 (nil) (nil)) x.c:6: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21299