Files
wasmtime/cranelift/filetests/filetests/isa/s390x/struct-arg.clif
Trevor Elliott cc073593a4 Fix block label printing in precise-output tests (#5798)
As a follow-up to #5780, disassemble the regions identified by bb_starts, falling back on disassembling the whole buffer. This ensures that instructions like br_table that introduce a lot of constants don't throw off capstone for the remainder of the function.

---------

Co-authored-by: Jamey Sharp <jamey@minilop.net>
2023-02-16 02:35:26 +00:00

208 lines
4.2 KiB
Plaintext

test compile precise-output
target s390x
function u0:0(i64 sarg(64)) -> i8 system_v {
block0(v0: i64):
v1 = load.i8 v0
return v1
}
; VCode:
; block0:
; llc %r2, 0(%r2)
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; llc %r2, 0(%r2)
; br %r14
function u0:1(i64 sarg(64), i64) -> i8 system_v {
block0(v0: i64, v1: i64):
v2 = load.i8 v1
v3 = load.i8 v0
v4 = iadd.i8 v2, v3
return v4
}
; VCode:
; block0:
; llc %r3, 0(%r3)
; llc %r4, 0(%r2)
; ark %r2, %r3, %r4
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; llc %r3, 0(%r3)
; llc %r4, 0(%r2)
; ark %r2, %r3, %r4
; br %r14
function u0:2(i64) -> i8 system_v {
fn1 = colocated u0:0(i64 sarg(64)) -> i8 system_v
block0(v0: i64):
v1 = call fn1(v0)
return v1
}
; VCode:
; stmg %r14, %r15, 112(%r15)
; aghi %r15, -224
; virtual_sp_offset_adjust 224
; block0:
; mvc 160(63,%r15), 0(%r2)
; la %r2, 160(%r15)
; brasl %r14, userextname0
; lmg %r14, %r15, 336(%r15)
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; stmg %r14, %r15, 0x70(%r15)
; aghi %r15, -0xe0
; block1: ; offset 0xa
; mvc 0xa0(0x40, %r15), 0(%r2)
; la %r2, 0xa0(%r15)
; brasl %r14, 0x14 ; reloc_external PLTRel32Dbl u0:0 2
; lmg %r14, %r15, 0x150(%r15)
; br %r14
function u0:3(i64, i64) -> i8 system_v {
fn1 = colocated u0:0(i64, i64 sarg(64)) -> i8 system_v
block0(v0: i64, v1: i64):
v2 = call fn1(v0, v1)
return v2
}
; VCode:
; stmg %r14, %r15, 112(%r15)
; aghi %r15, -224
; virtual_sp_offset_adjust 224
; block0:
; mvc 160(63,%r15), 0(%r3)
; la %r3, 160(%r15)
; brasl %r14, userextname0
; lmg %r14, %r15, 336(%r15)
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; stmg %r14, %r15, 0x70(%r15)
; aghi %r15, -0xe0
; block1: ; offset 0xa
; mvc 0xa0(0x40, %r15), 0(%r3)
; la %r3, 0xa0(%r15)
; brasl %r14, 0x14 ; reloc_external PLTRel32Dbl u0:0 2
; lmg %r14, %r15, 0x150(%r15)
; br %r14
function u0:4(i64 sarg(256), i64 sarg(64)) -> i8 system_v {
block0(v0: i64, v1: i64):
v2 = load.i8 v0
v3 = load.i8 v1
v4 = iadd.i8 v2, v3
return v4
}
; VCode:
; block0:
; lgr %r5, %r3
; llc %r3, 0(%r2)
; llc %r4, 0(%r5)
; ark %r2, %r3, %r4
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; lgr %r5, %r3
; llc %r3, 0(%r2)
; llc %r4, 0(%r5)
; ark %r2, %r3, %r4
; br %r14
function u0:5(i64, i64, i64) -> i8 system_v {
fn1 = colocated u0:0(i64, i64 sarg(256), i64 sarg(64)) -> i8 system_v
block0(v0: i64, v1: i64, v2: i64):
v3 = call fn1(v0, v1, v2)
return v3
}
; VCode:
; stmg %r14, %r15, 112(%r15)
; aghi %r15, -480
; virtual_sp_offset_adjust 480
; block0:
; mvc 160(255,%r15), 0(%r3)
; mvc 416(63,%r15), 0(%r4)
; la %r3, 160(%r15)
; la %r4, 416(%r15)
; brasl %r14, userextname0
; lmg %r14, %r15, 592(%r15)
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; stmg %r14, %r15, 0x70(%r15)
; aghi %r15, -0x1e0
; block1: ; offset 0xa
; mvc 0xa0(0x100, %r15), 0(%r3)
; mvc 0x1a0(0x40, %r15), 0(%r4)
; la %r3, 0xa0(%r15)
; la %r4, 0x1a0(%r15)
; brasl %r14, 0x1e ; reloc_external PLTRel32Dbl u0:0 2
; lmg %r14, %r15, 0x250(%r15)
; br %r14
function u0:6(i64, i64, i64) -> i8 system_v {
fn1 = colocated u0:0(i64, i64 sarg(1024), i64 sarg(64)) -> i8 system_v
block0(v0: i64, v1: i64, v2: i64):
v3 = call fn1(v0, v1, v2)
return v3
}
; VCode:
; stmg %r7, %r15, 56(%r15)
; aghi %r15, -1248
; virtual_sp_offset_adjust 1248
; block0:
; lgr %r7, %r2
; lgr %r9, %r4
; la %r2, 160(%r15)
; la %r3, 0(%r3)
; lghi %r4, 1024
; brasl %r14, %Memcpy
; lgr %r4, %r9
; mvc 1184(63,%r15), 0(%r4)
; la %r3, 160(%r15)
; la %r4, 1184(%r15)
; lgr %r2, %r7
; brasl %r14, userextname0
; lmg %r7, %r15, 1304(%r15)
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; stmg %r7, %r15, 0x38(%r15)
; aghi %r15, -0x4e0
; block1: ; offset 0xa
; lgr %r7, %r2
; lgr %r9, %r4
; la %r2, 0xa0(%r15)
; la %r3, 0(%r3)
; lghi %r4, 0x400
; brasl %r14, 0x1e ; reloc_external PLTRel32Dbl %Memcpy 2
; lgr %r4, %r9
; mvc 0x4a0(0x40, %r15), 0(%r4)
; la %r3, 0xa0(%r15)
; la %r4, 0x4a0(%r15)
; lgr %r2, %r7
; brasl %r14, 0x3a ; reloc_external PLTRel32Dbl u0:0 2
; lmg %r7, %r15, 0x518(%r15)
; br %r14