[发明专利]插入用于优化的SIMD代码的操作-和-指示指令有效
申请号: | 201080036667.7 | 申请日: | 2010-07-19 |
公开(公告)号: | CN102473104A | 公开(公告)日: | 2012-05-23 |
发明(设计)人: | A·艾兴贝格尔;A·加拉;M·格施温德 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;陈姗姗 |
地址: | 美国纽约*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 插入 用于 优化 simd 代码 操作 指示 指令 | ||
1.一种数据处理系统(100)中的方法,用于将指令插入到代码(620)中,以检查指示推迟的异常条件的数据内路径的特殊异常值(840),该方法包括:
由所述数据处理系统(100)的处理器(110,120-134)上执行的编译器(610)对第一代码(620)的一部分进行分析,以识别所述第一代码(620)中执行指定的非预测性操作的至少一个非预测性指令,该非预测性指令是被操作-和-指示指令替换的候选,所述操作-和-指示指令执行所述指定的非预测性操作并进一步执行指示操作,所述指示操作用于指示对应于出现在到所述操作-和-指示指令(1020)的向量寄存器输入的向量插槽中的数据内路径的特殊异常值(840)的任何异常条件;
由所述处理器(110,120-134)上执行的所述编译器(610)利用所述操作-和-指示指令(1080)替换所述第一代码中执行指定的非预测性操作的所述至少一个非预测性指令;以及
由所述处理器(110,120-134)上执行的编译器(610)基于所述第一代码(620)中的所述至少一个非预测性指令的替换而生成第二代码(630)。
2.根据权利要求1所述的方法,其中所述操作-和-指示指令(1080)是存储-和-指示指令、移动-和-指示指令或计算-和-指示指令之一,所述存储-和-指示指令执行向存储器(163-170,199)的存储操作,并且在存在数据内路径的特殊异常值(840)的情况下指示与之对应的异常条件,所述移动-和-指示指令把向量输入从一个向量寄存器移动到另一个向量寄存器,并且在存在数据内路径的特殊异常值(840)的情况下指示与之对应的异常条件,所述计算-和-指示指令在输入向量上执行计算操作,生成向量输出,并且在存在数据内路径的特殊异常值(840)的情况下指示与之对应的异常条件。
3.根据权利要求1所述的方法,其中,所述第一代码(620)包括单指令流多数据流(SIMD)代码。
4.根据权利要求1所述的方法,其中,分析所述第一代码(620)的所述一部分包括分析所述第一代码(620)的所述一部分的相关性图(1125)以识别所述相关性图中的节点,在该节点处可以插入操作-和-指示指令以作为对应于该节点的指令的替换。
5.根据权利要求4所述的方法,其中,分析所述第一代码(620)的所述一部分进一步包括确定对应于所述节点的指令的向量输出寄存器(1130)是可检查的还是不可检查的,其中:
如果存储在向量输出寄存器(1130)的每个插槽中的每个值都是可检查的,则向量输出寄存器(1130)是可检查的,
如果值是活的且实际上是被计算出的浮点值,或者如果该值确保不会引起异常条件,则该值是可检查的,以及
如果值影响了所述数据处理系统(100)的存储器(163-170,199)的存储镜像,或者影响了所述第一代码(620)的判决过程,或者使用了该值的一系列计算影响了所述存储镜像或判决过程,则该值是活的。
6.根据权利要求5所述的方法,其中,利用所述操作-和-指示指令(1080)替换所述至少一个非预测性指令包括在所述第一代码(620)的所述一部分的所述相关性图(1125)的节点处插入所述操作-和-指示指令,在该节点处,针对数据内路径的特殊异常值(840)而检查了所述第一代码(620)的所述一部分的向量输出寄存器(1130)的活的浮点值。
7.根据权利要求5所述的方法,其中,利用所述操作-和-指示指令替换所述至少一个非预测性指令包括在所述第一代码(620)的所述一部分的相关性图(1125)的、执行了计算的每个节点处插入操作-和-指示指令(1080)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080036667.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:变速恒频发电机的控制方法
- 下一篇:在钎焊的制品上形成氧化物层的方法