Issue |
150384
|
Summary |
clang-20 crashed with vector_size attribute on __float128 with asm. Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
|
Labels |
new issue
|
Assignees |
|
Reporter |
iamanonymouscs
|
clang-20 crashed with `vector_size` attribute on `__float128` with `asm`.
Compiler explorer (assertion trunk): https://godbolt.org/z/b19vd149r
```
$ cat mutant.c
__float128 __attribute__((vector_size(32))) a;
void b() { __asm__("" : "+r"(a)); }
```
```
$ clang-20 mutant.c
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /usr/lib/llvm-20/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mutant.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/code/reduce -fcoverage-compilation-dir=/home/code/reduce -resource-dir /usr/lib/llvm-20/lib/clang/20 -internal-isystem /usr/lib/llvm-20/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-c86c8e.o -x c mutant.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'mutant.c'.
4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@b'
#0 0x00007f18e418b816 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x101f816)
#1 0x00007f18e4189410 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x101d410)
#2 0x00007f18e418becb (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x101fecb)
#3 0x00007f18e2c49520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f18e47ca894 llvm::EVT::isExtendedVector() const (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x165e894)
#5 0x00007f18e47a1899 (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x1635899)
#6 0x00007f18e49f99b5 (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x188d9b5)
#7 0x00007f18e49d8b13 llvm::SelectionDAGBuilder::visitInlineAsm(llvm::CallBase const&, llvm::BasicBlock const*) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x186cb13)
#8 0x00007f18e49bfaff llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x1853aff)
#9 0x00007f18e4a61558 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, bool&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x18f5558)
#10 0x00007f18e4a613a4 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x18f53a4)
#11 0x00007f18e4a5f354 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x18f3354)
#12 0x00007f18e4a5d729 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x18f1729)
#13 0x00007f18e45884e2 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x141c4e2)
#14 0x00007f18e42de2be llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x11722be)
#15 0x00007f18e42e3df3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x1177df3)
#16 0x00007f18e42dea11 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-20/bin/../lib/libLLVM.so.20.1+0x1172a11)
#17 0x00007f18ed9708b7 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0x1e3c8b7)
#18 0x00007f18edd41556 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0x220d556)
#19 0x00007f18ec8a5f89 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0xd71f89)
#20 0x00007f18ee7c42cb clang::FrontendAction::Execute() (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0x2c902cb)
#21 0x00007f18ee738ea4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0x2c04ea4)
#22 0x00007f18ee847a0e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-20/bin/../lib/libclang-cpp.so.20.1+0x2d13a0e)
#23 0x000055c3d88eb0f3 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-20/bin/clang+0x120f3)
#24 0x000055c3d88e7ed5 (/usr/lib/llvm-20/bin/clang+0xeed5)
#25 0x000055c3d88e72de clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-20/bin/clang+0xe2de)
#26 0x000055c3d88f4716 main (/usr/lib/llvm-20/bin/clang+0x1b716)
#27 0x00007f18e2c30d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#28 0x00007f18e2c30e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#29 0x000055c3d88e5d75 _start (/usr/lib/llvm-20/bin/clang+0xcd75)
clang-20: error: unable to execute command: Segmentation fault (core dumped)
clang-20: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 20.1.8 (++20250708123929+0de59a293f7a-1~exp1~20250708003944.130)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-20/bin
clang-20: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-20: note: diagnostic msg: /tmp/mutant-cc6015.c
clang-20: note: diagnostic msg: /tmp/mutant-cc6015.sh
clang-20: note: diagnostic msg:
********************
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs