Backed out changeset a620a422367f (bug 1163740) now that the diagnostic patch has served its purpose
authorDavid Major <dmajor@mozilla.com>
Tue, 26 May 2015 13:06:34 -0400
changeset 276456 6f42cdf799d0b976fb299b4b107ca62da014a20b
parent 276455 82f24d061990e464e02ed3977ff10da01d326c1b
child 276457 8dd444c92c4d1bfe0a4f89102aefe4d56d7bffa2
push id4932
push userjlund@mozilla.com
push dateMon, 10 Aug 2015 18:23:06 +0000
treeherdermozilla-beta@6dd5a4f5f745 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1163740
milestone41.0a1
backs outa620a422367fb9160a58d3f37cd669960334e632
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset a620a422367f (bug 1163740) now that the diagnostic patch has served its purpose
gfx/qcms/transform-sse1.c
--- a/gfx/qcms/transform-sse1.c
+++ b/gfx/qcms/transform-sse1.c
@@ -85,27 +85,27 @@ void qcms_transform_data_rgb_out_lut_sse
 
         /* store calc'd output tables indices */
         /* Bug 1163740 temporary investigation:
          * Write output[0] last, to keep |result| in a register in minidumps */
         result_hi = _mm_movehl_ps(result, result);
         *((__m64 *)&output[2]) = _mm_cvtps_pi32(result_hi);
         *((__m64 *)&output[0]) = _mm_cvtps_pi32(result);
 
+        /* load for next loop while store completes */
+        vec_r = _mm_load_ss(&igtbl_r[src[0]]);
+        vec_g = _mm_load_ss(&igtbl_g[src[1]]);
+        vec_b = _mm_load_ss(&igtbl_b[src[2]]);
+        src += 3;
+
         /* use calc'd indices to output RGB values */
         dest[OUTPUT_R_INDEX] = otdata_r[output[0]];
         dest[OUTPUT_G_INDEX] = otdata_g[output[1]];
         dest[OUTPUT_B_INDEX] = otdata_b[output[2]];
         dest += RGB_OUTPUT_COMPONENTS;
-
-        /* load for next loop while store completes */
-        vec_r = _mm_load_ss(&igtbl_r[src[0]]);
-        vec_g = _mm_load_ss(&igtbl_g[src[1]]);
-        vec_b = _mm_load_ss(&igtbl_b[src[2]]);
-        src += 3;
     }
 
     /* handle final (maybe only) pixel */
 
     vec_r = _mm_shuffle_ps(vec_r, vec_r, 0);
     vec_g = _mm_shuffle_ps(vec_g, vec_g, 0);
     vec_b = _mm_shuffle_ps(vec_b, vec_b, 0);
 
@@ -209,27 +209,27 @@ void qcms_transform_data_rgba_out_lut_ss
         result = _mm_mul_ps(vec_r, scale);
 
         /* Bug 1163740 temporary investigation:
          * Write output[0] last, to keep |result| in a register in minidumps */
         result_hi = _mm_movehl_ps(result, result);
         *((__m64 *)&output[2]) = _mm_cvtps_pi32(result_hi);
         *((__m64 *)&output[0]) = _mm_cvtps_pi32(result);
 
+        /* load gamma values for next loop while store completes */
+        vec_r = _mm_load_ss(&igtbl_r[src[0]]);
+        vec_g = _mm_load_ss(&igtbl_g[src[1]]);
+        vec_b = _mm_load_ss(&igtbl_b[src[2]]);
+        src += 4;
+
         /* use calc'd indices to output RGB values */
         dest[OUTPUT_R_INDEX] = otdata_r[output[0]];
         dest[OUTPUT_G_INDEX] = otdata_g[output[1]];
         dest[OUTPUT_B_INDEX] = otdata_b[output[2]];
         dest += 4;
-
-        /* load gamma values for next loop while store completes */
-        vec_r = _mm_load_ss(&igtbl_r[src[0]]);
-        vec_g = _mm_load_ss(&igtbl_g[src[1]]);
-        vec_b = _mm_load_ss(&igtbl_b[src[2]]);
-        src += 4;
     }
 
     /* handle final (maybe only) pixel */
 
     vec_r = _mm_shuffle_ps(vec_r, vec_r, 0);
     vec_g = _mm_shuffle_ps(vec_g, vec_g, 0);
     vec_b = _mm_shuffle_ps(vec_b, vec_b, 0);