首页 | 本学科首页   官方微博 | 高级检索  
     


A Vectorizing Compiler for Multimedia Extensions
Authors:N Sreraman  R Govindarajan
Affiliation:(1) Microsoft Corporation, One Microsoft Way, Redmond, Washington, 98052;(2) Supercomputer Education and Research Centre, Department of Computer Science and Automation, Indian Institute of Science, Bangalore, 560 012, India
Abstract:In this paper, we present an implementation of a vectorizing C compiler for Intel's MMX (Multimedia Extension). This compiler would identify data parallel sections of the code using scalar and array dependence analysis. To enhance the scope for application of the subword semantics, our compiler performs several code transformations. These include strip mining, scalar expansion, grouping and reduction, and distribution. Thereafter inline assembly instructions corresponding to the data parallel sections are generated. We have used the Stanford University Intermediate Format (SUIF), a public domain compiler tool, for our implementation. We evaluated the performance of the code generated by our compiler for a number of benchmarks. Initial performance results reveal that our compiler generated code produces a reasonable performance improvement (speedup of 2 to 6.5) over the the code generated without the vectorizing transformations/inline assembly. In certain cases, the performance of the compiler generated code is within 85% of the hand-tuned code for MMX architecture.
Keywords:MMX instruction set  subword parallelism  vectorizing compiler
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号