This is an archive of the discontinued LLVM Phabricator instance.

[MC][SVE] Fix data operand for instruction alias of `st1d`.
ClosedPublic

Authored by fpetrogalli on Aug 26 2020, 8:57 AM.

Details

Summary

The version of st1d that operates with vector plus immediate
addressing mode uses the alias st1d { <Zn>.d }, <Pg>, [<Za>.d] for
rendering st1d { <Zn>.d }, <Pg>, [<Za>.d, #0]. The disassembler was
generating <Zn>.s instead of <Zn>.d>.

The patch also adds test coverage for the same aliases for the b,
h and w version of the instruction st1<T>.

Diff Detail

Event Timeline

fpetrogalli created this revision.Aug 26 2020, 8:57 AM
fpetrogalli requested review of this revision.Aug 26 2020, 8:57 AM
paulwalker-arm added inline comments.Aug 26 2020, 9:14 AM
llvm/test/MC/AArch64/SVE/st1d.s
82

Does this mean we're also missing test coverage for st1b, st1h & st1w variants?

Is it worth also testing st1d { z0.d }, p7, [z0.d] directly.

I have added test coverage for st1[bhwd] for both .s and .d version of the alias for [<Za>.<T>, #0].

fpetrogalli edited the summary of this revision. (Show Details)Aug 26 2020, 10:21 AM
fpetrogalli marked an inline comment as done.
paulwalker-arm accepted this revision.Aug 26 2020, 10:42 AM
This revision is now accepted and ready to land.Aug 26 2020, 10:42 AM