diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-10-18 13:30:49 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-10-18 13:30:49 -0700 |
commit | b89290b3456bd125b468391537487cbd2fd6f32e (patch) | |
tree | 7c4d6b98462fc6e880b98533ab2d52a9c91c617d /src/parseTools.js | |
parent | 5c4bbda63c06e107c725d0edb90fafc169887eae (diff) |
support for vector types nested in others
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index 649d6fed..aeb85426 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -324,6 +324,10 @@ function countNormalArgs(type, out, legalized) { return ret; } +function getVectorSize(type) { + return parseInt(type.substring(1, type.indexOf(' '))); +} + function getVectorBaseType(type) { Types.usesSIMD = true; switch (type) { @@ -335,6 +339,17 @@ function getVectorBaseType(type) { } } +function getVectorNativeType(type) { + Types.usesSIMD = true; + switch (type) { + case '<2 x float>': + case '<4 x float>': return 'float'; + case '<2 x i32>': + case '<4 x i32>': return 'i32'; + default: throw 'unknown vector type ' + type; + } +} + function addIdent(token) { token.ident = token.text; return token; |