summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorvarkha <varkha@chromium.org>2014-12-22 20:58:01 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-23 04:58:46 +0000
commitb126eb8f934f25877b0e6d992902e88eac3fec7f (patch)
tree3d08f9721f063aee1187317f201bea4b16e195fa /crypto
parent6942bf25fa4bdef1d28e1162e5d59fafe9a2834c (diff)
downloadchromium_src-b126eb8f934f25877b0e6d992902e88eac3fec7f.zip
chromium_src-b126eb8f934f25877b0e6d992902e88eac3fec7f.tar.gz
chromium_src-b126eb8f934f25877b0e6d992902e88eac3fec7f.tar.bz2
Uses "#pragma GCC reset_options" to re-enable optimizations after ReduceLarge function
This ensures that compiler optimizations are restored to the state as it was before ReduceLarge function. Previous CL https://codereview.chromium.org/814273004 could have a possible side effect of enabling "tree-vectorize" optimizations for the rest of the file even when they were disabled in build settings. BUG=439566 Review URL: https://codereview.chromium.org/819893002 Cr-Commit-Position: refs/heads/master@{#309537}
Diffstat (limited to 'crypto')
-rw-r--r--crypto/p224.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/p224.cc b/crypto/p224.cc
index 74ad7e0..e8b56b8 100644
--- a/crypto/p224.cc
+++ b/crypto/p224.cc
@@ -175,7 +175,8 @@ void ReduceLarge(FieldElement* out, LargeFieldElement* inptr) {
// TODO(wez): Remove this when crbug.com/439566 is fixed.
#if defined(__GNUC__) && !defined(__clang__)
-#pragma GCC optimize("tree-vectorize")
+// Reenable "tree-vectorize" optimization if it got disabled for ReduceLarge.
+#pragma GCC reset_options
#endif
// Mul computes *out = a*b