<div>Hi everyone,</div>
<div> </div>
<div>I am puzzled by several instruction defines in MSP430.</div>
<div> </div>
<div>1 </div>
<div>def MOV16rr : Pseudo<(outs GR16:$dst), (ins GR16:$src),<br>                     "mov.w\t{$src, $dst}",<br>                     [ ]>;</div>
<div>Because it's an empty  dag pattern[ ], by what does instuction selector select intruction 'MOV16rr'?</div>
<div> </div>
<div> 2</div>
<div>let canFoldAsLoad = 1, isReMaterializable = 1, mayHaveSideEffects = 1 in {<br>def MOV16rm : Pseudo<(outs GR16:$dst), (ins memsrc:$src),<br>                "mov.w\t{$src, $dst}",<br>                [(set GR16:$dst, (load addr:$src))]>;<br>
}</div>
<div>Please gvie me an explaination of the property IsReMaterialiable and the benefit if it is true with a simple sample</div>
<div> </div>
<div> 3</div>
<div>def ADD16rr : Pseudo<(outs GR16:$dst), (ins GR16:$src1, GR16:$src2),<br>                     "add.w\t{$src2, $dst}",<br>                     [(set GR16:$dst, (add GR16:$src1, GR16:$src2)),<br>                      (implicit SRW)]>;</div>

<div>What informaton instuction selector will get by '(implicit SRW)'?</div>
<div>I can't understand 'implicit SRW' completely.</div>
<div> </div>
<div> </div>
<div>Regards</div>