comparison run/a/asm_pmulhw_01_A.d @ 1290:e3d0dea394ab

partial inline asm review
author thomask
date Wed, 27 Dec 2006 11:59:48 +0000
parents 6e5d377573e1
children
comparison
equal deleted inserted replaced
1289:ad4d84aba69b 1290:e3d0dea394ab
14 import addon.cpuinfo; 14 import addon.cpuinfo;
15 15
16 int main(){ 16 int main(){
17 haveSSE2!()(); 17 haveSSE2!()();
18 18
19 short* a = [cast(short)-1, 2, 0x7FFF, 7, 0x7FF0, 0x7EDC, 3, -16]; 19 short[] A = [cast(short)-1, 2, 0x7FFF, 7, 0x7FF0, 0x7EDC, 3, -16];
20 short* b = [cast(short)2, 0, 7, 0x7FFF, 0x00FF, 0x7EDC, 5, 0x6BCD]; 20 short* a = A.ptr;
21 21
22 ushort* c = new ushort[8]; 22 short[] B = [cast(short)2, 0, 7, 0x7FFF, 0x00FF, 0x7EDC, 5, 0x6BCD];
23 short* b = B.ptr;
24
25 ushort* c = (new ushort[8]).ptr;
23 26
24 static if(size_t.sizeof == 4){ 27 static if(size_t.sizeof == 4){
25 asm{ 28 asm{
26 mov EAX, a; 29 mov EAX, a;
27 movdqu XMM0, [EAX]; 30 movdqu XMM0, [EAX];