Mercurial > projects > dstress
comparison run/a/asm_loop_02_A.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.run.a.asm_loop_02_A; | |
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 Lnext: | |
26 inc EAX; | |
27 nop; | |
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 nop; | |
152 loop Lnext; | |
153 Ldone: | |
154 mov count, EAX; | |
155 } | |
156 | |
157 if(2 != count){ | |
158 assert(0); | |
159 } | |
160 | |
161 return 0; | |
162 } | |
163 }else{ | |
164 static assert(0, "DSTRESS{XFAIL}: no inline x86 ASM support"); | |
165 } |