[llvm-bugs] [Bug 26264] New: [x86, avx512] crash lowering masked load intrinsic

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jan 22 14:29:33 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26264

            Bug ID: 26264
           Summary: [x86, avx512] crash lowering masked load intrinsic
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: spatel+llvm at rotateright.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

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

-- 
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/20160122/3a28a0f2/attachment.html>


More information about the llvm-bugs mailing list