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);
 		}