A new compilation technique for SIMD code generation across basic block boundaries

  • Authors:
  • Hiroaki Tanaka;Yutaka Ota;Nobu Matsumoto;Takuji Hieda;Yoshinori Takeuchi;Masaharu Imai

  • Affiliations:
  • Semiconductor Company, Saiwai-ku, Kawasaki, Japan;Semiconductor Company, Saiwai-ku, Kawasaki, Japan;Semiconductor Company, Saiwai-ku, Kawasaki, Japan;Osaka University, Suita, Osaka, Japan;Osaka University, Suita, Osaka, Japan;Osaka University, Suita, Osaka, Japan

  • Venue:
  • Proceedings of the 2010 Asia and South Pacific Design Automation Conference
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although SIMD instructions are effective for many digital signal processing applications, current compilers cannot take full advantage of SIMD instructions. One factor inhibiting SIMD code generation is control flow structure; the target scope of SIMD code generation is currently limited to single basic block or loop that consists of single basic block. SIMD instructions cannot be mapped typically across basic block boundaries even if basic blocks inside the control structure have enough parallelism. In this paper, a new compilation technique to generate SIMD code without modifying control flow structure is proposed. The data dependency between basic blocks is exploited to generate SIMD instructions. The packing cost is introduced for effective vectorization to maintain data dependency across basic block boundaries. Experimental results show that the new SIMD code generation technique reduced 67% of dynamic execution cycles of inter prediction in H.264 decoder.