[PATCH] Implement aarch64 neon instruction class SIMD copy - LLVM

Kevin Qin kevinqindev at gmail.com
Wed Oct 9 02:46:02 PDT 2013


  Implemented most of the suggestions.

  >Comment at: lib/Target/AArch64/AArch64InstrNEON.td:2488
  >@@ -2488,3 +2487,3 @@
  >                     (v8i8 (trunc (v8i16 (srl (v8i16 node:$Rn),
  >-                                             (v8i16 (Neon_dupImm 8))))))>;
  >+                                             (v8i16 (Neon_vdup (i32 8)))))))>;
  >   def _4s : PatFrag<(ops node:$Rn),
  >----------------
  >Can you say why these (i32 X) are needed?

  If I remove value type here, tablegen will fail with an error:
  Could not infer all types in pattern result!

  So I keep these value types here.

http://llvm-reviews.chandlerc.com/D1854

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D1854?vs=4725&id=4755#toc

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64InstrNEON.td
  test/CodeGen/AArch64/neon-copy.ll
  test/MC/AArch64/neon-diagnostics.s
  test/MC/AArch64/neon-simd-copy.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1854.2.patch
Type: text/x-patch
Size: 50202 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131009/02640c57/attachment.bin>


More information about the cfe-commits mailing list