This is an archive of the discontinued LLVM Phabricator instance.

[X86][XOP] Merge rotation opcodes with AVX512 equivalents. NFCI.
ClosedPublic

Authored by RKSimon on Sep 16 2017, 1:13 PM.

Details

Summary

The XOP rotations act as ROTL with +ve values and ROTR with -ve values, which means that we can treat them all as ROTL with unsigned modulo. We already check that we're only trying to lower as ROTL for XOP rotations.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Sep 16 2017, 1:13 PM
craig.topper added inline comments.Sep 17 2017, 9:50 PM
lib/Target/X86/X86InstrFragmentsSIMD.td
215–216

Can we just replace all uses of this with X86vrotli?

RKSimon added inline comments.Sep 17 2017, 11:47 PM
lib/Target/X86/X86InstrFragmentsSIMD.td
215–216

We should - I hit a load of tblgen failures when I tried this in an earlier version of the patch and sort of brushed the problem under the carpet, I'll try again.

RKSimon updated this revision to Diff 116170.Sep 21 2017, 4:24 AM

Removed X86vprot + X86vproti fragments

This revision is now accepted and ready to land.Sep 25 2017, 10:27 AM
This revision was automatically updated to reflect the committed changes.