diff options
author | wilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-17 11:52:35 +0000 |
---|---|---|
committer | wilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-17 11:52:35 +0000 |
commit | 09e131a50ddda3b2d3648d9ade713241380b0c0f (patch) | |
tree | b28d521f8f7c3439381b2a18c8f7fb9e21283158 | |
parent | 4f240715e3a04a13250dee10bbf38a31e3b101e1 (diff) | |
download | gcc-09e131a50ddda3b2d3648d9ade713241380b0c0f.tar.gz |
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.
2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
Add missing return.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233490 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2178ae6095d..607b33fa2e4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-02-17 Wilco Dijkstra <wdijkstr@arm.com> + + * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): + Add missing return. + 2016-02-17 Eric Botcazou <ebotcazou@adacore.com> * config/visium/visium.c (machine_libfunc_index): New enum. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index df7023f6c1a..923a4b31542 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; } } |