[all-commits] [llvm/llvm-project] 06f640: [X86] Enable EVEX GFNI instructions without avx512bw.
Craig Topper via All-commits
all-commits at lists.llvm.org
Mon Oct 31 10:32:13 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 06f640d3fb060e2e9cfed1d7c44636c7ffe3308b
https://github.com/llvm/llvm-project/commit/06f640d3fb060e2e9cfed1d7c44636c7ffe3308b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2022-10-31 (Mon, 31 Oct 2022)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/gfniintrin.h
M clang/test/CodeGen/X86/gfni-builtins.c
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll
Log Message:
-----------
[X86] Enable EVEX GFNI instructions without avx512bw.
We only really need avx512bw for masking 256 or 512 bit GFNI
instructions due to the need for v32i1 or v64i1.
I wanted to enable 128-bit intrinsics with avx512vl, but the
__builtin_ia32_selectb_128 used in the header file requires avx512bw.
The codegen test for the same is also not using a masked instruction
because vselect with v16i1 mask and v16i8 is not legal so is expanded
before isel. To fix these issues we need a mask specific builtin and a
mask specific ISD opcode.
Fixes PR58687.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D137036
More information about the All-commits
mailing list