[llvm-commits] [llvm] r92939 - /llvm/trunk/include/llvm/IntrinsicsX86.td

David Greene dag at cray.com
Thu Jan 7 13:41:34 PST 2010


On Thursday 07 January 2010 15:34, Dan Gohman wrote:

> > Why do we have the scalar intrinsics anyway?  Those operations can match
> > to llvm instructions as well, can't they?
>
> Almost, but unfortunately not quite. The problem with the "scalar"
> intrinsics is that they are still defined to have vector operands.
> Theoretically the addss intrinsic could be lowered to
> extractelement+fadd+insertelement. Theoretically it could optimize down to
> the same eventual result; in practice, it'll probably take someone to look
> at it.

Are the intrinsics defined to preserve the upper portion of the register?
I've never used them.

If so, ugh.  Who came up with this brilliant stuff?  :-/

> > If we get rid of the scalar intrinsics, I have no problem dumping the
> > vector ones.  I just want consistency.
>
> If you do the whole thing up with multiclasses or whatever and the overall
> result looks good except for a few intrinsics in the output that aren't
> really needed, I, for my part, wouldn't complain.

What do you mean by "in the output?"  They have to be in the .td file to
be in the output from TableGen.

I'll revert for now but reserve the option to re-apply once I get some more
stuff in and you all have a clearer idea of how this will work.

                                 -Dave



More information about the llvm-commits mailing list