Open
Description
Rust inline assembly expects to be written like this:
crate::arch::asm!(
"movntps [{mem_addr}], {a}",
mem_addr = in(reg) mem_addr,
a = in(xmm_reg) a,
);
However, when dumping the output assembly via --emit asm
, it looks like this:
movntps %xmm0, (%rdi)
Operand order is swapped, and it's using (%name)
instead of [name]
. I guess one is AT&T syntax and one is Intel syntax.
Would be good if Rust could be consistent with its own inline asm syntax. :)