2018-06-25 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/85878
+ * expr.c (expand_assignment): Only call store_expr for halves if the
+ mode is the same.
+
2018-06-14 Jakub Jelinek <jakub@redhat.com>
PR target/85945
&& bitpos == 0
&& bitsize == mode_bitsize)
result = store_expr (from, to_rtx, false, nontemporal, reversep);
- else if (bitsize == mode_bitsize / 2
+ else if (COMPLEX_MODE_P (GET_MODE (to_rtx))
+ && (TYPE_MODE (TREE_TYPE (from))
+ == GET_MODE_INNER (GET_MODE (to_rtx)))
+ && bitsize == mode_bitsize / 2
&& (bitpos == 0 || bitpos == mode_bitsize / 2))
result = store_expr (from, XEXP (to_rtx, bitpos != 0), false,
nontemporal, reversep);
2018-06-25 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/85878
+ * gfortran.fortran-torture/compile/pr85878.f90: New test.
+
2018-06-14 Jakub Jelinek <jakub@redhat.com>
PR target/85945