Hi, This patch adds a short-circuit to optabs.c for the case where both source operands are identical (i.e. we would be assigning the same value in both branches). This can show up for the memory optimisation in noce_cmove_arith in ifcvt.c, if both branches would load from the same address. This is an odd situation to arrise. It showed up in my csibe runs, but I couldn't reproduce it in a small test case. Bootstrapped on x86_64-none-linux-gnu and aarch64-none-linux-gnu with no issues. OK? Thanks, James --- 2016-07-20 James Greenhalgh * optabs.c (emit_condiitonal_move): Short circuit for identical sources.