misc: Use GCC builtins for byte-swap operations
[pcsx_rearmed.git] / libpcsxcore / misc.c
index b2dd9a1..7aa4fef 100644 (file)
@@ -58,14 +58,7 @@ struct iso_directory_record {
 void mmssdd( char *b, char *p )
 {
        int m, s, d;
-#if defined(__arm__)
-       unsigned char *u = (void *)b;
-       int block = (u[3] << 24) | (u[2] << 16) | (u[1] << 8) | u[0];
-#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-       int block = (b[0] & 0xff) | ((b[1] & 0xff) << 8) | ((b[2] & 0xff) << 16) | (b[3] << 24);
-#else
-       int block = *((int*)b);
-#endif
+       int block = SWAP32(*((uint32_t*) b));
 
        block += 150;
        m = block / 4500;                       // minutes