This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Support extended mnemonics mffprwz etc.
ClosedPublic

Authored by jsji on Aug 29 2019, 10:32 AM.

Details

Summary

Reported in https://github.com/opencv/opencv/issues/15413.

We have serveral extended mnemonics for Move To/From Vector-Scalar Register Instructions
eg: mffprd,mtfprd etc.

We only support one of them, this patch add the others.

Diff Detail

Repository
rL LLVM

Event Timeline

jsji created this revision.Aug 29 2019, 10:32 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 29 2019, 10:32 AM
jsji added a reviewer: Restricted Project.Aug 29 2019, 10:32 AM

mfvrwz RA,VRS is mfvsrwz RA,VRS+32

The '+32' bit is covered by the added CodeGen/PowerPC/inlineasm-extendedmne.ll test, but I'd really like to see direct encoding tests for all of the instructions. Can you please make sure that they all appear in MC/PowerPC/vsx.s and MC/Disassembler/PowerPC/vsx.txt?

jsji updated this revision to Diff 217965.Aug 29 2019, 1:10 PM

Added encoding tests.

jsji added a comment.Aug 29 2019, 1:11 PM

mfvrwz RA,VRS is mfvsrwz RA,VRS+32

The '+32' bit is covered by the added CodeGen/PowerPC/inlineasm-extendedmne.ll test, but I'd really like to see direct encoding tests for all of the instructions. Can you please make sure that they all appear in MC/PowerPC/vsx.s and MC/Disassembler/PowerPC/vsx.txt?

Good point, and updated.

hfinkel accepted this revision as: hfinkel.Aug 29 2019, 2:19 PM

mfvrwz RA,VRS is mfvsrwz RA,VRS+32

The '+32' bit is covered by the added CodeGen/PowerPC/inlineasm-extendedmne.ll test, but I'd really like to see direct encoding tests for all of the instructions. Can you please make sure that they all appear in MC/PowerPC/vsx.s and MC/Disassembler/PowerPC/vsx.txt?

Good point, and updated.

LGTM

This revision is now accepted and ready to land.Aug 29 2019, 2:19 PM
This revision was automatically updated to reflect the committed changes.