aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2019-05-30 18:05:52 +0200
committerStapleButter <thetotalworm@gmail.com>2019-05-30 18:05:52 +0200
commitea669190aa5084a699590d2f2fed92e848a9fd53 (patch)
tree2f89668f951fe9da808241154293fb7b2a2d8f26
parentce9d728fb6fe97a36eba5294a793f0d451c8fd6d (diff)
fix crash when using -O3.
gcc will try to optimize the memfill with MMX opcodes, but those seem to crash if the memory isn't aligned to a 8-byte boundary.
-rw-r--r--CMakeLists.txt2
-rw-r--r--src/GPU2D.h6
2 files changed, 4 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7daf1a5..38d4707 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,7 +21,7 @@ else()
endif()
if(ENABLE_LTO)
- add_compile_options(-O2 -flto)
+ add_compile_options(-O3 -flto)
endif()
add_compile_options(-fno-pic)
diff --git a/src/GPU2D.h b/src/GPU2D.h
index 21b43f1..57436c7 100644
--- a/src/GPU2D.h
+++ b/src/GPU2D.h
@@ -71,11 +71,11 @@ private:
bool Accelerated;
- u32 BGOBJLine[256*3];
+ u32 BGOBJLine[256*3] __attribute__((aligned (8)));
u32* _3DLine;
- u8 WindowMask[256];
- u32 OBJLine[256];
+ u8 WindowMask[256] __attribute__((aligned (8)));
+ u32 OBJLine[256] __attribute__((aligned (8)));
u16 DispFIFO[16];
u32 DispFIFOReadPtr;