diff options
author | Ben Gamari <ben@smart-cactus.org> | 2017-11-22 14:27:55 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-11-22 14:27:55 -0500 |
commit | 341013e24764cb7fc95169fddcda1bdb02434bb6 (patch) | |
tree | e77842663394b0c3cfdd5a1cd04e24d94590edcf /compiler/codeGen | |
parent | abdb5559b74af003a6d85f32695c034ff739f508 (diff) | |
download | haskell-341013e24764cb7fc95169fddcda1bdb02434bb6.tar.gz |
Revert "Add new mbmi and mbmi2 compiler flags"
This broke the 32-bit build.
This reverts commit f5dc8ccc29429d0a1d011f62b6b430f6ae50290c.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmPrim.hs | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/compiler/codeGen/StgCmmPrim.hs b/compiler/codeGen/StgCmmPrim.hs index 18074991b3..da652bf1b0 100644 --- a/compiler/codeGen/StgCmmPrim.hs +++ b/compiler/codeGen/StgCmmPrim.hs @@ -584,20 +584,6 @@ emitPrimOp _ [res] PopCnt32Op [w] = emitPopCntCall res w W32 emitPrimOp _ [res] PopCnt64Op [w] = emitPopCntCall res w W64 emitPrimOp dflags [res] PopCntOp [w] = emitPopCntCall res w (wordWidth dflags) --- Parallel bit deposit -emitPrimOp _ [res] Pdep8Op [src, mask] = emitPdepCall res src mask W8 -emitPrimOp _ [res] Pdep16Op [src, mask] = emitPdepCall res src mask W16 -emitPrimOp _ [res] Pdep32Op [src, mask] = emitPdepCall res src mask W32 -emitPrimOp _ [res] Pdep64Op [src, mask] = emitPdepCall res src mask W64 -emitPrimOp dflags [res] PdepOp [src, mask] = emitPdepCall res src mask (wordWidth dflags) - --- Parallel bit extract -emitPrimOp _ [res] Pext8Op [src, mask] = emitPextCall res src mask W8 -emitPrimOp _ [res] Pext16Op [src, mask] = emitPextCall res src mask W16 -emitPrimOp _ [res] Pext32Op [src, mask] = emitPextCall res src mask W32 -emitPrimOp _ [res] Pext64Op [src, mask] = emitPextCall res src mask W64 -emitPrimOp dflags [res] PextOp [src, mask] = emitPextCall res src mask (wordWidth dflags) - -- count leading zeros emitPrimOp _ [res] Clz8Op [w] = emitClzCall res w W8 emitPrimOp _ [res] Clz16Op [w] = emitClzCall res w W16 @@ -879,56 +865,6 @@ callishPrimOpSupported dflags op || llvm -> Left MO_F64_Fabs | otherwise -> Right $ genericFabsOp W64 - -- Pdep8Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pdep (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPdep8Op)" - - -- Pdep16Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pdep (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPdep16Op)" - - -- Pdep32Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pdep (wordWidth dflags)) - - -- | otherwise -> error "TODO: Implement (Right genericPdep32Op)" - -- Pdep64Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pdep (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPdep64Op)" - - -- PdepOp | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pdep (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPdepOp)" - - -- Pext8Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pext (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPext8Op)" - - -- Pext16Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pext (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPext16Op)" - - -- Pext32Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pext (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPext32Op)" - - -- Pext64Op | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pext (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPext64Op)" - - -- PextOp | (ncg && (x86ish - -- || ppc)) - -- || llvm -> Left (MO_Pext (wordWidth dflags)) - -- | otherwise -> error "TODO: Implement (Right genericPextOp)" - _ -> pprPanic "emitPrimOp: can't translate PrimOp " (ppr op) where ncg = case hscTarget dflags of @@ -2330,20 +2266,6 @@ emitPopCntCall res x width = do (MO_PopCnt width) [ x ] -emitPdepCall :: LocalReg -> CmmExpr -> CmmExpr -> Width -> FCode () -emitPdepCall res x y width = do - emitPrimCall - [ res ] - (MO_Pdep width) - [ x, y ] - -emitPextCall :: LocalReg -> CmmExpr -> CmmExpr -> Width -> FCode () -emitPextCall res x y width = do - emitPrimCall - [ res ] - (MO_Pext width) - [ x, y ] - emitClzCall :: LocalReg -> CmmExpr -> Width -> FCode () emitClzCall res x width = do emitPrimCall |