Skip to content

Commit 3edcb02

Browse files
committed
add test case
1 parent 633fa95 commit 3edcb02

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

llvm/test/CodeGen/WebAssembly/disable-feature.ll

+35-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mattr=-sign-ext | FileCheck %s
2+
; RUN: llc < %s -mattr=-sign-ext,-bulk-memory | FileCheck %s
33

44
target triple = "wasm32-unknown-unknown"
55

6-
define i8 @ashr(i8 %v, i8 %x) {
7-
; CHECK-LABEL: ashr:
8-
; CHECK: .functype ashr (i32, i32) -> (i32)
6+
define i8 @not_use_extend8_s(i8 %v, i8 %x) {
7+
; CHECK-LABEL: not_use_extend8_s:
8+
; CHECK: .functype not_use_extend8_s (i32, i32) -> (i32)
99
; CHECK-NEXT: # %bb.0:
1010
; CHECK-NEXT: local.get 0
1111
; CHECK-NEXT: i32.const 24
@@ -20,3 +20,34 @@ define i8 @ashr(i8 %v, i8 %x) {
2020
%a = ashr i8 %v, %x
2121
ret i8 %a
2222
}
23+
24+
attributes #0 = { "target-features"="+bulk-memory," }
25+
26+
declare void @llvm.memset.p0.i32(ptr, i8, i32, i1)
27+
28+
define void @lower_bulk_memory(i8 %val) #0 {
29+
; CHECK-LABEL: lower_bulk_memory:
30+
; CHECK: .functype lower_bulk_memory (i32) -> ()
31+
; CHECK-NEXT: .local i32
32+
; CHECK-NEXT: # %bb.0:
33+
; CHECK-NEXT: global.get __stack_pointer
34+
; CHECK-NEXT: i32.const 112
35+
; CHECK-NEXT: i32.sub
36+
; CHECK-NEXT: local.tee 1
37+
; CHECK-NEXT: global.set __stack_pointer
38+
; CHECK-NEXT: local.get 1
39+
; CHECK-NEXT: i32.const 12
40+
; CHECK-NEXT: i32.add
41+
; CHECK-NEXT: local.get 0
42+
; CHECK-NEXT: i32.const 100
43+
; CHECK-NEXT: call memset
44+
; CHECK-NEXT: drop
45+
; CHECK-NEXT: local.get 1
46+
; CHECK-NEXT: i32.const 112
47+
; CHECK-NEXT: i32.add
48+
; CHECK-NEXT: global.set __stack_pointer
49+
; CHECK-NEXT: # fallthrough-return
50+
%a = alloca [100 x i8]
51+
call void @llvm.memset.p0.i32(ptr %a, i8 %val, i32 100, i1 false)
52+
ret void
53+
}

0 commit comments

Comments
 (0)