------- Comment #1 from pinskia at gcc dot gnu dot org 2006-09-12 05:55 ------- "X" (*str)
We need a temporary here because *str can be modified inside the asm and we don't know that you want it in a memory or a register. Anyways using "m"(*str) instead changes that and fixes your issue. Since "X" means any operand, this is the correct behavior of the compiler. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29029