DM-SIMD: A new SIMD predication mechanism for exploiting superword level parallelism
Libo Huang, Li Shen, Sheng Ma, Nong Xiao, Zhiying Wang · 2009
Predication mechanism is a promising architectural feature for exploiting superword level parallelism (SLP) in presence of control flow. However, for the sake of binary compatibility, current SIMD extension only supports partial predicated execution such as select method which has performance and safety problems. In this paper, we present a new SIMD predication mechanism, data masked SIMD (DM-SIMD), capable of supporting full predication without touching existing ISA. DM-SIMD avoids the high encoding overhead of traditional full predication, and eliminates safety problem raised by partial predication as well. The cornerstone of this mechanism is the ¿state change¿ idea which adds new instructions to set internal state in SIMD datapath rather than putting the VM setting bits in every SIMD instruction. To effectively use DM-SIMD facilities for SIMD code generation, the compilation strategies are also proposed. We implemented these techniques in a vectorizing compiler and experiments were conducted on various kinds of applications. The results show that performance speedup, about 20% higher than current SIMD extensions, can be achieved.