[Issue 20111] asm VCVTPS2PH is not encoded correctly

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20111

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #12050 "fix Issue 20111 - asm VCVTPS2PH is not encoded
correctly" was merged into master:

- 0430255064ecf49fef283d70e9b74f35d63ecfe2 by Walter Bright:
  fix Issue 20111 - asm VCVTPS2PH is not encoded correctly

https://github.com/dlang/dmd/pull/12050

--


[Issue 20111] asm VCVTPS2PH is not encoded correctly

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20111

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Dlang Bot  ---
@WalterBright created dlang/dmd pull request #12050 "fix Issue 20111 - asm
VCVTPS2PH is not encoded correctly" fixing this issue:

- fix Issue 20111 - asm VCVTPS2PH is not encoded correctly

https://github.com/dlang/dmd/pull/12050

--


[Issue 20111] asm VCVTPS2PH is not encoded correctly

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20111

thomas.bock...@gmail.com changed:

   What|Removed |Added

   Keywords||SIMD

--


[Issue 20041] CTFE incorrect result with __vector

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20041

thomas.bock...@gmail.com changed:

   What|Removed |Added

   Keywords||CTFE, SIMD

--


[Issue 1807] ENHANCEMENT: Let IFTI "see through" templates to simple aliases

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1807

--- Comment #9 from Walter Bright  ---
Proposed DIP:

https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1023.md

Proposed Implementation:

https://github.com/dlang/dmd/pull/9778

--


[Issue 7529] IFTI does not support template argument dependent template alias instances as parameter types

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7529

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 16486] Compiler see template alias like a separate type in template function definition

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16486

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 1807] ENHANCEMENT: Let IFTI "see through" templates to simple aliases

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1807

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1653,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1942,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=3904,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=7529,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=10884,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=16465,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=16486

--


[Issue 1942] ENHANCEMENT: issue 1807 should apply to is-expressions

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1942

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 16465] Template alias does not get unwrapped in templated functions

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16465

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 10884] Support for using alias expressions to shorten inferred function types

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10884

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 1653] Be able to use template aliases to deduce implicit template parameters.

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1653

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 3904] Infer function type from an alias in a template

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3904

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=1807

--


[Issue 16497] suboptimal moves between SSE registers

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16497

Walter Bright  changed:

   What|Removed |Added

   Severity|normal  |enhancement

--


[Issue 5254] Low performance code with struct constructor

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5254

Walter Bright  changed:

   What|Removed |Added

   Severity|normal  |enhancement

--


[Issue 21500] public import in mixin template in module a fails when module b imports a.

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21500

noobnoob...@gmail.com changed:

   What|Removed |Added

 CC||noobnoob...@gmail.com

--


[Issue 21500] public import in mixin template in module a fails when module b imports a.

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21500

noobnoob...@gmail.com changed:

   What|Removed |Added

Summary|public import in mixin  |public import in mixin
   |template in module a fails  |template in module a fails
   |when module b import sa.|when module b imports a.

--


[Issue 21128] Update of dmd-master is stopped

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21128

dl...@ryanjframe.com changed:

   What|Removed |Added

 CC||dl...@ryanjframe.com

--


[Issue 21501] [REG 2.089.1] undefined identifier in package when using mixin and cyclic imports

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21501

Boris Carvajal  changed:

   What|Removed |Added

 CC||boris...@gmail.com

--- Comment #1 from Boris Carvajal  ---
I remember this issue, the problem is that the compiler has a different logic
to resolve a qualified type vs a dot expression, mixin is not required to
reproduce it:

struct A
{
alias a = test.c.C; // works
auto b = test.c.C; // fails even if C is a variable
}

Currently this kind of mixin can parse both types and expressions but it will
prefer expressions, so it's hitting the wall.
I'll try to see what can I do.

--


[Issue 21469] ICE core.simd when implementing _mm_set1_epi16

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21469

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Dlang Bot  ---
dlang/dmd pull request #12048 "fix Issue 21469 - ICE core.simd when
implementing _mm_set1_epi16" was merged into master:

- 80ae19e1c450712ea96fd250c416b9b9c2b66782 by Walter Bright:
  fix Issue 21469 - ICE core.simd when implementing _mm_set1_epi16

https://github.com/dlang/dmd/pull/12048

--


[Issue 21501] New: [REG 2.089.1] undefined identifier in package when using mixin and cyclic imports

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21501

  Issue ID: 21501
   Summary: [REG 2.089.1] undefined identifier in package when
using mixin and cyclic imports
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: tim.dl...@t-online.de

 test/a.d 
module test.a;
import test.b;
import test.c;

alias Identity(T) = T;

struct A
{
Identity!(mixin(q{test.c.C})) data;
}
 test/b.d 
module test.b;
import test.a;

struct B
{
A data;
}
 test/c.d 
module test.c;

alias C = int;
//

Running dmd -c test/a.d results in the following error:
test/a.d-mixin-10(10): Error: undefined identifier c in package test, perhaps
add static import test.c;

Running dmd -c test/b.d test/a.d test/c.d instead does not result in an error.
The order of the files is important, because dmd -c test/a.d test/b.d test/c.d
does result in the error.

The error happens with dmd v2.089.1, while it works normally with dmd v2.089.0.
It looks like https://github.com/dlang/dmd/pull/10584 introduced it.

--


[Issue 20112] __vector casts don't do type conversions

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20112

--- Comment #7 from Iain Buclaw  ---
(In reply to thomas.bockman from comment #3)
> > Semantically, this can only be done by unrolling the assignment
> 
> I've found that this is very unreliable. Sometimes the optimizer correctly
> replaces the individual component casts with the SIMD conversion
> instructions, and sometimes it doesn't. On LLVM, at least, inlining
> sometimes undoes the optimization.
> 
> I haven't been able to get this working reliably without resorting to inline
> assembly language.
Just having a quick look, it requires -O3 in order to coerce out a 'cvttps2dq'
instruction.  To make it consistent, you can set @optimize and @target
attributes on the function (I think it works identically for both gdc and ldc).

--


[Issue 20112] __vector casts don't do type conversions

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20112

--- Comment #6 from Walter Bright  ---
Added a couple spec pulls to clarify:

https://github.com/dlang/dlang.org/pull/2924
https://github.com/dlang/dlang.org/pull/2925

--


[Issue 20112] __vector casts don't do type conversions

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20112

Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #5 from Walter Bright  ---
It is indeed a reinterpret cast, although
https://issues.dlang.org/show_bug.cgi?id=21469 would cause that not to work
sometimes.

It is this way because of consistency with how casting of static arrays works:

  import core.stdc.stdio;

  void main() {
byte[16] b = 3;
int[4] ia = cast(int[4]) b;
foreach (i; ia)
printf("%x\n", i);
  }

which prints:

  3030303
  3030303
  3030303
  3030303

It is working as designed. At this point, I don't think this can be changed
even if we wanted to.

--


[Issue 19783] Fail to emplace struct with betterC

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19783

--- Comment #2 from Tomáš Chaloupka  ---
For the record, this works (uses different template):

auto pf = (cast(Foo*)malloc(Foo.sizeof)).emplace!Foo(42);

--


[Issue 19783] Fail to emplace struct with betterC

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19783

--- Comment #1 from Tomáš Chaloupka  ---
Similar problem when using core.lifetime:

```D
import core.lifetime;
import core.stdc.stdlib;

struct Foo { int bar; }

extern(C) void main()
{
auto pf = malloc(Foo.sizeof)[0..Foo.sizeof].emplace!Foo(42);
assert(pf.bar == 42);
}
```

With: dmd -g -debug -betterC -ofbc bc.d

Leads to:
/usr/bin/ld: bc.o: in function
`_D4core8lifetime__T7emplaceTS2bc3FooTiZQuFNaNbNiAviZPQz':
/home/tomas/dlang/dmd-2.094.2/linux/bin64/../../src/druntime/import/core/lifetime.d:284:
undefined reference to `_D4core8lifetime16testEmplaceChunkFNaNbNiNfAvmmZv'

--


[Issue 21470] wrong codegen with core.simd when implementing _mm_set1_epi8

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21470

Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Walter Bright  ---
This is indeed the same bug as https://issues.dlang.org/show_bug.cgi?id=21469

*** This issue has been marked as a duplicate of issue 21469 ***

--


[Issue 21469] ICE core.simd when implementing _mm_set1_epi16

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21469

--- Comment #4 from Walter Bright  ---
*** Issue 21470 has been marked as a duplicate of this issue. ***

--


[Issue 21469] ICE core.simd when implementing _mm_set1_epi16

2020-12-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21469

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #3 from Dlang Bot  ---
@WalterBright created dlang/dmd pull request #12048 "fix Issue 21469 - ICE
core.simd when implementing _mm_set1_epi16" fixing this issue:

- fix Issue 21469 - ICE core.simd when implementing _mm_set1_epi16

https://github.com/dlang/dmd/pull/12048

--