1. 15 Dec, 2016 1 commit
    • ivica.bogosavljevic's avatar
      MIPS[64]: Disable fusion multiple-accumulate instructions · ee7281f8
      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}
      ee7281f8
  2. 22 Sep, 2016 1 commit
    • Ilija.Pavlovic's avatar
      MIPS: Port for (fused) multiply add/subtract. · 502b9aa7
      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}
      502b9aa7
  3. 21 Sep, 2016 1 commit
  4. 22 Aug, 2016 1 commit
  5. 16 Aug, 2016 1 commit
  6. 08 Aug, 2016 1 commit
  7. 05 Aug, 2016 1 commit
  8. 22 Jul, 2016 2 commits
    • ivica.bogosavljevic's avatar
      Implement UnaligedLoad and UnaligedStore turbofan operators. · 580fdf3c
      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}
      580fdf3c
    • bmeurer's avatar
      [turbofan] Change Float64Max/Float64Min to JavaScript semantics. · ba092fb0
      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}
      ba092fb0
  9. 14 Jul, 2016 1 commit
  10. 20 Jun, 2016 1 commit
  11. 14 Jun, 2016 1 commit
  12. 10 Jun, 2016 1 commit
    • bmeurer's avatar
      [builtins] Introduce proper base::ieee754::log. · d0c7775d
      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}
      d0c7775d
  13. 03 Jun, 2016 1 commit
    • bmeurer's avatar
      [builtins] Migrate Math.log to TurboFan. · f2da19fe
      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}
      f2da19fe
  14. 06 Apr, 2016 2 commits
  15. 05 Apr, 2016 1 commit
  16. 18 Feb, 2016 2 commits
  17. 27 Jan, 2016 1 commit
  18. 18 Dec, 2015 1 commit
  19. 07 Dec, 2015 1 commit
  20. 01 Dec, 2015 1 commit
  21. 26 Nov, 2015 1 commit
  22. 20 Nov, 2015 1 commit
  23. 19 Nov, 2015 1 commit
  24. 17 Nov, 2015 1 commit
  25. 10 Nov, 2015 1 commit
  26. 04 Nov, 2015 1 commit
  27. 19 May, 2015 1 commit
  28. 08 Apr, 2015 1 commit
  29. 30 Mar, 2015 1 commit
    • balazs.kilvady's avatar
      MIPS: [turbofan] Add backend support for float32 operations. · dd402998
      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}
      dd402998
  30. 20 Mar, 2015 1 commit
  31. 12 Mar, 2015 1 commit
  32. 10 Mar, 2015 1 commit
    • balazs.kilvady's avatar
      MIPS: [turbofan] Unify Math.floor / Math.ceil optimization. · 9c8bead9
      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}
      9c8bead9
  33. 05 Mar, 2015 1 commit
  34. 22 Dec, 2014 1 commit
  35. 03 Dec, 2014 1 commit
  36. 03 Nov, 2014 1 commit
  37. 14 Oct, 2014 1 commit