https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68855
Bug ID: 68855 Summary: PAREN_EXPR not "ignored" where possible Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- In 465.tonto we end up with [shell2.fppized.f90:975:0] _967 = COMPLEX_EXPR <_178, _201>; [shell2.fppized.f90:975:0] _968 = ((_967)); _3980 = REALPART_EXPR <_968>; and _201/_967 otherwise unused. REALPART_EXPR should look through PAREN_EXPR here and wrap its simplification result in PAREN_EXPR instead (or PAREN_EXPRs should be pushed into operands of non-associatable stmts). Not sure if one can devise other interesting examples.