[llvm] [AArch64] Fix vectorToScalarBitmask BE (#156312) (PR #156314)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 06:17:02 PDT 2025
davemgreen wrote:
> Applying volatile to the vector load and store seems to force the compiler to emit the extraction mask, even at higher levels of optimization. Now, the test doesn't depend on -O0 anymore.
>
> Unfortunately, it doesn't seem to be a test that specifically wants to generate this mask, so a completely new one is needed.
>
> If other changes are necessary, please let me know.
Thank that looks a little better, I still worry about the whole global access + compare getting opimized away, and the test just becoming a (volatile) store of a pre-calculated value. I did manage to convince myself that this seems correct for BE.
Can we add a test that looks like one of the llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll (maybe convert_to_bitmask16 and convert_to_bitmask8) to the new test file, and then run update_test_checks but also add check lines for the constants produced. The tests in vec-combine-compare-to-bitmask.ll originally included check lines for the constant, but they were lost along the way.
https://github.com/llvm/llvm-project/pull/156314
More information about the llvm-commits
mailing list