diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-10-20 19:19:56 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-10-20 20:29:12 +0200 |
commit | 7a7433bfa61e80b91d1e9e7cf4b44ee8fdc431a0 (patch) | |
tree | 2ca7eb63ddb38472305f41e8e5b81c89cd20b9f0 /Source/JavaScriptCore/assembler/MacroAssemblerSH4.h | |
parent | ee21e513f3ed68af68e529b43c8fda94dfcc49ff (diff) | |
parent | 7778f881ff7dc92fca44dd414b02e7345f8db930 (diff) | |
download | qtwebkit-7a7433bfa61e80b91d1e9e7cf4b44ee8fdc431a0.tar.gz |
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
Tools/qmake/mkspecs/features/configure.prf
Change-Id: I3a704585aaa8bbf4ba4e249248195b9271890981
Diffstat (limited to 'Source/JavaScriptCore/assembler/MacroAssemblerSH4.h')
-rw-r--r-- | Source/JavaScriptCore/assembler/MacroAssemblerSH4.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h index 16e604b00..a65614b92 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h @@ -2080,6 +2080,29 @@ public: return result ? branchTrue() : branchFalse(); } + Jump branchAdd32(ResultCondition cond, Address src, RegisterID dest) + { + ASSERT((cond == Overflow) || (cond == Signed) || (cond == PositiveOrZero) || (cond == Zero) || (cond == NonZero)); + + if (cond == Overflow) { + RegisterID srcVal = claimScratch(); + load32(src, srcVal); + m_assembler.addvlRegReg(srcVal, dest); + releaseScratch(srcVal); + return branchTrue(); + } + + add32(src, dest); + + if ((cond == Signed) || (cond == PositiveOrZero)) { + m_assembler.cmppz(dest); + return (cond == Signed) ? branchFalse() : branchTrue(); + } + + compare32(0, dest, Equal); + return (cond == NonZero) ? branchFalse() : branchTrue(); + } + Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest) { ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); |