[Issue 11585] New: SIMD: Internal error: backend/cgcod.c 1561
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Nov 23 17:25:39 PST 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11585
Summary: SIMD: Internal error: backend/cgcod.c 1561
Product: D
Version: D2
Platform: x86_64
OS/Version: Linux
Status: NEW
Keywords: ice, SIMD
Severity: critical
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: Marco.Leise at gmx.de
--- Comment #0 from Marco Leise <Marco.Leise at gmx.de> 2013-11-23 17:25:36 PST ---
When the following code is compiled with "dmd2.064 -defaultlib=phobos2 -O
-release -inline -noboundscheck -L--as-needed -L-s" it causes an ICE,
presumably because the same reference to a SIMD vector is used twice in the
intrinsics, as the second assignment to x demonstrates. The first assignment is
more or less the real code I tried to compile and shows how several references
to the same vector can occur in SSE calculations.
---------------8<------------------
import core.simd;
void main() { foo(null); }
ubyte16 x;
void foo(ubyte16* d)
{
if (d is null) return;
ubyte16 a, b;
// both assignments break cgcod.c
x = __simd(XMM.POR, __simd(XMM.PCMPEQB, *d, a), __simd(XMM.PCMPEQB, *d,
b));
x = __simd(XMM.PCMPEQB, *d, *d);
}
--------------->8------------------
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list