[LLVMdev] Inline asm bug?
kparzysz at codeaurora.org
Tue Jan 8 14:17:11 PST 2013
On 1/8/2013 3:52 PM, Eli Friedman wrote:
> From gcc docs: "If your assembler instructions access memory in an
> unpredictable fashion, add `memory' to the list of clobbered
> registers. This causes GCC to not keep memory values cached in
> registers across the assembler instruction and not optimize stores or
> loads to that memory. You also should add the volatile keyword if the
> memory affected is not listed in the inputs or outputs of the asm, as
> the `memory' clobber does not count as a side-effect of the asm. "
Yes, I've read this. It's not a very precise description. If I need to
make the asm "volatile", then why would I need to put "memory" in the
clobber list? Shouldn't "asm volatile" be sufficient by itself? If so,
then what's the point of having the clobber "memory" in the first place?
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev