[PATCH 0/7] Add support to handle misaligned accesses in S-mode
David Laight
David.Laight at ACULAB.COM
Wed Oct 4 07:10:40 PDT 2023
...
> Saying that you support misaligned access does not mean that they are
> going to be efficient, just that they are supported (in fact, the uABI
> state that they may perform poorly). The compiler is actually not so
> stupid and will try to do as much aligned access as possible in what it
> generates (unless forced by some assembly, cast or whatever that can
> screw up alignment accesses). This is already the case and it will most
> probably not change.
I did a quick check.
https://godbolt.org/z/j3e9drv4e
The code generated by both clang and gcc for misaligned reads is horrid.
Gcc does a better job if the alignment is known but generates much
the same as the clang code when it isn't.
The C code is much shorter.
Even though both gcc and clang add a (different) instruction to it
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
More information about the linux-riscv
mailing list