[PATCH] arm64: io: permit offset addressing

Jason Gunthorpe jgg at nvidia.com
Wed Jan 24 09:24:18 PST 2024


On Wed, Jan 24, 2024 at 11:12:59AM +0000, Mark Rutland wrote:
> Currently our IO accessors all use register addressing without offsets,
> but we could safely use offset addressing (without writeback) to
> simplify and optimize the generated code.

> Aside from the better code generation, there should be no functional
> change as a result of this patch. I have lightly tested this patch,
> including booting under KVM (where some devices such as PL011 are
> emulated).

Reviewed-by: Jason Gunthorpe <jgg at nvidia.com>

FWIW I have had 0-day compile test a very similar patch with no
compilation problems.

I also got similar code savings results.

However, I noticed that clang 17.0.6 at least does not have any
benifit, I suppose it is a missing compiler feature.

Finally, in my experiments with the WC issue it wasn't entirely
helpful, I could not get both gcc and clang always generate load-free
store sequences for 64 bytes even with this.

Jason



More information about the linux-arm-kernel mailing list