diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2019-09-07 04:38:58 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2019-09-07 04:38:58 +0000 |
commit | d405dc23021fee4b6e1cd30650e0168b29918f61 (patch) | |
tree | f279cf44e5b7520e26216d1c2eb4343648f37b26 /gcc/config | |
parent | 739748850246fb630bb76412bf288b5365d7b58c (diff) | |
download | gcc-d405dc23021fee4b6e1cd30650e0168b29918f61.zip gcc-d405dc23021fee4b6e1cd30650e0168b29918f61.tar.gz gcc-d405dc23021fee4b6e1cd30650e0168b29918f61.tar.bz2 |
arm.c (arm_block_set_aligned_non_vect): Use gen_unaligned_storedi for 4-byte aligned addresses.
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* config/arm/arm.c (arm_block_set_aligned_non_vect): Use
gen_unaligned_storedi for 4-byte aligned addresses.
testsuite:
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr91684.c: New test.
From-SVN: r275483
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/arm/arm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index eb8bf13..8576431 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -30352,7 +30352,10 @@ arm_block_set_aligned_non_vect (rtx dstbase, { addr = plus_constant (Pmode, dst, i); mem = adjust_automodify_address (dstbase, DImode, addr, i); - emit_move_insn (mem, reg); + if (MEM_ALIGN (mem) >= 2 * BITS_PER_WORD) + emit_move_insn (mem, reg); + else + emit_insn (gen_unaligned_storedi (mem, reg)); } } else |