[PATCH] D30640: [mips][msa] Accept more values for constant splats

Simon Dardis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 6 03:55:51 PST 2017


sdardis created this revision.

This patches teaches the MIPS backend to accept more values for constant
splats. Previously, only 10 bit signed immediates or values that could be
loaded using an ldi.[bhwd] instruction would be acceptted. This patch relaxes
that constraint so that any constant value that be splatted is accepted.

As a result, the constant pool is used less for vector operations, and the
suite of bit manipulation instructions b(clr|set|neg)i can now be used with
the full range of their immediate operand.


Repository:
  rL LLVM

https://reviews.llvm.org/D30640

Files:
  lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  lib/Target/Mips/MipsSEISelLowering.cpp
  test/CodeGen/Mips/msa/basic_operations.ll
  test/CodeGen/Mips/msa/immediates.ll
  test/CodeGen/Mips/msa/splats.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30640.90671.patch
Type: text/x-patch
Size: 45115 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170306/0fa46aea/attachment.bin>


More information about the llvm-commits mailing list