This is an archive of the discontinued LLVM Phabricator instance.

[VE] Bit operator isel
ClosedPublic

Authored by simoll on Feb 10 2020, 2:30 AM.

Details

Summary

Isel and tests for bswap,brev,ctpop,ctlz,ctty,rotl,rotr

Diff Detail

Event Timeline

simoll created this revision.Feb 10 2020, 2:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 10 2020, 2:30 AM
arsenm added inline comments.Feb 10 2020, 6:39 AM
llvm/lib/Target/VE/VEInstrInfo.td
1475–1480

This looks to me like you're manually promoting from i32 to i64? You can just set these as promote

simoll updated this revision to Diff 243887.Feb 11 2020, 8:34 AM
  • Use i32 promotion for bitreverse

I looked into i32 -> i64 promotion instead of i32 isel patterns.
The promoted code was worse except for bitreverse.

arsenm accepted this revision.Feb 11 2020, 12:03 PM
  • Use i32 promotion for bitreverse

I looked into i32 -> i64 promotion instead of i32 isel patterns.
The promoted code was worse except for bitreverse.

I would guess something else is going wrong, and it should be better to promote. Anything is better than nothing for now though

This revision is now accepted and ready to land.Feb 11 2020, 12:03 PM
This revision was automatically updated to reflect the committed changes.