aboutsummaryrefslogtreecommitdiffstats
path: root/riscV
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2021-04-25 13:57:47 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2021-05-02 18:06:32 +0200
commit320c55590cc30d4ef5b2c1a226f0f940a6bdb445 (patch)
treeed6ad57e251e164fec31c57a6f2162daabc8305d /riscV
parent38b0babd5a642cea8912524debc63edc67fda08b (diff)
downloadcompcert-kvx-320c55590cc30d4ef5b2c1a226f0f940a6bdb445.tar.gz
compcert-kvx-320c55590cc30d4ef5b2c1a226f0f940a6bdb445.zip
Support __builtin_unreachable
Not yet used for optimizations.
Diffstat (limited to 'riscV')
-rw-r--r--riscV/Asmexpand.ml4
1 files changed, 4 insertions, 0 deletions
diff --git a/riscV/Asmexpand.ml b/riscV/Asmexpand.ml
index e8c142e9..dc0ec184 100644
--- a/riscV/Asmexpand.ml
+++ b/riscV/Asmexpand.ml
@@ -646,8 +646,12 @@ let expand_builtin_inline name args res =
(fun rl ->
emit (Pmulw (rl, X a, X b));
emit (Pmulhuw (rh, X a, X b)))
+ (* No operation *)
| "__builtin_nop", [], _ ->
emit Pnop
+ (* Optimization hint *)
+ | "__builtin_unreachable", [], _ ->
+ ()
(* Catch-all *)
| _ ->
raise (Error ("unrecognized builtin " ^ name))