From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ef33c33c4f98bde1 X-Google-Attributes: gid103376,public From: "Vladimir Olensky" Subject: Re: Compiler for Z80/6510 Date: 1999/11/26 Message-ID: #1/1 X-Deja-AN: 553369913 References: <383c6fed.458467@news.fiam.net> <81k67s$47l$1@nnrp1.deja.com> <81m3a5$blp$1@nnrp1.deja.com> Organization: Posted via Supernews, http://www.supernews.com X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Newsgroups: comp.lang.ada X-Complaints-To: newsabuse@supernews.com Date: 1999-11-26T00:00:00+00:00 List-Id: Robert Dewar wrote in message <81m3a5$blp$1@nnrp1.deja.com>... >In article , > "Vladimir Olensky" wrote: >> There are of course some special cases when using assembler >> one can easily outperform GNAT in up to 8 times on the IA32 >> platform but I think that next GNAT releases will leave no >> such opportunities. I think it is quite obvious what these >> cases are :-). > >I have no idea what Vladimir is talking about here. There are >certainly cases where GNAT, like all other compilers I know >of does not generate optimal code, but > >a) I do not know of specific cases that Vladimir is talking of I thought that "up to 8 times on the IA32 platform" is a good hint. As I mentioned GNAT is very effective when used carefully (much more effective than for example OA educational version that does not provide any optimization options) I was talking about IA32 ++ architecture features that are not directly supported by GNAT yet. These features are SIMD IA32 extensions (Single Instruction Multiple Data) . Right now they are accessible only by using assembler (but may be I do not know something ???). Operations on vectors of bytes are eight times faster as such operations are done in parallel on eight bytes in a single instruction. These IA32 SIMD extensions also provide direct support for saturated arithmetic which is very interesting option as well. I have in my plans to create small Ada package for saturated arithmetic making use this features in some near future. >b) No one around here would claim that all such cases will be > removed in the next release! I just expressed hope that may be in the next release or next after next or some time in the future GNAT would have direct IA32++ SIMD support. (I wrote releases but not release). So I was talking about adding and not removing. But may be it is better not to spent time on this but focus on IA64 architecture that offer much more advanced features. Regards, Vladimir Olensky