diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Utilities/OptimizationUtility.h |
Diffstat (limited to 'Runtime/Utilities/OptimizationUtility.h')
-rw-r--r-- | Runtime/Utilities/OptimizationUtility.h | 20 |
1 files changed, 20 insertions, 0 deletions
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 |