Commit 0873e46c authored by rl@cse.unsw.edu.au's avatar rl@cse.unsw.edu.au
Browse files

Treat some standard data cons specially during vectorisation

This is a temporary hack which allows us to vectorise literals.
parent a41bfc02
......@@ -243,6 +243,17 @@ vectExpr e@(_, AnnApp _ arg)
where
(fn, tys) = collectAnnTypeArgs e
vectExpr (_, AnnApp (_, AnnVar v) (_, AnnLit lit))
| Just con <- isDataConId_maybe v
, is_special_con con
= do
let vexpr = App (Var v) (Lit lit)
lexpr <- liftPA vexpr
return (vexpr, lexpr)
where
is_special_con con = con `elem` [intDataCon, floatDataCon, doubleDataCon]
vectExpr (_, AnnApp fn arg)
= do
arg_ty' <- vectType arg_ty
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment