summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorGeoffrey Mainland <gmainlan@microsoft.com>2011-11-04 17:44:39 +0000
committerGeoffrey Mainland <gmainlan@microsoft.com>2013-02-01 22:00:24 +0000
commit6480a35c15717025c169980b1cc763a7e6f36056 (patch)
treea4c5c6584018cd5c584414953435a6c076e02181 /includes
parent4906460ad21ca2e90c0e2d9d50368fdc13c71bf2 (diff)
downloadhaskell-6480a35c15717025c169980b1cc763a7e6f36056.tar.gz
Always pass vector values on the stack.
Vector values are now always passed on the stack. This isn't particularly efficient, but it will have to do for now.
Diffstat (limited to 'includes')
-rw-r--r--includes/Cmm.h7
-rw-r--r--includes/rts/storage/FunTypes.h35
-rw-r--r--includes/stg/MiscClosures.h2
3 files changed, 24 insertions, 20 deletions
diff --git a/includes/Cmm.h b/includes/Cmm.h
index 41e7b894d2..1505b1cb6a 100644
--- a/includes/Cmm.h
+++ b/includes/Cmm.h
@@ -95,9 +95,10 @@
#error Unknown long size
#endif
-#define F_ float32
-#define D_ float64
-#define L_ bits64
+#define F_ float32
+#define D_ float64
+#define L_ bits64
+#define V16_ bits128
#define SIZEOF_StgDouble 8
#define SIZEOF_StgWord64 8
diff --git a/includes/rts/storage/FunTypes.h b/includes/rts/storage/FunTypes.h
index b44366789b..0ba65bb79d 100644
--- a/includes/rts/storage/FunTypes.h
+++ b/includes/rts/storage/FunTypes.h
@@ -33,22 +33,23 @@
#define ARG_F 6
#define ARG_D 7
#define ARG_L 8
-#define ARG_NN 9
-#define ARG_NP 10
-#define ARG_PN 11
-#define ARG_PP 12
-#define ARG_NNN 13
-#define ARG_NNP 14
-#define ARG_NPN 15
-#define ARG_NPP 16
-#define ARG_PNN 17
-#define ARG_PNP 18
-#define ARG_PPN 19
-#define ARG_PPP 20
-#define ARG_PPPP 21
-#define ARG_PPPPP 22
-#define ARG_PPPPPP 23
-#define ARG_PPPPPPP 24
-#define ARG_PPPPPPPP 25
+#define ARG_V16 9
+#define ARG_NN 10
+#define ARG_NP 11
+#define ARG_PN 12
+#define ARG_PP 13
+#define ARG_NNN 14
+#define ARG_NNP 15
+#define ARG_NPN 16
+#define ARG_NPP 17
+#define ARG_PNN 18
+#define ARG_PNP 19
+#define ARG_PPN 20
+#define ARG_PPP 21
+#define ARG_PPPP 22
+#define ARG_PPPPP 23
+#define ARG_PPPPPP 24
+#define ARG_PPPPPPP 25
+#define ARG_PPPPPPPP 26
#endif /* RTS_STORAGE_FUNTYPES_H */
diff --git a/includes/stg/MiscClosures.h b/includes/stg/MiscClosures.h
index 0eccfbf0e5..eec98c2357 100644
--- a/includes/stg/MiscClosures.h
+++ b/includes/stg/MiscClosures.h
@@ -223,6 +223,7 @@ RTS_RET(stg_ap_v);
RTS_RET(stg_ap_f);
RTS_RET(stg_ap_d);
RTS_RET(stg_ap_l);
+RTS_RET(stg_ap_v16);
RTS_RET(stg_ap_n);
RTS_RET(stg_ap_p);
RTS_RET(stg_ap_pv);
@@ -239,6 +240,7 @@ RTS_FUN_DECL(stg_ap_v_fast);
RTS_FUN_DECL(stg_ap_f_fast);
RTS_FUN_DECL(stg_ap_d_fast);
RTS_FUN_DECL(stg_ap_l_fast);
+RTS_FUN_DECL(stg_ap_v16_fast);
RTS_FUN_DECL(stg_ap_n_fast);
RTS_FUN_DECL(stg_ap_p_fast);
RTS_FUN_DECL(stg_ap_pv_fast);