Are you saying LLVM has a problem with producing unaligned accesses, as in you can't prevent this?
That would be pretty awful; on how many architectures do they still cause exceptions?
ARM says the ARMv6 was the first architecture to support this (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc....).
Re:LibreSSL – the first 30 days
by binarycrusader on Monday May 19, 2014 @02:16PM
(#7768890)
No, not with producing unaligned accesses, a problem with unaligned accesses in the LLVM code itself.
They're worked around by forcing alignment at the cost of performance if I remember correctly, or in some cases, they're not and cause LLVM to fail.
The alignment problems may be unique to the SPARC backend of LLVM, but I don't recall the specifics.
Regardless, one of LLVM's biggest problems internally is the number of unaligned accesses, which hurts its performance on many architectures (except x86 of course, where the penalty is very minor). That's not specific to SPARC, but it does hurt performance there quite a bit as well as cause other problems.