[PATCH] D96416: [TableGen] Improve algorithms for processing template arguments; add type checking

Paul C. Anagnostopoulos via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 22 11:03:06 PST 2021


Paul-C-Anagnostopoulos added a comment.

Ah, it's simple. 'top' is a template argument to the vmovl multiclass, with type bit. That multiclass is invoked:

  defm vmovlbq: vmovl<0>;
  defm vmovltq: vmovl<1>;

Before this revision, the code didn't check that 0 and 1 were integers, so they passed through to the DAG as integers, which is what EmitterBase::getCodeForDagArg wants. Now they are checked and cast to bits, which getCodeForDagArg does not handle.

Note that multiclass vshll_imm also has a top argument, but it is declared int.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96416



More information about the llvm-commits mailing list