<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>When I read the llvm sources, l find a problem as follows. There seems to be a mistake in this (Arm::Addrsi) instruction's Operands. </div><div style="margin:0;"></div><div style="margin:0;">In llvm version 7.1 , lib/Target/ARM/ARMISelDAGToDAG.cpp : 2696 - 2698.  The latest version is also so.</div><div style="margin:0;"><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'DejaVu Sans Mono';font-size:12.0pt;"><span style="color:#b5b6e3;">SDValue </span>Ops[] = { V<span style="color:#cc7832;">, </span>V<span style="color:#cc7832;">, </span>Reg0<span style="color:#cc7832;">, </span>ShImmOp<span style="color:#cc7832;">, </span>getAL(<span style="color:#9373a5;">CurDAG</span><span style="color:#cc7832;">, </span>dl)<span style="color:#cc7832;">, </span>Reg0<span style="color:#cc7832;">,<br></span><span style="color:#cc7832;">                  </span>Reg0 }<span style="color:#cc7832;">;<br></span><span style="color:#9373a5;">CurDAG</span>->SelectNodeTo(N<span style="color:#cc7832;">, </span><span style="color:#b5b6e3;">ARM</span>::<span style="color:#9876aa;font-style:italic;">ADDrsi</span><span style="color:#cc7832;">, </span><span style="color:#b5b6e3;">MVT</span>::<span style="color:#9876aa;font-style:italic;">i32</span><span style="color:#cc7832;">, </span>Ops)<span style="color:#cc7832;">;</span></pre><pre><br></pre><pre>I think  that the third arg should be removed.</pre><pre><pre>SDValue Ops[] = { V, V , ShImmOp, getAL(CurDAG, dl), Reg0,  Reg0 };</pre><pre><br></pre><pre><br></pre><pre><br></pre><pre>Looking forward your reply.  Thanks.</pre><pre>Best wishes .</pre><pre><br></pre><pre><br></pre></pre><pre><br></pre></div></div><br><br><span title="neteasefooter"><p> </p></span>