| Summary: | Assembly code crashes clang | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Yuri Victorovich <yuri> | ||||
| Component: | standards | Assignee: | freebsd-toolchain (Nobody) <toolchain> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | CC: | dim | ||||
| Priority: | --- | ||||||
| Version: | CURRENT | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| URL: | https://bugs.llvm.org/show_bug.cgi?id=39539 | ||||||
| Attachments: |
|
||||||
|
Description
Yuri Victorovich
2018-11-02 16:15:34 UTC
Reassigning to toolchain@ ; not that the upstream bug reported by Yuri (thanks!) now has a much smaller reproducer. A commit references this bug: Author: dim Date: Mon Oct 5 18:08:54 UTC 2020 New revision: 366452 URL: https://svnweb.freebsd.org/changeset/base/366452 Log: Merge commit 0fac1c191 from llvm git (by Craig Topper): [X86] Allow Yz inline assembly constraint to choose ymm0 or zmm0 when avx/avx512 are enabled and type is 256 or 512 bits gcc supports selecting ymm0/zmm0 for the Yz constraint when used with 256 or 512 bit vector types. Fixes PR45806 Differential Revision: https://reviews.llvm.org/D79448 This should fix 'fatal error: error in backend: Cannot select' errors if assertions are disabled, or 'Assertion failed: (isVector() && "Invalid vector type!"), function getVectorNumElements, file /usr/src/contrib/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h, line 276.', when building the audio/lsp-plugins-lv2 port. Direct commit to stable/{11,12} since head has clang 11.0.0, which already includes this fix. Reported by: yuri PR: 232911 Changes: stable/11/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp stable/12/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp |