This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX] Pull out some INSERT_SUBVECTOR combines into a combineConcatVectorOps helper. NFCI
ClosedPublic

Authored by RKSimon on Feb 23 2019, 12:57 PM.

Details

Summary

A lot of the INSERT_SUBVECTOR combines can be more generally handled as if they have come from a CONCAT_VECTORS node.

I've been investigating adding a CONCAT_VECTORS combine to X86, but this is a much easier first step that avoids the issue of handling a number of pre-legalization issues that I've encountered.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Feb 23 2019, 12:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 23 2019, 12:57 PM
spatel accepted this revision.Feb 27 2019, 9:01 AM

LGTM

lib/Target/X86/X86ISelLowering.cpp
41791 ↗(On Diff #188057)

Should have a function-level comment to describe the intended usage. Ie, this can fold concat_vectors or the subvector operands in a chain of insert_subvectors.

This revision is now accepted and ready to land.Feb 27 2019, 9:01 AM
This revision was automatically updated to reflect the committed changes.