Mercurial > projects > dstress
comparison run/a/asm_pand_01_A.d @ 1285:229e630d4b1a
partuial inline asm review
author | thomask |
---|---|
date | Tue, 26 Dec 2006 14:21:37 +0000 |
parents | 6e5d377573e1 |
children |
comparison
equal
deleted
inserted
replaced
1284:96e7be832c35 | 1285:229e630d4b1a |
---|---|
14 import addon.cpuinfo; | 14 import addon.cpuinfo; |
15 | 15 |
16 int main(){ | 16 int main(){ |
17 haveSSE2!()(); | 17 haveSSE2!()(); |
18 | 18 |
19 ushort* a = [cast(ushort) | 19 ushort[] A = [ |
20 0b01101100_01101110, 0b01101001_01101101, 0b01100011_01101011, 0b11100111_01100111, | 20 0b01101100_01101110, 0b01101001_01101101, 0b01100011_01101011, 0b11100111_01100111, |
21 0b11000110_11100110, 0b10001101_10011011, 0b00011011_10011011, 0b01100110_00000000 | 21 0b11000110_11100110, 0b10001101_10011011, 0b00011011_10011011, 0b01100110_00000000 |
22 ]; | 22 ]; |
23 ushort* b = [cast(ushort) | 23 ushort* a = A.ptr; |
24 | |
25 ushort[] B = [ | |
24 0b10000000_11000000, 0b01000000_01100000, 0b00100000_00110000, 0b00010000_00011000, | 26 0b10000000_11000000, 0b01000000_01100000, 0b00100000_00110000, 0b00010000_00011000, |
25 0b00001000_00001100, 0b00000100_00000110, 0b00000010_00000011, 0b11111111_10101010 | 27 0b00001000_00001100, 0b00000100_00000110, 0b00000010_00000011, 0b11111111_10101010 |
26 ]; | 28 ]; |
27 ushort* c = new ushort[8]; | 29 ushort* b = B.ptr; |
30 | |
31 ushort* c = (new ushort[8]).ptr; | |
28 | 32 |
29 static if(size_t.sizeof == 4){ | 33 static if(size_t.sizeof == 4){ |
30 asm{ | 34 asm{ |
31 mov EAX, a; | 35 mov EAX, a; |
32 movdqu XMM0, [EAX]; | 36 movdqu XMM0, [EAX]; |