[PATCH] D153394: [AArch64][GlobalISel] Selection support for v2s16 G_ANYEXT

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 10 23:11:56 PDT 2023


paquette added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:5621
+    // Look for G_BUILD_VECTORs with all constant source operands
+    if (!OpMI)
+      return nullptr;
----------------
can you add a testcase that shows what happens when one of the G_BUILD_VECTOR sources is a constant?

e.g

```
%x = G_BUILD_VECTOR %constant, %not_a_constant
```



================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:5638
+    ExtI.eraseFromParent();
+  return MaybeCVec;
+}
----------------
can you add a test to the MIR testcase that shows what happens when `emitConstantVector` returns nullptr?


================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-const.mir:3
+# RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
+--- |
+  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
----------------
you can delete the IR portion


================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-const.mir:17
+registers:
+  - { id: 0, class: fpr, preferred-register: '' }
+  - { id: 1, class: gpr, preferred-register: '' }
----------------
you can delete the registers section


================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-const.mir:22
+body:             |
+  bb.1 (%ir-block.0):
+    ; CHECK-LABEL: name: extend_v2i16
----------------
if you delete the IR section, then this will need to be renamed so that it does not reference the IR


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

https://reviews.llvm.org/D153394



More information about the llvm-commits mailing list