[Top] [All Lists]

Re: Adding support for multimedia (SIMD) instructions

To: "Jacques-Olivier Haenni" <Jacques-Olivier.Haenni@xxxxxxx>, <pro64-contrib@xxxxxxxxxxx>, <pro64-support@xxxxxxxxxxx>
Subject: Re: Adding support for multimedia (SIMD) instructions
From: "Peng Tu" <tu@xxxxxxxxxxxxx>
Date: Tue, 27 Feb 2001 12:21:32 -0800
Sender: owner-pro64-contrib@xxxxxxxxxxx
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
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
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
I guess :-)


-----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
>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
Web) ?
>Any hint, any clue or any idea about this topic are very welcome.
>Thanks in advance for your reactions,
>     Jacques-Olivier Haenni  
>                                       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

<Prev in Thread] Current Thread [Next in Thread>