# HG changeset patch # User wilsonk@ubuntu # Date 1233689652 25200 # Node ID 97688ff7cf937076a43c2a56b4b47cb7cb5a449c # Parent bbb3f23908aaa89de39327ed1beeb4b3aa6a9e9d Added X86-64 versioning diff -r bbb3f23908aa -r 97688ff7cf93 tests/mini/naked_asm4.d --- 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"); } diff -r bbb3f23908aa -r 97688ff7cf93 tests/mini/naked_asm6.d --- 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); + } }