diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-01-28 11:47:52 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-01-28 11:47:52 -0800 |
commit | 7fd3f046471f28722998764f1db644e2e05882fc (patch) | |
tree | 5556dae9f144d916a1f29c947d26cfb698d19179 | |
parent | 9f89d3bfe264a37425cd23167f96f88ce024f988 (diff) |
preparations for legalizing zext
-rw-r--r-- | src/analyzer.js | 4 | ||||
-rw-r--r-- | tests/cases/legalizer_ta2.ll | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/analyzer.js b/src/analyzer.js index 53ccbe7e..a2ddc7d9 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -276,8 +276,8 @@ function analyzer(data, sidePass) { targetBits = sourceBits; break; } - case 'trunc': { - assert(value.param2.intertype == 'type', 'TODO: unfolding'); + case 'trunc': case 'zext': { + assert(value.param2.intertype == 'type' || value.param2.intertype == 'value', 'TODO: unfolding'); targetBits = getBits(value.param2.ident); break; } diff --git a/tests/cases/legalizer_ta2.ll b/tests/cases/legalizer_ta2.ll index 8622b720..4043d8d2 100644 --- a/tests/cases/legalizer_ta2.ll +++ b/tests/cases/legalizer_ta2.ll @@ -64,7 +64,8 @@ entry: call i32 (i8*)* @puts(i8* %buffer) ; zext - %big = zext i32 6382179 to i104 + %pre32 = zext i32 6382179 to i32 + %big = zext i32 %pre32 to i104 store i104 %big, i104* %bundled, align 4 call i32 (i8*)* @puts(i8* %buffer) |