Thread overview
[Issue 18034] SIMD optimization issues
Dec 07, 2017
ag0aep6g@gmail.com
December 07, 2017
https://issues.dlang.org/show_bug.cgi?id=18034

ag0aep6g@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
                 CC|                            |ag0aep6g@gmail.com

--
February 19, 2018
https://issues.dlang.org/show_bug.cgi?id=18034

bitter.taste@gmx.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bitter.taste@gmx.com

--- Comment #1 from bitter.taste@gmx.com ---
The problem is quite subtle, after the glocal pass the following code
```
ushort8 v=ushort8(check);
ubyte16 ok=__simd(XMM.PCMPEQW, control, v);
```
is turned into
```
ubyte16 ok=__simd(XMM.PCMPEQW, control, (ushort8 v = ushort8(check));
```
and since `v' isn't used anywhere else in the code the rmdeadass pass removes
the dead assignment by turning the expression into
```
ubyte16 ok=__simd(XMM.PCMPEQW, control, (<bogus>, void16(check)));
```
Now, the ushort8 -> void16 conversion happens because that's the type of the
third argument of the __simd function and, as a result, the vector is
initialized with the wrong elements, leading to the failure reported above.

--
April 16, 2018
https://issues.dlang.org/show_bug.cgi?id=18034

--- Comment #2 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/ba478b04139b8d4f7a42a35279f8089615156099 Fix issue 18034 - Bad codegen for OPvecfill

Do not replace vector values if that implies a change of Ety, doing so may end up initializing the vector with the wrong content.

https://github.com/dlang/dmd/commit/2493fb8bbea05d31a1fdae2a02d8eeae3ad0ff46 Merge pull request #7994 from LemonBoy/b18034

Fix issue 18034 - Bad codegen for OPvecfill
merged-on-behalf-of: Mike Franklin <JinShil@users.noreply.github.com>

--
June 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18034

mmcomando@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mmcomando@gmail.com

--