[PATCH] D67497: [aarch64] move custom isel of extract_vector_elt to td file - NFC

Sebastian Pop via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 14:59:10 PDT 2019


sebpop added a comment.

In D67497#1668236 <https://reviews.llvm.org/D67497#1668236>, @SjoerdMeijer wrote:

> The patch looks okay to me, but I am still curious what happens with i16. The lowering to `umov w8, v0.h[1]` in `build-vector-extract.ll` is probably the interesting one. This is probably covered by rule:


The patch would not impact that case as the patch only handles the first lane extraction: "Extracting lane zero is a special case"
The example of umov that you gave is moving the content of the second lane.

>   def : Pat<(sext_inreg (vector_extract (v8i16 V128:$Rn), VectorIndexH:$idx),i16),
>           (i32 (SMOVvi16to32 V128:$Rn, VectorIndexH:$idx))>;

This pattern applies to all lanes.


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

https://reviews.llvm.org/D67497





More information about the llvm-commits mailing list