[PATCH] D45311: Introduce wbinvd intrinsic
Gabor Buella via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 5 02:02:33 PDT 2018
GBuella created this revision.
GBuella added reviewers: craig.topper, echristo.
Herald added a subscriber: cfe-commits.
A previously missing intrinsic for an old instruction.
Repository:
rC Clang
https://reviews.llvm.org/D45311
Files:
include/clang/Basic/BuiltinsX86.def
lib/Headers/ia32intrin.h
test/CodeGen/builtin-wbinvd.c
Index: test/CodeGen/builtin-wbinvd.c
===================================================================
--- /dev/null
+++ test/CodeGen/builtin-wbinvd.c
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 %s -ffreestanding -triple=x86_64-unknown-unknown -emit-llvm -o - -Wall -Werror | FileCheck %s
+// RUN: %clang_cc1 %s -ffreestanding -triple=i386-unknown-unknown -emit-llvm -o - -Wall -Werror | FileCheck %s
+
+#include <x86intrin.h>
+
+void test_wbinvd(void) {
+ //CHECK-LABEL: @test_wbinvd
+ //CHECK: @llvm.x86.wbinvd
+ _wbinvd();
+}
Index: lib/Headers/ia32intrin.h
===================================================================
--- lib/Headers/ia32intrin.h
+++ lib/Headers/ia32intrin.h
@@ -70,4 +70,9 @@
#define _rdpmc(A) __rdpmc(A)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+_wbinvd(void) {
+ return __builtin_ia32_wbinvd();
+}
+
#endif /* __IA32INTRIN_H */
Index: include/clang/Basic/BuiltinsX86.def
===================================================================
--- include/clang/Basic/BuiltinsX86.def
+++ include/clang/Basic/BuiltinsX86.def
@@ -679,6 +679,8 @@
//CLWB
TARGET_BUILTIN(__builtin_ia32_clwb, "vvC*", "", "clwb")
+TARGET_BUILTIN(__builtin_ia32_wbinvd, "v", "", "")
+
// ADX
TARGET_BUILTIN(__builtin_ia32_addcarryx_u32, "UcUcUiUiUi*", "", "adx")
TARGET_BUILTIN(__builtin_ia32_addcarry_u32, "UcUcUiUiUi*", "", "")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45311.141115.patch
Type: text/x-patch
Size: 1375 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180405/b4958013/attachment.bin>
More information about the cfe-commits
mailing list