As part of the final cleanup of aarch64_internal_mov_immediate a return was
accidentally removed.  This causes the 2-instruction case to fallthrough
into the general case even when it found a match.  An example immediate is
0xcccccccccccccccd which was using 2 instructions in GCC5 but now requires 4.
Adding the return fixes the regressions.

Committed as trivial in revision 233490.

2016-02-17  Wilco Dijkstra  <wdijk...@arm.com>

    gcc/
        * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
        Add missing return.
--

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 
a2fc3d05158e126f91e8274e9d5329f511d09530..9be5fbbd9716d9cf9568acee01996ff97ab5a654
 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -1632,6 +1632,7 @@ aarch64_internal_mov_immediate (rtx dest, rtx imm, bool 
generate,
              emit_insn (gen_insv_immdi (dest, GEN_INT (i),
                                         GEN_INT ((val >> i) & 0xffff)));
            }
+         return 2;
        }
     }

Reply via email to