[all-commits] [llvm/llvm-project] 12fa60: [X86] Add CRC32 feature.

Tianqing Wang via All-commits all-commits at lists.llvm.org
Mon Sep 6 02:25:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12fa608af44a80de8b655a8a984cd095908e7e80
      https://github.com/llvm/llvm-project/commit/12fa608af44a80de8b655a8a984cd095908e7e80
  Author: Tianqing Wang <tianqing.wang at intel.com>
  Date:   2021-09-06 (Mon, 06 Sep 2021)

  Changed paths:
    M clang/docs/ClangCommandLineReference.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/crc32intrin.h
    M clang/lib/Headers/ia32intrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/x86gprintrin.h
    M clang/test/CodeGen/X86/x86-crc-builtins.c
    M clang/test/CodeGen/attr-cpuspecific.c
    A clang/test/CodeGen/attr-target-crc32-x86.c
    M clang/test/CodeGen/attr-target-x86.c
    A clang/test/Driver/x86-mcrc32.c
    A clang/test/Driver/x86-mgeneral-regs-only-crc32.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M llvm/include/llvm/Support/X86TargetParser.def
    M llvm/lib/Support/Host.cpp
    M llvm/lib/Support/X86TargetParser.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86Subtarget.h
    A llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86_64.ll
    A llvm/test/CodeGen/X86/crc32-intrinsics-x86.ll
    A llvm/test/CodeGen/X86/crc32-intrinsics-x86_64.ll
    A llvm/test/CodeGen/X86/crc32-target-feature.ll
    M llvm/test/CodeGen/X86/function-subtarget-features.ll
    R llvm/test/CodeGen/X86/sse42-intrinsics-fast-isel-x86_64.ll
    M llvm/test/CodeGen/X86/sse42-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/sse42-intrinsics-x86.ll
    R llvm/test/CodeGen/X86/sse42-intrinsics-x86_64.ll
    M llvm/test/CodeGen/X86/stack-folding-int-sse42.ll

  Log Message:
  -----------
  [X86] Add CRC32 feature.

d8faf03807ac implemented general-regs-only for X86 by disabling all features
with vector instructions. But the CRC32 instruction in SSE4.2 ISA, which uses
only GPRs, also becomes unavailable. This patch adds a CRC32 feature for this
instruction and allows it to be used with general-regs-only.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D105462




More information about the All-commits mailing list