Add a RISC-V 64 (`riscv64`, RV64GC) backend. Co-authored-by: yuyang <756445638@qq.com> Co-authored-by: Chris Fallin <chris@cfallin.org> Co-authored-by: Afonso Bordado <afonsobordado@az8.co>
42 lines
715 B
Plaintext
42 lines
715 B
Plaintext
test interpret
|
|
test run
|
|
target aarch64
|
|
target aarch64 use_bti
|
|
target x86_64
|
|
target s390x
|
|
target riscv64
|
|
|
|
function %br_table_i32(i32) -> i32 {
|
|
jt0 = jump_table [block1, block2, block2, block3]
|
|
|
|
block0(v0: i32):
|
|
br_table v0, block4, jt0
|
|
|
|
block1:
|
|
v1 = iconst.i32 1
|
|
jump block5(v1)
|
|
|
|
block2:
|
|
v2 = iconst.i32 2
|
|
jump block5(v2)
|
|
|
|
block3:
|
|
v3 = iconst.i32 3
|
|
jump block5(v3)
|
|
|
|
block4:
|
|
v4 = iconst.i32 4
|
|
jump block5(v4)
|
|
|
|
block5(v5: i32):
|
|
v6 = iadd.i32 v0, v5
|
|
return v6
|
|
}
|
|
; run: %br_table_i32(0) == 1
|
|
; run: %br_table_i32(1) == 3
|
|
; run: %br_table_i32(2) == 4
|
|
; run: %br_table_i32(3) == 6
|
|
; run: %br_table_i32(4) == 8
|
|
; run: %br_table_i32(5) == 9
|
|
; run: %br_table_i32(6) == 10
|
|
; run: %br_table_i32(-1) == 3 |