summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-01-25 10:51:01 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-01-25 12:02:09 -0800
commitc0c72f2fed5cd7ef4512cffa8c18152658f20e2c (patch)
tree4c13bade4227d1a6d199076c51bca79550772c26 /test
parent28adf7c1bdbed96e97499ca5955594790a0022b9 (diff)
downloadbinaryen-c0c72f2fed5cd7ef4512cffa8c18152658f20e2c.tar.gz
binaryen-c0c72f2fed5cd7ef4512cffa8c18152658f20e2c.tar.bz2
binaryen-c0c72f2fed5cd7ef4512cffa8c18152658f20e2c.zip
handle new alignment format from llvm
Diffstat (limited to 'test')
-rw-r--r--test/llvm_autogenerated/i32-load-store-alignment.wast244
-rw-r--r--test/llvm_autogenerated/i64-load-store-alignment.wast364
-rw-r--r--test/llvm_autogenerated/offset.wast46
3 files changed, 635 insertions, 19 deletions
diff --git a/test/llvm_autogenerated/i32-load-store-alignment.wast b/test/llvm_autogenerated/i32-load-store-alignment.wast
new file mode 100644
index 000000000..b0ed4951a
--- /dev/null
+++ b/test/llvm_autogenerated/i32-load-store-alignment.wast
@@ -0,0 +1,244 @@
+(module
+ (memory 0 4294967295)
+ (export "ldi32_a1" $ldi32_a1)
+ (export "ldi32_a2" $ldi32_a2)
+ (export "ldi32_a4" $ldi32_a4)
+ (export "ldi32" $ldi32)
+ (export "ldi32_a8" $ldi32_a8)
+ (export "ldi8_a1" $ldi8_a1)
+ (export "ldi8_a2" $ldi8_a2)
+ (export "ldi16_a1" $ldi16_a1)
+ (export "ldi16_a2" $ldi16_a2)
+ (export "ldi16_a4" $ldi16_a4)
+ (export "sti32_a1" $sti32_a1)
+ (export "sti32_a2" $sti32_a2)
+ (export "sti32_a4" $sti32_a4)
+ (export "sti32" $sti32)
+ (export "sti32_a8" $sti32_a8)
+ (export "sti8_a1" $sti8_a1)
+ (export "sti8_a2" $sti8_a2)
+ (export "sti16_a1" $sti16_a1)
+ (export "sti16_a2" $sti16_a2)
+ (export "sti16_a4" $sti16_a4)
+ (func $ldi32_a1 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a2 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a4 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a8 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load align=8
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi8_a1 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load8_u align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi8_a2 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load8_u align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a1 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load16_u align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a2 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load16_u align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a4 (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.load16_u align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $sti32_a1 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=1
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a2 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=2
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a4 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=4
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=4
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a8 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti8_a1 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti8_a2 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=2
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a1 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=1
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a2 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=16
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a4 (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store align=4
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+)
+;; METADATA: { "asmConsts": {},"staticBump": 4 }
diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast
new file mode 100644
index 000000000..7f6903240
--- /dev/null
+++ b/test/llvm_autogenerated/i64-load-store-alignment.wast
@@ -0,0 +1,364 @@
+(module
+ (memory 0 4294967295)
+ (export "ldi64_a1" $ldi64_a1)
+ (export "ldi64_a2" $ldi64_a2)
+ (export "ldi64_a4" $ldi64_a4)
+ (export "ldi64_a8" $ldi64_a8)
+ (export "ldi64" $ldi64)
+ (export "ldi64_a16" $ldi64_a16)
+ (export "ldi8_a1" $ldi8_a1)
+ (export "ldi8_a2" $ldi8_a2)
+ (export "ldi16_a1" $ldi16_a1)
+ (export "ldi16_a2" $ldi16_a2)
+ (export "ldi16_a4" $ldi16_a4)
+ (export "ldi32_a1" $ldi32_a1)
+ (export "ldi32_a2" $ldi32_a2)
+ (export "ldi32_a4" $ldi32_a4)
+ (export "ldi32_a8" $ldi32_a8)
+ (export "sti64_a1" $sti64_a1)
+ (export "sti64_a2" $sti64_a2)
+ (export "sti64_a4" $sti64_a4)
+ (export "sti64_a8" $sti64_a8)
+ (export "sti64" $sti64)
+ (export "sti64_a16" $sti64_a16)
+ (export "sti8_a1" $sti8_a1)
+ (export "sti8_a2" $sti8_a2)
+ (export "sti16_a1" $sti16_a1)
+ (export "sti16_a2" $sti16_a2)
+ (export "sti16_a4" $sti16_a4)
+ (export "sti32_a1" $sti32_a1)
+ (export "sti32_a2" $sti32_a2)
+ (export "sti32_a4" $sti32_a4)
+ (export "sti32_a8" $sti32_a8)
+ (func $ldi64_a1 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi64_a2 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi64_a4 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi64_a8 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=8
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi64 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=8
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi64_a16 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=16
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi8_a1 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load8_u align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi8_a2 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load8_u align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a1 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load16_u align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a2 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load16_u align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi16_a4 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load16_u align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a1 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=1
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a2 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=2
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a4 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=4
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $ldi32_a8 (param $$0 i32) (result i64)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i64.load align=8
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $sti64_a1 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=1
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti64_a2 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=2
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti64_a4 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=4
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti64_a8 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti64 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti64_a16 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=16
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti8_a1 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti8_a2 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=2
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a1 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=1
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a2 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=16
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti16_a4 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=4
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a1 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=1
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a2 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=2
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a4 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=32
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $sti32_a8 (param $$0 i32) (param $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (i64.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+)
+;; METADATA: { "asmConsts": {},"staticBump": 4 }
diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast
index 5dea41ca3..759830ffd 100644
--- a/test/llvm_autogenerated/offset.wast
+++ b/test/llvm_autogenerated/offset.wast
@@ -32,6 +32,7 @@
(export "store_i8_with_folded_gep_offset" $store_i8_with_folded_gep_offset)
(export "aggregate_load_store" $aggregate_load_store)
(export "aggregate_return" $aggregate_return)
+ (export "aggregate_return_without_merge" $aggregate_return_without_merge)
(func $load_i32_with_folded_offset (param $$0 i32) (result i32)
(block $fake_return_waka123
(block
@@ -311,30 +312,22 @@
)
)
(func $store_i32_to_numeric_address
- (local $$0 i32)
(block $fake_return_waka123
(block
- (set_local $$0
- (i32.const 0)
- )
(i32.store offset=42 align=4
- (get_local $$0)
- (get_local $$0)
+ (i32.const 0)
+ (i32.const 0)
)
(br $fake_return_waka123)
)
)
)
(func $store_i32_to_global_address
- (local $$0 i32)
(block $fake_return_waka123
(block
- (set_local $$0
- (i32.const 0)
- )
(i32.store offset=8 align=4
- (get_local $$0)
- (get_local $$0)
+ (i32.const 0)
+ (i32.const 0)
)
(br $fake_return_waka123)
)
@@ -452,19 +445,34 @@
(func $aggregate_return (param $$0 i32)
(block $fake_return_waka123
(block
- (i32.store align=4
+ (i64.store align=4
+ (get_local $$0)
+ (i64.store offset=8 align=4
+ (get_local $$0)
+ (i64.const 0)
+ )
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $aggregate_return_without_merge (param $$0 i32)
+ (block $fake_return_waka123
+ (block
+ (i32.store offset=8 align=4
(get_local $$0)
- (i32.store offset=4 align=4
+ (i32.store offset=12 align=16
(get_local $$0)
- (i32.store offset=8 align=4
+ (i32.store offset=14 align=8
(get_local $$0)
- (i32.store offset=12 align=4
- (get_local $$0)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
)
+ (i64.store align=8
+ (get_local $$0)
+ (i64.const 0)
+ )
(br $fake_return_waka123)
)
)