------- Additional Comments From dje at gcc dot gnu dot org 2005-01-15 00:40 ------- The inlined asm rtl_a_set() does not list any outputs or clobbers, so it looks like the compiler safely can assume that the value is unchanged. I am not sure why the compiler can assume that the value is zero, but the asm definitely will confuse it about the status of the register. Showing the register as killed in the asm fixes the code generation.
I am going to mark this as invalid. Please reopen if you can explain to me why GCC should behave well with an asm statement that kills the value in a register but only lists inputs to the data dependency and flow parts of the compiler. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19417