The loop optimizations in Pro64 is under 'be/lno' directory. The LNO is on
-O3. The LNO performs loop detection, dependence analysis etc. The IR for
is WHIRL. You may want to do all your analysis in LNO and generate
(1) Either expand the WHIRL to include the multimedia instructions, or
build-in data types to support multimedia data types so you can reuse the
(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
I guess :-)
From: Jacques-Olivier Haenni <Jacques-Olivier.Haenni@xxxxxxx>
To: pro64-contrib@xxxxxxxxxxx <pro64-contrib@xxxxxxxxxxx>;
Date: Tuesday, February 27, 2001 9:39 AM
Subject: Adding support for multimedia (SIMD) instructions
>I would like to add support for Itanium multimedia instructions into SGI
>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
>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
>conversion, the sizes of the operands (8-, 16-, 32- or 64-bit) are lost;
>information seems me primordial for finding candidate loops for
>- The backend already knows multimedia instructions; one "just" has to
>such instructions while WHIRL to OPs conversion. This mainly involves
>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
>loop manipulation in Pro64 (I already have the file 'whirl.pdf' from the
>Any hint, any clue or any idea about this topic are very welcome.
>Thanks in advance for your reactions,
> Jacques-Olivier Haenni http://lslwww.epfl.ch/~johaenni/
>Logic Systems Laboratory
>Swiss Federal Institute of Technology (EPFL) | Tel: (+41 21) 693 66 30
>1015 Lausanne - Switzerland | Fax: (+41 21) 693 37 05