aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Machine.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-10-14 11:17:45 +0200
committerCyril SIX <cyril.six@kalray.eu>2019-10-14 11:17:45 +0200
commit64a80f81297fb20c4f952d4b36cd0ae5d5da8f1e (patch)
treee41b0c4494181ee83e03d5909382cd29ade9516c /cparser/Machine.ml
parentc59a26be1b4ae5c0ecf963d0ff2436dc73e72123 (diff)
downloadcompcert-kvx-64a80f81297fb20c4f952d4b36cd0ae5d5da8f1e.tar.gz
compcert-kvx-64a80f81297fb20c4f952d4b36cd0ae5d5da8f1e.zip
Tackling struct passing by value for the future K1C ABI
Diffstat (limited to 'cparser/Machine.ml')
-rw-r--r--cparser/Machine.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/cparser/Machine.ml b/cparser/Machine.ml
index ac34fa5f..4999f0ac 100644
--- a/cparser/Machine.ml
+++ b/cparser/Machine.ml
@@ -18,6 +18,7 @@
type struct_passing_style =
| SP_ref_callee (* by reference, callee takes copy *)
| SP_ref_caller (* by reference, caller takes copy *)
+ | SP_value32_ref_callee (* by value if <= 32 bits, by ref_callee otherwise *)
| SP_split_args (* by value, as a sequence of ints *)
type struct_return_style =
@@ -268,8 +269,8 @@ let mppa_k1c =
bigendian = false;
bitfields_msb_first = false; (* TO CHECK *)
supports_unaligned_accesses = true;
- struct_passing_style = SP_split_args;
- struct_return_style = SR_int1248 }
+ struct_passing_style = SP_value32_ref_callee;
+ struct_return_style = SR_int1to4 }
(* Add GCC extensions re: sizeof and alignof *)