On 09/01/2015 04:42 PM, Anthony Scarpino wrote: > Does your alignment changes affect x86 only or should this help all > architectures?
It does the best thing it can on every architecture. On those which support unaligned accesses, it uses them; if not, it doesn't. But there is a very cool optimization on machines without unaligned memory accesses: if the profile data says that accesses at a particular call site are always aligned, C2 generates optimistic code to do the aligned fetch, plus a very simple check. > In general I don't see a disadvantage and that it could be expanded > to other places in crypto too. Yes, lots of other places. This one is my poster child because the effect is so dramatic. > But I have think about the effects on sparc, so that would need to > be tested. Right now the sparc intrinsic does alignment checking > and realigning, so it would be interesting to see if ByteArrays > performed better than the intrinsic alignment. I assume you don't > have the hardware to test sparc, right? I don't. My guess is, though, that it'll not lose on SPARC, and will probably win. If it does lose that's something to look at. Andrew.
