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>
This commit is contained in:
Kevin O'Connor 2018-10-12 23:23:15 -04:00
parent fb798e3cba
commit 67278a6d8a
1 changed files with 1 additions and 1 deletions

View File

@ -6,7 +6,7 @@ CROSS_PREFIX=arm-none-eabi-
dirs-y += src/sam3x8e src/generic dirs-y += src/sam3x8e src/generic
dirs-y += lib/sam3x/gcc/gcc 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 += -Ilib/sam3x/include -Ilib/cmsis-core
CFLAGS += -D__SAM3X8E__ CFLAGS += -D__SAM3X8E__