Peng Tu wrote:
>
> The loop optimizations in Pro64 is under 'be/lno' directory. The LNO is on
> under
> -O3. The LNO performs loop detection, dependence analysis etc. The IR for
> LNO
> is WHIRL. You may want to do all your analysis in LNO and generate
> multimedia
> instructions by:
>
> (1) Either expand the WHIRL to include the multimedia instructions, or
> expand the
> build-in data types to support multimedia data types so you can reuse the
> same
> WHIRL nodes/operators.
> (2) Expand convert WHIRL to OPs to generate the multimedia instructions.
>
> Depending on how good a job you want to do, it can take from 3 months to 3
> years
> I guess :-)
>
> Peng.
>
> -----Original Message-----
> From: Jacques-Olivier Haenni <Jacques-Olivier.Haenni@xxxxxxx>
> To: pro64-contrib@xxxxxxxxxxx <pro64-contrib@xxxxxxxxxxx>;
> pro64-support@xxxxxxxxxxx <pro64-support@xxxxxxxxxxx>
> Date: Tuesday, February 27, 2001 9:39 AM
> Subject: Adding support for multimedia (SIMD) instructions
>
> >Hi !
> >
> >I would like to add support for Itanium multimedia instructions into SGI
> Pro64
> >compiler. My aim would be the compiler to be able to generate multimedia
> >instructions for inner loop without any help from the programmer.
> >
> >In order to evaluate the feasibility and the complexity of this work, I
> would
> >like to ask you some questions.
> >
> >First of all, is somebody already working on this ?
> >
> >Here are some reflections you may comment about:
> >
> >- The "conversion" of scalar to multimedia operations should be performed
> >before the conversion of WHIRL code to OPs (Convert_WHIRL_To_OPs). During
> this
> >conversion, the sizes of the operands (8-, 16-, 32- or 64-bit) are lost;
> this
> >information seems me primordial for finding candidate loops for
> >parallelization.
> >
> >- The backend already knows multimedia instructions; one "just" has to
> generate
> >such instructions while WHIRL to OPs conversion. This mainly involves
> inner
> >loop detection, dependence analysis, memory reference disambiguation.
> >
> >Does anybody have any ideas about the complexity of this task ?
> >
> >Do you know where I could find documentation about whirl to ops conversion
> and
> >loop manipulation in Pro64 (I already have the file 'whirl.pdf' from the
> Web) ?
> >
> >Any hint, any clue or any idea about this topic are very welcome.
> >
> >Thanks in advance for your reactions,
> >
> >Jacques-Olivier
> >
> >--
> > Jacques-Olivier Haenni http://lslwww.epfl.ch/~johaenni/
> > Jacques-Olivier.Haenni@xxxxxxx
> >Logic Systems Laboratory
> >Swiss Federal Institute of Technology (EPFL) | Tel: (+41 21) 693 66 30
> >1015 Lausanne - Switzerland | Fax: (+41 21) 693 37 05
To minimize the impact on the rest of the compiler, you might consider
treating the multimedia instructions as intrinsic ops rather than
WHIRL ops.
Murthy
|