<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin:0;">Hi,there</div><div style="margin:0;"><br></div><div style="margin:0;">I'm not quite clear about the usage of implicit in tablegen. I saw code fragment in X86 like this.</div><div style="margin:0;">-------------------------------------------------------------------------------------------------------</div><div style="margin:0;"> 362def NEG32r : I<0xF7, MRM3r, (outs GR32:$dst), (ins GR32:$src1),<br> 363               "neg{l}\t$dst",<br> 364               [(set GR32:$dst, (ineg GR32:$src1)),<br> 365                (implicit EFLAGS)]>, OpSize32;</div><div style="margin:0;">---------------------------------------------------------------------------------------------------------</div><div style="margin:0;">And I have some questions.</div><div style="margin:0;">How would NEG32r be matched?  Is it matched by <span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">(set GR32:$dst, (ineg GR32:$src1) or by [<span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">(set GR32:$dst, (ineg GR32:$src1)),<span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">(implicit EFLAGS)]?</span></span></span></div><div style="margin:0;"><span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"><span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"></span></span><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike>Does "<span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">(implicit EFLAGS)</span>" play a role in matching?</div><div style="margin:0;">What does "<span style="display: inline !important; float: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">(implicit EFLAGS)</span>" mean? Does it mean "implicit define EFLAGS" or "implicit use EFLAGS"? </div><div style="margin:0;">If it is an implicit define, How would it be used in the  matching process?</div><div style="margin:0;">If it is an implicit use, How would it be defined in the matching process?</div><div style="margin:0;"><br></div><div style="margin:0;">I also noticed that there is a "let Defs = [EFLAGS] in" which enclose the NEG32r definition, is it a necessary?</div><div style="margin:0;"><br></div><div style="margin:0;">Thanks!</div><div style="margin:0;"><br></div><div style="margin:0;">Best Regards,</div><div style="margin:0;">Jerry<br><br></div></div><br><br><span title="neteasefooter"><p> </p></span>