-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-amdgcnTarget: the Radeon 9001XT and suchTarget: the Radeon 9001XT and such
Description
I tried this code:
#![no_std]
fn foo() {}with
RUSTFLAGS="-Ctarget-cpu=gfx1103 --emit=llvm-bc,llvm-ir" cargo +offload build -Zunstable-options -r -v --target amdgcn-amd-amdhsa -Zbuild-std=core
(As a tier 3 target, build-std is mandatory).
I expected to see this happen: compiles
Instead, this happened:
It fails to compile core:
rustc: /home/manuel/prog/rust_gpu/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:9502: SDValue llvm::SelectionDAG::getLoad(ISD::MemIndexedMode, ISD::LoadExtType, EVT, const SDLoc &, SDValue, SDValue, SDValue, EVT, MachineMemOperand *): Assertion `(!MMO->getRanges() || (mdconst::extract<ConstantInt>(MMO->getRanges()->getOperand(0)) ->getBitWidth() == MemVT.getScalarSizeInBits() && MemVT.isInteger())) && "Range metadata and load type must match!"' failed.
This is not reproducible on nightly, which doesn't seem surprising given: https://rustc-dev-guide.rust-lang.org/backend/debugging.html?highlight=llvm-assertions#enable-llvm-internal-checks
Meta
rustc --version --verbose:
latest master, build from source
cc @Flakebi
Backtrace
<backtrace>
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-amdgcnTarget: the Radeon 9001XT and suchTarget: the Radeon 9001XT and such