Title: [113121] trunk/Source/_javascript_Core
Revision
113121
Author
[email protected]
Date
2012-04-03 18:38:46 -0700 (Tue, 03 Apr 2012)

Log Message

Offlineasm ARM backend has a very convoluted way of saying it wants to emit a
three-operand multiply instruction
https://bugs.webkit.org/show_bug.cgi?id=83100

Reviewed by Darin Adler.

Changed the "muli"/"mulp" case to call emitArmV7() since that helper method was
already smart enough to do the Right Thing for multiply.

* offlineasm/armv7.rb:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (113120 => 113121)


--- trunk/Source/_javascript_Core/ChangeLog	2012-04-04 01:30:13 UTC (rev 113120)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-04-04 01:38:46 UTC (rev 113121)
@@ -1,5 +1,18 @@
 2012-04-03  Filip Pizlo  <[email protected]>
 
+        Offlineasm ARM backend has a very convoluted way of saying it wants to emit a
+        three-operand multiply instruction
+        https://bugs.webkit.org/show_bug.cgi?id=83100
+
+        Reviewed by Darin Adler.
+        
+        Changed the "muli"/"mulp" case to call emitArmV7() since that helper method was
+        already smart enough to do the Right Thing for multiply.
+
+        * offlineasm/armv7.rb:
+
+2012-04-03  Filip Pizlo  <[email protected]>
+
         Offlineasm ARM backend uses the wrong mnemonic for multiply
         https://bugs.webkit.org/show_bug.cgi?id=83098
         <rdar://problem/11168744>

Modified: trunk/Source/_javascript_Core/offlineasm/armv7.rb (113120 => 113121)


--- trunk/Source/_javascript_Core/offlineasm/armv7.rb	2012-04-04 01:30:13 UTC (rev 113120)
+++ trunk/Source/_javascript_Core/offlineasm/armv7.rb	2012-04-04 01:38:46 UTC (rev 113121)
@@ -777,12 +777,7 @@
         when "urshifti", "urshiftp"
             emitArmV7Compact("lsrs", "lsrs", operands)
         when "muli", "mulp"
-            if operands.size == 2 or operands[0] == operands[2] or operands[1] == operands[2]
-                emitArmV7("mul", operands)
-            else
-                $asm.puts "mov #{operands[2].armV7Operand}, #{operands[0].armV7Operand}"
-                $asm.puts "mul #{operands[2].armV7Operand}, #{operands[2].armV7Operand}, #{operands[1].armV7Operand}"
-            end
+            emitArmV7("mul", operands)
         when "subi", "subp", "subis"
             emitArmV7Compact("subs", "subs", operands)
         when "negi", "negp"
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to