Jump to page: 1 2
Thread overview
MinGW GCC-4.6.1 GDC r9841510e8ba6 32 and 64-bit
Jan 09, 2012
Daniel Green
Jan 09, 2012
Robert Clipsham
Jan 09, 2012
Manu
Jan 09, 2012
Daniel Green
Jan 09, 2012
Iain Buclaw
Jan 10, 2012
Manu
D vectors
Jan 10, 2012
Artur Skawina
Re: D vectors
Jan 10, 2012
Andrej Mitrovic
Jan 10, 2012
Trass3r
Re: D vectors
Jan 10, 2012
Iain Buclaw
Jan 10, 2012
Daniel Green
64-bit DLLs
Jan 26, 2012
Sönke Ludwig
Jan 26, 2012
Trass3r
Jan 27, 2012
Daniel Green
Jan 27, 2012
Sönke Ludwig
Jan 27, 2012
Sönke Ludwig
Jan 27, 2012
Daniel Green
January 09, 2012
Please post all issues in D.gnu or on GDC's site https://bitbucket.org/goshawk/gdc

Posted updated binaries for MinGW32 and MinGW64.
 * Requires TDM GCC 4.6.1 32 or 64-bit edition.
 * GDC revision 9841510e8ba6.
 * Contains modified binutils and runtime files for TLS.
 * 7-zip format:  http://7-zip.org
 * Includes D1 and D2.
   * -v2(default) targets D2.
   * -v1 targets D1.

32-bit release

https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm-1-gdc-9841510e8ba6-20120109.7z

64-bit release

MinGW64 has issues that are being worked out.


Downloads at https://bitbucket.org/goshawk/gdc/downloads

All patches, source files and build scripts can be found at https://bitbucket.org/venix1/mingw-gdc/



Ran this build through the DMD v2.057 testsuite.
The following are the tests the failed and a brief description of why.

# MinGW32 failures
# Script failure
DISABLED_SH_TESTS += test39

# MSVCRT treats long double as double.  So real is incorrectly handled.
# http://msdn.microsoft.com/en-us/library/9cx8xs15%28v=VS.100%29.aspx
DISABLED_TESTS += testmath

# inline assembly related
DISABLED_TESTS += test22

# Requires -lws2_32 for compiling.
DISABLED_TESTS += testsocket
Note that phobos has a dependency on ws2_32.  So using sockets requires -lgphobos2 -lws2_32

# GDC Failures.  Tests fail under linux as well.
DISABLED_TESTS += iasm constfold test42 inner ctorpowtests eh bitops testformat
DISABLED_TESTS += test4 testcontracts xtest46 sdtor argufilem

# Code coverage.  DMD code coverage is not implemented in GDC.
DISABLED_TESTS += hello-profile cov2 a20 sieve

Am I correct in assuming that DMD passes all the tests in the testsuite when it is tagged for release?
January 09, 2012
On 09/01/2012 19:56, Daniel Green wrote:
> Am I correct in assuming that DMD passes all the tests in the testsuite
> when it is tagged for release?

Yes, as well as all druntime and phobos unittests (and regression testing of a few projects that people do of their own accord when a beta is announced).

-- 
Robert
http://octarineparrot.com/
January 09, 2012
On 9 January 2012 21:56, Daniel Green <venix1@gmail.com> wrote:

> Please post all issues in D.gnu or on GDC's site https://bitbucket.org/goshawk/**gdc <https://bitbucket.org/goshawk/gdc>
>
> Posted updated binaries for MinGW32 and MinGW64.
>  * Requires TDM GCC 4.6.1 32 or 64-bit edition.
>  * GDC revision 9841510e8ba6.
>  * Contains modified binutils and runtime files for TLS.
>  * 7-zip format:  http://7-zip.org
>  * Includes D1 and D2.
>   * -v2(default) targets D2.
>   * -v1 targets D1.
>
> 32-bit release
>
> https://bitbucket.org/goshawk/**gdc/downloads/gcc-4.6.1-tdm-1-** gdc-9841510e8ba6-20120109.7z<https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm-1-gdc-9841510e8ba6-20120109.7z>
>
> 64-bit release
>
> MinGW64 has issues that are being worked out.
>
>
> Downloads at https://bitbucket.org/goshawk/**gdc/downloads<https://bitbucket.org/goshawk/gdc/downloads>
>
> All patches, source files and build scripts can be found at https://bitbucket.org/venix1/**mingw-gdc/<https://bitbucket.org/venix1/mingw-gdc/>
>
>
>
> Ran this build through the DMD v2.057 testsuite.
> The following are the tests the failed and a brief description of why.
>
> # MinGW32 failures
> # Script failure
> DISABLED_SH_TESTS += test39
>
> # MSVCRT treats long double as double.  So real is incorrectly handled.
> # http://msdn.microsoft.com/en-**us/library/9cx8xs15%28v=VS.**100%29.aspx<http://msdn.microsoft.com/en-us/library/9cx8xs15%28v=VS.100%29.aspx>
> DISABLED_TESTS += testmath
>
> # inline assembly related
> DISABLED_TESTS += test22
>
> # Requires -lws2_32 for compiling.
> DISABLED_TESTS += testsocket
> Note that phobos has a dependency on ws2_32.  So using sockets requires
> -lgphobos2 -lws2_32
>
> # GDC Failures.  Tests fail under linux as well.
> DISABLED_TESTS += iasm constfold test42 inner ctorpowtests eh bitops
> testformat
> DISABLED_TESTS += test4 testcontracts xtest46 sdtor argufilem
>
> # Code coverage.  DMD code coverage is not implemented in GDC. DISABLED_TESTS += hello-profile cov2 a20 sieve
>
> Am I correct in assuming that DMD passes all the tests in the testsuite when it is tagged for release?
>

Awww damn it! I was all excited, thought you'd saved me the pain... until I realised this isn't the latest version :(


January 09, 2012
On 1/9/2012 4:35 PM, Manu wrote:
> Awww damn it! I was all excited, thought you'd saved me the pain...
> until I realised this isn't the latest version :(

GDC is under active development.  It may no longer be the tip, but it's only a few revisions from it.




January 09, 2012
On 9 January 2012 23:37, Daniel Green <venix1@gmail.com> wrote:
> On 1/9/2012 4:35 PM, Manu wrote:
>>
>> Awww damn it! I was all excited, thought you'd saved me the pain... until I realised this isn't the latest version :(
>
>
> GDC is under active development.  It may no longer be the tip, but it's only a few revisions from it.
>

^Manu got an itchy knees to try out vector support. ;)

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
January 10, 2012
On 10 January 2012 01:37, Daniel Green <venix1@gmail.com> wrote:

> On 1/9/2012 4:35 PM, Manu wrote:
>
>> Awww damn it! I was all excited, thought you'd saved me the pain... until I realised this isn't the latest version :(
>>
>
> GDC is under active development.  It may no longer be the tip, but it's only a few revisions from it.
>

I was after the vector support. But it's okay, I successfully managed to build a working MinGW build from windows myself, which usually seems to cause me a massive pain in the arse! :)


January 10, 2012
On 01/10/12 00:43, Iain Buclaw wrote:
> ^Manu got an itchy knees to try out vector support. ;)
> 

BTW, how are vector literals supposed to work in D?

Turns out i was right to be worried about ebp - see the vtst()
function below...

--------------------------------------
alias __vector(int[4]) i4;

i4 vadd(i4 a, i4 b) { return a+b;}
i4 vtst(i4 a, i4 b) { return a*b+a-b;}

i4 vvvv() {
   i4 a = void;
   i4 b = void;

   return vadd(a, b);
}

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

00000000 <_D5vect14vaddFNhG4iNhG4iZNhG4i>:
   0:   55                      push   %ebp
   1:   66 0f fe c1             paddd  %xmm1,%xmm0
   5:   89 e5                   mov    %esp,%ebp
   7:   5d                      pop    %ebp
   8:   c3                      ret

00000010 <_D5vect14vtstFNhG4iNhG4iZNhG4i>:
  10:   66 0f 6f d0             movdqa %xmm0,%xmm2
  14:   66 0f 38 40 c1          pmulld %xmm1,%xmm0
  19:   55                      push   %ebp
  1a:   89 e5                   mov    %esp,%ebp
  1c:   5d                      pop    %ebp
  1d:   66 0f fe c2             paddd  %xmm2,%xmm0
  21:   66 0f fa c1             psubd  %xmm1,%xmm0
  25:   c3                      ret

00000030 <_D5vect14vvvvFZNhG4i>:
  30:   55                      push   %ebp
  31:   66 0f ef c0             pxor   %xmm0,%xmm0
  35:   89 e5                   mov    %esp,%ebp
  37:   5d                      pop    %ebp
  38:   c3                      ret
-----------------------------------------

The "extern(C)" hack works, and result in eg:

--------------------------------------------------
00000010 <vtst>:
  10:   66 0f 6f d0             movdqa %xmm0,%xmm2
  14:   66 0f 38 40 c1          pmulld %xmm1,%xmm0
  19:   66 0f fe c2             paddd  %xmm2,%xmm0
  1d:   66 0f fa c1             psubd  %xmm1,%xmm0
  21:   c3                      ret
--------------------------------------------------

but marking large parts of D code that way seems wrong...

I'm going to assume the vvvv() transformation is an
optimization. :)

artur
January 10, 2012
> Turns out i was right to be worried about ebp - see the vtst()
> function below...

On DMD head I get an ICE, yay!
Internal error: backend/cod3.c 446
January 10, 2012
On 10 January 2012 00:46, Artur Skawina <art.08.09@gmail.com> wrote:
> On 01/10/12 00:43, Iain Buclaw wrote:
>> ^Manu got an itchy knees to try out vector support. ;)
>>
>
> BTW, how are vector literals supposed to work in D?
>
> Turns out i was right to be worried about ebp - see the vtst()
> function below...
>
> --------------------------------------

Once I've refactored a few things, I will get onto this so that have better control over what functions are forced to have a frame pointer (ie: extern(D) with inline asm are the only ones really needed).

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
January 10, 2012
64-bit is ready.

64-Bit Binary

https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-9841510e8ba6-20120109.7z


Running the testsuite had additional failures.

# MinGW64 -m32 failures
DISABLED_TESTS += test34 variadic

# MinGW64 -m64 failures
# ICE
DISABLED_TESTS += dhry

DISABLED_TESTS += test8 testaa testzip

---

# MinGW32 failures
# script error
DISABLED_SH_TESTS += test39

# MSVCRT treats long double as double.  so real is incorrectly handled.
# http://msdn.microsoft.com/en-us/library/9cx8xs15%28v=VS.100%29.aspx
DISABLED_TESTS += testmath

# inline assembly related
DISABLED_TESTS += test22

# Requires -lws2_32 for compiling
DISABLED_TESTS += testsocket

---

# GDC Failures
DISABLED_TESTS += iasm constfold test42 inner ctorpowtests eh bitops testformat
DISABLED_TESTS += test4 testcontracts xtest46 sdtor argufilem

# code coverage
DISABLED_TESTS += hello-profile cov2 a20 sieve
« First   ‹ Prev
1 2