[lld][WebAssembly] Rewrite exports test in assembly. NFC

Differential Revision: https://reviews.llvm.org/D99885

GitOrigin-RevId: dc1a08caeff415712ff8299b21a4c26fced777db
diff --git a/test/wasm/export.ll b/test/wasm/export.ll
deleted file mode 100644
index 18ff1c4..0000000
--- a/test/wasm/export.ll
+++ /dev/null
@@ -1,59 +0,0 @@
-; Test in default mode
-; RUN: llc -filetype=obj %s -o %t.o
-; RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
-; RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
-; RUN: obj2yaml %t.wasm | FileCheck %s
-
-; Now test in Emscripten mode
-; RUN: llc -filetype=obj %s -o %t.o -mtriple=wasm32-unknown-emscripten
-; RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
-; RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
-; RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes=CHECK,EMSCRIPTEN
-
-target triple = "wasm32-unknown-unknown"
-
-@llvm.used = appending global [1 x i8*] [i8* bitcast (i32 ()* @used_function to i8*)], section "llvm.metadata"
-
-; Not exported by default, but forced via commandline
-define hidden i32 @hidden_function() local_unnamed_addr {
-entry:
-  ret i32 0
-}
-
-; Not exported by default
-define i32 @default_function() local_unnamed_addr {
-entry:
-  ret i32 0
-}
-
-; Exported because its part of llvm.used
-define i32 @used_function() local_unnamed_addr {
-entry:
-  ret i32 0
-}
-
-; Exported by default
-define void @_start() local_unnamed_addr {
-entry:
-  ret void
-}
-
-; CHECK-ERROR: error: symbol exported via --export not found: missing
-
-; CHECK-NOT: - Name: default_function
-
-; CHECK:        - Type:            EXPORT
-; CHECK-NEXT:     Exports:
-; CHECK-NEXT:       - Name:            memory
-; CHECK-NEXT:         Kind:            MEMORY
-; CHECK-NEXT:         Index:           0
-; CHECK-NEXT:       - Name:            hidden_function
-; CHECK-NEXT:         Kind:            FUNCTION
-; CHECK-NEXT:         Index:           0
-; EMSCRIPTEN-NEXT:  - Name:            used_function
-; EMSCRIPTEN-NEXT:    Kind:            FUNCTION
-; EMSCRIPTEN-NEXT:    Index:           1
-; CHECK-NEXT:       - Name:            _start
-; CHECK-NEXT:         Kind:            FUNCTION
-; CHECK-NEXT:         Index:           2
-; CHECK-NEXT:   - Type:            CODE
diff --git a/test/wasm/export.s b/test/wasm/export.s
new file mode 100644
index 0000000..c166298
--- /dev/null
+++ b/test/wasm/export.s
@@ -0,0 +1,60 @@
+# Test in default mode
+# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s
+# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
+# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
+# RUN: obj2yaml %t.wasm | FileCheck %s
+
+# Now test in Emscripten mode
+# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-emscripten -o %t.o %s
+# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
+# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
+# RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes=CHECK,EMSCRIPTEN
+
+# Not exported by default, but forced via commandline
+  .hidden hidden_function
+  .globl hidden_function
+hidden_function:
+  .functype hidden_function () -> (i32)
+  i32.const 0
+  end_function
+
+# Not exported by default
+  .globl default_function
+default_function:
+  .functype default_function () -> (i32)
+  i32.const 0
+  end_function
+
+# Exported in emscripten mode which treats .no_dead_strip as a signal to export
+  .no_dead_strip used_function
+  .globl used_function
+used_function:
+  .functype used_function () -> (i32)
+  i32.const 0
+  end_function
+
+# Exported by default
+.globl _start
+_start:
+  .functype _start () -> ()
+  end_function
+
+# CHECK-ERROR: error: symbol exported via --export not found: missing
+
+# CHECK-NOT: - Name: default_function
+
+# CHECK:        - Type:            EXPORT
+# CHECK-NEXT:     Exports:
+# CHECK-NEXT:       - Name:            memory
+# CHECK-NEXT:         Kind:            MEMORY
+# CHECK-NEXT:         Index:           0
+# CHECK-NEXT:       - Name:            hidden_function
+# CHECK-NEXT:         Kind:            FUNCTION
+# CHECK-NEXT:         Index:           0
+# EMSCRIPTEN-NEXT:  - Name:            used_function
+# EMSCRIPTEN-NEXT:    Kind:            FUNCTION
+# EMSCRIPTEN-NEXT:    Index:           1
+# CHECK-NEXT:       - Name:            _start
+# CHECK-NEXT:         Kind:            FUNCTION
+# CHECK-NEXT:         Index:           2
+# CHECK-NEXT:   - Type:            CODE