summaryrefslogtreecommitdiff
path: root/compiler/llvmGen/LlvmCodeGen/Data.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/llvmGen/LlvmCodeGen/Data.hs')
-rw-r--r--compiler/llvmGen/LlvmCodeGen/Data.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/Data.hs b/compiler/llvmGen/LlvmCodeGen/Data.hs
index fd0d7ccd99..83b5453aa9 100644
--- a/compiler/llvmGen/LlvmCodeGen/Data.hs
+++ b/compiler/llvmGen/LlvmCodeGen/Data.hs
@@ -171,6 +171,14 @@ genStaticLit (CmmInt i w)
genStaticLit (CmmFloat r w)
= Right $ LMStaticLit (LMFloatLit (fromRational r) (widthToLlvmFloat w))
+genStaticLit (CmmVec ls)
+ = Right $ LMStaticLit (LMVectorLit (map toLlvmLit ls))
+ where
+ toLlvmLit :: CmmLit -> LlvmLit
+ toLlvmLit lit = case genStaticLit lit of
+ Right (LMStaticLit llvmLit) -> llvmLit
+ _ -> panic "genStaticLit"
+
-- Leave unresolved, will fix later
genStaticLit c@(CmmLabel _ ) = Left $ c
genStaticLit c@(CmmLabelOff _ _) = Left $ c