摘要 |
PROBLEM TO BE SOLVED: To automatically optimize a program utilizing the characteristic of a SIMD (single instruction/multiple data) instruction. SOLUTION: A source program described in a high-level language is intermediately represented on an RTL (register transfer level). In such a case, assignment statements obtained by applying the same arithmetic operation to different data are located to be integrated at one position by using a parallel expression, and the constraint of a register by an instruction set is applied. Next, an assignment statement that can be processed by one SIMD instruction are extracted from assignment statements described by using the parallel expression, and a variable used and defined by the assignment statement is substituted with a subreg expression to an SIMD register. When the parallelism of the SIMD instruction remains, a dummy assignment statement is added to make the inside of parallel correspond to one SIMD instruction. COPYRIGHT: (C)2003,JPO
|