summaryrefslogtreecommitdiff
path: root/asmcomp/cmmgen.ml
diff options
context:
space:
mode:
authorKC Sivaramakrishnan <kc@kcsrk.info>2020-07-31 18:24:16 +0530
committerKC Sivaramakrishnan <kc@kcsrk.info>2020-07-31 18:24:16 +0530
commitafda9bcbd8ef0df1b38d78be0390efb89f8a9e4e (patch)
tree39f0a599b2598f0cf067765d6b62a3af56727c34 /asmcomp/cmmgen.ml
parent557ccefb684bd6217f7574729dca5f1e5348b56e (diff)
downloadocaml-afda9bcbd8ef0df1b38d78be0390efb89f8a9e4e.tar.gz
Add a primitive to insert nop instruction
Diffstat (limited to 'asmcomp/cmmgen.ml')
-rw-r--r--asmcomp/cmmgen.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/asmcomp/cmmgen.ml b/asmcomp/cmmgen.ml
index e1d00944c4..f2fc41c6e3 100644
--- a/asmcomp/cmmgen.ml
+++ b/asmcomp/cmmgen.ml
@@ -532,7 +532,7 @@ let rec transl env e =
->
fatal_error "Cmmgen.transl:prim, wrong arity"
| ((Pfield_computed|Psequand
- | Prunstack | Pperform | Presume | Preperform | Ppoll
+ | Prunstack | Pperform | Presume | Preperform | Ppoll | Pnop
| Patomic_load _ | Patomic_exchange
| Patomic_cas | Patomic_fetch_add
| Psequor | Pnot | Pnegint | Paddint | Psubint
@@ -841,6 +841,8 @@ and transl_prim_1 env p arg dbg =
dbg)
| Ppoll ->
Cop(Cpoll, [transl env arg], dbg)
+ | Pnop ->
+ Cop(Cnop, [transl env arg], dbg)
| Patomic_load _ ->
Cop(mk_load_mut Word_int, [transl env arg], dbg)
| (Pfield_computed | Psequand | Psequor
@@ -1023,7 +1025,7 @@ and transl_prim_2 env p arg1 arg2 dbg =
| Patomic_fetch_add ->
Cop (Cextcall ("caml_atomic_fetch_add", typ_int, false, None),
[transl env arg1; transl env arg2], dbg)
- | Prunstack | Pperform | Presume | Preperform | Ppoll
+ | Prunstack | Pperform | Presume | Preperform | Ppoll | Pnop
| Patomic_cas | Patomic_load _
| Pnot | Pnegint | Pintoffloat | Pfloatofint | Pnegfloat
| Pabsfloat | Pstringlength | Pbyteslength | Pbytessetu | Pbytessets
@@ -1096,7 +1098,7 @@ and transl_prim_3 env p arg1 arg2 arg3 dbg =
transl env arg2; transl env arg3],
dbg)
- | Pperform | Ppoll
+ | Pperform | Ppoll | Pnop
| Patomic_exchange | Patomic_fetch_add | Patomic_load _
| Pfield_computed | Psequand | Psequor | Pnot | Pnegint | Paddint
| Psubint | Pmulint | Pandint | Porint | Pxorint | Plslint | Plsrint | Pasrint