An Optimizer for Multimedia Instruction Sets
暂无分享,去创建一个
Due to the increasing use of digital multimedia, modern microprocessors provide multimedia extension instruction sets to increase the performance of these applications. Examples include SUN VIS, Intel MMX and HP MAX2. These instruction sets provide “subword parallelism” by providing SIMD instructions on small, fixed-point data units (such as 8-bit bytes or 16-bit words) within a wide (typically 64-bit) data word on modern microprocessors. Other operations include subword data permutation and commonly used aggregate operations such as sum of absolute differences. Usually, programmers take advantage of these instructions by rewriting inner-most loops by hand. Even with certain compiler extensions to avoid assembly coding, this process is still error-prone and painful. This paper describes a research project in progress that automatically optimizes for the SUN VIS instruction set by exploring loop level parallelism in multimedia programs.