[LLVMdev] NEON intrinsics preventing redundant load optimization?

Renato Golin renato.golin at linaro.org
Mon Jan 5 05:08:47 PST 2015


On 5 January 2015 at 12:13, James Molloy <james at jamesmolloy.co.uk> wrote:
> For this reason Renato I don't think we should advise people to work around
> the API, as who knows what problems that will cause later.

I stand corrected (twice). But we changed the subject a bit, so things
got different midway through.

There were only two codes: full C, with pointers, vectorized some
times; and full NEON, with extra loads. The mix between the two came
later, as a quick fix. My comment to that, I agree, was misplaced, and
both you and Tim are correct is asking for it not to be used as a
final solution. But as an interim solution, with the care around
alignment, endian and all, it is "fine".


> So this is handled, and I think there's something wrong/missing in the
> optimizer for AArch32. This is a legitimate bug and should be fixed (even if
> a workaround is required in the interim!)

It is legitimate, and that's why I created the bug in the first place.
The only difference is that it's now lower priority since it:

1. is a performance issue, not a conformance one
2. has a work around that is not too ugly

I now agree that the second part is not as strong as I judged (while
drinking Savoy wine and eating Gruyere cheese). Feel free to revamp
the priority.

cheers,
--renato



More information about the llvm-dev mailing list