[PATCH] D105462: [X86] Add CRC32 feature.
Wang Tianqing via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 25 19:31:43 PDT 2021
tianqing marked an inline comment as done.
tianqing added inline comments.
================
Comment at: clang/lib/Basic/Targets/X86.cpp:158
+ // Enable CRC32 if SSE4.2 is enabled and CRC32 is not explicitly set.
+ I = Features.find("sse4.2");
----------------
craig.topper wrote:
> Why doesn't this say "not explicitly disabled" like the others above?
Actually what I mean was "not explicitly enabled or disabled".
================
Comment at: clang/lib/Headers/ia32intrin.h:19
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
#define __DEFAULT_FN_ATTRS_SSE42 __attribute__((__always_inline__, __nodebug__, __target__("sse4.2")))
+#define __DEFAULT_FN_ATTRS_CRC32 __attribute__((__always_inline__, __nodebug__, __target__("crc32")))
----------------
craig.topper wrote:
> Is __DEFAULT_FN_ATTRS_SSE42 dead now?
Yes.
================
Comment at: clang/lib/Headers/immintrin.h:518
+ defined(__CRC32__)
+#include <crc32intrin.h>
+#endif
----------------
pengfei wrote:
> Should it be better to move together with "include <smmintrin.h>"?
I removed this block because it's already in x86gprintrin.h
================
Comment at: clang/lib/Headers/smmintrin.h:2358
-/// operand \a __D.
-static __inline__ unsigned int __DEFAULT_FN_ATTRS
-_mm_crc32_u8(unsigned int __C, unsigned char __D)
----------------
craig.topper wrote:
> Was min vector width incorrectly being applied to these before?
I think so.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105462/new/
https://reviews.llvm.org/D105462
More information about the cfe-commits
mailing list