@@ -40,11 +40,11 @@ { float result[4][4]; for (uint_fast8_t i = 0; i < 4; i++) { for (uint_fast8_t j = 0; j < 4; j++) { - __asm__ ( + __asm__ __volatile__ ( "movd (%2), %%mm0\n\t" "punpckldq 16(%2), %%mm0\n\t" "pfmul (%1), %%mm0\n\t" "movd 32(%2), %%mm1\n\t" "punpckldq 48(%2), %%mm1\n\t" @@ -58,11 +58,11 @@ : "mm0", "mm1", "memory" ); } } - __asm__ ("femms"); + __asm__ __volatile__ ("femms"); memcpy(self->_values, result, sizeof(result)); } static void multiplyWithMatrix_3DNow(OFMatrix4x4 *self, SEL _cmd, OFMatrix4x4 *matrix) @@ -69,11 +69,11 @@ { float result[4][4]; for (uint_fast8_t i = 0; i < 4; i++) { for (uint_fast8_t j = 0; j < 4; j++) { - __asm__ ( + __asm__ __volatile__ ( "movd (%2), %%mm0\n\t" "punpckldq 16(%2), %%mm0\n\t" "pfmul (%1), %%mm0\n\t" "movd 32(%2), %%mm1\n\t" "punpckldq 48(%2), %%mm1\n\t" @@ -88,20 +88,20 @@ : "mm0", "mm1", "memory" ); } } - __asm__ ("femms"); + __asm__ __volatile__ ("femms"); memcpy(self->_values, result, sizeof(result)); } static void transformVectors_enhanced3DNow(OFMatrix4x4 *self, SEL _cmd, OFVector4D *vectors, size_t count) { - __asm__ ( + __asm__ __volatile__ ( "0:\n\t" "test %0, %0\n\t" "jz 0f\n" "\n\t" "movq (%1), %%mm0\n\t" @@ -157,11 +157,11 @@ static void transformVectors_3DNow(OFMatrix4x4 *self, SEL _cmd, OFVector4D *vectors, size_t count) { - __asm__ ( + __asm__ __volatile__ ( "0:\n\t" "test %0, %0\n\t" "jz 0f\n" "\n\t" "movq (%1), %%mm0\n\t"