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
This commit is contained in:
parent
7397488502
commit
d405dc2302
4 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
||||
2019-09-06 Jim Wilson <jimw@sifive.com>
|
||||
|
||||
* config/riscv/riscv.c (riscv_option_override): Revert 2019-08-30
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||||
|
||||
* gcc.target/arm/pr91684.c: New test.
|
||||
|
||||
2019-09-06 Ian Lance Taylor <iant@golang.org>
|
||||
|
||||
* go.test/test/fixedbugs/bug369.go: Update to match libgo update
|
||||
|
|
15
gcc/testsuite/gcc.target/arm/pr91684.c
Normal file
15
gcc/testsuite/gcc.target/arm/pr91684.c
Normal file
|
@ -0,0 +1,15 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target arm_ldrd_strd_ok } */
|
||||
/* { dg-options "-O3" } */
|
||||
|
||||
typedef struct { int a, b, c; } S;
|
||||
|
||||
void g (S *s);
|
||||
void bug1 (void)
|
||||
{
|
||||
S s;
|
||||
__builtin_memset (&s, 0, sizeof (S));
|
||||
g (&s);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "strd" 1 } } */
|
Loading…
Add table
Reference in a new issue