PR middle-end/48493
* expr.c (expand_assignment): Do not use movmisalign on
non-memory.
* gcc.dg/torture/pr48493.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188056
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48493
+ * expr.c (expand_assignment): Do not use movmisalign on
+ non-memory.
+
2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/52999
if ((TREE_CODE (to) == MEM_REF
|| TREE_CODE (to) == TARGET_MEM_REF)
&& mode != BLKmode
+ && !mem_ref_refers_to_non_mem_p (to)
&& ((align = get_object_or_type_alignment (to))
< GET_MODE_ALIGNMENT (mode))
&& ((icode = optab_handler (movmisalign_optab, mode))
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48493
+ * gcc.dg/torture/pr48493.c: New testcase.
+
2012-05-30 Jakub Jelinek <jakub@redhat.com>
PR c++/53356
--- /dev/null
+/* { dg-do compile } */
+
+typedef long long T __attribute__((may_alias, aligned (1)));
+
+struct S
+{
+ _Complex float d __attribute__((aligned (8)));
+};
+
+void bar (struct S);
+
+void
+f1 (T x)
+{
+ struct S s;
+ *(T *) ((char *) &s.d + 1) = x;
+ bar (s);
+}