[PATCH] [PATCH][AArch64] Fix the bug about Load/Store a vector type and bitcast between i64 and a vector type

Hao Liu Hao.Liu at arm.com
Thu Nov 21 02:27:56 PST 2013


Hi t.p.northover,

Hi Tim and reviewers,

The attached patch fixes two problems:
(1)	Load/Store a vector type can’t be selected. This patch implements such patterns to matche them into corresponding LD1/ST1 instructions.
(2)	The bitcast between i64 and vector types are not fully supported. For example, a bitcast from i64 to a v8i8 can’t be selected. This patch implements such patterns to match them to FMOV instructions. 

Review, please.

As the load/store IR and such bitcast IR is very commonly generated with “–O0”, I think this patch is important for AArch64 backend on the 3.4 branch. If the code review is passed, could we also commit it to the 3.4 branch? 

Thanks,
-Hao

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

Files:
  lib/Target/AArch64/AArch64InstrNEON.td
  test/CodeGen/AArch64/neon-copy.ll
  test/CodeGen/AArch64/neon-simd-ldst-multi-elem.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2239.1.patch
Type: text/x-patch
Size: 9394 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131121/c26dc474/attachment.bin>


More information about the llvm-commits mailing list