[llvm] [AArch64][GlobalISel] Select TBL/TBX Intrinsics (PR #92914)

Amara Emerson via llvm-commits llvm-commits at lists.llvm.org
Thu May 23 17:02:12 PDT 2024


================
@@ -6537,6 +6539,48 @@ bool AArch64InstructionSelector::selectIntrinsic(MachineInstr &I,
     I.eraseFromParent();
     return true;
   }
+  case Intrinsic::aarch64_neon_tbl2:
+    SelectTable(I, MRI, 2,
----------------
aemerson wrote:

Not a big deal, but you could just most of this logic into `SelectTable` to make it a bit less verbose. Like:
```
bool IsExt = false;
bool TyIsV8S8 = MRI.getType(I.getOperand(0).getReg()) == LLT::fixed_vector(8, 8);
unsigned Opc;
switch (unsigned IID) {
...
case Intrinsic:: aarch64_neon_tbx2:
  IsExt = true;
  Opc = TyIsV8S8 ? AArch64::TBXv8i8Two : AArch64::TBXv16i8Two;
  break;
...
}

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


More information about the llvm-commits mailing list