diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2021-04-13 15:04:34 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2021-04-13 15:04:34 +0200 |
commit | d53cc13b6e47843ebaf4b23c8b03dcef34f331f1 (patch) | |
tree | 9cae52930879af39cd3443cf48874df8a0a5e654 /cparser/Machine.ml | |
parent | 5a846f2aeb5eb659c1b510e3fb27e49677cb8680 (diff) | |
download | compcert-kvx-d53cc13b6e47843ebaf4b23c8b03dcef34f331f1.tar.gz compcert-kvx-d53cc13b6e47843ebaf4b23c8b03dcef34f331f1.zip |
Adding distinction between kvx-cos and kvx-mbr (for trapping loads)
Diffstat (limited to 'cparser/Machine.ml')
-rw-r--r-- | cparser/Machine.ml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cparser/Machine.ml b/cparser/Machine.ml index 73b71ea0..4f5a93d2 100644 --- a/cparser/Machine.ml +++ b/cparser/Machine.ml @@ -242,7 +242,7 @@ let rv64 = struct_passing_style = SP_ref_callee; (* Wrong *) struct_return_style = SR_ref } (* to check *) -let kvx = +let kvxbase = { name = "kvx"; char_signed = true; wchar_signed = true; @@ -275,7 +275,15 @@ let kvx = supports_unaligned_accesses = true; struct_passing_style = SP_value32_ref_callee; struct_return_style = SR_int1to4; - has_non_trapping_loads = true; + has_non_trapping_loads = false; +} + +let kvxcos = + { kvxbase with has_non_trapping_loads = false; +} + +let kvxmbr = + { kvxbase with has_non_trapping_loads = true; } let aarch64 = |