Re: Improving codegen for ARM Cortex-M

2018-07-20 Thread Mike Franklin via D.gnu
On Friday, 20 July 2018 at 11:11:12 UTC, Mike Franklin wrote: I ask for any insight you might have, should you wish to give this your attention. Regardless, I'll keep investigating. Just to follow up, after I enabled `-funroll-loops` for GDC, it was almost twice as fast as LDC, though the co

Re: Improving codegen for ARM Cortex-M

2018-07-20 Thread Mike Franklin via D.gnu
On Friday, 20 July 2018 at 12:49:59 UTC, Mike Franklin wrote: GDC --- arm-none-eabi-gdc -c -O2 -nophoboslib -nostdinc -nodefaultlibs -nostdlib -mthumb -mcpu=cortex-m4 -mtune=cortex-m4 -mfloat-abi=hard -Isource/runtime -fno-bounds-check -ffunction-sections -fdata-sections -fno-weak _D5board3

Re: Improving codegen for ARM Cortex-M

2018-07-20 Thread Mike Franklin via D.gnu
Actually the assembly output from objdump isn't quite accurate. Here's the generated assembly from the compiler. LDC --- ldc2 -conf= -disable-simplify-libcalls -c -Os -mtriple=thumb-none-eabi -float-abi=hard -mcpu=cortex-m4 -Isource/runtime -boundscheck=off _D5board3lcd8fillRectFiikktZv:

Improving codegen for ARM Cortex-M

2018-07-20 Thread Mike Franklin via D.gnu
I've finally succeeded in getting a build of my STM32 ARM Cortex-M proof of concept in LDC and GDC, thanks to the recent changes in both compilers. So, I now have a way to compare code generation between the two compilers. The project is extremely simple; it just generates a bunch of random