hans added a comment.

In D106790#2905110 <https://reviews.llvm.org/D106790#2905110>, @rnk wrote:

> Does this match GCC? They also provide this Intel intrinsic.

No, they define it without volatile (and also without const): 
https://github.com/gcc-mirror/gcc/blob/releases/gcc-11.1.0/gcc/config/i386/prfchwintrin.h#L32

But maybe their header doesn't get included together with Microsoft's header?



================
Comment at: clang/lib/Headers/prfchwintrin.h:54
+#pragma clang diagnostic ignored "-Wcast-qual"
+  __builtin_prefetch ((const void*)__P, 1, 3 /* _MM_HINT_T0 */);
+#pragma clang diagnostic pop
----------------
pengfei wrote:
> Can we declare `__builtin_prefetch` to volatile one in Builtins.def:
> ```
> BUILTIN(__builtin_prefetch, "vvCD*.", "nc")
> ```
We could, and that would remove the need for the cast, but I'm not sure it 
would make sense in itself. Since _m_prefetchw is the odd one here, I think it 
makes sense to do the fix in its implementation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106790/new/

https://reviews.llvm.org/D106790

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to