Files
wasmtime/cranelift/filetests/filetests/isa/riscv64/i128-bmask.clif
Trevor Elliott f04decc4a1 Use capstone to validate precise-output tests (#5780)
Use the capstone library to disassemble precise-output tests, in addition to pretty-printing their vcode.
2023-02-15 16:35:10 -08:00

222 lines
3.4 KiB
Plaintext

test compile precise-output
set unwind_info=false
target riscv64
function %bmask_i128_i128(i128) -> i128 {
block0(v0: i128):
v1 = bmask.i128 v0
return v1
}
; VCode:
; block0:
; or a0,a0,a1
; li a2,-1
; select_reg a1,zero,a2##condition=(zero eq a0)
; mv a0,a1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; or a0, a0, a1
; addi a2, zero, -1
; beq zero, a0, 0xc
; ori a1, a2, 0
; j 8
; ori a1, zero, 0
; ori a0, a1, 0
; ret
function %bmask_i128_i64(i128) -> i64 {
block0(v0: i128):
v1 = bmask.i64 v0
return v1
}
; VCode:
; block0:
; or a0,a0,a1
; li a2,-1
; select_reg a0,zero,a2##condition=(zero eq a0)
; ret
;
; Disassembled:
; block0: ; offset 0x0
; or a0, a0, a1
; addi a2, zero, -1
; beq zero, a0, 0xc
; ori a0, a2, 0
; j 8
; ori a0, zero, 0
; ret
function %bmask_i128_i32(i128) -> i32 {
block0(v0: i128):
v1 = bmask.i32 v0
return v1
}
; VCode:
; block0:
; or a0,a0,a1
; li a2,-1
; select_reg a0,zero,a2##condition=(zero eq a0)
; ret
;
; Disassembled:
; block0: ; offset 0x0
; or a0, a0, a1
; addi a2, zero, -1
; beq zero, a0, 0xc
; ori a0, a2, 0
; j 8
; ori a0, zero, 0
; ret
function %bmask_i128_i16(i128) -> i16 {
block0(v0: i128):
v1 = bmask.i16 v0
return v1
}
; VCode:
; block0:
; or a0,a0,a1
; li a2,-1
; select_reg a0,zero,a2##condition=(zero eq a0)
; ret
;
; Disassembled:
; block0: ; offset 0x0
; or a0, a0, a1
; addi a2, zero, -1
; beq zero, a0, 0xc
; ori a0, a2, 0
; j 8
; ori a0, zero, 0
; ret
function %bmask_i128_i8(i128) -> i8 {
block0(v0: i128):
v1 = bmask.i8 v0
return v1
}
; VCode:
; block0:
; or a0,a0,a1
; li a2,-1
; select_reg a0,zero,a2##condition=(zero eq a0)
; ret
;
; Disassembled:
; block0: ; offset 0x0
; or a0, a0, a1
; addi a2, zero, -1
; beq zero, a0, 0xc
; ori a0, a2, 0
; j 8
; ori a0, zero, 0
; ret
function %bmask_i64_i128(i64) -> i128 {
block0(v0: i64):
v1 = bmask.i128 v0
return v1
}
; VCode:
; block0:
; li t2,-1
; select_reg a1,zero,t2##condition=(zero eq a0)
; mv a0,a1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; addi t2, zero, -1
; beq zero, a0, 0xc
; ori a1, t2, 0
; j 8
; ori a1, zero, 0
; ori a0, a1, 0
; ret
function %bmask_i32_i128(i32) -> i128 {
block0(v0: i32):
v1 = bmask.i128 v0
return v1
}
; VCode:
; block0:
; addiw t2,a0,0
; li a1,-1
; select_reg a1,zero,a1##condition=(zero eq t2)
; mv a0,a1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; sext.w t2, a0
; addi a1, zero, -1
; beq zero, t2, 8
; j 8
; ori a1, zero, 0
; ori a0, a1, 0
; ret
function %bmask_i16_i128(i16) -> i128 {
block0(v0: i16):
v1 = bmask.i128 v0
return v1
}
; VCode:
; block0:
; lui a1,16
; addi a1,a1,4095
; and a3,a0,a1
; li a5,-1
; select_reg a1,zero,a5##condition=(zero eq a3)
; mv a0,a1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; lui a1, 0x10
; addi a1, a1, -1
; and a3, a0, a1
; addi a5, zero, -1
; beq zero, a3, 0xc
; ori a1, a5, 0
; j 8
; ori a1, zero, 0
; ori a0, a1, 0
; ret
function %bmask_i8_i128(i8) -> i128 {
block0(v0: i8):
v1 = bmask.i128 v0
return v1
}
; VCode:
; block0:
; andi t2,a0,255
; li a1,-1
; select_reg a1,zero,a1##condition=(zero eq t2)
; mv a0,a1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; andi t2, a0, 0xff
; addi a1, zero, -1
; beq zero, t2, 8
; j 8
; ori a1, zero, 0
; ori a0, a1, 0
; ret