Mercurial > projects > ldc
changeset 927:97688ff7cf93
Added X86-64 versioning
author | wilsonk@ubuntu |
---|---|
date | Tue, 03 Feb 2009 12:34:12 -0700 |
parents | bbb3f23908aa |
children | 1b10a9c6e3e8 |
files | tests/mini/naked_asm4.d tests/mini/naked_asm6.d |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/mini/naked_asm4.d Tue Feb 03 12:33:42 2009 -0700 +++ b/tests/mini/naked_asm4.d Tue Feb 03 12:34:12 2009 -0700 @@ -8,6 +8,14 @@ hlt; pass: ret; } + version(X86_64) + asm + { + naked; + jmp pass; + hlt; +pass: ret; + } else static assert(0, "todo"); }
--- a/tests/mini/naked_asm6.d Tue Feb 03 12:33:42 2009 -0700 +++ b/tests/mini/naked_asm6.d Tue Feb 03 12:34:12 2009 -0700 @@ -1,6 +1,9 @@ extern(C) int printf(char*, ...); ulong retval() { + version (X86) + asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; } + else version (X86_64) asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; } } @@ -13,6 +16,14 @@ a = retval(); b = retval2(); printf("%llu\n%llu\n", retval(), retval2()); + version (X86) + { assert(a == 0x000000aa000000ff); assert(a == b); + } + else version (X86_64) + { + assert(a == 0xff); + assert(b == 0x000000aa000000ff); + } }