A Code Selection Method for SIMD Processors with PACK Instructions

This paper proposes a code selection method for SIMD instructions considering PACK instructions. The proposed method is based on a code selection method using Integer Linear Programming. The proposed method selects SIMD instructions efficiently, because it considers data transfer between registers. Data transfers are represented as nodes of PACK instructions. In the proposed method, nodes for data transfers are added to DAGs representing basic blocks. The nodes are covered by covering rules for PACK instructions. Code selection problems are formulated into Integer Linear Programming. Experimental results show that the proposed method reduced code size by 10% and execution cycles by 20 % or more, comparing to the method without PACK instructions.