On 03/07/2023 17:42, Rafał Pietrak via Gcc wrote:
Hi Ian,
W dniu 3.07.2023 o 17:07, Ian Lance Taylor pisze:
On Wed, Jun 28, 2023 at 11:21 PM Rafał Pietrak via Gcc
<gcc@gcc.gnu.org> wrote:
[--------]
I was thinking about that, and it doesn't look as requiring that deep
rewrites. ABI spec, that could accomodate the functionality could be as
little as one additional attribute to linker segments.
If I understand correctly, you are looking for something like the x32
mode that was available for a while on x86_64 processors:
https://en.wikipedia.org/wiki/X32_ABI . That was a substantial amount
of work including changes to the compiler, assembler, linker, standard
library, and kernel. And at least to me it's never seemed
particularly popular.
Yes.
And WiKi reporting up to 40% performance improvements in some corner
cases is impressive and encouraging. I believe, that the reported
average of 5-8% improvement would be significantly better within MCU
tiny resources environment. In MCU world, such improvement could mean
fit-nofit of a project into a particular device.
-R
I think you need to be very careful when reading benchmarketing (sic)
numbers like this. Firstly, this is a 32-bit vs 64-bit measurement;
secondly, the benchmark (spec 2000) is very old now and IIRC was not
fully optimized for 64-bit processors (it predates the 64-bit version of
the x86 instruction set); thirdly, there are benchmarks in SPEC which
are very sensitive to cache size and the 32-bit ABI just happened to
allow them to fit enough data in the caches to make the numbers leap.
R.