[PATCH] D140676: [AArch64] `LowerZERO_EXTEND_VECTOR_INREG()`: recursively apply `zip1` until done

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 30 10:48:55 PST 2022


lebedev.ri added a comment.

@fhahn IOW, this change is not an improvement,
and reverse changes are not regressions?



================
Comment at: llvm/test/CodeGen/AArch64/zext-to-tbl.ll:1025
+; CHECK-NEXT:    zip1.16b v1, v1, v0
+; CHECK-NEXT:    zip1.8h v1, v1, v0
 ; CHECK-NEXT:    str q1, [x1], #64
----------------
fhahn wrote:
> I think that for this lowering is slightly worse in general for CPUs that have efficient implementations of `tbl`, as `tbl` results in shorter dependency chains than having 2 `zip1`, with one depending on the other. The `tbl` lowering is only used in loops, when the load from the constant pool is hoisted outside the loop. 
Note: i personally do not care what happens here, i'm only asking because this comes up
as a "regression" in further patches (D140677 e.g.), so i'm wondering if this needs to be dealt with.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140676/new/

https://reviews.llvm.org/D140676



More information about the llvm-commits mailing list