22% degradation seen in embench:matmult-int

Visda.Vokhshoori@microchip.com Visda.Vokhshoori@microchip.com
Wed Feb 12 15:44:11 GMT 2025


* When we do the loop interchange on the one loop nest that get interchanged in the program source it is slightly (.7%) faster.


From: Gcc <gcc-bounces~visda.vokhshoori=microchip.com@gcc.gnu.org> on behalf of Visda.Vokhshoori--- via Gcc <gcc@gcc.gnu.org>
Date: Wednesday, February 12, 2025 at 10:38 AM
To: gcc@gcc.gnu.org <gcc@gcc.gnu.org>
Subject: 22% degradation seen in embench:matmult-int
EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

Embench is used for benchmarking on embedded devices.
This one project matmult-int has a function Multiply.  It’s a matrix multiplication for 20 x 20 matrix.
The device is a ATSAME70Q21B which is Cortex-M7
The compiler is arm branch based on GCC version 13
We are compiling with O3 which has loop-interchange pass on by default.

When we compile with -fno-loop-interchange we get all 22% back plus 5% speed up.

When we do the loop interchange on the one loop nest that get interchanged it is slightly (.7%) faster.

Has anyone else seen large degradation as a result of loop interchange?

Thanks


More information about the Gcc mailing list