This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/26439] New: [4.2 Regression] missing VOPs for complex assignments
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Feb 2006 12:13:39 -0000
- Subject: [Bug middle-end/26439] New: [4.2 Regression] missing VOPs for complex assignments
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
_Complex double c;
_Complex double foo(void)
{
_Complex double *cp = &c;
__real c = __imag c;
return *cp;
}
has in alias1:
foo ()
{
complex double * cp;
complex double D.1527;
double D.1526;
<bb 2>:
cp_1 = &c;
# VUSE <SFT.0_2>;
D.1526_3 = IMAGPART_EXPR <c>;
# SFT.1_5 = V_MUST_DEF <SFT.1_4>;
REALPART_EXPR <c> = D.1526_3;
# VUSE <SFT.1_5>;
D.1527_6 = *cp_1;
# <retval>_8 = V_MUST_DEF <<retval>_7>;
<retval> = D.1527_6;
# VUSE <<retval>_8>;
return <retval>;
}
note how D.1527_6 = *cp_1; misses VUSE <SFT.0_2>
--
Summary: [4.2 Regression] missing VOPs for complex assignments
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Keywords: wrong-code, alias
Severity: critical
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26439