<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 3, 2010, at 3:54 PM, İsmail Dönmez wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><font size="2"><font face="tahoma,sans-serif">Hi;</font></font><div><font size="2"><font face="tahoma,sans-serif"><br></font></font></div><div><font size="2"><font face="tahoma,sans-serif">Original patch by pdox on #llvm . Asm parser was not handling fist and fistp instructions correctly. Please apply.</font></font></div>

</blockquote><br></div><div>Hi Ismail,</div><div><br></div><div>This is great detective work!  Just to verify my understanding, the issue is that GAS is treating:</div><div>   fistp (%rax)</div><div><div>as an alias for:</div><div>  fistps (%rax)</div><div>and we're compiling it to:</div></div><div>  fistpl (%rax)</div><div><br></div><div>If this is the case, I think that the MC assembler should be changed to *reject* fisp, not to emulate GAS's behavior.  With a simple mem operand, there is nothing to say that "4 bytes" is the right size of the store, it should be diagnosed as an ambiguous instruction.  Reporting it as a bug in the code is much more friendly than miscompiling it of course. :)</div><div><br></div><div>What do you think?</div><div><br></div><div>-Chris</div></body></html>