===================================================================
@@ -1631,7 +1631,7 @@ vn_reference_lookup_or_insert_for_pieces
vn_reference_s vr1;
vn_reference_t result;
unsigned value_id;
- vr1.vuse = vuse;
+ vr1.vuse = vuse ? SSA_VAL (vuse) : NULL_TREE;
vr1.operands = operands;
vr1.type = type;
vr1.set = set;
===================================================================
@@ -0,0 +1,14 @@
+! { dg-do compile }
+! { dg-options "-Ofast" }
+program p
+ real(4) :: a, b
+ integer(4) :: n, m
+ equivalence (a, n)
+ a = 1024.0
+ m = 8
+ a = 1024.0
+ b = set_exponent(a, m)
+ n = 8
+ a = f(a, n)
+ b = set_exponent(a, m)
+end