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
|