Mercurial > projects > dstress
changeset 979:ee58e47a69b7
<thomas-dloop@kuehne.cn>
2006-04-28
news:bug-118-3@http.d.puremagic.com/bugzilla/
author | thomask |
---|---|
date | Fri, 28 Apr 2006 13:31:19 +0000 |
parents | 4c5ccd0d4947 |
children | aaf6f2e639e9 |
files | run/a/asm_movhlps_01_A.d |
diffstat | 1 files changed, 20 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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@ <thomas-dloop@kuehne.cn> +// @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); }