summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/func.ll
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2015-10-06 00:27:55 +0000
committerDan Gohman <dan433584@gmail.com>2015-10-06 00:27:55 +0000
commite51c058ecc2d06b329e176a78487144828a7ae51 (patch)
treeccbaecac243b7f16d7683c0bdc128ad892e7810f /llvm/test/CodeGen/WebAssembly/func.ll
parentd77e802f0772e3f0fe53027a9e09de3dae46b911 (diff)
downloadbcm5719-llvm-e51c058ecc2d06b329e176a78487144828a7ae51.tar.gz
bcm5719-llvm-e51c058ecc2d06b329e176a78487144828a7ae51.zip
[WebAssembly] Switch to a more traditional assembly syntax
This new syntax is built around putting each instruction on its own line in a "mnemonic op, op, op" like syntax. It also uses conventional data section directives like ".byte" and so on rather than requiring everything to be in hierarchical S-expression format. This is a more natural syntax for a ".s" file format from the perspective of LLVM MC and related tools, while remaining easy to translate into other forms as needed. llvm-svn: 249364
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/func.ll')
-rw-r--r--llvm/test/CodeGen/WebAssembly/func.ll39
1 files changed, 22 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/func.ll b/llvm/test/CodeGen/WebAssembly/func.ll
index 5d84392fc44..355545a569c 100644
--- a/llvm/test/CodeGen/WebAssembly/func.ll
+++ b/llvm/test/CodeGen/WebAssembly/func.ll
@@ -5,35 +5,40 @@
target datalayout = "e-p:32:32-i64:64-n32:64-S128"
target triple = "wasm32-unknown-unknown"
-; CHECK-LABEL: (func $f0{{$}}
-; CHECK: (return){{$}}
-; CHECK-NEXT: ) ;; end func $f0{{$}}
+; CHECK-LABEL: f0:
+; CHECK: return{{$}}
+; CHECK: .size f0,
define void @f0() {
ret void
}
-; CHECK-LABEL: (func $f1{{$}}
-; CHECK-NEXT: (result i32){{$}}
-; CHECK-NEXT: (set_local @0 (immediate 0)){{$}}
-; CHECK-NEXT: (return @0){{$}}
-; CHECK-NEXT: ) ;; end func $f1{{$}}
+; CHECK-LABEL: f1:
+; CHECK-NEXT: .result i32{{$}}
+; CHECK-NEXT: i32.const 0{{$}}
+; CHECK-NEXT: set_local @0, pop{{$}}
+; CHECK-NEXT: return @0{{$}}
+; CHECK: .size f1,
define i32 @f1() {
ret i32 0
}
-; CHECK-LABEL: (func $f2{{$}}
-; CHECK-NEXT: (param i32) (param f32) (result i32){{$}}
-; CHECK-NEXT: (set_local @0 (immediate 0)){{$}}
-; CHECK-NEXT: (return @0){{$}}
-; CHECK-NEXT: ) ;; end func $f2{{$}}
+; CHECK-LABEL: f2:
+; CHECK-NEXT: .param i32{{$}}
+; CHECK-NEXT: .param f32{{$}}
+; CHECK-NEXT: .result i32{{$}}
+; CHECK-NEXT: i32.const 0{{$}}
+; CHECK-NEXT: set_local @2, pop{{$}}
+; CHECK-NEXT: return @2{{$}}
+; CHECK: .size f2,
define i32 @f2(i32 %p1, float %p2) {
ret i32 0
}
-; CHECK-LABEL: (func $f3{{$}}
-; CHECK-NEXT: (param i32) (param f32){{$}}
-; CHECK-NEXT: (return){{$}}
-; CHECK-NEXT: ) ;; end func $f3{{$}}
+; CHECK-LABEL: f3:
+; CHECK-NEXT: .param i32{{$}}
+; CHECK-NEXT: .param f32{{$}}
+; CHECK-NEXT: return{{$}}
+; CHECK: .size f3,
define void @f3(i32 %p1, float %p2) {
ret void
}
OpenPOWER on IntegriCloud