summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/GHC/StgToByteCode.hs3
-rw-r--r--compiler/GHC/StgToCmm/ArgRep.hs1
2 files changed, 4 insertions, 0 deletions
diff --git a/compiler/GHC/StgToByteCode.hs b/compiler/GHC/StgToByteCode.hs
index 885af12944..a5931c2dd6 100644
--- a/compiler/GHC/StgToByteCode.hs
+++ b/compiler/GHC/StgToByteCode.hs
@@ -784,6 +784,9 @@ findPushSeq (D: rest)
= (PUSH_APPLY_D, 1, rest)
findPushSeq (L: rest)
= (PUSH_APPLY_L, 1, rest)
+findPushSeq argReps
+ | any (`elem` [V16, V32, V64]) argReps
+ = sorry "SIMD vector operations are not available in GHCi"
findPushSeq _
= panic "GHC.StgToByteCode.findPushSeq"
diff --git a/compiler/GHC/StgToCmm/ArgRep.hs b/compiler/GHC/StgToCmm/ArgRep.hs
index cc618a16ed..9db0ed7afc 100644
--- a/compiler/GHC/StgToCmm/ArgRep.hs
+++ b/compiler/GHC/StgToCmm/ArgRep.hs
@@ -52,6 +52,7 @@ data ArgRep = P -- GC Ptr
| V16 -- 16-byte (128-bit) vectors of Float/Double/Int8/Word32/etc.
| V32 -- 32-byte (256-bit) vectors of Float/Double/Int8/Word32/etc.
| V64 -- 64-byte (512-bit) vectors of Float/Double/Int8/Word32/etc.
+ deriving Eq
instance Outputable ArgRep where ppr = text . argRepString
argRepString :: ArgRep -> String