From 08365cdd07e1b688b5a3885b9cf69626af63baf2 Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Mon, 14 Dec 2015 09:51:46 +0100 Subject: bug 17752, builtin_nop for ia32 --- ia32/Asmexpand.ml | 3 +++ ia32/CBuiltins.ml | 3 +++ 2 files changed, 6 insertions(+) (limited to 'ia32') diff --git a/ia32/Asmexpand.ml b/ia32/Asmexpand.ml index dcea9de4..d7b554dc 100644 --- a/ia32/Asmexpand.ml +++ b/ia32/Asmexpand.ml @@ -343,6 +343,9 @@ let expand_builtin_inline name args res = (* Synchronization *) | "__builtin_membar", [], _ -> () + (* no operation *) + | "__builtin_nop", [], _ -> + emit (Pxchg_rr (EAX,EAX)) (* Catch-all *) | _ -> raise (Error ("unrecognized builtin " ^ name)) diff --git a/ia32/CBuiltins.ml b/ia32/CBuiltins.ml index 125e71d5..771d2786 100644 --- a/ia32/CBuiltins.ml +++ b/ia32/CBuiltins.ml @@ -65,6 +65,9 @@ let builtins = { (TVoid [], [TPtr(TInt(IUShort, []), []); TInt(IUShort, [])], false); "__builtin_write32_reversed", (TVoid [], [TPtr(TInt(IUInt, []), []); TInt(IUInt, [])], false); + (* no operation *) + "__builtin_nop", + (TVoid [], [], false); ] } -- cgit