CircuitPython just converted the main branch of CircuitPython to use gcc 13. In general we see a decrease of code size with gcc13 compared with gcc 2. But for ulab compiled on a build without LTO, we see a substantial increase. See https://github.com/adafruit/circuitpython/pull/8546#issuecomment-1787472714. If you expand > diffs.txt in that comment, an scroll to the end, you'll see that the functions with the largest increase in byte size are:
This increase does not show up on LTO builds: see the atmel-samd Metro M4 numbers in that comment.
But on non-LTO builds, there is a substantial increase. I tested a couple of ports and see increases on stm and raspberrypi (RP2040).
I haven't looked at these functions to see what might be unusual about them yet.
ulab commit: eacb0c9
ARM just released a gcc13 toolchain: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads.
CircuitPython just converted the
main
branch of CircuitPython to use gcc 13. In general we see a decrease of code size with gcc13 compared with gcc 2. But for ulab compiled on a build without LTO, we see a substantial increase. See https://github.com/adafruit/circuitpython/pull/8546#issuecomment-1787472714. If you expand> diffs.txt
in that comment, an scroll to the end, you'll see that the functions with the largest increase in byte size are:This increase does not show up on LTO builds: see the
atmel-samd
Metro M4 numbers in that comment. But on non-LTO builds, there is a substantial increase. I tested a couple of ports and see increases onstm
andraspberrypi
(RP2040).I haven't looked at these functions to see what might be unusual about them yet.