Displaying 3 results from an estimated 3 matches for "bfi_i32".
2011 Sep 13
3
[LLVMdev] Setting priority in instruction selection
...xample, take this pattern (A & B) | (C & ~B), I have the following PatFrag:
/// Pattern 1: (lhs & bitpat) | (rhs & ~bitpat)
def bfi_pat1 : PatFrag<(ops node:$lhs, node:$rhs, node:$bitpat),
(or
(and node:$lhs, node:$bitpat),
(and node:$rhs, (not node:$lhs)))>;
def BFI_i32 : ThreeInOneOut<IL_OP_BFI, (outs GPRI32:$dst),
(ins GPRI32:$lhs, GPRI32:$rhs, GPRI32:$bitpat),
!strconcat(IL_OP_BFI.Text, " $dst, $lhs, $rhs, $bitpat"),
[(set GPRI32:$dst, (bfi_pat1 GPRI32:$lhs, GPRI32:$rhs, GPRI32:$bitpat))]>;
and also this instruction:
def LOADCONST...
2011 Sep 13
0
[LLVMdev] Setting priority in instruction selection
...following
> PatFrag:
>
> /// Pattern 1: (lhs & bitpat) | (rhs & ~bitpat)
>
> def bfi_pat1 : PatFrag<(ops node:$lhs, node:$rhs, node:$bitpat),
>
> (or
>
> (and node:$lhs, node:$bitpat),
>
> (and node:$rhs, (not node:$lhs)))>;
>
> def BFI_i32 : ThreeInOneOut<IL_OP_BFI, (outs GPRI32:$dst),
>
> (ins GPRI32:$lhs, GPRI32:$rhs, GPRI32:$bitpat),
>
> !strconcat(IL_OP_BFI.Text, " $dst, $lhs, $rhs, $bitpat"),
>
> [(set GPRI32:$dst, (bfi_pat1 GPRI32:$lhs, GPRI32:$rhs,
> GPRI32:$bitpat))]>;
>
>...
2011 Sep 13
1
[LLVMdev] Setting priority in instruction selection
...lhs & bitpat) | (rhs & ~bitpat)
> >
> > def bfi_pat1 : PatFrag<(ops node:$lhs, node:$rhs, node:$bitpat),
> >
> > (or
> >
> > (and node:$lhs, node:$bitpat),
> >
> > (and node:$rhs, (not node:$lhs)))>;
> >
> > def BFI_i32 : ThreeInOneOut<IL_OP_BFI, (outs GPRI32:$dst),
> >
> > (ins GPRI32:$lhs, GPRI32:$rhs, GPRI32:$bitpat),
> >
> > !strconcat(IL_OP_BFI.Text, " $dst, $lhs, $rhs, $bitpat"),
> >
> > [(set GPRI32:$dst, (bfi_pat1 GPRI32:$lhs, GPRI32:$rhs,
> &...