summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/offlineasm/mips.rb
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-19 17:54:27 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-19 17:54:27 +0200
commitf952f4a4ce4464beda012e1fe0cd4da9f91a23a8 (patch)
treeb613af97e2052e1db1689a0b004bacd9621800c1 /Source/JavaScriptCore/offlineasm/mips.rb
parent84bef97f5004ccc60dbba0faa4f4b8d40838ee23 (diff)
parent55f814fc556631b390f0c5764bb4ee3ceeea1d45 (diff)
downloadqtwebkit-f952f4a4ce4464beda012e1fe0cd4da9f91a23a8.tar.gz
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I98b8afb91dff72023dabf58f0b570cada8804cf2
Diffstat (limited to 'Source/JavaScriptCore/offlineasm/mips.rb')
-rw-r--r--Source/JavaScriptCore/offlineasm/mips.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/JavaScriptCore/offlineasm/mips.rb b/Source/JavaScriptCore/offlineasm/mips.rb
index c0adfd029..08fd02662 100644
--- a/Source/JavaScriptCore/offlineasm/mips.rb
+++ b/Source/JavaScriptCore/offlineasm/mips.rb
@@ -231,9 +231,10 @@ def lowerMIPSCondBranch(list, condOp, node)
[node.operands[0], MIPS_ZERO_REG, node.operands[-1]],
node.annotation)
elsif node.operands.size == 3
+ tl = condOp[-1, 1]
tmp = Tmp.new(node.codeOrigin, :gpr)
list << Instruction.new(node.codeOrigin,
- "andi",
+ "and" + tl,
[node.operands[0], node.operands[1], tmp],
node.annotation)
list << Instruction.new(node.codeOrigin,
@@ -503,6 +504,10 @@ def mipsLowerMisplacedAddresses(list)
newList << Instruction.new(node.codeOrigin,
node.opcode,
riscAsRegisters(newList, [], node.operands, "b"))
+ when "andb"
+ newList << Instruction.new(node.codeOrigin,
+ "andi",
+ riscAsRegisters(newList, [], node.operands, "b"))
when /^(bz|bnz|bs|bo)/
tl = $~.post_match == "" ? "i" : $~.post_match
newList << Instruction.new(node.codeOrigin,