Related articles |
---|
Compiler support for Intel-MMX? kyoung@newton.ruph.cornell.edu (1998-04-15) |
Re: Compiler support for Intel-MMX? fpeelo@portablesolutions.com (Frank Peelo) (1998-04-18) |
Re: Compiler support for Intel-MMX? Gorup@wwa-fs.bayern.de (Andreas v. Gorup) (1998-04-18) |
Re: Compiler support for Intel-MMX? mtiomkin@iil.intel.com (Michael Tiomkin) (1998-04-21) |
Re: Compiler support for Intel-MMX? ba2395@fen.baynet.de (Florian Klaempfl) (1998-04-29) |
Re: Compiler support for Intel-MMX? (fwd) reid@micro.ti.com (Reid Tatge) (1998-05-04) |
Re: Compiler support for Intel-MMX? nnylfv@ny.ubs.com (Olivier Lefevre) (1998-05-04) |
Re: Compiler support for Intel-MMX? Peter.Damron@Eng.Sun.COM (1998-05-07) |
Re: Compiler support for Intel-MMX? meyer@lps.u-psud.fr (meyer) (1998-05-07) |
From: | Florian Klaempfl <ba2395@fen.baynet.de> |
Newsgroups: | comp.compilers |
Date: | 29 Apr 1998 01:00:27 -0400 |
Organization: | Compilers Central |
References: | 98-04-068 98-04-070 |
Keywords: | arithmetic, optimize, 386 |
Frank Peelo schrieb:
>
> {MMX} : MMX support
> As of version 0.9.8, Free Pascal supports optimization for the MMX
> Intel processor.
....
> Things that change are Data with a
> size that is a multiple of 8 bytes is moved using the movq assembler
> instruction, which moves 8 bytes at a time
This wasn't a clever idea, we removed it and future versions will use
fld/fst.
> FP
> [Sounds like they're using it for block moves, which is certainly a fine
> idea but doesn't use any of the DSP-like arithmetic goodies. -John]
The new versions (0.99.x) contain a better MMX support, but it's still
in beta state (you need to recompile the compiler with -dSUPPORT_MMX)
the compiler allows the "explicit" use of MMX instructions:
var
a,b,c : array[0..4] of integer;
begin
{$mmx+} { switch mmx instructions on }
a:=b+c; { does a vectorial add of b and c }
....
{$saturation+} { work with saturating mmx instructions }
a:=b+c;
Though I'am implementing that features, I'am not sure, if there are
serious applications for it. If you need _real_ (which is mostly
important where MMX is used) speed you should use assembler.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.