skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Optimized scalar promotion with load and splat SIMD instructions

Patent ·
OSTI ID:1107622

Mechanisms for optimizing scalar code executed on a single instruction multiple data (SIMD) engine are provided. Placement of vector operation-splat operations may be determined based on an identification of scalar and SIMD operations in an original code representation. The original code representation may be modified to insert the vector operation-splat operations based on the determined placement of vector operation-splat operations to generate a first modified code representation. Placement of separate splat operations may be determined based on identification of scalar and SIMD operations in the first modified code representation. The first modified code representation may be modified to insert or delete separate splat operations based on the determined placement of the separate splat operations to generate a second modified code representation. SIMD code may be output based on the second modified code representation for execution by the SIMD engine.

Research Organization:
International Business Machines Corp., Armonk, NY (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
B554331
Assignee:
International Business Machines Corporation (Armonk, NY)
Patent Number(s):
8,572,586
Application Number:
13/555,435
OSTI ID:
1107622
Country of Publication:
United States
Language:
English

References (13)

Optimized Scalar Promotion with Load and Splat SIMD Instructions patent-application December 2009
Method for vectorizing and executing on an SIMD machine outer loops in the presence of recurrent inner loops patent December 1987
Methods and systems for developing data flow programs patent June 2006
Two dimensional addressing of a matrix-vector register array patent June 2008
Parallel processor system for processing natural concurrencies and method therefor patent June 1991
Vectorization in a SIMdD DSP architecture patent December 2007
Dynamic generation of multimedia code for image processing patent January 2007
Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data patent November 2007
Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions patent November 2007
Method and apparatus for counting instruction execution and data accesses for specific types of instructions patent August 2007
Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware patent October 2007
Method and apparatus for providing hardware assistance for code coverage patent November 2007
Loop optimization with mapping code on an architecture patent August 2004