aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2019-12-13 18:16:06 +0100
committerXavier Leroy <xavierleroy@users.noreply.github.com>2019-12-21 10:34:53 +0100
commit4dfcd7d4be18e8bc437ca170782212aa06635a95 (patch)
treea0dfa75b91b24d82c0864fb7ecc9bed9c5cc73a0 /aarch64
parent54fb9faab6a53fad126fd57c3d58b232ff181cd1 (diff)
downloadcompcert-kvx-4dfcd7d4be18e8bc437ca170782212aa06635a95.tar.gz
compcert-kvx-4dfcd7d4be18e8bc437ca170782212aa06635a95.zip
Remove `__builtin_nop` for some architectures. (#208)
The `__builtin_nop` function is documented only for PowerPC. It was added to the other architectures by copy paste, but has no known uses. So, remove `__builtin_nop` from all architectures but PowerPC.
Diffstat (limited to 'aarch64')
-rw-r--r--aarch64/Asm.v4
-rw-r--r--aarch64/Asmexpand.ml2
-rw-r--r--aarch64/TargetPrinter.ml3
3 files changed, 1 insertions, 8 deletions
diff --git a/aarch64/Asm.v b/aarch64/Asm.v
index 47cd3051..87fcae8e 100644
--- a/aarch64/Asm.v
+++ b/aarch64/Asm.v
@@ -298,7 +298,6 @@ Inductive instruction: Type :=
| Pbtbl (r1: ireg) (tbl: list label) (**r N-way branch through a jump table *)
| Pbuiltin (ef: external_function)
(args: list (builtin_arg preg)) (res: builtin_res preg) (**r built-in function (pseudo) *)
- | Pnop (**r no operation *)
| Pcfi_adjust (ofs: int) (**r .cfi_adjust debug directive *)
| Pcfi_rel_offset (ofs: int) (**r .cfi_rel_offset debug directive *)
.
@@ -1112,8 +1111,7 @@ Definition exec_instr (f: function) (i: instruction) (rs: regset) (m: mem) : out
| Pfmsub _ _ _ _ _
| Pfnmadd _ _ _ _ _
| Pfnmsub _ _ _ _ _
- | Pnop
- | Pcfi_adjust _
+ | Pcfi_adjust _
| Pcfi_rel_offset _ =>
Stuck
end.
diff --git a/aarch64/Asmexpand.ml b/aarch64/Asmexpand.ml
index 471ad501..cbe1cf2f 100644
--- a/aarch64/Asmexpand.ml
+++ b/aarch64/Asmexpand.ml
@@ -327,8 +327,6 @@ let expand_builtin_inline name args res =
(* Synchronization *)
| "__builtin_membar", [], _ ->
()
- | "__builtin_nop", [], _ ->
- emit Pnop
(* Byte swap *)
| ("__builtin_bswap" | "__builtin_bswap32"), [BA(IR a1)], BR(IR res) ->
emit (Prev(W, res, a1))
diff --git a/aarch64/TargetPrinter.ml b/aarch64/TargetPrinter.ml
index e54673dd..f64083c4 100644
--- a/aarch64/TargetPrinter.ml
+++ b/aarch64/TargetPrinter.ml
@@ -473,9 +473,6 @@ module Target : TARGET =
(* Floating-point conditional select *)
| Pfsel(rd, r1, r2, c) ->
fprintf oc " fcsel %a, %a, %a, %s\n" dreg rd dreg r1 dreg r2 (condition_name c)
- (* No-op *)
- | Pnop ->
- fprintf oc " nop\n"
(* Pseudo-instructions expanded in Asmexpand *)
| Pallocframe(sz, linkofs) -> assert false
| Pfreeframe(sz, linkofs) -> assert false