On Thu, Feb 23, 2012 at 5:49 PM, Søren Sandmann <[email protected]> wrote: > Matt Turner <[email protected]> writes: > >> The load8888/store8888 functions act as a boundary between the integer >> and vector registers. >> >> Consider code like >> uint32_t d = *dst; >> __m64 vdest = load8888(d); >> >> The program loads 4 bytes of data into an integer register and then >> transfers it to the vector register, when it could have simply loaded >> into the vector register initially. >> >> The same situation exists for store8888. >> >> These patch modify the load8888 and store8888 functions to take pointers >> to load from and store into, allowing us to control exactly how they're >> done. > > I'm fine with these patches, though it would make more sense to me to > separate more cleanly the concepts of "loading 32 bits from memory into > __m64" and "expanding 32 bits within an __m64".
I agree, and I've actually found use for a load 32-bits from memory into __m64 without the expand. I will send a patch soon that adds it, and from there I'll see how I can simplify this. Thanks for the review. Matt _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
