diff options
author | Geoffrey Mainland <gmainlan@microsoft.com> | 2013-09-15 17:20:09 -0400 |
---|---|---|
committer | Geoffrey Mainland <gmainlan@microsoft.com> | 2013-09-22 22:34:00 -0400 |
commit | 26a960c662cdfdfb24ec8ed3e013c686dfdca4cd (patch) | |
tree | f99cd0e0fddc6d44f18c4d69841b41697e618408 /utils | |
parent | 49f4c12e0ad53f9d10c74c4a04c485f89293c4b6 (diff) | |
download | haskell-26a960c662cdfdfb24ec8ed3e013c686dfdca4cd.tar.gz |
Add support for 512-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 036a8479a4..188211df81 100644 --- a/utils/genapply/GenApply.hs +++ b/utils/genapply/GenApply.hs @@ -34,6 +34,7 @@ data ArgRep | L -- long (64-bit) | V16 -- 16-byte (128-bit) vectors | V32 -- 32-byte (256-bit) vectors + | V64 -- 64-byte (512-bit) vectors -- size of a value in *words* argSize :: ArgRep -> Int @@ -45,6 +46,7 @@ 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) +argSize V64 = (64 `quot` SIZEOF_VOID_P :: Int) showArg :: ArgRep -> String showArg N = "n" @@ -55,6 +57,7 @@ showArg D = "d" showArg L = "l" showArg V16 = "v16" showArg V32 = "v32" +showArg V64 = "v64" -- is a value a pointer? isPtr :: ArgRep -> Bool @@ -508,6 +511,7 @@ argRep L = text "L_" argRep P = text "gcptr" argRep V16 = text "V16_" argRep V32 = text "V32_" +argRep V64 = text "V64_" argRep _ = text "W_" genApply regstatus args = @@ -859,6 +863,7 @@ applyTypes = [ [L], [V16], [V32], + [V64], [N], [P], [P,V], @@ -888,6 +893,7 @@ stackApplyTypes = [ [L], [V16], [V32], + [V64], [N,N], [N,P], [P,N], |