Matt Arsenault via llvm-dev
2016-Feb-02 05:58 UTC
[llvm-dev] New register class and patterns
> On Feb 1, 2016, at 16:53, Rail Shafigulin <rail at esenciatech.com> wrote: > > > > On Fri, Jan 29, 2016 at 10:03 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>> wrote: > > > On Jan 29, 2016, at 13:25, Rail Shafigulin via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > > > > > > > I think I understand it. But looks like I have everything labelled properly. Maybe I missed something. Here are more details: > > > > defm SFEQ : SF<0x0, "l.sfeq", Escala_CC_EQ>; > > > > multiclass SF<bits<5> op2Val, string asmstr, PatLeaf Cond> { > > def _rr : SF_RR<op2Val, asmstr, Cond>; > > def _ri : SF_RI<op2Val, asmstr, Cond>; > > } > > > > class SF_RR<bits<5> op2Val, string asmstr, PatLeaf Cond> > > : InstRR<0x9, (outs), (ins GPR:$rA, GPR:$rB), > > !strconcat(asmstr, "\t$rA, $rB"), > > [(Escalasetflag (i32 GPR:$rA), (i32 GPR:$rB), Cond)]> { > > bits<5> op2; > > bits<5> rA; > > bits<5> rB; > > > > let Inst{25-21} = op2; > > let Inst{20-16} = rA; > > let Inst{15-11} = rB; > > > > let op2 = op2Val; > > } > > > > It sounds to me like you are missing the type for the output. If you’re setting an implicit register, > you need something like [(set FLAGS, (Escalasetflag i32:$rA, i32:$rB, Cond))]. You also need a corresponding let Defs = [FLAGS], although that’s unrelated to the pattern problem. Assuming EFLAGS has a single type added to it, you don’t need to explicitly add one. > > Also note you should not need to specify the register class in the pattern. i32:$sA should work etc. > > -Matt > > Let me clarify. > > I'm not sure I understand what you are saying. Let me post more information. > > Here is what I have defined for Escalasetflag > > def Escalasetflag : SDNode<"EscalaISD::SET_FLAG", SDT_EscalaSetFlag, > [SDNPOutGlue]>; > > How come it was working before and is is not working now? Clearly I'm missing something, but I can't figure out what. > > Any help is appreciated. > > > -- > Rail Shafigulin > Software Engineer > Esencia TechnologiesWhat is SDT_EscalaSetFlag? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160201/a09712c4/attachment.html>
Rail Shafigulin via llvm-dev
2016-Feb-02 09:41 UTC
[llvm-dev] New register class and patterns
> Let me clarify. > > I'm not sure I understand what you are saying. Let me post more > information. > > Here is what I have defined for Escalasetflag > > def Escalasetflag : SDNode<"EscalaISD::SET_FLAG", SDT_EscalaSetFlag, > [SDNPOutGlue]>; > > How come it was working before and is is not working now? Clearly I'm > missing something, but I can't figure out what. > > Any help is appreciated. > > > -- > Rail Shafigulin > Software Engineer > Esencia Technologies > > > > What is SDT_EscalaSetFlag? > >def SDT_EscalaSetFlag : SDTypeProfile<0, 3, [SDTCisSameAs<0, 1>]>; -- Rail Shafigulin Software Engineer Esencia Technologies -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160202/6db9194c/attachment.html>
Rail Shafigulin via llvm-dev
2016-Feb-03 00:52 UTC
[llvm-dev] New register class and patterns
On Tue, Feb 2, 2016 at 1:41 AM, Rail Shafigulin <rail at esenciatech.com> wrote:> > Let me clarify. >> >> I'm not sure I understand what you are saying. Let me post more >> information. >> >> Here is what I have defined for Escalasetflag >> >> def Escalasetflag : SDNode<"EscalaISD::SET_FLAG", SDT_EscalaSetFlag, >> [SDNPOutGlue]>; >> >> How come it was working before and is is not working now? Clearly I'm >> missing something, but I can't figure out what. >> >> Any help is appreciated. >> >> >> -- >> Rail Shafigulin >> Software Engineer >> Esencia Technologies >> >> >> >> What is SDT_EscalaSetFlag? >> >> > def SDT_EscalaSetFlag : SDTypeProfile<0, 3, [SDTCisSameAs<0, 1>]>; > > > -- > Rail Shafigulin > Software Engineer > Esencia Technologies >Any recommendations? Would anyone be able to point out what am I missing? -- Rail Shafigulin Software Engineer Esencia Technologies -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160202/355e44de/attachment.html>