Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ARM compiler in Microsoft Platform Builder 5.0

8 views
Skip to first unread message

paolo patierno

unread,
Nov 20, 2009, 9:18:01 AM11/20/09
to
Hello,
I have a Freescale iMX31 (ARM11 Family). I know that ARM11 Famility
corrisponds to core ARMv6 but on Microsoft Documentation I read that the ARM
compiler support 4 and 5 (ARMv4 and ARMv5).
Followint the link :

http://msdn.microsoft.com/en-us/library/ms925478.aspx

So I'm using a ARM11 processor with instruction set of ARM9 (ARMv4 - ARMv5).
In this manner, there isn't and optiomization on compiled code.
Some comments ?

Thanks,
Paolo

AndrewScholan[MCTS]

unread,
Nov 20, 2009, 10:17:25 AM11/20/09
to
On Nov 20, 2:18 pm, paolo patierno

Yes, you are correct. The compiler will generate only ARMV4/5 code and
all of the binary libraries supplied by Microsoft are compiled to use
ARMV4I instructions; none of the ARMV6 or NEON instructions are used,
and in CE 5.0 all floating point operations through the CRT are
emulated and the compiler never generates floating point instructions,
even if you have a processor with hardware VFP, like the i.MX31.
This does not mean that there is no optimisation, there is, but it
doesn't make use of the advanced instructions available in the newer
ARM cores.
If you use CE 6.0, it is possible to use the hardware VFP (see other
posts in this thread).
I believe that Microsoft are aware that the compiler for ARM is a
little out of date but don't plan to fix it for CE 6.0. They may
upgrade it with the next major release of CE.
Regards,
Andrew.

paolo patierno

unread,
Nov 20, 2009, 11:52:05 AM11/20/09
to
Why doesn't Microsoft update the compiler ??!

Thanks,
Paolo

"AndrewScholan[MCTS]" wrote:

> .
>

Dean Ramsier

unread,
Nov 20, 2009, 4:13:53 PM11/20/09
to
Keep in mind that a large part of CE components are delivered prebuilt.
Since the newer instructions are not compatible with older cores they would
have to release/test multiple trees or drop support for older processors.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"paolo patierno" <paolop...@discussions.microsoft.com> wrote in message
news:8295BB26-DAA6-4C48...@microsoft.com...

paolo patierno

unread,
Nov 21, 2009, 7:50:01 AM11/21/09
to
I think that is better have multiple trees..
The actual situation is that the code generated by microsoft compiler isn't
optimized for the ARMv6....it isn't a good thing...I have alywas loved
Microsoft solution and products....but this isn't good..I have to think about
this.

Thanks,
Paolo

"Dean Ramsier" wrote:

> .
>

AndrewScholan[MCTS]

unread,
Nov 23, 2009, 11:14:33 AM11/23/09
to
On Nov 21, 12:50 pm, paolo patierno

<paolopatie...@discussions.microsoft.com> wrote:
> I think that is better have multiple trees..
> The actual situation is that the code generated by microsoft compiler isn't
> optimized for the ARMv6....it isn't a good thing...I have alywas loved
> Microsoft solution and products....but this isn't good..I have to think about
> this.
>
> Thanks,
> Paolo
>
>
>
> "Dean Ramsier" wrote:
> > Keep in mind that a large part of CE components are delivered prebuilt.
> > Since the newer instructions are not compatible with older cores they would
> > have to release/test multiple trees or drop support for older processors.
>
> > --
> > Dean Ramsier - eMVP
> > BSQUARE Corporation
>
> > "paolo patierno" <paolopatie...@discussions.microsoft.com> wrote in message
> > .- Hide quoted text -
>
> - Show quoted text -

It's not really the end of the world... you're using CE5.0 which is
several years old now; you should consider moving to CE6.0 then you'll
get the benefit of being able to use the hardware vector floating
point unit in the i.MX31 which is a big optimisation leap anyway. The
fact that your compiler can't use some of the more sophisticated ARM
instructions is frustrating, I admit. We would all like to get the
best optimisation for our code but there is a backwards compatibility
that has to be maintained in the libraries, etc.

I do know that MS development team are aware of this issue. You could
log on to the next Windows CE online chat session that MS organise and
ask the development team directly....

Andrew.

0 new messages