Skip to content

Commit

Permalink
[X86] Revert part of r332267: Remove GCCBuiltin from the intrinsics t…
Browse files Browse the repository at this point in the history
…hat clang stopped using in r332266.

The masking of instructions that produce byte or word elements doesn't work right without avx512bw since the generic i8/i16 select won't be legal in the SelectionDAG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332321 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
topperc committed May 15, 2018
1 parent 90842de commit b6cd9b4
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions include/llvm/IR/IntrinsicsX86.td
Original file line number Diff line number Diff line change
Expand Up @@ -5676,7 +5676,8 @@ let TargetPrefix = "x86" in {
Intrinsic<[],
[llvm_ptr_ty, llvm_v4i64_ty, llvm_i8_ty],
[IntrArgMemOnly]>;
def int_x86_avx512_mask_pmov_qw_512 : // FIXME: Replace with trunc+select.
def int_x86_avx512_mask_pmov_qw_512 :
GCCBuiltin<"__builtin_ia32_pmovqw512_mask">,
Intrinsic<[llvm_v8i16_ty],
[llvm_v8i64_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
Expand Down Expand Up @@ -5853,7 +5854,8 @@ let TargetPrefix = "x86" in {
Intrinsic<[],
[llvm_ptr_ty, llvm_v8i32_ty, llvm_i8_ty],
[IntrArgMemOnly]>;
def int_x86_avx512_mask_pmov_db_512 : // FIXME: Replace with trunc+select
def int_x86_avx512_mask_pmov_db_512 :
GCCBuiltin<"__builtin_ia32_pmovdb512_mask">,
Intrinsic<[llvm_v16i8_ty],
[llvm_v16i32_ty, llvm_v16i8_ty, llvm_i16_ty],
[IntrNoMem]>;
Expand Down Expand Up @@ -5912,7 +5914,8 @@ let TargetPrefix = "x86" in {
Intrinsic<[],
[llvm_ptr_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrArgMemOnly]>;
def int_x86_avx512_mask_pmov_dw_256 : // FIXME: Replace with trunc+select.
def int_x86_avx512_mask_pmov_dw_256 :
GCCBuiltin<"__builtin_ia32_pmovdw256_mask">,
Intrinsic<[llvm_v8i16_ty],
[llvm_v8i32_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
Expand Down Expand Up @@ -5941,7 +5944,8 @@ let TargetPrefix = "x86" in {
Intrinsic<[],
[llvm_ptr_ty, llvm_v8i32_ty, llvm_i8_ty],
[IntrArgMemOnly]>;
def int_x86_avx512_mask_pmov_dw_512 : // FIXME: Replace with trunc+select.
def int_x86_avx512_mask_pmov_dw_512 :
GCCBuiltin<"__builtin_ia32_pmovdw512_mask">,
Intrinsic<[llvm_v16i16_ty],
[llvm_v16i32_ty, llvm_v16i16_ty, llvm_i16_ty],
[IntrNoMem]>;
Expand Down

0 comments on commit b6cd9b4

Please sign in to comment.