This is an archive of the discontinued LLVM Phabricator instance.

[PPC64] Change vmuluwm instruction from intrinsics to opcode
ClosedPublic

Authored by kbarton on Mar 9 2015, 3:06 PM.

Details

Summary

Change the generation of the vmuluwm instruction to be based on the MUL opcode.

The vmuluwm instruction is used to multiply two v4i32 vectors and produce a v4i32 vector result. The original implementation used an intrinsic to do this, however it can be done using the multiply opcode in LLVM.

This requires the definition of the vmuluwm to be changed from an intrinsic to a VXForm_1 instruction. It also requires the MUL instruction lowering for the v4i32 types to be changed from Custom to Legal when the POWER8 Altivec feature is available.

Diff Detail

Event Timeline

kbarton updated this revision to Diff 21521.Mar 9 2015, 3:06 PM
kbarton retitled this revision from to [PPC64] Change vmuluwm instruction from intrinsics to opcode.
kbarton updated this object.
kbarton edited the test plan for this revision. (Show Details)
kbarton added reviewers: hfinkel, wschmidt, seurer, nemanjai.
kbarton added a subscriber: Unknown Object (MLST).
hfinkel accepted this revision.Mar 9 2015, 4:24 PM
hfinkel edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Mar 9 2015, 4:24 PM
kbarton closed this revision.Mar 10 2015, 12:52 PM

Committed revision 231827.