Bug 23047 – [ICE][SIMD] Do not SROA vector types

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2022-04-22T14:05:47Z
Last change time
2022-05-05T21:04:19Z
Keywords
backend, ice, ice-on-valid-code, pull, SIMD
Assigned to
No Owner
Creator
ponce

Comments

Comment #0 by aliloko — 2022-04-22T14:05:47Z
With dmd 2.100-beta.1, consider the following program: -------- main.d ----------- import core.simd; long2 _mm_srl_epi64 () { long2 r = void; r[0] = 1; return r; } void main(string[] args) { } --------------------------- For an ICE, build with: $ dmd -m64 -O main.d DMD crash silently with error code -1073741795. Removing the = void, or -O, workaround the bug. Older DMD like 2.095.1 displays the error instead: main.d(7): Error: variable __r_8 used before set
Comment #1 by dlang-bot — 2022-04-24T02:17:20Z
@WalterBright created dlang/dmd pull request #14025 "fix Issue 23047 - [ICE][SIMD] Do not SROA vector types" fixing this issue: - fix Issue 23047 - [ICE][SIMD] Do not SROA vector types https://github.com/dlang/dmd/pull/14025
Comment #2 by dlang-bot — 2022-04-28T15:33:43Z
dlang/dmd pull request #14025 "fix Issue 23047 - [ICE][SIMD] Do not SROA vector types" was merged into stable: - cc1298883e04e6587832f5576cba2b9e68d4ffef by Walter Bright: fix Issue 23047 - [ICE][SIMD] Do not SROA vector types https://github.com/dlang/dmd/pull/14025
Comment #3 by dlang-bot — 2022-05-05T21:04:19Z
dlang/dmd pull request #14064 "merge stable" was merged into master: - d55556ef78effb9c4d2dd084a38b74fbf5f7b43a by Walter Bright: fix Issue 23047 - [ICE][SIMD] Do not SROA vector types (#14025) fix Issue 23047 - [ICE][SIMD] Do not SROA vector types Signed-off-by: Razvan Nitu <[email protected]> Merged-on-behalf-of: Razvan Nitu <[email protected]> https://github.com/dlang/dmd/pull/14064