Patent ID: 9542169
Date: 2017-01-10
CPC Classifications: G06F

Claim:
1. A method to generate Single Instruction Multiple Data (SIMD) code from code statements that include non-isomorphic code statements, the method comprising: receiving, by one or more processors, a plurality of code statements, each code statement having one or more operators in a respective operator order, each operator having a type and associated operands, wherein operands include: linearized address expressions, non-linearized address expressions, memory adjacent operands, and non-memory adjacent operands, and at least two code statements of the plurality of code statements having an operator of the same type in a different operator order position; identifying, by the one or more processors, a first operator order position for the operators of the same type in each of the at least two code statements; for each of the at least two code statements, generating, by the one or more processors, compiled code for operators and their associated operands having operator order positions preceding the first operator order positions; and generating, by the one or more processors, SIMD code from the compiled code at least based on the identified first operator order positions, the corresponding operator type, and the operands associated with the operator type at the identified operator order positions.