<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [x86, avx512] crash lowering masked load intrinsic"
href="https://llvm.org/bugs/show_bug.cgi?id=26264">26264</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[x86, avx512] crash lowering masked load intrinsic
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: X86
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>spatel+llvm@rotateright.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>This is a test that already exists in llvm/test/CodeGen/X86/masked_memop.ll,
but it isn't tested with the following target attribute:
define <32 x i64> @test_load_32i64(<32 x i64>* %ptrs, <32 x i1> %mask, <32 x
i64> %src0) {
%res = call <32 x i64> @llvm.masked.load.v32i64(<32 x i64>* %ptrs, i32 4, <32
x i1> %mask, <32 x i64> %src0)
ret <32 x i64> %res
}
declare <32 x i64> @llvm.masked.load.v32i64(<32 x i64>* %ptrs, i32, <32 x i1>
%mask, <32 x i64> %src0)
$ ./llc mloadcrash.ll -o - -mattr=avx512bw
.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 11
Assertion failed: ((NumElts == 8 || NumElts == 16) && "Unexected vector
type."), function LowerTruncateVecI1, file
/Users/spatel/myllvm/llvm/lib/Target/X86/X86ISelLowering.cpp, line 13588.
0 llc 0x0000000107a30f5e
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 46
1 llc 0x0000000107a313a9
PrintStackTraceSignalHandler(void*) + 25
2 llc 0x0000000107a2db49 llvm::sys::RunSignalHandlers() +
425
3 llc 0x0000000107a31709 SignalHandler(int) + 345
4 libsystem_platform.dylib 0x00007fff9d455eaa _sigtramp + 26
5 llc 0x000000010865b507 ErrorCategory + 86135
6 llc 0x0000000107a313cb raise + 27
7 llc 0x0000000107a31482 abort + 18
8 llc 0x0000000107a31461 __assert_rtn + 129
9 llc 0x0000000106597de8
LowerTruncateVecI1(llvm::SDValue, llvm::SelectionDAG&, llvm::X86Subtarget
const*) + 2312
10 llc 0x0000000106594dd3
llvm::X86TargetLowering::LowerTRUNCATE(llvm::SDValue, llvm::SelectionDAG&)
const + 1059
11 llc 0x00000001065b3390
llvm::X86TargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&)
const + 1520
12 llc 0x000000010770a0fe (anonymous
namespace)::VectorLegalizer::LegalizeOp(llvm::SDValue) + 4174
13 llc 0x0000000107708ed9 (anonymous
namespace)::VectorLegalizer::Run() + 1513
14 llc 0x0000000107708872
llvm::SelectionDAG::LegalizeVectors() + 66
15 llc 0x0000000107885d57
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 7431
16 llc 0x000000010788403f
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 255
17 llc 0x0000000107883d28
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 5256
18 llc 0x0000000107881398
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1624
19 llc 0x000000010652fc5b (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 59
20 llc 0x0000000106cdcb1e
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 110
21 llc 0x0000000107271b6d
llvm::FPPassManager::runOnFunction(llvm::Function&) + 413
22 llc 0x0000000107271ea5
llvm::FPPassManager::runOnModule(llvm::Module&) + 117
23 llc 0x0000000107272bfa (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&) + 2010
24 llc 0x000000010727218b
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 347
25 llc 0x0000000107273841
llvm::legacy::PassManager::run(llvm::Module&) + 33
26 llc 0x00000001055b8d4c compileModule(char**,
llvm::LLVMContext&) + 19788
27 llc 0x00000001055b3f96 main + 230
28 libdyld.dylib 0x00007fff8a4fa5ad start + 1
29 libdyld.dylib 0x0000000000000005 start + 1974491737
Stack dump:
0. Program arguments: ./llc mloadcrash.ll -o - -mattr=avx512bw
1. Running pass 'Function Pass Manager' on module 'mloadcrash.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function
'@test_load_32i64'
Illegal instruction: 4</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>