[發明專利]用于從代碼語句生成SIMD代碼的方法和系統在審
| 申請號: | 201410698631.5 | 申請日: | 2014-11-27 |
| 公開(公告)號: | CN104731556A | 公開(公告)日: | 2015-06-24 |
| 發明(設計)人: | E·阿米里;C·M·巴頓;D·M·帕梅洛;R·希爾韋拉 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京市中咨律師事務所 11247 | 代理人: | 于靜;張亞非 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 代碼 語句 生成 simd 方法 系統 | ||
1.一種用于從包括非同構代碼語句的代碼語句生成SIMD代碼的方法,所述方法包括:
一個或多個處理器接收多個代碼語句,每個代碼語句具有采用相應操作符順序的一個或多個操作符,每個操作符具有類型和關聯的操作數,所述多個代碼語句中的至少兩個代碼語句在不同操作符順序位置中具有相同類型的操作符;
所述一個或多個處理器在所述至少兩個代碼語句的每一個中,針對所述相同類型的操作符標識第一操作符順序位置;
對于所述至少兩個代碼語句的每一個,所述一個或多個處理器針對操作符順序位置在所述第一操作符順序位置之前的操作符及其關聯的操作數生成代碼;以及
所述一個或多個處理器至少基于所標識的第一操作符順序位置、對應的操作符類型以及與所標識的操作符順序位置處的操作符類型關聯的操作數,生成SIMD代碼。
2.根據權利要求1的方法,其中針對操作符及其關聯的操作數生成代碼包括:
標識在所述第一操作符順序位置之前的第二操作符順序位置;
在所述至少兩個代碼語句的每一個中,針對具有與所述第二操作符順序位置對應的操作符類型的操作符標識第三操作符順序位置;
對于所述至少兩個代碼語句的每一個,針對操作符順序位置在所述第三操作符順序位置之前的操作符及其關聯的操作數生成代碼;以及
至少基于所標識的第二和第三操作符順序位置、對應的操作符類型以及與所標識的操作符順序位置處的所述操作符類型關聯的操作數,生成SIMD代碼。
3.根據權利要求1的方法,其中針對操作符及其關聯的操作數生成代碼進一步包括生成SIMD代碼。
4.根據權利要求2的方法,其中針對操作符及其關聯的操作數生成代碼進一步包括生成SIMD代碼。
5.根據權利要求1的方法,其中操作符順序包括以下之一:操作符優先順序,以及操作符在語句中的位置順序。
6.根據權利要求1的方法,其中操作數包括:線性化地址表達式、非線性化地址表達式、存儲器相鄰操作數,以及非存儲器相鄰操作數。
7.根據權利要求1的方法,其中操作符包括:加法和減法操作符、乘法和除法操作符、存儲操作符、轉換操作符。
8.一種用于從包括非同構代碼語句的代碼語句生成SIMD代碼的計算機程序產品,所述計算機程序產品包括一個或多個計算機可讀有形存儲設備,以及存儲在所述一個或多個計算機可讀有形存儲設備的至少一個上的程序指令,所述程序指令包括:
用于執行以下操作的程序指令:一個或多個處理器接收多個代碼語句,每個代碼語句具有采用相應操作符順序的一個或多個操作符,每個操作符具有類型和關聯的操作數,所述多個代碼語句中的至少兩個代碼語句在不同操作符順序位置中具有相同類型的操作符;
用于執行以下操作的程序指令:所述一個或多個處理器在所述至少兩個代碼語句的每一個中,針對所述相同類型的操作符標識第一操作符順序位置;
用于執行以下操作的程序指令:對于所述至少兩個代碼語句的每一個,所述一個或多個處理器針對操作符順序位置在所述第一操作符順序位置之前的操作符及其關聯的操作數生成代碼;以及
用于執行以下操作的程序指令:所述一個或多個處理器至少基于所標識的第一操作符順序位置、對應的操作符類型以及與所標識的操作符順序位置處的操作符類型關聯的操作數,生成SIMD代碼。
9.根據權利要求8的計算機程序產品,其中用于針對操作符及其關聯的操作數生成代碼的所述程序指令包括:
用于執行以下操作的程序指令:標識在所述第一操作符順序位置之前的第二操作符順序位置;
用于執行以下操作的程序指令:在所述至少兩個代碼語句的每一個中,針對具有與所述第二操作符順序位置對應的操作符類型的操作符標識第三操作符順序位置;
用于執行以下操作的程序指令:對于所述至少兩個代碼語句的每一個,針對操作符順序位置在所述第三操作符順序位置之前的操作符及其關聯的操作數生成代碼;以及
用于執行以下操作的程序指令:至少基于所標識的第二和第三操作符順序位置、對應的操作符類型以及與所標識的操作符順序位置處的所述操作符類型關聯的操作數,生成SIMD代碼。
10.根據權利要求8的計算機程序產品,其中用于針對操作符及其關聯的操作數生成代碼的所述程序指令進一步包括用于生成SIMD代碼的程序指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司;,未經國際商業機器公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410698631.5/1.html,轉載請聲明來源鉆瓜專利網。





