[JSC] Add CLZ support to B3
Created attachment 266518 [details] Patch
Comment on attachment 266518 [details] Patch r=me
Comment on attachment 266518 [details] Patch Clearing flags on attachment: 266518 Committed r193125: <http://trac.webkit.org/changeset/193125>
All reviewed patches have been landed. Closing bug.
(In reply to comment #3) > Comment on attachment 266518 [details] > Patch > > Clearing flags on attachment: 266518 > > Committed r193125: <http://trac.webkit.org/changeset/193125> It broke the WinCairo build: https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/51690 c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1722): error C4235: nonstandard extension used: '__asm' keyword not supported on this architecture c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1723): error C2065: 'mov': undeclared identifier c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1723): error C2146: syntax error: missing ';' before identifier 'eax' c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1723): error C2065: 'eax': undeclared identifier c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1725): error C2146: syntax error: missing ';' before identifier 'cpuid' c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1725): error C2065: 'cpuid': undeclared identifier c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1725): error C2146: syntax error: missing ';' before identifier 'mov' c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1725): error C2065: 'mov': undeclared identifier c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1725): error C2146: syntax error: missing ';' before identifier 'flags' c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1726): error C2065: 'ecx': undeclared identifier c:\users\alex\documents\wincairobot\win-cairo-release\build\source\javascriptcore\assembler\MacroAssemblerX86Common.h(1726): error C2143: syntax error: missing ';' before '}' ninja: build stopped: subcommand failed.
This actually broke all 64-bit windows builds because MSVC does not have inline assembly in its 64-bit compiler.
(In reply to comment #6) > This actually broke all 64-bit windows builds because MSVC does not have > inline assembly in its 64-bit compiler. I think we need to use the __cpuid() intrinsic. See https://msdn.microsoft.com/library/hskdteyh(v=vs.100).aspx.
and the 32 bit GTK build too: ../../Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h: In member function ‘void JSC::DFG::SpeculativeJIT::compileArithClz32(JSC::DFG::Node*)’: ../../Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:1733:18: error: PIC register clobbered by ‘%ebx’ in ‘asm’
It's strange that the Windows EWS is greeen, but the buildbots are red. Why don't they have exactly the same configuration?
(In reply to comment #9) > It's strange that the Windows EWS is greeen, but the buildbots are red. > Why don't they have exactly the same configuration? The Windows EWS and the Windows buildbots are all building and testing 32-bit right now. My WinCairo bot is building 64-bit right now, which is why it is the only bot that broke with this change. Another change broke the Windows build and that was fixed in http://trac.webkit.org/changeset/193366 (unrelated)