diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2016-02-17 11:52:35 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2016-02-17 11:52:35 +0000 |
commit | 1312b1ba114f41bf477db50b516f806a8e688978 (patch) | |
tree | b28d521f8f7c3439381b2a18c8f7fb9e21283158 /gcc | |
parent | 448db8d2f6a47996a8523408ab96496d555f19ec (diff) | |
download | gcc-1312b1ba114f41bf477db50b516f806a8e688978.zip gcc-1312b1ba114f41bf477db50b516f806a8e688978.tar.gz gcc-1312b1ba114f41bf477db50b516f806a8e688978.tar.bz2 |
As part of the final cleanup of aarch64_internal_mov_immediate a return was accidentally removed.
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.
From-SVN: r233490
Diffstat (limited to 'gcc')
-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 2178ae6..607b33f 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 df7023f..923a4b3 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; } } |