Patent ID: 8726252

Claim:
A method comprising: receiving, by a single instruction multiple data (SIMD) information handling system (IHS), source code information; identifying, by the SIMD IHS, within the source code information an if-then-else statement opportunity for conversion to first and second branch statements, wherein the first branch statement is a conditional branch and prepare statement, wherein the second branch statement is a branch return statement; converting, by the SIMD IHS, the if-then-else statement opportunity into the first and second branch statements, thus generating compiled code information; commencing speculatively executing, by the SIMD IHS, the compiled code information, the SIMD IHS being configured with a plurality of SIMD lanes; generating, by the SIMD IHS, from the compiled code information a SIMD lane mask that identifies SIMD lane conditions thus providing a first mask iteration; storing, by the SIMD IHS, a branch address that points to the first branch statement; identifying, by the SIMD IHS, from the compiled code information a first unprocessed lane of the plurality of SIMD lanes; determining, by the SIMD IHS, whether the first unprocessed lane directs to target code or inline code, the target code and the inline code being included in the compiled code information; executing, by the SIMD IHS, the target code if the determining step identifies the target code for the unprocessed lane; executing, by the SIMD IHS, the inline code if the determining step identifies the inline code for the unprocessed lane; updating, by the SIMD IHS, the SIMD lane mask thus providing a next mask iteration; testing, by the SIMD IHS, to determine if all SIMD lanes are processed; and branching, by the SIMD IHS, to the stored branch address if the testing step determines that all SIMD lanes are not processed.