发明名称 Generating SIMD code from code statements that include non-isomorphic code statements
摘要 Generating SIMD code from code statements that include non-isomorphic code statements. Code statements are received, each code statement has one or more operators in a respective operator order and each operator has a type and associated operands. At least two code statements among the code statements received have an operator of the same type in a different operator order position. A first operator order position is identified for the operators of the same type in each of the code statements. For each of the code statements, code is generated for operators and their associated operands having operator order positions preceding the first operator order positions. SIMD code is generated 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.
申请公布号 US9501268(B2) 申请公布日期 2016.11.22
申请号 US201314138424 申请日期 2013.12.23
申请人 International Business Machines Corporation 发明人 Amiri Ehsan;Barton Christopher M.;Palmeiro Denis M.;Silvera Raul
分类号 G06F9/45;G06F17/30 主分类号 G06F9/45
代理机构 代理人 Zwick David
主权项 1. A computer program product to generate Single Instruction Multiple Data (SIMD) code from code statements that include non-isomorphic code statements, the computer program product comprising one or more computer-readable tangible non-transitory storage devices and program instructions stored on at least one of the one or more computer-readable tangible non-transitory storage devices, the program instructions comprising: program instructions to receive, 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 the 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; program instructions to identify, 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, program instructions to generate, 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 program instructions to generate, 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.
地址 Armonk NY US