Patent ID: 8572586
Filing Date: 2013-10-29
Classification: G06F

Abstract:
1. A method, in a data processing system, for optimizing scalar code executed on a single instruction multiple data (SIMD) engine of the data processing system, comprising: determining placement of vector operation-splat operations based on an identification of scalar and SIMD operations in an original code representation, wherein each vector operation-splat operation is a single operation that performs a combination of a vector operation and a splat operation without performing a separate vector operation and separate splat operation; modifying the original code representation to include the vector operation-splat operations based on the determined placement of vector operation-splat operations to generate a first modified code representation; determining placement of separate splat operations based on identification of scalar and SIMD operations in the first modified code representation; modifying the first modified code representation to insert or delete separate splat operations based on the determined placement of the separate splat operations to generate a second modified code representation; and outputting SIMD code based on the second modified code representation for execution by the SIMD engine.