comparison nocompile/a/asm_loop_02_D.d @ 1561:24fcb78d93f6

r8714@birke: tk | 2007-09-29 23:27:16 +0200 [Issue 1539] X86 inline assembler fails to recognize when the branch address outside range <grahamc001uk@yahoo.co.uk> 2007-09-28 http://d.puremagic.com/issues/show_bug.cgi?id=1539
author thomask
date Sun, 30 Sep 2007 09:43:24 +0000
parents
children
comparison
equal deleted inserted replaced
1560:36bedfa079e6 1561:24fcb78d93f6
1 // $HeadURL$
2 // $Date$
3 // $Author$
4
5 // @author@ <grahamc001uk@yahoo.co.uk>
6 // @date@ 2007-09-28
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1539
8 // @desc@ [Issue 1539] X86 inline assembler fails to recognize when the branch address outside range
9
10 module dstress.nocompile.a.asm_loop_02_D;
11
12 version(D_InlineAsm_X86){
13 version = runTest;
14 }else version(D_InlineAsm_X86_64){
15 version = runTest;
16 }
17
18 version(runTest){
19 int main(){
20 int count = 0;
21
22 asm{
23 mov EAX, 0;
24 mov ECX, 2;
25 Lstart:
26 loop Lnext;
27 jmp Ldone;
28 nop;
29 nop;
30 nop;
31 nop;
32 nop;
33 nop;
34 nop;
35 nop;
36 nop;
37 nop;
38 nop;
39 nop;
40 nop;
41 nop;
42 nop;
43 nop;
44 nop;
45 nop;
46 nop;
47 nop;
48 nop;
49 nop;
50 nop;
51 nop;
52 nop;
53 nop;
54 nop;
55 nop;
56 nop;
57 nop;
58 nop;
59 nop;
60 nop;
61 nop;
62 nop;
63 nop;
64 nop;
65 nop;
66 nop;
67 nop;
68 nop;
69 nop;
70 nop;
71 nop;
72 nop;
73 nop;
74 nop;
75 nop;
76 nop;
77 nop;
78 nop;
79 nop;
80 nop;
81 nop;
82 nop;
83 nop;
84 nop;
85 nop;
86 nop;
87 nop;
88 nop;
89 nop;
90 nop;
91 nop;
92 nop;
93 nop;
94 nop;
95 nop;
96 nop;
97 nop;
98 nop;
99 nop;
100 nop;
101 nop;
102 nop;
103 nop;
104 nop;
105 nop;
106 nop;
107 nop;
108 nop;
109 nop;
110 nop;
111 nop;
112 nop;
113 nop;
114 nop;
115 nop;
116 nop;
117 nop;
118 nop;
119 nop;
120 nop;
121 nop;
122 nop;
123 nop;
124 nop;
125 nop;
126 nop;
127 nop;
128 nop;
129 nop;
130 nop;
131 nop;
132 nop;
133 nop;
134 nop;
135 nop;
136 nop;
137 nop;
138 nop;
139 nop;
140 nop;
141 nop;
142 nop;
143 nop;
144 nop;
145 nop;
146 nop;
147 nop;
148 nop;
149 nop;
150 nop;
151 Lnext:
152 inc EAX;
153 jmp Lstart;
154 Ldone:
155 mov count, EAX;
156 }
157
158 if(1 != count){
159 assert(0);
160 }
161
162 return 0;
163 }
164 }else{
165 static assert(0, "DSTRESS{XFAIL}: no inline x86 ASM support");
166 }