19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include <stdio.h>
39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "SDL.h"
59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "SDL_endian.h"
69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "SDL_cpuinfo.h"
79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/*
99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall * Watcom C flags these as Warning 201: "Unreachable code" if you just
109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall *  compare them directly, so we push it through a function to keep the
119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall *  compiler quiet.  --ryan.
129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall */
139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallstatic int badsize(size_t sizeoftype, size_t hardcodetype)
149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall{
159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    return sizeoftype != hardcodetype;
169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall}
179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallint TestTypes(SDL_bool verbose)
199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall{
209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	int error = 0;
219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( badsize(sizeof(Uint8), 1) ) {
239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose )
249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("sizeof(Uint8) != 1, instead = %lu\n",
259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall								(unsigned long) sizeof(Uint8));
269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( badsize(sizeof(Uint16), 2) ) {
299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose )
309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("sizeof(Uint16) != 2, instead = %lu\n",
319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall								(unsigned long) sizeof(Uint16));
329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( badsize(sizeof(Uint32), 4) ) {
359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose )
369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("sizeof(Uint32) != 4, instead = %lu\n",
379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall								(unsigned long) sizeof(Uint32));
389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifdef SDL_HAS_64BIT_TYPE
419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( badsize(sizeof(Uint64), 8) ) {
429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose )
439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("sizeof(Uint64) != 8, instead = %lu\n",
449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall								(unsigned long) sizeof(Uint64));
459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#else
489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("WARNING: No 64-bit datatype on this platform\n");
509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose && !error )
539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("All data types are the expected size.\n");
549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	return( error ? 1 : 0 );
569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall}
579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallint TestEndian(SDL_bool verbose)
599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall{
609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	int error = 0;
619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint16 value = 0x1234;
629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	int real_byteorder;
639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint16 value16 = 0xCDAB;
649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint16 swapped16 = 0xABCD;
659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint32 value32 = 0xEFBEADDE;
669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint32 swapped32 = 0xDEADBEEF;
679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifdef SDL_HAS_64BIT_TYPE
689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	Uint64 value64, swapped64;
699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	value64 = 0xEFBEADDE;
709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	value64 <<= 32;
719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	value64 |= 0xCDAB3412;
729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	swapped64 = 0x1234ABCD;
739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	swapped64 <<= 32;
749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	swapped64 |= 0xDEADBEEF;
759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("Detected a %s endian machine.\n",
799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			(SDL_BYTEORDER == SDL_LIL_ENDIAN) ? "little" : "big");
809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( (*((char *)&value) >> 4) == 0x1 ) {
829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		real_byteorder = SDL_BIG_ENDIAN;
839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	} else {
849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		real_byteorder = SDL_LIL_ENDIAN;
859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( real_byteorder != SDL_BYTEORDER ) {
879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose ) {
889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("Actually a %s endian machine!\n",
899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall				(real_byteorder == SDL_LIL_ENDIAN) ? "little" : "big");
909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		}
919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("Value 16 = 0x%X, swapped = 0x%X\n", value16, SDL_Swap16(value16));
959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( SDL_Swap16(value16) != swapped16 ) {
979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose ) {
989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("16 bit value swapped incorrectly!\n");
999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		}
1009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
1019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
1039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("Value 32 = 0x%X, swapped = 0x%X\n", value32, SDL_Swap32(value32));
1049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( SDL_Swap32(value32) != swapped32 ) {
1069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose ) {
1079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("32 bit value swapped incorrectly!\n");
1089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		}
1099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
1109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifdef SDL_HAS_64BIT_TYPE
1129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
1139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifdef _MSC_VER
1149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("Value 64 = 0x%I64X, swapped = 0x%I64X\n", value64, SDL_Swap64(value64));
1159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#else
1169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("Value 64 = 0x%llX, swapped = 0x%llX\n", (unsigned long long) value64, (unsigned long long) SDL_Swap64(value64));
1179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
1189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( SDL_Swap64(value64) != swapped64 ) {
1209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		if ( verbose ) {
1219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			printf("64 bit value swapped incorrectly!\n");
1229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		}
1239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		++error;
1249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
1269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	return( error ? 1 : 0 );
1279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall}
1289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallint TestCPUInfo(SDL_bool verbose)
1319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall{
1329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
1339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("RDTSC %s\n", SDL_HasRDTSC() ? "detected" : "not detected");
1349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("MMX %s\n", SDL_HasMMX() ? "detected" : "not detected");
1359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("MMX Ext %s\n", SDL_HasMMXExt() ? "detected" : "not detected");
1369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("3DNow %s\n", SDL_Has3DNow() ? "detected" : "not detected");
1379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("3DNow Ext %s\n", SDL_Has3DNowExt() ? "detected" : "not detected");
1389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("SSE %s\n", SDL_HasSSE() ? "detected" : "not detected");
1399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("SSE2 %s\n", SDL_HasSSE2() ? "detected" : "not detected");
1409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("AltiVec %s\n", SDL_HasAltiVec() ? "detected" : "not detected");
1419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	return(0);
1439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall}
1449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallint main(int argc, char *argv[])
1469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall{
1479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	SDL_bool verbose = SDL_TRUE;
1489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	int status = 0;
1499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( argv[1] && (SDL_strcmp(argv[1], "-q") == 0) ) {
1519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		verbose = SDL_FALSE;
1529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
1539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	if ( verbose ) {
1549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		printf("This system is running %s\n",
1559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#if __AIX__
1569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"AIX"
1579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __HAIKU__
1589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* Haiku must appear here before BeOS, since it also defines __BEOS__ */
1599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Haiku"
1609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __BEOS__
1619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"BeOS"
1629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __BSDI__
1639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"BSDI"
1649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __DREAMCAST__
1659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Dreamcast"
1669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __FREEBSD__
1679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"FreeBSD"
1689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __HPUX__
1699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"HP-UX"
1709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __IRIX__
1719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Irix"
1729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __LINUX__
1739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Linux"
1749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __MINT__
1759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Atari MiNT"
1769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __MACOS__
1779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"MacOS Classic"
1789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __MACOSX__
1799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Mac OS X"
1809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __NETBSD__
1819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"NetBSD"
1829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __OPENBSD__
1839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"OpenBSD"
1849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __OS2__
1859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"OS/2"
1869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __OSF__
1879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"OSF/1"
1889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __QNXNTO__
1899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"QNX Neutrino"
1909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __RISCOS__
1919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"RISC OS"
1929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __SOLARIS__
1939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Solaris"
1949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#elif __WIN32__
1959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifdef _WIN32_WCE
1969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Windows CE"
1979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#else
1989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"Windows"
1999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
2009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#else
2019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall			"an unknown operating system! (see SDL_platform.h)"
2029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif
2039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall		);
2049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	}
2059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	status += TestTypes(verbose);
2079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	status += TestEndian(verbose);
2089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	status += TestCPUInfo(verbose);
2099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	return status;
2109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall}
211