mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
add a vnot helper node for matching 'not' on vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27132 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
452e8354d5
commit
c985d828bc
@ -379,13 +379,17 @@ class PatLeaf<dag frag, code pred = [{}], SDNodeXForm xform = NOOP_SDNodeXForm>
|
||||
|
||||
// Leaf fragments.
|
||||
|
||||
def immAllOnes : PatLeaf<(imm), [{ return N->isAllOnesValue(); }]>;
|
||||
def vtInt : PatLeaf<(vt), [{ return MVT::isInteger(N->getVT()); }]>;
|
||||
def vtFP : PatLeaf<(vt), [{ return MVT::isFloatingPoint(N->getVT()); }]>;
|
||||
|
||||
// Other helper fragments.
|
||||
def immAllOnes : PatLeaf<(imm), [{ return N->isAllOnesValue(); }]>;
|
||||
def immAllOnesV: PatLeaf<(build_vector), [{
|
||||
return ISD::isBuildVectorAllOnesInteger(N);
|
||||
}]>;
|
||||
|
||||
// Other helper fragments.
|
||||
def not : PatFrag<(ops node:$in), (xor node:$in, immAllOnes)>;
|
||||
def vnot : PatFrag<(ops node:$in), (xor node:$in, immAllOnesV)>;
|
||||
def ineg : PatFrag<(ops node:$in), (sub 0, node:$in)>;
|
||||
|
||||
// extending load & truncstore fragments.
|
||||
|
Loading…
Reference in New Issue
Block a user