2012-02-21 37 views
3

我最近鑽研以下Delphi源代碼:如何使用擴展數組做SIMD?

我的理解是:

  1. SSE是去幹什麼SIMD方式與Single
  2. SSE2Double

對方我的問題:

有沒有辦法做類似的事情(SMID與擴展我的意思是數組),如果我希望從更受益精度爲Extended可以提供?

回答

9

Extended是FPU(x87)類型,是一種在x87 CPU之外未找到的時髦類型。

SSE不支持大於double的值(因此也不支持四元組(128位))。

甚至在記錄SSE版本,但尚未公佈(Ivy Bridge的)

所以,不,這是不可能的。

而且SSE2也拓寬了登記,並提供額外的指令,所以「SSE VS SSE2」它不只是單一VS雙

+1

真正實在的,我注意到了預警Embarcadero公司RAD Studio的幫助,指出:'擴展提供了更大的精度比其他真實的類型,但便攜性較差。如果您要創建數據文件以跨平臺共享,請小心使用擴展名。那麼如果沒有Extended獲得SIMD更高的精度如何?我堅信應該有一個解決方案。 – menjaraz 2012-02-21 11:11:41

+0

然後,我會挖掘這些來源(即說應該有一個解決方案)。我閱讀了英特爾的數據表,但沒有發現。 – 2012-02-21 11:23:25

+0

馬可說得對。 x86或x64上所有現存的SIMD都具有4字節和8字節數據。你真的需要延長嗎?我知道我不在我的FEM代碼中。 – 2012-02-21 11:24:21