aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-10-12 23:23:15 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-10-13 11:52:24 -0400
commit67278a6d8abe44a7f15fbbb8cefc334ee53feea3 (patch)
tree2a90cb0dd4d9812b750d11d10f2a779b7cfb5ab1
parentfb798e3cbafc095f930e2a925b9e0e200395baa4 (diff)
downloadkutter-67278a6d8abe44a7f15fbbb8cefc334ee53feea3.tar.gz
kutter-67278a6d8abe44a7f15fbbb8cefc334ee53feea3.tar.xz
kutter-67278a6d8abe44a7f15fbbb8cefc334ee53feea3.zip
sam3x8e: Align loops to a 16 byte boundary
It appears the sam3x8e has a primitive cache prefetch mechanism (it prefetches 32 bytes at a time aligned to a 16 byte boundary). Aligning the main loop in timer_dispatch_many() to a 16 byte boundary significantly improves performance. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/sam3x8e/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sam3x8e/Makefile b/src/sam3x8e/Makefile
index ee144a02..c5e0607b 100644
--- a/src/sam3x8e/Makefile
+++ b/src/sam3x8e/Makefile
@@ -6,7 +6,7 @@ CROSS_PREFIX=arm-none-eabi-
dirs-y += src/sam3x8e src/generic
dirs-y += lib/sam3x/gcc/gcc
-CFLAGS += -mthumb -mcpu=cortex-m3
+CFLAGS += -mthumb -mcpu=cortex-m3 -falign-loops=16
CFLAGS += -Ilib/sam3x/include -Ilib/cmsis-core
CFLAGS += -D__SAM3X8E__