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

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
Where I see the following change in optimized dump:

   float _423;
   float _424;
   float _425;
+  vector(4) float _442;
+  vector(2) double _443;
   void * _742;
   unsigned int _743;
   const struct kiss_fft_state * _744;
@@ -383,6 +385,7 @@
   long unsigned int _914;
   unsigned long _919;
   void * _927;
+  vector(2) double _930;
   struct kiss_fft_cpx * _935;
   sizetype _936;
   unsigned long _941;
@@ -530,13 +533,14 @@
   _89 = _88 * 7.07106769084930419921875e-1;
   _866 = {_76, _75, _86, _89};
   _868 = {_74, _78, _86, _89};
-  vect__93.89_859 = vect__56.86_870 - _866;
   vect__93.89_858 = vect_t_r_54.81_878 - _867;
   vect__93.89_857 = vect__56.87_869 - _868;
   vect__60.88_864 = _865 + vect__56.85_871;
-  vect__60.88_863 = _866 + vect__56.86_870;
   vect__60.88_861 = _868 + vect__56.87_869;
-  _855 = VEC_PERM_EXPR <vect__60.88_863, vect__93.89_859, { 0, 5, 2, 3 }>;
+  _930 = VIEW_CONVERT_EXPR<vector(2) double>(_866);
+  _443 = -_930;
+  _442 = VIEW_CONVERT_EXPR<vector(4) float>(_443);
+  _855 = _442 + vect__56.86_870;
   _853 = VEC_PERM_EXPR <vect__93.89_857, vect__60.88_861, { 0, 5, 2, 3 }>;
   MEM <vector(4) float> [(float *)Fout_512] = vect__60.88_864;
   MEM <vector(4) float> [(float *)Fout_512 + 16B] = _855;

Reply via email to