https://issues.dlang.org/show_bug.cgi?id=15728
Issue ID: 15728
Summary: ICE while simd vec.f.array compared to ordinal array
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
Here is two cases:
1) pass vector by ref, return, compare, ...ICE
2) apply op, compare, fail with exit code -11
import core.simd;
int4 f()
{
int4 vec;
return vec;
}
void main()
{
int4 vec;
assert(f.array == [-1, -1, -1, -1]);
/*
catch-bug ~master: building configuration "application"...
Internal error: backend/cod1.c 1669
dmd failed with exit code 1.
*/
//assert((-vec).array == [-1, -1, -1, -1]);
/*
catch-bug ~master: building configuration "application"...
dmd failed with exit code -11.
*/
}
In second case could be used unary or binary operator (v1 & v2), (-vec), ...
DMD64 D Compiler v2.070
--