https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71231

--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
The difference in _optimized dumps is:

$ diff -u rnflow.f90.210t.optimized rnflow.f90.210t.optimized_
--- rnflow.f90.210t.optimized   2016-05-23 23:44:55.327695414 +0200
+++ rnflow.f90.210t.optimized_  2016-05-23 23:41:25.050960650 +0200
@@ -3525,8 +3525,8 @@
 <L142>:
   _238 = jgrm__lsm.1377_304 * 843314861;
   _239 = _238 + 453816693;
-  _240 = _239 & 2147483647;
-  _241 = (real(kind=4)) _240;
+  _240 = _239;
+  _241 = (real(kind=4)) _239;
   _242 = _241 * 4.656612873077392578125e-10;
   switch (isns_319) <default: <L142>, case -1: <L139>, case 1: <L140>>

@@ -3543,7 +3543,7 @@
     goto <bb 72>;

   <bb 72>:
-  jgrm = _240;
+  jgrm = _239;
   goto <bb 65>;

   <bb 73>:
@@ -3631,7 +3631,7 @@
     goto <bb 67>;

   <bb 80>:
-  jgrm = _240;
+  jgrm = _239;

   <bb 81>:
   __builtin_free (_150);


However, the masking operation should not be removed.

Reply via email to