Bug 24390 – AssertError@src/dmd/backend/cgxmm.d(1476): Assertion failure

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2024-02-12T15:04:37Z
Last change time
2024-02-14T06:51:19Z
Keywords
backend
Assigned to
No Owner
Creator
Iain Buclaw

Comments

Comment #0 by ibuclaw — 2024-02-12T15:04:37Z
This is triggered by the back-end inliner. --- import inteli.pmmintrin; void main() { __vector(int[4]) mmA ; __vector(int[4]) mmB ; auto mask = _mm_cmpestrm(mmA, mmB); } __vector(int[4]) _mm_cmpestrm(__vector(int[4]) mmA, __vector(int[4]) mmB) { __vector(int[4]) R; for (int pos ; pos < 16; ++pos) { byte charK = (cast(__vector(byte[16]))mmA).array[pos]; __vector(int[4]) eqMask = _mm_set1_epi8(charK); R = R & eqMask; } return R; } --- module inteli.pmmintrin; public import inteli.emmintrin; --- module inteli.emmintrin; __vector(int[4]) _mm_set1_epi8 (byte a) { __vector(byte[16]) b = a; return cast(__vector(int[4]))b; } ---
Comment #1 by ibuclaw — 2024-02-14T06:51:19Z