<div dir="ltr"><div><div><div><div>I have the following selection DAG:<br><span style="font-family:monospace,monospace">SelectionDAG has 9 nodes:<br>  t0: ch = EntryToken<br>    t2: i64,ch = CopyFromReg t0, Register:i64 %vreg0<br>  t16: i32,ch = load<LD1[%ptr](tbaa=<0x10023c9f448>), anyext from i8> t0, t2, undef:i64<br>    t15: v16i8 = BUILD_VECTOR t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16, t16 <br>  t11: ch,glue = CopyToReg t0, Register:v16i8 %V2, t15 <br>  t12: ch = PPCISD::RET_FLAG t11, Register:v16i8 %V2, t11:1</span><br><br></div>and the following pattern that I'd like to match:<br><br><span style="font-family:monospace,monospace">def ScalarLoads {<br>  dag Li8 =  (i32 (extloadi8 xoaddr:$src));<br>}<br></span><br><span style="font-family:monospace,monospace">  def : Pat<(v16i8 (build_vector ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8,<br>                                 ScalarLoads.Li8, ScalarLoads.Li8)),<br>            (v16i8 (VSPLTBs 7, (LXSIBZX xoaddr:$src)))>;</span><br><br></div>But it doesn't match it. The matching fails at an index that corresponds to the following line:<br><span style="font-family:monospace,monospace">OPC_EmitMergeInputChains, 16, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, </span><br><br></div>I don't know what that line means. Can someone help?<br></div>Thanks.<br></div>