Changeset 215731 in webkit
- Timestamp:
- Apr 25, 2017 7:15:42 AM (7 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r215723 r215731 1 2017-04-25 Zan Dobersek <zdobersek@igalia.com> 2 3 [aarch64] moveConditionally32(), moveConditionallyTest32() should move from/to 64-bit registers 4 https://bugs.webkit.org/show_bug.cgi?id=170891 5 6 Reviewed by Saam Barati. 7 8 moveConditionally32() and moveConditionallyTest32() operations in 9 MacroAssemblerARM64 properly perform comparisons and tests on 32-bit 10 values, but end up performing the moves from and to 32-bit registers. 11 12 Move operations should instead be done on 64-bit registers, just like 13 on the X86_64 platform. This is achieved by specifying 64 as the data 14 size for the csel instructions. 15 16 * assembler/MacroAssemblerARM64.h: 17 (JSC::MacroAssemblerARM64::moveConditionally32): 18 (JSC::MacroAssemblerARM64::moveConditionallyTest32): 19 1 20 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> 2 21 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
r215592 r215731 2234 2234 { 2235 2235 m_assembler.cmp<32>(left, right); 2236 m_assembler.csel< 32>(dest, src, dest, ARM64Condition(cond));2236 m_assembler.csel<64>(dest, src, dest, ARM64Condition(cond)); 2237 2237 } 2238 2238 … … 2240 2240 { 2241 2241 m_assembler.cmp<32>(left, right); 2242 m_assembler.csel< 32>(dest, thenCase, elseCase, ARM64Condition(cond));2242 m_assembler.csel<64>(dest, thenCase, elseCase, ARM64Condition(cond)); 2243 2243 } 2244 2244 … … 2298 2298 { 2299 2299 m_assembler.tst<32>(testReg, mask); 2300 m_assembler.csel< 32>(dest, src, dest, ARM64Condition(cond));2300 m_assembler.csel<64>(dest, src, dest, ARM64Condition(cond)); 2301 2301 } 2302 2302 … … 2304 2304 { 2305 2305 m_assembler.tst<32>(left, right); 2306 m_assembler.csel< 32>(dest, thenCase, elseCase, ARM64Condition(cond));2306 m_assembler.csel<64>(dest, thenCase, elseCase, ARM64Condition(cond)); 2307 2307 } 2308 2308 … … 2310 2310 { 2311 2311 test32(left, right); 2312 m_assembler.csel< 32>(dest, thenCase, elseCase, ARM64Condition(cond));2312 m_assembler.csel<64>(dest, thenCase, elseCase, ARM64Condition(cond)); 2313 2313 } 2314 2314
Note: See TracChangeset
for help on using the changeset viewer.