# HG changeset patch # User thomask # Date 1146231079 0 # Node ID ee58e47a69b7f00984b72573dfb4ad737f8d2d40 # Parent 4c5ccd0d49471dac7df8544312af954a6d61eaf9 2006-04-28 news:bug-118-3@http.d.puremagic.com/bugzilla/ diff -r 4c5ccd0d4947 -r ee58e47a69b7 run/a/asm_movhlps_01_A.d --- a/run/a/asm_movhlps_01_A.d Fri Apr 28 12:33:26 2006 +0000 +++ b/run/a/asm_movhlps_01_A.d Fri Apr 28 13:31:19 2006 +0000 @@ -2,25 +2,38 @@ // $Date$ // $Author$ +// @author@ +// @date@ 2006-04-28 +// @uri@ news:bug-118-3@http.d.puremagic.com/bugzilla/ + module dstress.run.a.asm_movhlps_01_A; int main(){ version(D_InlineAsm_X86){ - static float[4] A = [1.0f, 2.0f, 3.0f , 4.0f]; - float[4] b; + static float[4] A = [3.0f, 4.0f, 5.0f, 6.0f]; + static float[4] B = [10.0f, 20.0f, 30.0f, 40.0f]; + float[4] c; asm{ movdqu XMM0, A; - movdqu XMM1, A; - movhlps XMM1, XMM0; - movdqu b, XMM0; + movdqu XMM1, B; + movlhps XMM0, XMM1; + movdqu c, XMM0; } - if((b[0] != b[2]) || (A[2] != b[0])){ + if(c[0] != A[0]){ assert(0); } - if((b[1] != b[3]) || (A[3] != b[1])){ + if(c[1] != A[1]){ + assert(0); + } + + if(c[2] != B[0]){ + assert(0); + } + + if(c[3] != B[1]){ assert(0); }