SIMD - efficient loop unrolling design for embedded multimedia applications
Due to the rising complexity of modern embedded media applications (EMAs), compilers must have the capability to exploit superword level parallelism (SLP). This work analyzes the memory access patterns found in EMAs and presents a scheme to calculate the loop unrolling factor to utilize these patterns fully to generate efficient single instruction multiple data (SIMD) instructions. The loop nest is also considered for actual memory access patterns, which can be used to improve the efficiency of the compiler. We observe a performance improvement by an average factor of 12 times for manual experiments conducted on the TriMedia TM-1300 processor for the H.264 encoding application.