This is an archive of the discontinued LLVM Phabricator instance.

[llvm][SVE] IR intrinscs for matrix multiplication instructions.
ClosedPublic

Authored by fpetrogalli on May 8 2020, 11:14 AM.

Details

Diff Detail

Event Timeline

fpetrogalli created this revision.May 8 2020, 11:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 8 2020, 11:14 AM

I just renamed a test (the int8 one) for consistencty.

sdesmalen added inline comments.May 11 2020, 8:43 AM
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
1864

Can you pass the intrinsic to the multiclass sve_int_matmul and add the pattenrs there? That's what is done for all the other intrinsics.

Same for the other patterns you've added.

1866

nit: _Zda_ why the double underscores?

Thanks for the review, @sdesmalen. I have addressed all your comments.

Francesco

fpetrogalli marked 2 inline comments as done.May 11 2020, 11:33 AM
fpetrogalli added inline comments.
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
1866

That was copy paste coding, I have removed it. :)

One more _Zda_ to Zda change I missed in last patch. NFC.

Harbormaster completed remote builds in B56343: Diff 263230.
sdesmalen added inline comments.May 14 2020, 2:11 AM
llvm/include/llvm/IR/IntrinsicsAArch64.td
2273

Can you rename this intrinsic to int_aarch64_sve_fmmla to match the instruction and make it clear the intrinsic is only valid for FP values?

llvm/lib/Target/AArch64/SVEInstrFormats.td
7553

Please use SVE_3_Op_Pat for these patterns.

7627

Please use SVE_3_Op_Pat for these patterns.

llvm/test/CodeGen/AArch64/sve-intrinsics-matmul-fp32.ll
4

nit: unnecessary whitespace :)

fpetrogalli marked 7 inline comments as done.

Thank you for the review, @sdesmalen!

Francesco

fpetrogalli added inline comments.May 14 2020, 1:15 PM
llvm/include/llvm/IR/IntrinsicsAArch64.td
2273

Yup, thank you for the heads up!

llvm/lib/Target/AArch64/SVEInstrFormats.td
7553

Neat, thanks!

This revision is now accepted and ready to land.May 15 2020, 7:01 AM
This revision was automatically updated to reflect the committed changes.