From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai <chaifix@163.com> Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- Runtime/Utilities/OptimizationUtility.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Runtime/Utilities/OptimizationUtility.h (limited to 'Runtime/Utilities/OptimizationUtility.h') diff --git a/Runtime/Utilities/OptimizationUtility.h b/Runtime/Utilities/OptimizationUtility.h new file mode 100644 index 0000000..5b69177 --- /dev/null +++ b/Runtime/Utilities/OptimizationUtility.h @@ -0,0 +1,20 @@ +#ifndef OPTIMIZATION_UTILITY_H +#define OPTIMIZATION_UTILITY_H 1 + + +// ALIGN_LOOP_OPTIMIZATION should be placed in heavy inner loops! +// for (int i=0;i<10000;i++) +// ALIGN_LOOP_OPTIMIZATION +// ... + +// On the Wii global function alignment is 4 for debug builds to save exe size +// as there are a lot of non-inlined functions. +// In that case having align 16 generates warnings, so we blank the define. +#if defined(__MWERKS__) && UNITY_RELEASE && !defined(_DEBUG) +#define ALIGN_LOOP_OPTIMIZATION asm {align 16} +#else +///@TODO: optimize this for gcc too +#define ALIGN_LOOP_OPTIMIZATION +#endif + +#endif -- cgit v1.1-26-g67d0