Bug 1430696 Try to fix the win32 PGO draft
authorTom Ritter <tom@mozilla.com>
Tue, 16 Jan 2018 13:25:17 -0600
changeset 721143 3c58cf66cf56964729568d9094234ec94f7c7b9a
parent 721142 69262e4556ef15f5118099e7777e493cba109454
child 746239 262b9faed059e96ad77a61ccfe322c13033d7f7f
push id95737
push userbmo:tom@mozilla.com
push dateTue, 16 Jan 2018 19:30:35 +0000
bugs1430696
milestone59.0a1
Bug 1430696 Try to fix the win32 PGO MozReview-Commit-ID: JwyfDdgiuTl
third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
--- a/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
+++ b/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
@@ -166,16 +166,19 @@ static void right_shift_16x16(__m256i *i
   in[10] = _mm256_srai_epi16(in[10], 2);
   in[11] = _mm256_srai_epi16(in[11], 2);
   in[12] = _mm256_srai_epi16(in[12], 2);
   in[13] = _mm256_srai_epi16(in[13], 2);
   in[14] = _mm256_srai_epi16(in[14], 2);
   in[15] = _mm256_srai_epi16(in[15], 2);
 }
 
+#ifdef _MSC_VER
+# pragma optimize("g", off)
+#endif
 static void fdct16_avx2(__m256i *in) {
   // sequence: cospi_L_H = pairs(L, H) and L first
   const __m256i cospi_p16_m16 = pair256_set_epi16(cospi_16_64, -cospi_16_64);
   const __m256i cospi_p16_p16 = pair256_set_epi16(cospi_16_64, cospi_16_64);
   const __m256i cospi_p24_p08 = pair256_set_epi16(cospi_24_64, cospi_8_64);
   const __m256i cospi_m08_p24 = pair256_set_epi16(-cospi_8_64, cospi_24_64);
   const __m256i cospi_m24_m08 = pair256_set_epi16(-cospi_24_64, -cospi_8_64);
 
@@ -354,16 +357,20 @@ static void fdct16_avx2(__m256i *in) {
   in[5] = butter_fly(&x0, &x1, &cospi_p22_p10);
   in[11] = butter_fly(&x0, &x1, &cospi_m10_p22);
 
   x0 = _mm256_unpacklo_epi16(u3, u4);
   x1 = _mm256_unpackhi_epi16(u3, u4);
   in[13] = butter_fly(&x0, &x1, &cospi_p06_p26);
   in[3] = butter_fly(&x0, &x1, &cospi_m26_p06);
 }
+#ifdef _MSC_VER
+# pragma optimize("", on)
+#endif
+
 
 void fadst16_avx2(__m256i *in) {
   const __m256i cospi_p01_p31 = pair256_set_epi16(cospi_1_64, cospi_31_64);
   const __m256i cospi_p31_m01 = pair256_set_epi16(cospi_31_64, -cospi_1_64);
   const __m256i cospi_p05_p27 = pair256_set_epi16(cospi_5_64, cospi_27_64);
   const __m256i cospi_p27_m05 = pair256_set_epi16(cospi_27_64, -cospi_5_64);
   const __m256i cospi_p09_p23 = pair256_set_epi16(cospi_9_64, cospi_23_64);
   const __m256i cospi_p23_m09 = pair256_set_epi16(cospi_23_64, -cospi_9_64);