www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21469] New: ICE core.simd

https://issues.dlang.org/show_bug.cgi?id=21469

          Issue ID: 21469
           Summary: ICE core.simd
           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

An ICE seen in DMD 2.094.2 but also exist back in DMD 2.088.1


HOW TO REPRODUCE

--- test.d ----

import core.simd;

int4 _mm_set1_epi16 (short a)
{
    return cast(int4)(short8(a));
}

---------------


Build it with:

    $ dmd test.d -m64 -g


OUTPUT


With DMD 2.094:

------------------ output ---------------------


tym = x6

------------------------------------------------
DMD then fails with error code -1073741795




DMD 2.088 output has a bit more info:

------------------ output ---------------------


tym = x6
---
ERROR: This is a compiler bug.
Please report it via https://issues.dlang.org/enter_bug.cgi
with, preferably, a reduced, reproducible example and the information below.
DustMite (https://github.com/CyberShadow/DustMite/wiki) can help with the
reduction.
---
DMD v2.088.1-dirty
predefs   DigitalMars Windows CRuntime_Microsoft CppRuntime_Microsoft
LittleEndian D_Version2 all D_SIMD D_InlineAsm_X86_64 X86_64 Win64 D_LP64
assert D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat
binary    c:\d\dmd_2.088.1\windows\bin\dmd.exe
version   v2.088.1-dirty
config    c:\d\dmd_2.088.1\windows\bin\sc.ini
DFLAGS    -Ic:\d\dmd_2.088.1\windows\bin\..\..\src\phobos
-Ic:\d\dmd_2.088.1\windows\bin\..\..\src\druntime\import -L/OPT:NOICF
---

object.Error (0): Illegal Instruction
----------------
0x0066ABC6
0x0067E6B1

-----------------------------------------------

--
Dec 10 2020