https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77919
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Tue May 30 07:36:52 2017 New Revision: 248619 URL: https://gcc.gnu.org/viewcvs?rev=248619&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-5-branch/gcc/testsuite/g++.dg/torture/pr77919-2.C Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/expr.c branches/gcc-5-branch/gcc/testsuite/ChangeLog