[PATCH] D16994: [X86][AVX2] Fix SIGN_EXTEND vector handling on AVX2 targets.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 10:14:22 PST 2016


RKSimon created this revision.
RKSimon added reviewers: ab, qcolombet, mkuper.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

On AVX2 target we are poorly legalizing SIGN_EXTEND ops for which the input's legalized type doesn't have the same number of elements as the destination, resulting in an ANY_EXTEND followed by a SIGN_EXTEND_INREG.

This patch uses the existing SIGN_EXTEND -> SIGN_EXTEND_VECTOR_INREG combine to extend the input to the size of the result and using SIGN_EXTEND_VECTOR_INREG instead. 

Repository:
  rL LLVM

http://reviews.llvm.org/D16994

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/vec_int_to_fp.ll
  test/CodeGen/X86/vector-sext.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16994.47219.patch
Type: text/x-patch
Size: 5084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160208/06aa03a8/attachment.bin>


More information about the llvm-commits mailing list