This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Use v(f)slide1down for build_vector with dominant values
ClosedPublic

Authored by reames on Aug 4 2023, 10:12 AM.

Details

Summary

If we have a dominant value, we can still use a v(f)slide1down to handle the last value in the vector if that value is neither undef nor the dominant value.

Note that we can extend this idea to any tail of elements, but that's ends up being a near complete merge of the v(f)slide1down insert path, and requires a bit more untangling on profitability heuristics first.

Diff Detail

Event Timeline

reames created this revision.Aug 4 2023, 10:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2023, 10:12 AM
reames requested review of this revision.Aug 4 2023, 10:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2023, 10:12 AM
This revision is now accepted and ready to land.Aug 4 2023, 10:05 PM
This revision was landed with ongoing or failed builds.Aug 7 2023, 7:55 AM
This revision was automatically updated to reflect the committed changes.

FYI, I inverted the dependence on the vmerge change, and landed this since it was approved. All of the tests are updated to reflect that in the committed version.