This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Add patterns for MUL immediate instruction.
ClosedPublic

Authored by dancgr on Jan 13 2020, 2:42 PM.

Details

Summary

Add the missing MUL pattern for integer immediate instructions.

Diff Detail

Event Timeline

dancgr created this revision.Jan 13 2020, 2:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 13 2020, 2:42 PM

Do we have any negative tests, for immediates that are outside the range of the sve mul immediate instruction?

@dancgr Thanks for the patch! LGTM other than a minor nit (and Eli's comment).

llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
384

nit: space (and below)

dancgr marked 2 inline comments as done.Jan 14 2020, 10:44 AM

Do we have any negative tests, for immediates that are outside the range of the sve mul immediate instruction?

No, I will add some negative tests for immediates that are out of range.

llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
384

Will fix this.

dancgr updated this revision to Diff 238050.Jan 14 2020, 11:12 AM
dancgr marked an inline comment as done.

Fix whitespace errors and add a couple negative tests for invalid input.

efriedma accepted this revision.Jan 14 2020, 11:33 AM

LGTM

llvm/test/CodeGen/AArch64/sve-neg-int-arith-imm-2.ll
2

"not llc"? Do we not have a pattern for a general SVE vector multiply yet? In that case, I guess this is fine for now. But please add a note explaining that.

We should probably prioritize adding those patterns.

This revision is now accepted and ready to land.Jan 14 2020, 11:33 AM
dancgr marked an inline comment as done.Jan 14 2020, 11:57 AM
dancgr added inline comments.
llvm/test/CodeGen/AArch64/sve-neg-int-arith-imm-2.ll
2

Agreed. I will do those patterns next and then update these tests on my next patch.

This revision was automatically updated to reflect the committed changes.