13. A computer program product executable in a non-transitory computer readable storage medium for using Superword-Level Parallelism (SLP) in processing a plurality of statements, wherein the statements are associated with an array having a number of array positions, and each statement includes one or more expressions, the computer program product comprising: instructions for gathering isomorphic and non-isomorphic expressions for each of the statements into a merge stream of mixed isomorphic and non-isomorphic expressions, the merge stream being furnished with a location for each gathered isomorphic expression and each gathered non-isomorphic expression, wherein the location for a given expression is associated with one of the positions of the array; instructions for selectively identifying one or more sets of expressions in the merge stream that are aggregatable by a SLP packing operation, and applying SLP packing operation to the identified one or more sets of expressions in order to merge the identified one or more sets of expressions into one or more isomorphic sub-streams; instructions for selectively combining the expressions of the one or more isomorphic sub-streams, and other non-isomorphic expressions of the merge stream, into a number of input vectors that are substantially equal in length to one another; instructions for generating a location vector containing the respective locations for all of the isomorphic and non-isomorphic expressions in the merge stream; instructions for generating an output stream comprising the expressions of the number of input vectors, wherein the expressions are arranged in the output stream in an order that is determined by the respective locations contained in the location vector; and instructions for preserving at least one location vector or a set of location vectors at each step during processing.
13. A computer program product executable in a non-transitory computer readable storage medium for using Superword-Level Parallelism (SLP) in processing a plurality of statements, wherein the statements are associated with an array having a number of array positions, and each statement includes one or more expressions, the computer program product comprising: instructions for gathering isomorphic and non-isomorphic expressions for each of the statements into a merge stream of mixed isomorphic and non-isomorphic expressions, the merge stream being furnished with a location for each gathered isomorphic expression and each gathered non-isomorphic expression, wherein the location for a given expression is associated with one of the positions of the array; instructions for selectively identifying one or more sets of expressions in the merge stream that are aggregatable by a SLP packing operation, and applying SLP packing operation to the identified one or more sets of expressions in order to merge the identified one or more sets of expressions into one or more isomorphic sub-streams; instructions for selectively combining the expressions of the one or more isomorphic sub-streams, and other non-isomorphic expressions of the merge stream, into a number of input vectors that are substantially equal in length to one another; instructions for generating a location vector containing the respective locations for all of the isomorphic and non-isomorphic expressions in the merge stream; instructions for generating an output stream comprising the expressions of the number of input vectors, wherein the expressions are arranged in the output stream in an order that is determined by the respective locations contained in the location vector; and instructions for preserving at least one location vector or a set of location vectors at each step during processing. 19. The computer program product of claim 13 , wherein the one or more sets of expressions in the merge stream that are aggregatable by the SLP packing operation comprise expressions that are isomorphic or semi-isomorphic with respect to each other.