comparison run/a/asm_paddusb_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 ubyte* a = [cast(ubyte)1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; 19 ubyte[] A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
20 ubyte* b = [cast(ubyte)ubyte.max, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7]; 20 ubyte* a = A.ptr;
21 ubyte* c = new ubyte[16]; 21
22 ubyte[] B = [ubyte.max, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7];
23 ubyte* b = B.ptr;
24
25 ubyte* c = (new ubyte[16]).ptr;
22 26
23 static if(size_t.sizeof == 4){ 27 static if(size_t.sizeof == 4){
24 asm{ 28 asm{
25 mov EAX, a; 29 mov EAX, a;
26 movdqu XMM0, [EAX]; 30 movdqu XMM0, [EAX];