This is an archive of the discontinued LLVM Phabricator instance.

[X86] Support v64i8 mulhu/mulhs
ClosedPublic

Authored by craig.topper on Sep 26 2017, 11:46 PM.

Details

Summary

This adds support for v64i8 mulhu/mulhs legalization based on the avx2 version of v32i8.

I'm not 100% sure I got the required shuffled mask correct here.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Sep 26 2017, 11:46 PM
RKSimon edited edge metadata.Sep 27 2017, 10:13 AM

I'm not 100% sure I got the required shuffled mask correct here.

I think they're correct, but would be much happier if somebody could test it.

Could we avoid the shuffle issue by performing concat_vectors(trunc(Lo),trunc(Hi)) ?

That idea made this stupidly simple. Now we can just use the split helper.

RKSimon accepted this revision.Sep 29 2017, 1:04 AM

LGTM - one minor

lib/Target/X86/X86ISelLowering.cpp
21623 ↗(On Diff #117085)

Revert this move?

This revision is now accepted and ready to land.Sep 29 2017, 1:04 AM
This revision was automatically updated to reflect the committed changes.