- 15 Dec, 2016 1 commit
-
-
ivica.bogosavljevic authored
MIPS[64]R6 supports only fusion multiply-accumulate instructions, and using these causes failures of several tests that expect exact floating-point results. Therefore we disable fusion multiply-accumulate in both emitted and compiled code on R6. TEST=cctest/test-run-machops/RunFloat64MulAndFloat64Add1,mjsunit/es6/math-expm1.js mjsunit/es6/math-fround.js,mjsunit/compiler/multiply-add.js BUG= Review-Url: https://codereview.chromium.org/2569683002 Cr-Commit-Position: refs/heads/master@{#41717}
-
- 22 Sep, 2016 1 commit
-
-
Ilija.Pavlovic authored
Port for VisitFloat32Add, VisitFloat64Add, VisitFloat32Sub and VisitFloat64Sub in InstructionSelector. TEST=unittests/InstructionSelectorTest.Float32AddWithFloat32Mul, unittests/InstructionSelectorTest.Float64AddWithFloat64Mul, unittests/InstructionSelectorTest.Float32SubWithFloat32Mul, unittests/InstructionSelectorTest.Float64SubWithFloat64Mul BUG= Review-Url: https://codereview.chromium.org/2341303002 Cr-Commit-Position: refs/heads/master@{#39616}
-
- 21 Sep, 2016 1 commit
-
-
marija.antic authored
Port of https://crrev.com/14a5c18cc35b2c55b37de3bd0ad27941cf21cb68 BUG= Review-Url: https://codereview.chromium.org/2355743003 Cr-Commit-Position: refs/heads/master@{#39582}
-
- 22 Aug, 2016 1 commit
-
-
ahaas authored
The new operators are implemented similar to the Float64(Max|Min) which already exist. The purpose of the new operators is the implementation of the F32Max and F32Min instructions in WebAssembly. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2252863003 Cr-Commit-Position: refs/heads/master@{#38784}
-
- 16 Aug, 2016 1 commit
-
-
ivica.bogosavljevic authored
Port 77c9cb83. Original commit message: This commit fixes wasm little-endian load issue on big-endian platform by introducing reverse byte operation immediately after a load. BUG= Review-Url: https://codereview.chromium.org/2235703002 Cr-Commit-Position: refs/heads/master@{#38660}
-
- 08 Aug, 2016 1 commit
-
-
ahaas authored
This CL changes the semantics of FloatXXSub to match the semantics of the semantics of FloatXXSubPreserveNan. Therefore there is no need anymore for the FloatXXSubPreserveNan operators. The optimizations in VisitFloatXXSub which are removed in this CL have already been moved to machine-operator-reducer.cc in https://codereview.chromium.org/2226663002 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2220973002 Cr-Commit-Position: refs/heads/master@{#38437}
-
- 05 Aug, 2016 1 commit
-
-
ahaas authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2215403002 Cr-Commit-Position: refs/heads/master@{#38399}
-
- 22 Jul, 2016 2 commits
-
-
ivica.bogosavljevic authored
Implement UnalignedLoad and UnalignedStore optional turbofan operators and use them in WasmCompiler for unaligned memory access. BUG= Review-Url: https://codereview.chromium.org/2122853002 Cr-Commit-Position: refs/heads/master@{#37988}
-
bmeurer authored
So far we don't have a useful way to inline Math.max or Math.min in TurboFan optimized code. This adds new operators NumberMax and NumberMin and changes the Float64Max/Float64Min operators to have JavaScript semantics instead of the C++ semantics that it had previously. This also removes support for recognizing the tenary case in the CommonOperatorReducer, since that doesn't seem to have any positive impact (and actually doesn't show up in regular JavaScript, where people use Math.max/Math.min instead). Drive-by-fix: Also nuke the unused Float32Max/Float32Min operators. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2170343002 Cr-Commit-Position: refs/heads/master@{#37971}
-
- 14 Jul, 2016 1 commit
-
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2101123005 Cr-Commit-Position: refs/heads/master@{#37748}
-
- 20 Jun, 2016 1 commit
-
-
balazs.kilvady authored
MIPS: Followup '[turbofan] Introduce new operators Float32SubPreserveNan and Float64SubPreserveNan'. Port 481502da Float32SubMinusZero and Float64SubMinusZero tests are failing because MIPS does not preserve NaN payload according to Wasm spec. Implemented macro-assembler methods that check for NaN operands, and return the qNaN value with preserved payload and sign bits. TEST=cctest/test-run-wasm/Run_WasmFloat32SubMinusZero, cctest/test-run-wasm/Run_WasmFloat64SubMinusZero BUG= patch from issue 2019693002 at patchset 140001 (http://crrev.com/2019693002#ps140001) R=ahaas@chromium.org Review-Url: https://codereview.chromium.org/2066483008 Cr-Commit-Position: refs/heads/master@{#37105}
-
- 14 Jun, 2016 1 commit
-
-
jarin authored
This introduces SilenceNaN operator, which makes sure that we only store quiet NaNs into holey arrays. We omit the NaN silencing code at instruction selection time if the input is an operation that cannot possibly produce signalling NaNs. BUG= Review-Url: https://codereview.chromium.org/2060233002 Cr-Commit-Position: refs/heads/master@{#36950}
-
- 10 Jun, 2016 1 commit
-
-
bmeurer authored
This switches Math.log to use an fdlibm based version of log, imported as base::ieee754::log, and use that consistently everywhere, i.e. change the Float64Log TurboFan operators on Intel to use the C++ implementation as well (same for Crankshaft). R=yangguo@chromium.org BUG=v8:5065,v8:5086 Review-Url: https://codereview.chromium.org/2053893003 Cr-Commit-Position: refs/heads/master@{#36880}
-
- 03 Jun, 2016 1 commit
-
-
bmeurer authored
Introduce a dedicated Float64Log machine operator, that is either implemented by a direct C call or by platform specific code, i.e. using the FPU on x64 and ia32. This operator is used to implement Math.log as a proper TurboFan builtin on top of the CodeStubAssembler. Also introduce a NumberLog simplified operator on top of Float64Log and use that for the fast inline path of Math.log inside TurboFan optimized code. BUG=v8:5065 Review-Url: https://codereview.chromium.org/2029413005 Cr-Commit-Position: refs/heads/master@{#36703}
-
- 06 Apr, 2016 2 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1859143002 Cr-Commit-Position: refs/heads/master@{#35309}
-
marija.antic authored
Implementation of turbofan operators Word32PairShl, Word32PairShr, Word32PairSar, Int32AddPair and Int32SubPair for MIPS. Port of: https://codereview.chromium.org/1765973002/ https://codereview.chromium.org/1778893004/ https://codereview.chromium.org/1778493004/ https://codereview.chromium.org/1778893005/ https://codereview.chromium.org/1842013002/ Added tests for Word32PairShr and Word32PairSar in test-run-machops.cc. BUG= Review URL: https://codereview.chromium.org/1819383002 Cr-Commit-Position: refs/heads/master@{#35307}
-
- 05 Apr, 2016 1 commit
-
-
marija.antic authored
Port 40bdbef9 Implement Int32MulPair operator for MIPS. BUG= Review URL: https://codereview.chromium.org/1848253002 Cr-Commit-Position: refs/heads/master@{#35256}
-
- 18 Feb, 2016 2 commits
-
-
akos.palfi authored
Port 187b3f28 BUG= Review URL: https://codereview.chromium.org/1709793002 Cr-Commit-Position: refs/heads/master@{#34130}
-
akos.palfi authored
Port 2166bd8c BUG= Review URL: https://codereview.chromium.org/1708853002 Cr-Commit-Position: refs/heads/master@{#34112}
-
- 27 Jan, 2016 1 commit
-
-
marija.antic authored
Implement the optional turbofan operators Word32Ctz, Word64Ctz, Word32Popcnt and Word64Popcnt. BUG= Review URL: https://codereview.chromium.org/1588383002 Cr-Commit-Position: refs/heads/master@{#33555}
-
- 18 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.CombineChangeFloat32ToInt32WithRoundFloat32, ChangeFloat64ToInt32OfChangeFloat32ToFloat64, TruncateFloat64ToFloat32OfChangeInt32ToFloat64 BUG= Review URL: https://codereview.chromium.org/1520503002 Cr-Commit-Position: refs/heads/master@{#32969}
-
- 07 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSlectorTest.CombineChangeFloat64ToInt32WithRoundFloat64 BUG= Review URL: https://codereview.chromium.org/1510493002 Cr-Commit-Position: refs/heads/master@{#32668}
-
- 01 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.Word(32|64)AndToClearBits BUG= Review URL: https://codereview.chromium.org/1485023004 Cr-Commit-Position: refs/heads/master@{#32479}
-
- 26 Nov, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST= BUG= Review URL: https://codereview.chromium.org/1477043004 Cr-Commit-Position: refs/heads/master@{#32347}
-
- 20 Nov, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.Word32XorMinusOneWithWord32Or, Word64XorMinusOneWithWord64Or BUG= Review URL: https://codereview.chromium.org/1459723002 Cr-Commit-Position: refs/heads/master@{#32149}
-
- 19 Nov, 2015 1 commit
-
-
ivica.bogosavljevic authored
Port 1389b9f5 Port dffecf31 Implementation of two optional turbofan operators Float64RoundUp and Float64RoundTiesEven on MIPS32. On MIPS32R2 with FP64 and MIPS32R6 with FP64 we can support these two operators directly using MIPS instructions. This code implements these two operators. Also, added some DCHECKs for instructions which are supported on MIPS32R2 with FP64 and MIPS32R6 with FP64 to detect wrong usage on unsupported architectures. BUG= Review URL: https://codereview.chromium.org/1448383002 Cr-Commit-Position: refs/heads/master@{#32108}
-
- 17 Nov, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest/Word32ShrWithWord32AndWithImmediate, Word32AndWithImmediateWithWord32Shr, Word64AndWithImmediateWithWord64Shr, Word64AndWithImmediateWithWord64Shr BUG= Review URL: https://codereview.chromium.org/1457523002 Cr-Commit-Position: refs/heads/master@{#32062}
-
- 10 Nov, 2015 1 commit
-
-
bmeurer authored
Avoid write barriers when storing values in the root set, and use cheaper write barriers for storing maps or tagged pointers. Also improve the generated code for write barriers, utilizing the out of line code mechanism that is available to TurboFan backends, which moves the unlikely case out of the hot path. R=jarin@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1414183006 Cr-Commit-Position: refs/heads/master@{#31914}
-
- 04 Nov, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=cctest/test-run-machops/Float(64|32)MaxP, Float(64|32)MinP, unittests/InstructionSelectorTest.Float64Min|Max BUG=v8:4206 LOG=N Review URL: https://codereview.chromium.org/1419753008 Cr-Commit-Position: refs/heads/master@{#31806}
-
- 19 May, 2015 1 commit
-
-
balazs.kilvady authored
MIPS64r6 and MIPS32r6 support for min and max and Float64Max machine operators. BUG= Review URL: https://codereview.chromium.org/1027193002 Cr-Commit-Position: refs/heads/master@{#28471}
-
- 08 Apr, 2015 1 commit
-
-
balazs.kilvady authored
Port 9af9f1d0 Original commit message: These operators compute the absolute floating point value of some arbitrary input, and are implemented without any branches (i.e. using vabs on arm, and andps/andpd on x86). BUG= Review URL: https://codereview.chromium.org/1073463003 Cr-Commit-Position: refs/heads/master@{#27679}
-
- 30 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 8dad78cd Original commit message: This adds the basics necessary to support float32 operations in TurboFan. The actual functionality required to detect safe float32 operations will be added based on this later. Therefore this does not affect production code except for some cleanup/refactoring. In detail, this patchset contains the following features: - Add support for float32 operations to arm, arm64, ia32 and x64 backends. - Add float32 machine operators. - Add support for float32 constants to simplified lowering. - Handle float32 representation for phis in simplified lowering. In addition, contains the following (related) cleanups: - Fix/unify naming of backend instructions. - Use AVX comparisons when available. - Extend ArchOpcodeField to 9 bits (required for arm64). - Refactor some code duplication in instruction selectors. BUG=v8:3589 LOG=n Review URL: https://codereview.chromium.org/1046953004 Cr-Commit-Position: refs/heads/master@{#27531}
-
- 20 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 3aa206b8 BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/1020223002 Cr-Commit-Position: refs/heads/master@{#27343}
-
- 12 Mar, 2015 1 commit
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1006523002 Cr-Commit-Position: refs/heads/master@{#27169}
-
- 10 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 022ea7e0 Original commit message: Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize both Math.ceil and Math.floor, and use the JS inlining mechanism to inline Math.ceil into TurboFan code. Although we need to touch code outside of TurboFan to make this work, this does not affect the way we handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft the old-style builtin function id based inlining still kicks in first. Once this solution is stabilized, we can use it for Math.floor as well. And once that is settled, we can establish it as the unified way to inline builtins, and get rid of the specialized builtin function id based inlining at some point. Note that "builtin" applies to basically every piece of internal JavaScript/intrinsics based code, so this also applies to the yet to be defined JavaScript based code stubs and handlers. BUG=v8:3953 LOG=n Review URL: https://codereview.chromium.org/998503002 Cr-Commit-Position: refs/heads/master@{#27117}
-
- 05 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 4436c264 Original commit message: This adds support for the double bits intrinsics to TurboFan, and is a first step towards fast Math functions inlined into TurboFan code or even compiled by themselves with TurboFan. BUG= Review URL: https://codereview.chromium.org/980073003 Cr-Commit-Position: refs/heads/master@{#27028}
-
- 22 Dec, 2014 1 commit
-
-
Dusan Milosavljevic authored
TEST= BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/791473003 Cr-Commit-Position: refs/heads/master@{#25931}
-
- 03 Dec, 2014 1 commit
-
-
Dusan Milosavljevic authored
TEST= BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/769283002 Cr-Commit-Position: refs/heads/master@{#25636}
-
- 03 Nov, 2014 1 commit
-
-
balazs.kilvady@imgtec.com authored
Port r25061 (7fe697f) TEST=cctest,mjsunit,unittests BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/701543002 Cr-Commit-Position: refs/heads/master@{#25081} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2014 1 commit
-
-
balazs.kilvady@imgtec.com authored
Port r24595 (d0f464e) TEST=cctest,mjsunit,unittests BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/651223003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-