digitalmars.D.bugs - [Issue 21470] New: ICE core.simd when implementing _mm_set1_epi8
- d-bugmail puremagic.com (41/41) Dec 10 2020 https://issues.dlang.org/show_bug.cgi?id=21470
https://issues.dlang.org/show_bug.cgi?id=21470 Issue ID: 21470 Summary: ICE core.simd when implementing _mm_set1_epi8 Product: D Version: D2 Hardware: x86_64 OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: aliloko gmail.com Probably very similar bug than https://issues.dlang.org/show_bug.cgi?id=21469 but this time it is wrong codegen rather than crashing DMD. HOW TO REPRODUCE Using DMD 2.094.0, build this file with: dmd -m64 test2.d -g ------------ test2.d ------------------- import core.simd; int4 _mm_set1_epi8 (byte a) pure trusted { return cast(int4)(byte16(a)); } void main(string[] args) { byte16 b = cast(byte16) _mm_set1_epi8(31); for (int i = 0; i < 16; ++i) assert(b.array[i] == 31); // fails } ---------------------------------------- OUTPUT core.exception.AssertError test2.d(13): Assertion failure we can workaround this bug: ----------------------------------------- int4 _mm_set1_epi8 (byte a) pure trusted { byte16 b = a; // on a separate line return cast(int4)(b); } ----------------------------------------- --
Dec 10 2020