Changeset 259556 in webkit
- Timestamp:
- Apr 5, 2020, 3:59:45 PM (6 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
assembler/MacroAssemblerARM64.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r259555 r259556 1 2020-04-05 Mark Lam <mark.lam@apple.com> 2 3 ARM64 moveConditionallyDouble() for DoubleNotEqualAndOrdered is wrong. 4 https://bugs.webkit.org/show_bug.cgi?id=210039 5 <rdar://problem/61321778> 6 7 Reviewed by Yusuke Suzuki. 8 9 For the scenario where the dest register is same as the then case register, there 10 is one csel instruction that should be checking the overflow condition to test 11 for unordered operands. Instead, we were testing for the not equal condition. 12 This patch fixes it to check for the overflow condition. 13 14 This bug was caught by testmasm. 15 16 * assembler/MacroAssemblerARM64.h: 17 (JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare): 18 1 19 2020-04-05 David Kilzer <ddkilzer@apple.com> 2 20 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
r258063 r259556 2034 2034 // If the compare is ordered, dest is unchanged and NE decides 2035 2035 // what value to set. 2036 m_assembler.csel<datasize>(thenCase, elseCase, thenCase, Assembler::Condition NE);2036 m_assembler.csel<datasize>(thenCase, elseCase, thenCase, Assembler::ConditionVS); 2037 2037 m_assembler.csel<datasize>(dest, thenCase, elseCase, Assembler::ConditionNE); 2038 2038 } else {
Note:
See TracChangeset
for help on using the changeset viewer.