Title: [215226] trunk/Source/_javascript_Core
Revision
215226
Author
[email protected]
Date
2017-04-11 05:44:47 -0700 (Tue, 11 Apr 2017)

Log Message

[jsc][mips] Add missing MacroAssembler functions after r214187
https://bugs.webkit.org/show_bug.cgi?id=170089

Patch by Guillaume Emont <[email protected]> on 2017-04-11
Reviewed by Yusuke Suzuki.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::loadFloat): Added.
(JSC::MacroAssemblerMIPS::storeFloat): Added.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (215225 => 215226)


--- trunk/Source/_javascript_Core/ChangeLog	2017-04-11 11:19:54 UTC (rev 215225)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-04-11 12:44:47 UTC (rev 215226)
@@ -1,3 +1,14 @@
+2017-04-11  Guillaume Emont  <[email protected]>
+
+        [jsc][mips] Add missing MacroAssembler functions after r214187
+        https://bugs.webkit.org/show_bug.cgi?id=170089
+
+        Reviewed by Yusuke Suzuki.
+
+        * assembler/MacroAssemblerMIPS.h:
+        (JSC::MacroAssemblerMIPS::loadFloat): Added.
+        (JSC::MacroAssemblerMIPS::storeFloat): Added.
+
 2017-04-11  Yusuke Suzuki  <[email protected]>
 
         [JSC] Enable JSRunLoopTimer for JSCOnly and Windows

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (215225 => 215226)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-04-11 11:19:54 UTC (rev 215225)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-04-11 12:44:47 UTC (rev 215226)
@@ -2403,6 +2403,23 @@
         }
     }
 
+    void loadFloat(ImplicitAddress address, FPRegisterID dest)
+    {
+        if (address.offset >= -32768 && address.offset <= 32767
+            && !m_fixedWidth) {
+            m_assembler.lwc1(dest, address.base, address.offset);
+        } else {
+            /*
+               lui     addrTemp, (offset + 0x8000) >> 16
+               addu    addrTemp, addrTemp, base
+               lwc1    dest, (offset & 0xffff)(addrTemp)
+               */
+            m_assembler.lui(addrTempRegister, (address.offset + 0x8000) >> 16);
+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
+            m_assembler.lwc1(dest, addrTempRegister, address.offset);
+        }
+    }
+
     void loadDouble(ImplicitAddress address, FPRegisterID dest)
     {
 #if WTF_MIPS_ISA(1)
@@ -2541,6 +2558,23 @@
         }
     }
 
+    void storeFloat(FPRegisterID src, ImplicitAddress address)
+    {
+        if (address.offset >= -32768 && address.offset <= 32767
+            && !m_fixedWidth)
+            m_assembler.swc1(src, address.base, address.offset);
+        else {
+            /*
+                lui     addrTemp, (offset + 0x8000) >> 16
+                addu    addrTemp, addrTemp, base
+                swc1    src, (offset & 0xffff)(addrTemp)
+              */
+            m_assembler.lui(addrTempRegister, (address.offset + 0x8000) >> 16);
+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
+            m_assembler.swc1(src, addrTempRegister, address.offset);
+        }
+    }
+
     void storeDouble(FPRegisterID src, ImplicitAddress address)
     {
 #if WTF_MIPS_ISA(1)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to