Tim Northover via llvm-dev
2016-Aug-18 18:01 UTC
[llvm-dev] extract_vector_elt type mismatch?
On 18 August 2016 at 10:46, Matt Arsenault via llvm-dev <llvm-dev at lists.llvm.org> wrote:> I think this is just intended as a quirk for some weird targets that have a > legal vector type, but the scalar type itself is not legal, so it requires > an implicit extension when extracting it.I think it's a pretty common RISC situation. I notice you deprecated the mismatching types in r255359, but I don't really see an alternative after type-legalization with the current nodes. I suppose we could add ISD::EXTRACT_SEXT_VECTOR_ELEMENT and ISD::EXTRACT_ZEXT_VECTOR_ELEMENT or something. Tim.
Matt Arsenault via llvm-dev
2016-Aug-18 18:06 UTC
[llvm-dev] extract_vector_elt type mismatch?
On 08/18/2016 11:01 AM, Tim Northover wrote:> On 18 August 2016 at 10:46, Matt Arsenault via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> I think this is just intended as a quirk for some weird targets that have a >> legal vector type, but the scalar type itself is not legal, so it requires >> an implicit extension when extracting it. > I think it's a pretty common RISC situation. I notice you deprecated > the mismatching types in r255359, but I don't really see an > alternative after type-legalization with the current nodes. I suppose > we could add ISD::EXTRACT_SEXT_VECTOR_ELEMENT and > ISD::EXTRACT_ZEXT_VECTOR_ELEMENT or something. > > Tim.I think that would be an improvement. I manage to break the mismatched element case for most every vector combine I've done -Matt
Xiaochu Liu via llvm-dev
2016-Aug-18 21:36 UTC
[llvm-dev] extract_vector_elt type mismatch?
Thanks all! vector_extract does the job for me. On Aug 18, 2016 11:06 AM, "Matt Arsenault" <Matthew.Arsenault at amd.com> wrote:> On 08/18/2016 11:01 AM, Tim Northover wrote: > >> On 18 August 2016 at 10:46, Matt Arsenault via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> >>> I think this is just intended as a quirk for some weird targets that >>> have a >>> legal vector type, but the scalar type itself is not legal, so it >>> requires >>> an implicit extension when extracting it. >>> >> I think it's a pretty common RISC situation. I notice you deprecated >> the mismatching types in r255359, but I don't really see an >> alternative after type-legalization with the current nodes. I suppose >> we could add ISD::EXTRACT_SEXT_VECTOR_ELEMENT and >> ISD::EXTRACT_ZEXT_VECTOR_ELEMENT or something. >> >> Tim. >> > > I think that would be an improvement. I manage to break the mismatched > element case for most every vector combine I've done > > -Matt > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160818/6a62cafd/attachment.html>