+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
{
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
+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
--- /dev/null
+/* { 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 } } */