view run/a/asm_pfacc_01_B.d @ 1091:9dcac8d4e97f

post DMD-0.163 review
author thomask
date Fri, 21 Jul 2006 11:15:26 +0000
parents 98f634622849
children 229e630d4b1a
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

module dstress.run.a.asm_pfacc_01_B;

int main(){
	version(D_InlineAsm_X86){
		float[] a = new float[2];
		a[0] = 123.0f;
		a[1] = -456.0f;

		float[] b = new float[2];
		b[0] = 12.0f;
		b[1] = 17.0f;

		float[] c = new float[2];

		asm{
			movq MM0, a;
			movq MM1, b;
			pfacc MM0, MM1;
			movq c, MM0;
			emms;
		}

		if(c[0] != -333.0f){
			assert(0);
		}
		if(c[1] != 29.0f){
			assert(0);
		}

		return 0;
	}else{
		pragma(msg, "no Inline asm support");
		static assert(0);
	}
}