Rubber stampted by Benjamin Poulain.
AVX is silly. If you use it and some of your other code isn't careful with float register bits, you
will run 10x slower. We could fix the underlying issue, but it's better to stay away from this odd
instruction subset.
This fixes a massive regression on some real code.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsAVX):
(JSC::MacroAssemblerX86Common::updateEax1EcxFlags):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
2016-04-18 Filip Pizlo <fpizlo@apple.com>
2016-04-18 Filip Pizlo <fpizlo@apple.com>
+ Disable AVX.
+
+ Rubber stampted by Benjamin Poulain.
+
+ AVX is silly. If you use it and some of your other code isn't careful with float register bits, you
+ will run 10x slower. We could fix the underlying issue, but it's better to stay away from this odd
+ instruction subset.
+
+ This fixes a massive regression on some real code.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::supportsAVX):
+ (JSC::MacroAssemblerX86Common::updateEax1EcxFlags):
+
+2016-04-18 Filip Pizlo <fpizlo@apple.com>
+
ToThis should have a fast path based on type info flags
https://bugs.webkit.org/show_bug.cgi?id=156712
ToThis should have a fast path based on type info flags
https://bugs.webkit.org/show_bug.cgi?id=156712
static bool supportsAVX()
{
static bool supportsAVX()
{
- if (s_avxCheckState == CPUIDCheckState::NotChecked)
- updateEax1EcxFlags();
- return s_avxCheckState == CPUIDCheckState::Set;
+ // AVX still causes mysterious regressions and those regressions can be massive.
+ return false;
}
static void updateEax1EcxFlags()
}
static void updateEax1EcxFlags()