Publication
HICSS 2000
Conference paper

A new approach to DSP intrinsic functions

Abstract

A compiler is frequently unable to make use of algorithm-specific instructions which DSP's (digital signal processors) provide. To force their use, programmers use language extensions to define intrinsic functions. Traditionally, these intrinsic functions are implemented with assembly language instructions on the target processor. We propose and implement a new approach to intrinsic functions where the programmer targets a compiler's intermediate representation rather than the assembly language of a particular processor. The benefits of our approach are both portability and improved performance. We compare the performance of the traditional approach with our new approach for four GSM (Global System for Mobile communication) speech coders. We also examine the interaction of our new approach with two major optimizations-profile-directed function inlining and aggressive loop optimization. We find that, compared to the traditional approach, ours benefits greatly from removing barriers to these optimizations. We find that without inlining or loop optimization, our new approach speeds up execution by a factor of 1.12 compared to the traditional approach; however, with both loop optimization and a moderate amount of inlining, we find a speedup of 2.38. We find a similar improvement in achieved instruction-level parallelism.

Date

Publication

HICSS 2000

Authors

Share