[llvm] [ARM][Codegen] Fix vector data miscompilation in arm32be (PR #105519)

David Green via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 24 13:38:01 PDT 2024


================
@@ -414,9 +414,8 @@ define arm_aapcs_vfpcc <16 x i8> @test(<16 x i8> %i) {
 ; CHECKBE-LABEL: test:
 ; CHECKBE:       @ %bb.0: @ %entry
 ; CHECKBE-NEXT:    vmov.i64 q1, #0xff00ff000000ff00
-; CHECKBE-NEXT:    vrev64.8 q2, q1
-; CHECKBE-NEXT:    vrev64.8 q1, q0
-; CHECKBE-NEXT:    vorr q1, q1, q2
+; CHECKBE-NEXT:    vrev64.8 q2, q0
+; CHECKBE-NEXT:    vorr q1, q2, q1
----------------
davemgreen wrote:

I'm pretty sure this one was correct before considering the constant. It should have a ff in the bottom lanes, either generated directly in the constant or from a vrev. I've added a few more tests, can you rebase over them. As mentioned in the other ticket I think more than one change is needed in order for all the tests to be correct.

https://github.com/llvm/llvm-project/pull/105519


More information about the llvm-commits mailing list