[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