This is an archive of the discontinued LLVM Phabricator instance.

Implement vec_insert_exp builtins - llvm portion
ClosedPublic

Authored by syzaara on Oct 25 2016, 11:45 AM.

Details

Summary

Add vec_insert_exp with prototypes:

vector double vec_insert_exp (vector double, vector unsigned long long);
vector double vec_insert_exp (vector unsigned long long, vector unsigned long long);
vector float vec_insert_exp (vector float, vector unsigned int);
vector float vec_insert_exp (vector unsigned int, vector unsigned int);

Diff Detail

Event Timeline

syzaara updated this revision to Diff 75749.Oct 25 2016, 11:45 AM
syzaara retitled this revision from to Implement vec_insert_exp builtins - llvm portion.
syzaara updated this object.
nemanjai edited edge metadata.Oct 25 2016, 12:56 PM

Just a couple of minor inline comments, but a very nice patch otherwise. Thanks Zaara.

include/llvm/IR/IntrinsicsPowerPC.td
785

Just curious, why not inherit from PowerPC_VSX_Intrinsic?

test/CodeGen/PowerPC/vsx-p9.ll
164

All 3 of the operand registers are locked in by the ABI, so I think it is reasonable to completely specify this check pattern. The same applies for both tests. For example:
xviexpdp 34, 34, 35

echristo accepted this revision.Oct 25 2016, 1:22 PM
echristo added a reviewer: echristo.

LGTM when Nemanja is happy.

-eric

This revision is now accepted and ready to land.Oct 25 2016, 1:22 PM
syzaara updated this revision to Diff 75892.Oct 26 2016, 8:00 AM
syzaara edited edge metadata.

Changed to inherit from PowerPC_VSX_Intrinsic and added register numbers to test.

Committed revision 285225.
Zaara, please close this revision when you get in if there are no failures.

syzaara closed this revision.Oct 27 2016, 11:57 AM