[Pixman] mmx: Improving the load8888/store8888 functions

Matt Turner mattst88 at gmail.com
Wed Feb 22 15:27:37 PST 2012

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

The 3rd patch will be squash-merged into patch 2.

Thanks for reviewing,

More information about the Pixman mailing list