Closed
Description
I tried this code:
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define <2 x i128> @foo(i128 %arg) #0 {
bb:
%i = xor i128 %arg, 1
%i1 = insertelement <2 x i128> zeroinitializer, i128 %i, i64 0
%i2 = shufflevector <2 x i128> %i1, <2 x i128> zeroinitializer, <2 x i32> zeroinitializer
%i3 = and <2 x i128> <i128 1, i128 1>, %i2
ret <2 x i128> %i3
}
attributes #0 = { "target-cpu"="sandybridge" }
I got the following error log:
llc: /home/dianqk/llvm/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:289: MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/dianqk/llvm/llvm-project/build/bin/llc /home/dianqk/llvm/rust-122252/foo.ll -filetype=null
1. Running pass 'Function Pass Manager' on module '/home/dianqk/llvm/rust-122252/foo.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@foo'
...
#9 0x00007f9594e587ce llvm::LinearPolySize<llvm::TypeSize>::getFixedValue() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/TypeSize.h:314:5
#10 0x00007f9594e587ce llvm::TypeSize::getFixedSize() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/TypeSize.h:456:52
#11 0x00007f9594e587ce llvm::MVT::getScalarSizeInBits() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/MachineValueType.h:1139:46
#12 0x00007f9594e587ce combineAndnp(llvm::SDNode*, llvm::SelectionDAG&, llvm::TargetLowering::DAGCombinerInfo&, llvm::X86Subtarget const&) /home/dianqk/llvm/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:52218:31
#13 0x00007f9594e31658 llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const /home/dianqk/llvm/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:0:36
...
Bisected to 15dd5ed.
Godbolt: https://llvm.godbolt.org/z/o9fEqj8x5
From: rust-lang/rust#122252
Metadata
Metadata
Assignees
Type
Projects
Status
Done