diff options
author | Geoffrey Mainland <gmainlan@microsoft.com> | 2013-02-14 18:52:00 +0000 |
---|---|---|
committer | Geoffrey Mainland <gmainlan@microsoft.com> | 2013-09-22 22:33:59 -0400 |
commit | e074c1c23307649bd2d240d40a73d3829b06a4b4 (patch) | |
tree | 487320573dcd2c2b7f9a239b80ff67d6191f8032 /utils | |
parent | 9d47e583e14923745380445ee52b16e69e926ebe (diff) | |
download | haskell-e074c1c23307649bd2d240d40a73d3829b06a4b4.tar.gz |
Add support for 256-bit-wide vectors.
Diffstat (limited to 'utils')
-rw-r--r-- | utils/genapply/GenApply.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/utils/genapply/GenApply.hs b/utils/genapply/GenApply.hs index 2baf85896a..036a8479a4 100644 --- a/utils/genapply/GenApply.hs +++ b/utils/genapply/GenApply.hs @@ -33,6 +33,7 @@ data ArgRep | D -- double | L -- long (64-bit) | V16 -- 16-byte (128-bit) vectors + | V32 -- 32-byte (256-bit) vectors -- size of a value in *words* argSize :: ArgRep -> Int @@ -43,6 +44,7 @@ argSize F = 1 argSize D = (SIZEOF_DOUBLE `quot` SIZEOF_VOID_P :: Int) argSize L = (8 `quot` SIZEOF_VOID_P :: Int) argSize V16 = (16 `quot` SIZEOF_VOID_P :: Int) +argSize V32 = (32 `quot` SIZEOF_VOID_P :: Int) showArg :: ArgRep -> String showArg N = "n" @@ -52,6 +54,7 @@ showArg F = "f" showArg D = "d" showArg L = "l" showArg V16 = "v16" +showArg V32 = "v32" -- is a value a pointer? isPtr :: ArgRep -> Bool @@ -504,6 +507,7 @@ argRep D = text "D_" argRep L = text "L_" argRep P = text "gcptr" argRep V16 = text "V16_" +argRep V32 = text "V32_" argRep _ = text "W_" genApply regstatus args = @@ -854,6 +858,7 @@ applyTypes = [ [D], [L], [V16], + [V32], [N], [P], [P,V], @@ -882,6 +887,7 @@ stackApplyTypes = [ [D], [L], [V16], + [V32], [N,N], [N,P], [P,N], |