[llvm-bugs] [Bug 34631] New: [X86] Using _mm512_maskz_set1_epi64 on a 32-bit build causes cannot select intrinsic error
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Sep 15 13:21:00 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=34631
Bug ID: 34631
Summary: [X86] Using _mm512_maskz_set1_epi64 on a 32-bit build
causes cannot select intrinsic error
Product: clang
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Headers
Assignee: unassignedclangbugs at nondot.org
Reporter: craig.topper at gmail.com
CC: llvm-bugs at lists.llvm.org
This intrinsic is currently implemented in clang by selecting between two
different builtins, __builtin_ia32_pbroadcastq512_gpr_mask(64-bit) and
__builtin_ia32_pbroadcastq512_mem_mask(32-bit).
But it seems __builtin_ia32_pbroadcastq512_mem_mask was never implemented in
the X86 backend. So using it just causes an isel error. And worse, on a debug
build it hits an llvm_unreachable trying to expand a 64-bit operand on an
intrinsic.
Test case
#include <x86intrin.h>
__m512i test_mm512_maskz_set1_epi64 (__mmask8 __M, long long __A)
{
//CHECK-LABEL: @test_mm512_maskz_set1_epi64
//CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.512
return _mm512_maskz_set1_epi64 (__M, __A);
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170915/e6acc1c1/attachment-0001.html>
More information about the llvm-bugs
mailing list