Mercurial > projects > ldc
view tests/mini/asm1.d @ 1518:26d061e61b02
Initialize LLVM target and asmprinter for the native and extra targets.
Uses some CMake hackery to get the native LLVM target name, since it only
provides a conveniance function for initializing the native target and not the
native asmprinter.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 26 Jun 2009 21:02:23 +0200 |
parents | 4c524d80e6e1 |
children |
line wrap: on
line source
module asm1; extern(C) int printf(char*, ...); void main() { version(D_InlineAsm_X86) { int x; asm { mov EAX, 42; mov x, EAX; } printf("x = %d\n", x); } else version(D_InlineAsm_X86_64) { long x; asm { movq RAX, 42L; movq x, RAX; } printf("x = %ld\n", x); } else { static assert(0, "no inline asm for this platform yet"); } }