<div dir="ltr"><span style="font-variant-ligatures:no-common-ligatures">Hello!</span><div><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div><span style="font-variant-ligatures:no-common-ligatures">Can someone please tell me if is there an API (or some other way) to query MCInstrDesc to find out the type of its memory operands?</span></div><div><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div><span style="font-variant-ligatures:no-common-ligatures">As an example, consider the following description of MOV32mr (from X86InstrInfo.td)</span></div><div><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div><div><span style="font-variant-ligatures:no-common-ligatures">def MOV32mr : I<0x89, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),</span></div><div><span style="font-variant-ligatures:no-common-ligatures">                "mov{l}\t{$src, $dst|$dst, $src}",</span></div><div><span style="font-variant-ligatures:no-common-ligatures">                [(store GR32:$src, addr:$dst)], IIC_MOV_MEM>, OpSize32;</span></div><div style="font-variant-ligatures:no-common-ligatures"><br></div><div style="font-variant-ligatures:no-common-ligatures">or that <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:no-common-ligatures;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">of MOVSX64rm (from X86InstrExtension.td)</span></div><div style="font-variant-ligatures:no-common-ligatures"><br></div><div style="font-variant-ligatures:no-common-ligatures"><div>def MOVSX64rm32: RI<0x63, MRMSrcMem, (outs GR64:$dst), (ins i32mem:$src),</div><div>                    "movs{lq|xd}\t{$src, $dst|$dst, $src}",</div><div>                    [(set GR64:$dst, (sextloadi64i32 addr:$src))], IIC_MOVSX>,</div><div>                    Sched<[WriteALULd]>, Requires<[In64BitMode]>;</div><div><br></div></div><div style="font-variant-ligatures:no-common-ligatures">Given an MCInstrDesc object, I'd like to know of a way to find out the type of 'ins' operand  i32mem.</div></div><div style="font-variant-ligatures:no-common-ligatures"><br></div><div style="font-variant-ligatures:no-common-ligatures">I am particularly interested in figuring out the type of a <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:no-common-ligatures;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">memory</span> operand of a given MCInstrDesc, if one exists.</div><div style="font-variant-ligatures:no-common-ligatures"><br></div><div style="font-variant-ligatures:no-common-ligatures">Thanks for any help,</div><div style="font-variant-ligatures:no-common-ligatures"><br></div><div style="font-variant-ligatures:no-common-ligatures">Bharadwaj</div><div style="font-variant-ligatures:no-common-ligatures"><br></div></div>