LDC inline assembler
Kai Nacke via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Wed May 6 03:31:13 PDT 2015
Hi Mike!
This should do the trick:
extern(C) ulong dosyscall(ulong a, ulong b, ulong c)
{
import ldc.llvmasm;
ulong result = __asm!ulong("syscall",
"={rax},{rax},{rdi},{rsi},{rdx},~{rcx},~{r11}", 1, a, b, c);
return result;
}
A named register must be surrounded with { }. If any register is
ok then you can use simply r. As far as I know there is no way
that to tell LLVM that a memory range is clobbered.
Regardsm
Kai
More information about the digitalmars-d-ldc
mailing list