The invention relates to the field of high-
performance computing automatic parallelization, in particular to an automatic vectorizing method for heterogeneous
SIMD expansion components. The automatic vectorizing method is suitable for the heterogeneous
SIMD expansion components with different vector quantity lengths and different vector quantity instruction sets, a set of virtual instruction sets are designed, and an input C and a Fortran program can be converted into an intermediate representation of virtual instructions under an automatic vectorizing unified framework. The virtual instruction sets are automatically converted into vectorizing codes for the heterogeneous
SIMD expansion components through solving
virtualization of the vector quantity lengths and solving
virtualization of the instruction sets so that a
programmer can be free from complex manual vectorizing coding work. The vectorizing method is combined with relative optimizing methods, vectorizing recognition is carried out from different granularities, mixing parallelism of a circulation level and a
basic block level is explored to the greatest extent through conventional optimization and invocation point optimization, the redundancy optimization is carried out on generated codes through the analysis about striding
data dependence of a
basic block, and executing efficiency of a program is effectively improved.