From 66ae780e8a94f676480e9eec40354a3a8cbc3041 Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Fri, 11 Dec 2015 10:15:33 +0100 Subject: bug 17752, add builtin_nop for PowerPC --- powerpc/Asmexpand.ml | 3 +++ powerpc/CBuiltins.ml | 3 +++ 2 files changed, 6 insertions(+) mode change 100644 => 100755 powerpc/Asmexpand.ml (limited to 'powerpc') diff --git a/powerpc/Asmexpand.ml b/powerpc/Asmexpand.ml old mode 100644 new mode 100755 index 20ae0f66..93a0b17f --- a/powerpc/Asmexpand.ml +++ b/powerpc/Asmexpand.ml @@ -510,6 +510,9 @@ let expand_builtin_inline name args res = end; emit (Por (res, res, GPR0)) end + (* no operation *) + | "__builtin_nop", [], _ -> + emit (Pori (GPR0, GPR0, Cint _0)) (* atomic operations *) | "__builtin_atomic_exchange", [BA (IR a1); BA (IR a2); BA (IR a3)],_ -> emit (Plwz (GPR10,Cint _0,a2)); diff --git a/powerpc/CBuiltins.ml b/powerpc/CBuiltins.ml index 6efeff17..a611aabe 100755 --- a/powerpc/CBuiltins.ml +++ b/powerpc/CBuiltins.ml @@ -122,6 +122,9 @@ let builtins = { (* uisel *) "__builtin_uisel", (TInt (IUInt, []),[TInt(IBool, []);TInt(IUInt, []);TInt(IUInt, [])],false); + (* no operation *) + "__builtin_nop", + (TVoid [], [], false); (* atomic operations *) "__builtin_atomic_exchange", (TVoid [], [TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[])],false); -- cgit