Bug creation and email sending has been disabled, file new bugs at gcc.gnu.org/bugzilla
Bug 213 - Compiler fails when compare two wrapped SIMD vectors (give up with internal error)
Summary: Compiler fails when compare two wrapped SIMD vectors (give up with internal e...
Status: RESOLVED FIXED
Alias: None
Product: GDC
Classification: Unclassified
Component: gdc (show other bugs)
Version: development
Hardware: All All
: --- normal
Assignee: Iain Buclaw
URL:
Depends on:
Blocks:
 
Reported: 2016-02-26 21:40 CET by iakh
Modified: 2016-09-17 12:39 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description iakh 2016-02-26 21:40:47 CET
Compiler fails with internal error when compare two wrapped into struct SIMD vectors
No crash with ordinal types like (int) or B{int i;}
Note: simd vectors doesn't provide opEquals, you should use v1.array == v2.array

Code:

import core.simd;

struct S
{
    int4 vec;
}
void main()
{
    S s, b;
    assert(s == b);
}

dub test --compiler=gdc

gdc-catch-bug ~master: building configuration "application"...
source/app.d: In function 'D main':
source/app.d:7:6: internal compiler error: in prepare_cmp_insn, at optabs.c:4234
 void main()
      ^
gdc --version
gdc (GCC) 5.3.0

OS: ArchLinux, x86_64
Comment 1 Iain Buclaw 2016-09-16 21:39:18 CEST
https://github.com/D-Programming-GDC/GDC/pull/241