Using inline assembler

Etienne via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 9 05:37:18 PDT 2014


I'm a bit new to the inline assembler, I'm trying to use the `movdqu` 
operation to move a 128 bit double quadword from a pointer location into 
another location like this:

align(16) union __m128i { ubyte[16] data };

void store(__m128i* src, __m128i* dst) {
	asm { movdqu [dst], src; }
}


The compiler complains about a "bad type/size of operands 'movdqu'", but 
these two data segments are 16 byte align so they should be in an XMM# 
register? Is there something I'm missing here?


More information about the Digitalmars-d-learn mailing list