[PATCH] D29454: [DAGCombine] RFC: Recognise any_extend_vector_inreg and truncation style shuffle masks

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 12 08:36:40 PST 2017


RKSimon added a comment.

In https://reviews.llvm.org/D29454#670646, @delena wrote:

> You can, probably, add more test cases for extension of <8 x i8> to <8 x i16>. You work with illegal types, right?


These are proving very tricky to match in any testable way - the difference being that integer types get promoted while float types get widened. Only widening results in the truncate_vector_inreg(*_extend_vector_inreg()) patterns, It IS possible for promotions to generate something like truncate_vector_inreg(BINOP(*_extend_vector_inreg(), *_extend_vector_inreg())) which could be matched in a later patch?


Repository:
  rL LLVM

https://reviews.llvm.org/D29454





More information about the llvm-commits mailing list