[commit: ghc] master: Add new mbmi and mbmi2 compiler flags (f5dc8cc)
git at git.haskell.org
git at git.haskell.org
Wed Nov 15 20:05:35 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/f5dc8ccc29429d0a1d011f62b6b430f6ae50290c/ghc
>---------------------------------------------------------------
commit f5dc8ccc29429d0a1d011f62b6b430f6ae50290c
Author: John Ky <newhoggy at gmail.com>
Date: Wed Nov 15 11:35:42 2017 -0500
Add new mbmi and mbmi2 compiler flags
This adds support for the bit deposit and extraction operations provided
by the BMI and BMI2 instruction set extensions on modern amd64 machines.
Test Plan: Validate
Reviewers: austin, simonmar, bgamari, hvr, goldfire, erikd
Reviewed By: bgamari
Subscribers: goldfire, erikd, trommler, newhoggy, rwbarton, thomie
GHC Trac Issues: #14206
Differential Revision: https://phabricator.haskell.org/D4063
>---------------------------------------------------------------
f5dc8ccc29429d0a1d011f62b6b430f6ae50290c
compiler/cmm/CmmMachOp.hs | 2 +
compiler/cmm/CmmParse.y | 10 ++
compiler/cmm/PprC.hs | 2 +
compiler/codeGen/StgCmmPrim.hs | 78 ++++++++++++++
compiler/coreSyn/MkCore.hs | 1 -
compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 6 ++
compiler/main/DynFlags.hs | 27 +++++
compiler/nativeGen/CPrim.hs | 20 ++++
compiler/nativeGen/PPC/CodeGen.hs | 2 +
compiler/nativeGen/SPARC/CodeGen.hs | 2 +
compiler/nativeGen/X86/CodeGen.hs | 69 +++++++++++++
compiler/nativeGen/X86/Instr.hs | 9 ++
compiler/nativeGen/X86/Ppr.hs | 13 +++
compiler/prelude/primops.txt.pp | 22 ++++
libraries/ghc-prim/cbits/pdep.c | 71 +++++++++++++
libraries/ghc-prim/cbits/pext.c | 67 ++++++++++++
libraries/ghc-prim/ghc-prim.cabal | 2 +
testsuite/tests/codeGen/should_run/all.T | 2 +
testsuite/tests/codeGen/should_run/cgrun075.hs | 115 +++++++++++++++++++++
.../{cgrun071.stdout => cgrun075.stdout} | 0
testsuite/tests/codeGen/should_run/cgrun076.hs | 115 +++++++++++++++++++++
.../{cgrun071.stdout => cgrun076.stdout} | 0
22 files changed, 634 insertions(+), 1 deletion(-)
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 f5dc8ccc29429d0a1d011f62b6b430f6ae50290c
More information about the ghc-commits
mailing list