https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77919
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Wed Dec 7 22:45:33 2016 New Revision: 243395 URL: https://gcc.gnu.org/viewcvs?rev=243395&root=gcc&view=rev Log: Backported from mainline 2016-10-29 Jakub Jelinek <ja...@redhat.com> PR rtl-optimization/77919 * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing into memory if both modes are complex and their inner modes have the same precision. If the two modes are different complex modes, convert each part separately and generate a new CONCAT. * g++.dg/torture/pr77919-2.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr77919-2.C Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/expr.c branches/gcc-6-branch/gcc/testsuite/ChangeLog