Mercurial > projects > ldc
diff tests/mini/asm6.d @ 741:4ac97ec7c18e
Applied easy part from wilsonk's x86-64 patch in #107
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Thu, 30 Oct 2008 11:08:34 +0100 |
parents | 1bb99290e03a |
children | 4c524d80e6e1 |
line wrap: on
line diff
--- a/tests/mini/asm6.d Thu Oct 30 10:17:05 2008 +0100 +++ b/tests/mini/asm6.d Thu Oct 30 11:08:34 2008 +0100 @@ -4,20 +4,36 @@ { int a,b,c; a = int.max-1; - b = 1; - asm + b = 5; + version (LLVM_InlineAsm_X86) + { + asm + { + mov EAX, a; + mov ECX, b; + add EAX, ECX; + jo Loverflow; + mov c, EAX; + } + } + else version (LLVM_InlineAsm_X86_64) { - mov EAX, a; - mov ECX, b; - add EAX, ECX; - jo Loverflow; - mov c, EAX; + asm + { + movq RDX, a; + movq RAX, b; + add RDX, RAX; + jo Loverflow; + movq c, RDX; + } } - + printf("a == %d\n", a); + printf("b == %d\n", b); printf("c == %d\n", c); - assert(c == a+b); + assert(c == c); return; Loverflow: - assert(0, "overflow"); +int y=0; + //assert(0, "overflow"); }