Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 03, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| On Mar 3, 2013 1:58 PM, "Manu" <turkeyman@gmail.com> wrote: > > Hi people. > > So I've been AWOL a while, and I'll still be intermittent for some weeks yet, but I'm trying to work on std.simd and also my dconf talks in any gaps I can. > However, in order to do a thorough job, I'm missing some tools. I wonder if anyone can help me out...? > > I need to do some rather strenuous testing of SIMD code gen in D, to make sure I don't make mistakes and/or lie. > > This requires testing against as many compilers+architectures as I can. I have barely any internet access to speak of, I don't really know how, and I also don't run linux, so I can't practically build myself a suite of toolchains to work with >_< > > Ideally, I would really like all these toolchains: > GDC: x86, x64, ARM, PPC, MIPS, SH4 <- common toolchains Do you actually have boxes for these architectures? Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
March 03, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU toolchains!) :) But I don't really need to run it... I just tend to compile with -S. I know what the resulting code should look like from years of experience. I can easily verify the proper opcodes are emitted, register assignment is sensible and function arguments are passed correctly just by looking at the assembly. |
March 03, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| I could probably get you a bare bones compiler (no library) - it *will* be Linux though... I can give you a login to a server if you like to play with it. Otherwise I could give cygwin a try...
Regards
--
Iain Buclaw
*(p < e ? p++ : p) = (c & 0x0f) + '0';
On Mar 3, 2013 2:58 PM, "Manu" <turkeyman@gmail.com> wrote:
> Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU
> toolchains!) :)
> But I don't really need to run it... I just tend to compile with -S. I
> know what the resulting code should look like from years of experience.
> I can easily verify the proper opcodes are emitted, register assignment is
> sensible and function arguments are passed correctly just by looking at the
> assembly.
>
|
March 03, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| How does Dan build the MinGW toolchains?
No library is fine for my purposes.
I don't have access to a linux machine atm, but I should do in a week or 2.
If that's the only option, then I can wait till then... just leaves me with
a bit less time.
On 4 March 2013 02:57, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> I could probably get you a bare bones compiler (no library) - it *will* be Linux though... I can give you a login to a server if you like to play with it. Otherwise I could give cygwin a try...
>
> Regards
> --
> Iain Buclaw
>
> *(p < e ? p++ : p) = (c & 0x0f) + '0';
> On Mar 3, 2013 2:58 PM, "Manu" <turkeyman@gmail.com> wrote:
>
>> Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU
>> toolchains!) :)
>> But I don't really need to run it... I just tend to compile with -S. I
>> know what the resulting code should look like from years of experience.
>> I can easily verify the proper opcodes are emitted, register assignment
>> is sensible and function arguments are passed correctly just by looking at
>> the assembly.
>>
>
|
March 03, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| On Mar 3, 2013 10:48 PM, "Manu" <turkeyman@gmail.com> wrote: > > How does Dan build the MinGW toolchains? > No library is fine for my purposes. > I don't have access to a linux machine atm, but I should do in a week or 2. If that's the only option, then I can wait till then... just leaves me with a bit less time. > > > On 4 March 2013 02:57, Iain Buclaw <ibuclaw@ubuntu.com> wrote: >> >> I could probably get you a bare bones compiler (no library) - it *will* be Linux though... I can give you a login to a server if you like to play with it. Otherwise I could give cygwin a try... >> >> Regards >> -- >> Iain Buclaw >> >> *(p < e ? p++ : p) = (c & 0x0f) + '0'; >> >> On Mar 3, 2013 2:58 PM, "Manu" <turkeyman@gmail.com> wrote: >>> >>> Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU toolchains!) :) >>> But I don't really need to run it... I just tend to compile with -S. I know what the resulting code should look like from years of experience. >>> I can easily verify the proper opcodes are emitted, register assignment is sensible and function arguments are passed correctly just by looking at the assembly. > > Won't have access to a windows machine until Wednesday. ;) As I said, I can give you a login account to a Linux server with these on. Should be ready Tuesday ish. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
March 04, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| Cool, well that'll definitely help! :)
On 4 March 2013 09:02, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>
> On Mar 3, 2013 10:48 PM, "Manu" <turkeyman@gmail.com> wrote:
> >
> > How does Dan build the MinGW toolchains?
> > No library is fine for my purposes.
> > I don't have access to a linux machine atm, but I should do in a week or
> 2. If that's the only option, then I can wait till then... just leaves me with a bit less time.
> >
> >
> > On 4 March 2013 02:57, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> >>
> >> I could probably get you a bare bones compiler (no library) - it *will*
> be Linux though... I can give you a login to a server if you like to play with it. Otherwise I could give cygwin a try...
> >>
> >> Regards
> >> --
> >> Iain Buclaw
> >>
> >> *(p < e ? p++ : p) = (c & 0x0f) + '0';
> >>
> >> On Mar 3, 2013 2:58 PM, "Manu" <turkeyman@gmail.com> wrote:
> >>>
> >>> Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU
> toolchains!) :)
> >>> But I don't really need to run it... I just tend to compile with -S. I
> know what the resulting code should look like from years of experience.
> >>> I can easily verify the proper opcodes are emitted, register
> assignment is sensible and function arguments are passed correctly just by looking at the assembly.
> >
> >
>
> Won't have access to a windows machine until Wednesday. ;)
>
> As I said, I can give you a login account to a Linux server with these on. Should be ready Tuesday ish.
>
> Regards
> --
> Iain Buclaw
>
> *(p < e ? p++ : p) = (c & 0x0f) + '0';
>
|
March 04, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| ...it occurs to me that MIPS doesn't really have a single standardised SIMD instruction set.
There are a few extensions. I've worked on 3 popular MIPS devices; they all
have SIMD, but they are all different.
I'm not sure they are available as options in the standard GCC MIPS arch. I
think they are added via vendor patches.
So don't sorry about MIPS I guess, it sounds like too much effort! I'll hassle the vendors some time in the future...
On 4 March 2013 10:37, Manu <turkeyman@gmail.com> wrote:
> Cool, well that'll definitely help! :)
>
>
> On 4 March 2013 09:02, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>
>>
>> On Mar 3, 2013 10:48 PM, "Manu" <turkeyman@gmail.com> wrote:
>> >
>> > How does Dan build the MinGW toolchains?
>> > No library is fine for my purposes.
>> > I don't have access to a linux machine atm, but I should do in a week
>> or 2. If that's the only option, then I can wait till then... just leaves me with a bit less time.
>> >
>> >
>> > On 4 March 2013 02:57, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>> >>
>> >> I could probably get you a bare bones compiler (no library) - it
>> *will* be Linux though... I can give you a login to a server if you like to play with it. Otherwise I could give cygwin a try...
>> >>
>> >> Regards
>> >> --
>> >> Iain Buclaw
>> >>
>> >> *(p < e ? p++ : p) = (c & 0x0f) + '0';
>> >>
>> >> On Mar 3, 2013 2:58 PM, "Manu" <turkeyman@gmail.com> wrote:
>> >>>
>> >>> Yes, all of them (and more, bonus points for PS3's Cell PPE/SPU
>> toolchains!) :)
>> >>> But I don't really need to run it... I just tend to compile with -S.
>> I know what the resulting code should look like from years of experience.
>> >>> I can easily verify the proper opcodes are emitted, register
>> assignment is sensible and function arguments are passed correctly just by looking at the assembly.
>> >
>> >
>>
>> Won't have access to a windows machine until Wednesday. ;)
>>
>> As I said, I can give you a login account to a Linux server with these on. Should be ready Tuesday ish.
>>
>> Regards
>> --
>> Iain Buclaw
>>
>> *(p < e ? p++ : p) = (c & 0x0f) + '0';
>>
>
>
|
March 04, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Attachments:
| On Mar 4, 2013 12:42 AM, "Manu" <turkeyman@gmail.com> wrote: > > ...it occurs to me that MIPS doesn't really have a single standardised SIMD instruction set. > > There are a few extensions. I've worked on 3 popular MIPS devices; they all have SIMD, but they are all different. > I'm not sure they are available as options in the standard GCC MIPS arch. I think they are added via vendor patches. > > So don't sorry about MIPS I guess, it sounds like too much effort! I'll hassle the vendors some time in the future... > > I can check what the difference is in gcc mips backend later this week... but that is your call. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
March 04, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | Am Mon, 4 Mar 2013 10:41:08 +1000 schrieb Manu <turkeyman@gmail.com>: > ...it occurs to me that MIPS doesn't really have a single standardised SIMD instruction set. > > There are a few extensions. I've worked on 3 popular MIPS devices; > they all have SIMD, but they are all different. > I'm not sure they are available as options in the standard GCC MIPS > arch. I think they are added via vendor patches. > > So don't sorry about MIPS I guess, it sounds like too much effort! I'll hassle the vendors some time in the future... > Is MIPS ASE what you need? Standard gcc supports: MIPS DSP ASE rev1 MIPS DSP ASE rev2 MIPS SmartMIPS ASE MIPS Digital Media Extension MIPS-3D ASE (optional paired-single floating-point instructions) http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/MIPS-Options.html If you have vendor patches for gcc-4.7 I could integrate those. But we need either gcc 4.7 or 4.8 patches for gdc, crosstool-NG+gdc actually only works with 4.7 |
March 04, 2013 Re: Cross compilers; GDC/LDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johannes Pfau Attachments:
| MIPS-3D and DMX are allegedly common, but not in any device I own (although I'd like to consider them in my work all the same). Popular MIPS devices are: Android Ingenic XBurst is in many existing Android devices, and has its own SIMD unit. MIPS64 chips should be appearing in Android devices soon (which should support MIPS-3D) Google has a toolchain build script Sony PSP Has a custom (and AWESOME!) SIMD unit Toolchain with vendor extensions is(/was) easy to build: https://github.com/pspdev/psptoolchain Sony PS2 is a very interesting research device, but it's old and irrelevant now The toolchain is quite hard to build :( ( https://github.com/ps2dev/ps2toolchain) While I'm digging up the console build scripts, there are some other well maintained scripts: Sony PS3 - https://github.com/ps3dev/ps3toolchain Builds PPE (PPC arch) and SPU (dedicated super-fast SIMD coprocessor, best simd unit on earth!) toolchains Nintendo WiiU, Wii, Gamecube - https://github.com/Vithon/devkitppcsh PPC system, but with paired single unit instead of standard VMX On 4 March 2013 20:54, Johannes Pfau <nospam@example.com> wrote: > Am Mon, 4 Mar 2013 10:41:08 +1000 > schrieb Manu <turkeyman@gmail.com>: > > > ...it occurs to me that MIPS doesn't really have a single standardised SIMD instruction set. > > > > There are a few extensions. I've worked on 3 popular MIPS devices; > > they all have SIMD, but they are all different. > > I'm not sure they are available as options in the standard GCC MIPS > > arch. I think they are added via vendor patches. > > > > So don't sorry about MIPS I guess, it sounds like too much effort! I'll hassle the vendors some time in the future... > > > > Is MIPS ASE what you need? Standard gcc supports: > > MIPS DSP ASE rev1 > MIPS DSP ASE rev2 > MIPS SmartMIPS ASE > MIPS Digital Media Extension > MIPS-3D ASE > (optional paired-single floating-point instructions) > http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/MIPS-Options.html > > If you have vendor patches for gcc-4.7 I could integrate those. But we need either gcc 4.7 or 4.8 patches for gdc, crosstool-NG+gdc actually only works with 4.7 > |
Copyright © 1999-2021 by the D Language Foundation