<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Guys, <div><br></div><div>I have a taget instruction which take a vec4 and returns a vec4.( say instruction  “vec4:$dst mod( vec4:$src)"  )</div><div>And I want to use it to match i an  ir instruction/intrinsic function( say " float:$dst  llvm.irmod( vec4:$src)"   which takes a vec4, output a float. </div><div><br></div><div>I think the procedure is:  when  I see the intrinsic llvm.irmod, I need to call  "extractlt( mod($src), 0)”, </div><div><br></div><div>So I tried to define a pattern “ def Pat<( i32 ( llvm.irmod vf432:$src)), (extractelt( mod v4f32:$src ), 0)>”,  but it reports<b> ERROR”  Cannot use “extractelt” in an output pattern”.</b></div><div><b><br></b></div><div>I knew I can easily do it via lowering operation by separating the “extractelt” node out. But can I do it via tablgen?</div><div><b><br></b></div><div><b><br></b></div><div>Best</div><div><b><br></b></div><div>kevin</div><div><br></div><div><br></div></body></html>