------- Comment #4 from ubizjak at gmail dot com 2007-05-03 17:38 ------- (In reply to comment #3) > Is there any chance of this problem being fixed in 4.1 and 4.2 as well? If so, > should I open new bugs for those?
The %z modifier is IMO not intended for general use, so I don't think the backport will be done. However, you could just use out (unsigned port, T val) { asm volatile ("out %0, %w1" : : "a" (val), "Nd" (port)); } (i.e. "out" insn without any decorations), and correct code will be generated. At least recent binutils will handle all cases, including unsigned long on x86_64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31768