-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Remove xbegin and _xend #126952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove xbegin and _xend #126952
Conversation
@llvm/pr-subscribers-backend-x86 @llvm/pr-subscribers-clang Author: Devon Loehr (DKLoehr) Changes
Furthermore, the Fixes #95133 Full diff: https://github.com/llvm/llvm-project/pull/126952.diff 1 Files Affected:
diff --git a/clang/lib/Headers/intrin.h b/clang/lib/Headers/intrin.h
index 376046aeeaf5e..3dd1eb45817d4 100644
--- a/clang/lib/Headers/intrin.h
+++ b/clang/lib/Headers/intrin.h
@@ -162,8 +162,6 @@ void _Store_HLERelease(long volatile *, long);
void _Store64_HLERelease(__int64 volatile *, __int64);
void _StorePointer_HLERelease(void *volatile *, void *);
void _WriteBarrier(void);
-unsigned __int32 xbegin(void);
-void _xend(void);
/* These additional intrinsics are turned on in x64/amd64/x86_64 mode. */
#if defined(__x86_64__) && !defined(__arm64ec__)
|
This is an observable behavior change, so it should have a test. There's a test for this header at clang/test/Headers/ms-intrins.cpp that you can extend. You probably need to add a new RUN line that adds |
Added a test based on the linked bug. I couldn't get it to reproduce in anything that seemed to fit in the existing file, so I made a new one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Just checking in, this was approved a few days ago but hasn't been merged yet. |
Should this be uplifted to release/20.x? |
intrin.h
contains declarations for bothxbegin
and_xend
, but they should already be included transitively fromrtmintrin.h
viaimmintrin.h
and/orx86intrin.h
. Having them in both places causes problems if both headers are included.Furthermore, the
intrin.h
declaration ofxbegin
seems to be bugged anyway, since it's missing its leading underscore.Fixes #95133