1037
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 // @author@ <thomas-dloop@kuehne.cn>
|
|
6 // @date@ 2006-05-26
|
1321
|
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=173
|
1037
|
8
|
1062
|
9 // __DSTRESS_TORTURE_BLOCK__ -fPIC
|
|
10
|
1037
|
11 module dstress.run.a.asm_movq_02_F;
|
|
12
|
|
13 version(D_InlineAsm_X86){
|
|
14 version = runTest;
|
|
15 }else version(D_InlineAsm_X86_64){
|
|
16 version = runTest;
|
|
17 }
|
|
18
|
|
19 version(runTest){
|
|
20 import addon.cpuinfo;
|
|
21
|
|
22 int main(){
|
|
23 haveSSE2!()();
|
1044
|
24
|
1037
|
25 const uint[2] A = [3, 4];
|
|
26 uint[2] b;
|
|
27
|
|
28 asm{
|
|
29 movq MM0, A;
|
|
30 movq b, MM0;
|
1042
|
31 emms;
|
1037
|
32 }
|
1044
|
33
|
1037
|
34 for(size_t i = 0; i < A.length; i++){
|
|
35 if(A[i] != b[i]){
|
|
36 assert(0);
|
|
37 }
|
|
38 }
|
|
39
|
|
40 return 0;
|
|
41 }
|
|
42 }else{
|
|
43 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
|
|
44 static assert(0);
|
|
45 }
|