[commit: ghc] master: Add 'addWordC#' PrimOp (6243bba)

git at git.haskell.org git at git.haskell.org
Sat May 5 21:07:27 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/6243bba73d14cbee4219a16d45f57d1b254a6456/ghc

>---------------------------------------------------------------

commit 6243bba73d14cbee4219a16d45f57d1b254a6456
Author: Sebastian Graf <sebastian.graf at kit.edu>
Date:   Sat May 5 13:30:32 2018 -0400

    Add 'addWordC#' PrimOp
    
    This is mostly for congruence with 'subWordC#' and '{add,sub}IntC#'.
    I found 'plusWord2#' while implementing this, which both lacks
    documentation and has a slightly different specification than
    'addWordC#', which means the generic implementation is unnecessarily
    complex.
    
    While I was at it, I also added lacking meta-information on PrimOps
    and refactored 'subWordC#'s generic implementation to be branchless.
    
    Reviewers: bgamari, simonmar, jrtc27, dfeuer
    
    Reviewed By: bgamari, dfeuer
    
    Subscribers: dfeuer, thomie, carter
    
    Differential Revision: https://phabricator.haskell.org/D4592


>---------------------------------------------------------------

6243bba73d14cbee4219a16d45f57d1b254a6456
 compiler/cmm/CmmMachOp.hs                          |  1 +
 compiler/cmm/PprC.hs                               |  1 +
 compiler/codeGen/StgCmmPrim.hs                     | 72 +++++++++++++++++++---
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs            |  6 ++
 compiler/nativeGen/PPC/CodeGen.hs                  |  7 +++
 compiler/nativeGen/SPARC/CodeGen.hs                |  1 +
 compiler/nativeGen/X86/CodeGen.hs                  |  3 +
 compiler/prelude/primops.txt.pp                    | 19 ++++--
 docs/users_guide/8.6.1-notes.rst                   |  7 ++-
 libraries/ghc-compact/ghc-compact.cabal            |  2 +-
 libraries/ghc-prim/changelog.md                    |  7 +++
 libraries/ghc-prim/ghc-prim.cabal                  |  2 +-
 testsuite/tests/ado/ado004.stderr                  |  2 +-
 .../tests/backpack/should_compile/bkp16.stderr     |  2 +-
 .../tests/determinism/determ021/determ021.stdout   |  4 +-
 testsuite/tests/driver/json2.stderr                |  4 +-
 .../indexed-types/should_compile/T3017.stderr      |  2 +-
 .../tests/partial-sigs/should_compile/ADT.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr1.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr2.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr3.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr4.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr5.stderr   |  2 +-
 .../partial-sigs/should_compile/AddAndOr6.stderr   |  2 +-
 .../partial-sigs/should_compile/BoolToBool.stderr  |  2 +-
 .../should_compile/DataFamilyInstanceLHS.stderr    |  2 +-
 .../should_compile/Defaulting1MROn.stderr          |  2 +-
 .../should_compile/Defaulting2MROff.stderr         |  2 +-
 .../should_compile/Defaulting2MROn.stderr          |  2 +-
 .../partial-sigs/should_compile/Either.stderr      |  2 +-
 .../should_compile/EqualityConstraint.stderr       |  2 +-
 .../tests/partial-sigs/should_compile/Every.stderr |  2 +-
 .../partial-sigs/should_compile/EveryNamed.stderr  |  2 +-
 .../should_compile/ExpressionSig.stderr            |  2 +-
 .../should_compile/ExpressionSigNamed.stderr       |  2 +-
 .../should_compile/ExtraConstraints1.stderr        |  2 +-
 .../should_compile/ExtraConstraints2.stderr        |  2 +-
 .../should_compile/ExtraConstraints3.stderr        |  2 +-
 .../should_compile/ExtraNumAMROff.stderr           |  2 +-
 .../should_compile/ExtraNumAMROn.stderr            |  2 +-
 .../partial-sigs/should_compile/Forall1.stderr     |  2 +-
 .../partial-sigs/should_compile/GenNamed.stderr    |  2 +-
 .../partial-sigs/should_compile/HigherRank1.stderr |  2 +-
 .../partial-sigs/should_compile/HigherRank2.stderr |  2 +-
 .../should_compile/LocalDefinitionBug.stderr       |  2 +-
 .../partial-sigs/should_compile/Meltdown.stderr    |  2 +-
 .../should_compile/MonoLocalBinds.stderr           |  2 +-
 .../partial-sigs/should_compile/NamedTyVar.stderr  |  2 +-
 .../NamedWildcardInDataFamilyInstanceLHS.stderr    |  2 +-
 .../NamedWildcardInTypeFamilyInstanceLHS.stderr    |  2 +-
 .../should_compile/ParensAroundContext.stderr      |  2 +-
 .../partial-sigs/should_compile/PatBind.stderr     |  2 +-
 .../partial-sigs/should_compile/PatBind2.stderr    |  2 +-
 .../partial-sigs/should_compile/PatternSig.stderr  |  2 +-
 .../partial-sigs/should_compile/Recursive.stderr   |  2 +-
 .../should_compile/ScopedNamedWildcards.stderr     |  2 +-
 .../should_compile/ScopedNamedWildcardsGood.stderr |  2 +-
 .../partial-sigs/should_compile/ShowNamed.stderr   |  2 +-
 .../partial-sigs/should_compile/SimpleGen.stderr   |  2 +-
 .../partial-sigs/should_compile/SkipMany.stderr    |  2 +-
 .../should_compile/SomethingShowable.stderr        |  2 +-
 .../should_compile/TypeFamilyInstanceLHS.stderr    |  2 +-
 .../partial-sigs/should_compile/Uncurry.stderr     |  2 +-
 .../should_compile/UncurryNamed.stderr             |  2 +-
 .../WarningWildcardInstantiations.stderr           |  2 +-
 testsuite/tests/roles/should_compile/Roles1.stderr |  2 +-
 .../tests/roles/should_compile/Roles14.stderr      |  2 +-
 testsuite/tests/roles/should_compile/Roles2.stderr |  2 +-
 testsuite/tests/roles/should_compile/Roles3.stderr |  2 +-
 testsuite/tests/roles/should_compile/Roles4.stderr |  2 +-
 testsuite/tests/roles/should_compile/T8958.stderr  |  2 +-
 testsuite/tests/th/TH_Roles2.stderr                |  2 +-
 .../tests/typecheck/should_compile/T12763.stderr   |  2 +-
 .../tests/typecheck/should_compile/tc231.stderr    |  2 +-
 74 files changed, 175 insertions(+), 81 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 6243bba73d14cbee4219a16d45f57d1b254a6456


More information about the ghc-commits mailing list