x64: Migrate br_table to ISLE (#4615)

https://github.com/bytecodealliance/wasmtime/pull/4615
This commit is contained in:
Trevor Elliott
2022-08-04 15:12:37 -07:00
committed by GitHub
parent b4d7ab36f9
commit cd847d071d
5 changed files with 119 additions and 92 deletions

View File

@@ -185,3 +185,41 @@ block2:
; movq %rbp, %rsp
; popq %rbp
; ret
function %f5(i32) -> b1 {
jt0 = jump_table [block1, block2]
block0(v0: i32):
br_table v0, block1, jt0
block1:
v1 = bconst.b1 true
return v1
block2:
v2 = bconst.b1 false
return v2
}
; pushq %rbp
; movq %rsp, %rbp
; block0:
; movl $0, %r8d
; cmpl $2, %edi
; br_table %rdi
; block1:
; jmp label3
; block2:
; jmp label3
; block3:
; movl $1, %eax
; movq %rbp, %rsp
; popq %rbp
; ret
; block4:
; xorl %eax, %eax, %eax
; movq %rbp, %rsp
; popq %rbp
; ret