[PATCH] Emission of BUILD_VECTORs can be incorrect in BE mode - movi, fmov, mvni

Asiri Rathnayake asiri.rathnayake at arm.com
Wed Sep 3 07:08:14 PDT 2014


Hi t.p.northover,

Continued from http://reviews.llvm.org/D5097

This patch introduces a natural-vector-cast DAG operation which does not generate REV instructions in big-endian mode (unlike ISD:BITCAST).

Currently the patch only fixes movi, fmov and mvni encoded BUILD_VECTORs. If it looks good, I can expand it to fix bic and orr encoded BUILD_VECTORs as well (which are also broken atm).

Asiri.

http://reviews.llvm.org/D5170

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64InstrInfo.td
  test/CodeGen/AArch64/aarch64-be-bv.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5170.13206.patch
Type: text/x-patch
Size: 45133 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140903/f57fc14e/attachment.bin>


More information about the llvm-commits mailing list