genMachOp_slow :: EOption -> MachOp -> [CmmExpr] -> LlvmM ExprData

-- Element extraction
genMachOp_slow _ (MO_V_Extract l w) [val, idx] = runExprData $ do
    vval <- exprToVarW val
    vidx <- exprToVarW idx
    [vval'] <- castVarsW [(vval, LMVector l ty)]
    doExprW ty $ Extract vval' vidx
  where
    ty = widthToLlvmInt w
genMachOp_slow :: EOption -> MachOp -> [CmmExpr] -> LlvmM ExprData
genMachOp_slow _ (MO_V_Extract l w) [val, idx] = runExprData $ do
    vval <- exprToVarW val
    vidx <- exprToVarW idx
    [vval'] <- castVarsW [(vval, LMVector l ty)]
    doExprW ty $ Extract vval' vidx
  where
    ty = widthToLlvmInt w
genMachOp_slow _ (MO_V_Extract l w) [val, idx] = runExprData $ do
    vval <- exprToVarW val
    vidx <- exprToVarW idx
    [vval'] <- castVarsW [(vval, LMVector l ty)]
    doExprW ty $ Extract vval' vidx
  where
    ty = widthToLlvmInt w