[PATCH] D62675: [ARM] Add a batch of MVE floating-point instructions.

Oliver Stannard (Linaro) via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 06:13:59 PDT 2019


ostannard added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMInstrInfo.td:464
 
+// vcmla_rot_imm: An integer that encodes a rotate amount. Must be 0, 90, 180, 270.
+def VCMLARotImmAsmOperand : AsmOperandClass {
----------------
This looks very similar to ComplexRotationOperand, can we re-use that or do these differ in some way?


================
Comment at: llvm/lib/Target/ARM/ARMInstrMVE.td:2086
+  : MVE_float<"vcvt", suffix, (outs MQPR:$Qd), (ins MQPR:$Qm,
+              neon_vcvt_imm32:$imm6), "$Qd, $Qm, $imm6", vpred_r, "", pattern> {
+  bits<4> Qd;
----------------
The neon_vcvt_imm32 operand doesn't have any range checks, which need to differ between f16 and f32 versions. I think this is inherited from NEON, which currently accepts nonsense like "vcvt.f32.u32    q0, q1, #1234"!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62675





More information about the llvm-commits mailing list