Displaying 3 results from an estimated 3 matches for "getshuffleshufimmediate".
2011 Mar 18
0
[LLVMdev] Long-Term ISel Design
On Mar 17, 2011, at 9:32 AM, David A. Greene wrote:
> Chris Lattner <clattner at apple.com> writes:
>>> 1. We have special target-specific operators for certain shuffles in X86,
>>> such as X86unpckl.
>
>> It also eliminates a lot of fragility. Before doing this, X86
>> legalize would have to be very careful to specifically form shuffles
>> that
2011 Mar 27
2
[LLVMdev] Long-Term ISel Design
...C++ code in X86ISelDagToDag, which would give us
> all of the problems we had before by moving to X86ISD nodes.
Actually, it would be matching code in X86ISelLowering, in the form
of is.*Mask. For example:
In X86ISelLowering.cpp:
bool X86ISelLowering::isSHUFPMask(...) {
...
}
unsigned X86::getShuffleSHUFImmediate(SDNode *N) {
...
}
In X86InstrFragmentsSIMD.td:
def SHUFFLE_get_shuf_imm : SDNodeXForm<vector_shuffle, [{
return getI8Imm(X86::getShuffleSHUFImmediate(N));
}]>;
def shufp : PatFrag<(ops node:$lhs, node:$rhs),
(vector_shuffle node:$lhs, node:$rhs), [{
return X86:...
2011 Mar 17
2
[LLVMdev] Long-Term ISel Design
Chris Lattner <clattner at apple.com> writes:
>> 1. We have special target-specific operators for certain shuffles in X86,
>> such as X86unpckl.
> It also eliminates a lot of fragility. Before doing this, X86
> legalize would have to be very careful to specifically form shuffles
> that it knew isel would turn into (e.g.) unpck operations. Now
> instead of