LLVM編譯器終於結束了對源自K6-2的AMD 3DNow!指令集的支持
開源LLVM 編譯器今天放棄了對AMD 早已遺忘的3DNow!指令的支援!這種SIMD 擴展已經廢棄了大約十五年,它最早誕生於K6-2 時代。從Bulldozer 時代開始,AMD 處理器上就再也沒有出現過3DNow!
2011 年的AMD A8-3870K 是最後一款支援3DNow 指令的處理器。
對於那些真正迎合老式AMD 處理器的用戶,Assembly 程式碼(包括使用LLVM 的內聯Assembly 程式碼)仍然支援3DNow!但是,3DNow!巨集和選項已移除,相關的頭檔也已廢棄,所有3DNow 固有函數都已與編譯器內建函數一起清除。
經典的K6-2處理器
LLVM 19 Git 在過去一小時內的這次提交刪除了3DNow!
“這組指令僅在AMD K6-2 晶片(1998 年推出)和”推土機”系列(2011 年推出)之前支援。
這是全面取消MMX 暫存器使用的前奏。由於幾乎沒有人使用3DNow 內核,甚至沒有現代硬體實現它們,因此簡單移除似乎是最好的選擇。 “
這項工作是LLVM 計畫的一部分,LLVM 計畫以SSE 等價物實現MMX 本徵,進而從LLVM IR 和LLVM 後端移除MMX 類型/本徵。
作為下一個穩定的LLVM 編譯器版本,LLVM 19 將於9 月至10 月間發布,現在AMD 3DNow! 支援已移除。