diff options
author | Michael Schmidt <github@mschmidt.me> | 2015-12-14 09:51:46 +0100 |
---|---|---|
committer | Michael Schmidt <github@mschmidt.me> | 2015-12-14 09:51:46 +0100 |
commit | 08365cdd07e1b688b5a3885b9cf69626af63baf2 (patch) | |
tree | fca173335923c94d174889a0cd68f61c9ec6d04a /ia32 | |
parent | 75a55495bdde3eb2366dd164a4c44f416fc592a0 (diff) | |
download | compcert-08365cdd07e1b688b5a3885b9cf69626af63baf2.tar.gz compcert-08365cdd07e1b688b5a3885b9cf69626af63baf2.zip |
bug 17752, builtin_nop for ia32
Diffstat (limited to 'ia32')
-rw-r--r-- | ia32/Asmexpand.ml | 3 | ||||
-rw-r--r-- | ia32/CBuiltins.ml | 3 |
2 files changed, 6 insertions, 0 deletions
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); ] } |