[PATCH] D20325: Add ARM cdp intrinsics
Tim Northover via cfe-commits
cfe-commits at lists.llvm.org
Tue May 17 10:20:30 PDT 2016
t.p.northover added a subscriber: t.p.northover.
t.p.northover added a comment.
I don't think we need to wait until the document is public, necessarily. The entire AArch64 backend went in before the encodings were public outside ARM (except maybe in binutils source?) and releasing specifications with no implementation yet is a bit annoying too.
We may discover bugs (though this seems fairly straightforward), but I think it's highly unlikely we'll have vocal and powerful enough users of such a niche feature to prevent us fixing them.
I agree about the asm tests though, they belong in LLVM.
Comment at: include/clang/Basic/BuiltinsARM.def:55
@@ -54,3 +54,3 @@
BUILTIN(__builtin_arm_mrc2, "UiUIiUIiUIiUIiUIi", "")
-BUILTIN(__builtin_arm_cdp, "vUiUiUiUiUiUi", "")
-BUILTIN(__builtin_arm_cdp2, "vUiUiUiUiUiUi", "")
+BUILTIN(__builtin_arm_cdp, "vUIiUIiUIiUIiUIiUIi", "")
+BUILTIN(__builtin_arm_cdp2, "vUIiUIiUIiUIiUIiUIi", "")
> I wonder why the old signature was wrong... probably because the docs weren't public and no one could really check whether they were right or not. I don't want to repeat the same mistake.
The difference between "UIi" and "Ui" is that the fix requires a constant. A pretty obvious restriction even without a specification.
More information about the cfe-commits