comparison tests/mini/naked_asm6.d @ 981:855889b7b268

Update some testcases now that 64-bit immediates are working.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 18 Feb 2009 23:18:34 +0100
parents 97688ff7cf93
children
comparison
equal deleted inserted replaced
980:ae710cba0884 981:855889b7b268
2 2
3 ulong retval() { 3 ulong retval() {
4 version (X86) 4 version (X86)
5 asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; } 5 asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; }
6 else version (X86_64) 6 else version (X86_64)
7 asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; } 7 asm { naked; mov RAX, 0xaa000000ff; ret; }
8 } 8 }
9 9
10 ulong retval2() { 10 ulong retval2() {
11 return (cast(ulong)0xaa << 32) | 0xff; 11 return (cast(ulong)0xaa << 32) | 0xff;
12 } 12 }
13 13
14 void main() { 14 void main() {
15 ulong a,b; 15 auto a = retval();
16 a = retval(); 16 auto b = retval2();
17 b = retval2();
18 printf("%llu\n%llu\n", retval(), retval2()); 17 printf("%llu\n%llu\n", retval(), retval2());
19 version (X86) 18 assert(a == 0xaa000000ff);
20 {
21 assert(a == 0x000000aa000000ff);
22 assert(a == b); 19 assert(a == b);
23 }
24 else version (X86_64)
25 {
26 assert(a == 0xff);
27 assert(b == 0x000000aa000000ff);
28 }
29 } 20 }