diff options
author | Vineet Gupta <vineetg@rivosinc.com> | 2023-02-28 19:27:26 -0800 |
---|---|---|
committer | Vineet Gupta <vineetg@rivosinc.com> | 2023-04-21 09:14:31 -0700 |
commit | 1fe9bef9f5536e46b901139631863b3b86b97898 (patch) | |
tree | f64d84f4592efde8f0d8aece7d915f0308c08ca3 /gcc/system.h | |
parent | e6f689d090011eaa4050357b3dd2d7b9109b83ec (diff) | |
download | gcc-1fe9bef9f5536e46b901139631863b3b86b97898.zip gcc-1fe9bef9f5536e46b901139631863b3b86b97898.tar.gz gcc-1fe9bef9f5536e46b901139631863b3b86b97898.tar.bz2 |
expansion: make layout of x_shift*cost[][][] more efficient
when debugging expmed.[ch] for PR/108987 saw that some of the cost arrays have
less than ideal layout as follows:
x_shift*cost[0..63][speed][modes]
We would want speed to be first index since a typical compile will have
that fixed, followed by mode and then the shift values.
It should be non-functional from compiler semantics pov, except
executing slightly faster due to better locality of shift values for
given speed and mode. And also a bit more intutive when debugging.
gcc/Changelog:
* expmed.h (x_shift*_cost): convert to int [speed][mode][shift].
(shift*_cost_ptr ()): Access x_shift*_cost array directly.
Signed-off-by: Vineet Gupta <vineetg@rivosinc.com>
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions