Mercurial > sdl-ios-xcode
view test/testendian.c @ 1230:88c2d6aed428
From Mike Frysinger and/or Gentoo:
- libsdl-PIC-load-mmx-masks-from-stack.patch
this one may be a little controversial ... the fix here is again that you cant
reference the memory addresses like this to load into a mmx register, so the
way to do it is to push two 32bit words onto the stack, load the 64bit value
off of the stack into the mmx register, and then adjust the stack so that
it's back to normal.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 05 Jan 2006 15:25:19 +0000 |
parents | c203b4a42701 |
children | 983df4f9c1c6 |
line wrap: on
line source
/* Test program to check SDL's CPU endian detection and byte swapping routines */ #include <stdio.h> #include "SDL.h" #include "SDL_endian.h" int main(int argc, char *argv[]) { Uint16 value16 = 0xCDAB; Uint32 value32 = 0xEFBEADDE; #if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE) Uint64 value64 = 0xEFBEADDECDAB3412LL; #endif printf("This is a %s endian machine.\n", (SDL_BYTEORDER == SDL_LIL_ENDIAN) ? "little" : "big"); printf("Value 16 = 0x%X, swapped = 0x%X\n", value16, SDL_Swap16(value16)); printf("Value 32 = 0x%X, swapped = 0x%X\n", value32, SDL_Swap32(value32)); #if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE) printf("Value 64 = 0x%llX, swapped = 0x%llX\n", value64, SDL_Swap64(value64)); #endif return(0); }