Optimized scalar promotion with load and splat SIMD instructions
Abstract
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.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1107622
- Patent Number(s):
- 8572586
- Application Number:
- 13/555,435
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B554331
- Resource Type:
- Patent
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Eichenberger, Alexander E, Gschwind, Michael K, and Gunnels, John A. Optimized scalar promotion with load and splat SIMD instructions. United States: N. p., 2013.
Web.
Eichenberger, Alexander E, Gschwind, Michael K, & Gunnels, John A. Optimized scalar promotion with load and splat SIMD instructions. United States.
Eichenberger, Alexander E, Gschwind, Michael K, and Gunnels, John A. Tue .
"Optimized scalar promotion with load and splat SIMD instructions". United States. https://www.osti.gov/servlets/purl/1107622.
@article{osti_1107622,
title = {Optimized scalar promotion with load and splat SIMD instructions},
author = {Eichenberger, Alexander E and Gschwind, Michael K and Gunnels, John A},
abstractNote = {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.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2013},
month = {10}
}