On Tue, Feb 21, 2017 at 01:02:30PM -0800, Michael Eager wrote: > >>Why generate an unnecessary NOP? > > > >Why not? It will be optimised away anyway, and the code to get at the > >subregs is hairy... But could optimise away the useless move here > >already if both ops are a reg and both are the same, if you prefer that? > >Or rtx_equal_p (operands[0], operands[1])? > > It's optimized away only if optimization is on. > > The existing code checks and does not generate the unneeded move. > Whatever you change to clean up code should maintain the same behavior. > > if ((operands[2] == const0_rtx) && !rtx_equal_p (operands[0], operands[1])) > { > emit_insn (gen_movsi (operands[0], operands[1])); > }
Hi Michael, Will you take care of it? Segher