diff --git a/builtins.cpp b/builtins.cpp index c2422ead..d42ef4b2 100644 --- a/builtins.cpp +++ b/builtins.cpp @@ -467,6 +467,7 @@ lSetInternalFunctions(llvm::Module *module) { "__num_cores", "__packed_load_active", "__packed_store_active", + "__pause", "__popcnt_int32", "__popcnt_int64", "__prefetch_read_uniform_1", diff --git a/builtins/util.m4 b/builtins/util.m4 index 0cac6718..2d2918db 100644 --- a/builtins/util.m4 +++ b/builtins/util.m4 @@ -1603,6 +1603,11 @@ declare void @ISPCInstrument(i8*, i8*, i32, i64) nounwind declare i1 @__is_compile_time_constant_mask( %mask) declare i1 @__is_compile_time_constant_varying_int32() +define void @__pause() nounwind readnone { + call void asm sideeffect "pause", "~{dirflag},~{fpsr},~{flags}"() nounwind + ret void +} + ; This function declares placeholder masked store functions for the ; front-end to use. ;