Title: [195272] releases/WebKitGTK/webkit-2.10/Source/_javascript_Core
Revision
195272
Author
[email protected]
Date
2016-01-19 01:33:57 -0800 (Tue, 19 Jan 2016)

Log Message

Merge r195093 - [mips] Add countLeadingZeros32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152886

Reviewed by Michael Saboff.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::lui):
(JSC::MIPSAssembler::clz):
(JSC::MIPSAssembler::addiu):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::countLeadingZeros32):
(JSC::MacroAssemblerMIPS::lshift32):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog (195271 => 195272)


--- releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog	2016-01-19 09:30:17 UTC (rev 195271)
+++ releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog	2016-01-19 09:33:57 UTC (rev 195272)
@@ -1,3 +1,19 @@
+2016-01-15  Julien Brianceau  <[email protected]>
+
+        [mips] Add countLeadingZeros32 implementation in macro assembler
+        https://bugs.webkit.org/show_bug.cgi?id=152886
+
+        Reviewed by Michael Saboff.
+
+        * assembler/MIPSAssembler.h:
+        (JSC::MIPSAssembler::lui):
+        (JSC::MIPSAssembler::clz):
+        (JSC::MIPSAssembler::addiu):
+        * assembler/MacroAssemblerMIPS.h:
+        (JSC::MacroAssemblerMIPS::and32):
+        (JSC::MacroAssemblerMIPS::countLeadingZeros32):
+        (JSC::MacroAssemblerMIPS::lshift32):
+
 2016-01-08  Konstantin Tokarev  <[email protected]>
 
         [mips] Fixed unused parameter warnings

Modified: releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MIPSAssembler.h (195271 => 195272)


--- releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MIPSAssembler.h	2016-01-19 09:30:17 UTC (rev 195271)
+++ releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MIPSAssembler.h	2016-01-19 09:33:57 UTC (rev 195272)
@@ -240,6 +240,11 @@
         emitInst(0x3c000000 | (rt << OP_SH_RT) | (imm & 0xffff));
     }
 
+    void clz(RegisterID rd, RegisterID rs)
+    {
+        emitInst(0x70000020 | (rd << OP_SH_RD) | (rs << OP_SH_RS) | (rd << OP_SH_RT));
+    }
+
     void addiu(RegisterID rt, RegisterID rs, int imm)
     {
         emitInst(0x24000000 | (rt << OP_SH_RT) | (rs << OP_SH_RS) | (imm & 0xffff));

Modified: releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (195271 => 195272)


--- releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2016-01-19 09:30:17 UTC (rev 195271)
+++ releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2016-01-19 09:33:57 UTC (rev 195272)
@@ -313,6 +313,15 @@
         }
     }
 
+    void countLeadingZeros32(RegisterID src, RegisterID dest)
+    {
+#if WTF_MIPS_ISA_AT_LEAST(32)
+        m_assembler.clz(dest, src);
+#else
+        static_assert(false, "CLZ opcode is not available for this ISA");
+#endif
+    }
+
     void lshift32(RegisterID shiftAmount, RegisterID dest)
     {
         m_assembler.sllv(dest, dest, shiftAmount);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to