comparison tests/mini/asm1_1.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 12b423e17860
comparison
equal deleted inserted replaced
740:96484f5bf5af 741:4ac97ec7c18e
5 int main() 5 int main()
6 { 6 {
7 int i = 12; 7 int i = 12;
8 int* ip = &i; 8 int* ip = &i;
9 printf("%d\n", i); 9 printf("%d\n", i);
10 asm 10 version (LLVM_InlineAsm_X86)
11 { 11 {
12 mov EBX, ip; 12 asm
13 mov EAX, [EBX]; 13 {
14 add EAX, 8; 14 mov EBX, ip;
15 mul EAX, EAX; 15 mov EAX, [EBX];
16 mov [EBX], EAX; 16 add EAX, 8;
17 mul EAX, EAX;
18 mov [EBX], EAX;
19 }
20 }
21 else version (LLVM_InlineAsm_X86_64)
22 {
23 asm
24 {
25 movq RCX, ip;
26 movq RAX, [RCX];
27 add RAX, 8;
28 imul RAX, RAX;
29 movq [RCX], RAX;
30 }
17 } 31 }
18 printf("%d\n", i); 32 printf("%d\n", i);
19 assert(i == 400); 33 assert(i == 400);
20 return 0; 34 return 0;
21 } 35 }