<div>Hi everyone,</div>
<div> </div>
<div>I try to add an instruction to x86. The instruction is a multiply-add instruction  </div>
<div>MULADD A, B, C; //A = A + B * C.</div>
<div>I use the instruction by inline assemble as below</div>
<div> </div>
<div>int x, y, z;</div>
<div>.....  ....</div>
<div>x = 0;</div>
<div>asm("MULADD %0, %1, %2":"=r"(x):"0"(x), "r"(y), "r"(z));</div>
<div>..... ....</div>
<div> </div>
<div>The backend does allocate registers %edx, %edi, %esi for x,y, z respectively,</div>
<div>but its assemble output is</div>
<div>        MULADD %edx, %edx, %esi</div>
<div>I expects it could output:</div>
<div>        MULADD %edx, %edi, %esi</div>
<div> </div>
<div>What's  matter with my constraints of inline asm?</div>
<div> </div>
<div>Thanks.</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>