new file mode 100644
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fgimple -fdump-tree-ssa-gimple" } */
+
+_Complex a;
+
+double __GIMPLE() f()
+{
+ double t1;
+ double t2;
+ double _1;
+
+bb1:
+ t1_2 = __real a;
+ t2_3 = __imag a;
+ _1 = t1_2 + t2_3;
+ return _1;
+}
+
+/* { dg-final { scan-tree-dump "__real a" "ssa" } } */
+/* { dg-final { scan-tree-dump "__imag a" "ssa" } } */
@@ -2451,15 +2451,31 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, int flags,
break;
case REALPART_EXPR:
- pp_string (pp, "REALPART_EXPR <");
- dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
- pp_greater (pp);
+ if (flags & TDF_GIMPLE)
+ {
+ pp_string (pp, "__real ");
+ dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
+ }
+ else
+ {
+ pp_string (pp, "REALPART_EXPR <");
+ dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
+ pp_greater (pp);
+ }
break;
case IMAGPART_EXPR:
- pp_string (pp, "IMAGPART_EXPR <");
- dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
- pp_greater (pp);
+ if (flags & TDF_GIMPLE)
+ {
+ pp_string (pp, "__imag ");
+ dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
+ }
+ else
+ {
+ pp_string (pp, "IMAGPART_EXPR <");
+ dump_generic_node (pp, TREE_OPERAND (node, 0), spc, flags, false);
+ pp_greater (pp);
+ }
break;
case VA_ARG_EXPR: