search for: mgnode

Displaying 5 results from an estimated 5 matches for "mgnode".

Did you mean: mdnode
2016 Dec 11
2
TableGen - Help to implement a form of gather/scatter operations for Mips MSA
...an somebody help me with the code below responsible for this error? // From llvm/lib/Target/X86/X86InstrFragmentsSIMD.td def mgatherv128i16 : PatFrag<(ops node:$src1, node:$src2, node:$src3), (masked_gather node:$src1, node:$src2, node:$src3) , [{ if (MaskedGatherSDNode *mgNode = dyn_cast<MaskedGatherSDNode>(N)) return (mgNode->getIndex().getValueType() == MVT::v128i16 || mgNode->getBasePtr().getValueType() == MVT::v128i16); return false; }]>; foreach RegId = 0-31 in def Mask#RegId : MipsReg<0, "M...
2016 Dec 09
0
TableGen - Help to implement a form of gather/scatter operations for Mips MSA
Hi Alex, I don’t know too much about recent MIPS, but have recently been doing something similar for the new ARM SVE architecture, so hopefully this will get you closer to what you need: If you’re looking where I think you are (lib/Target/X86/X86InstrAVX512.td), ‘GatherNode’ is a template argument, not a definition. It allows a PatFrag be passed into the avx512_gather multiclass definition.
2016 Dec 12
0
TableGen - Help to implement a form of gather/scatter operations for Mips MSA
...with the code below responsible for this error? > > // From llvm/lib/Target/X86/X86InstrFragmentsSIMD.td > def mgatherv128i16 : PatFrag<(ops node:$src1, node:$src2, node:$src3), > (masked_gather node:$src1, node:$src2, node:$src3) , [{ > if (MaskedGatherSDNode *mgNode = dyn_cast<MaskedGatherSDNode>(N)) > return (mgNode->getIndex().getValueType() == MVT::v128i16 || > mgNode->getBasePtr().getValueType() == MVT::v128i16); > return false; > }]>; > > foreach RegId = 0-31 in > def Mask#R...
2016 Dec 09
5
TableGen - Help to implement a form of gather/scatter operations for Mips MSA
Hello. I read on page 4 of http://www.cs.fsu.edu/~whalley/cda5155/chap4.pdf that gather and scatter operations exist for Mips, named LVI and SVI, respectively. Did anyone think of implementing in the LLVM Mips back end (part of the MSA vector instructions) gather and scatter operations? If so, can you share with me the TableGen spec? (I tried to start from LD_DESC_BASE, but it
2016 Dec 15
2
TableGen - Help to implement a form of gather/scatter operations for Mips MSA
...responsible for this error? >> >> // From llvm/lib/Target/X86/X86InstrFragmentsSIMD.td >> def mgatherv128i16 : PatFrag<(ops node:$src1, node:$src2, node:$src3), >> (masked_gather node:$src1, node:$src2, node:$src3) , [{ >> if (MaskedGatherSDNode *mgNode = dyn_cast<MaskedGatherSDNode>(N)) >> return (mgNode->getIndex().getValueType() == MVT::v128i16 || >> mgNode->getBasePtr().getValueType() == MVT::v128i16); >> return false; >> }]>; >> >> foreach RegId = 0-31 in...