Update to regalloc.rs 0.0.32.
It appears that some allocation heuristics have changed slightly since 0.0.31, so some of the golden-output filetests are updated as well. Ideally we would rely more on runtests rather than golden-compilation tests; but for now this is sufficient. (I'm not sure exactly what in regalloc.rs changed to alter these heuristics; it's actually been almost a year since the 0.0.31 release with several refactorings and tweaks merged since then.) Fixes #3441.
This commit is contained in:
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -2397,9 +2397,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regalloc"
|
name = "regalloc"
|
||||||
version = "0.0.31"
|
version = "0.0.32"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "571f7f397d61c4755285cd37853fe8e03271c243424a907415909379659381c5"
|
checksum = "a6304468554ed921da3d32c355ea107b8d13d7b8996c3adfb7aab48d3bc321f4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ smallvec = { version = "1.6.1" }
|
|||||||
peepmatic = { path = "../peepmatic", optional = true, version = "0.77.0" }
|
peepmatic = { path = "../peepmatic", optional = true, version = "0.77.0" }
|
||||||
peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, version = "0.77.0" }
|
peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, version = "0.77.0" }
|
||||||
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.77.0" }
|
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.77.0" }
|
||||||
regalloc = { version = "0.0.31" }
|
regalloc = { version = "0.0.32" }
|
||||||
souper-ir = { version = "2.1.0", optional = true }
|
souper-ir = { version = "2.1.0", optional = true }
|
||||||
wast = { version = "38.0.0", optional = true }
|
wast = { version = "38.0.0", optional = true }
|
||||||
# It is a goal of the cranelift-codegen crate to have minimal external dependencies.
|
# It is a goal of the cranelift-codegen crate to have minimal external dependencies.
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ block0(v0: i16, v1: i16):
|
|||||||
}
|
}
|
||||||
|
|
||||||
; check: llhr %r2, %r2
|
; check: llhr %r2, %r2
|
||||||
; nextln: lr %r5, %r3
|
; nextln: lr %r3, %r4
|
||||||
; nextln: lcr %r4, %r3
|
; nextln: lcr %r4, %r4
|
||||||
; nextln: nill %r5, 15
|
; nextln: nill %r3, 15
|
||||||
; nextln: nill %r4, 15
|
; nextln: nill %r4, 15
|
||||||
; nextln: sllk %r3, %r2, 0(%r5)
|
; nextln: sllk %r3, %r2, 0(%r3)
|
||||||
; nextln: srlk %r2, %r2, 0(%r4)
|
; nextln: srlk %r2, %r2, 0(%r4)
|
||||||
; nextln: ork %r2, %r3, %r2
|
; nextln: ork %r2, %r3, %r2
|
||||||
; nextln: br %r14
|
; nextln: br %r14
|
||||||
@@ -81,11 +81,11 @@ block0(v0: i8, v1: i8):
|
|||||||
}
|
}
|
||||||
|
|
||||||
; check: llcr %r2, %r2
|
; check: llcr %r2, %r2
|
||||||
; nextln: lr %r5, %r3
|
; nextln: lr %r3, %r4
|
||||||
; nextln: lcr %r4, %r3
|
; nextln: lcr %r4, %r4
|
||||||
; nextln: nill %r5, 7
|
; nextln: nill %r3, 7
|
||||||
; nextln: nill %r4, 7
|
; nextln: nill %r4, 7
|
||||||
; nextln: sllk %r3, %r2, 0(%r5)
|
; nextln: sllk %r3, %r2, 0(%r3)
|
||||||
; nextln: srlk %r2, %r2, 0(%r4)
|
; nextln: srlk %r2, %r2, 0(%r4)
|
||||||
; nextln: ork %r2, %r3, %r2
|
; nextln: ork %r2, %r3, %r2
|
||||||
; nextln: br %r14
|
; nextln: br %r14
|
||||||
|
|||||||
@@ -238,35 +238,34 @@ block0(v0: i64):
|
|||||||
; nextln: unwind PushFrameRegs { offset_upward_to_caller_sp: 16 }
|
; nextln: unwind PushFrameRegs { offset_upward_to_caller_sp: 16 }
|
||||||
; nextln: movq %rsp, %rbp
|
; nextln: movq %rsp, %rbp
|
||||||
; nextln: unwind DefineNewFrame { offset_upward_to_caller_sp: 16, offset_downward_to_clobbers: 160 }
|
; nextln: unwind DefineNewFrame { offset_upward_to_caller_sp: 16, offset_downward_to_clobbers: 160 }
|
||||||
; nextln: subq $$208, %rsp
|
; nextln: subq $$192, %rsp
|
||||||
; nextln: movdqu %xmm6, 48(%rsp)
|
; nextln: movdqu %xmm6, 32(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 0, reg: r6V }
|
; nextln: unwind SaveReg { clobber_offset: 0, reg: r6V }
|
||||||
; nextln: movdqu %xmm7, 64(%rsp)
|
; nextln: movdqu %xmm7, 48(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 16, reg: r7V }
|
; nextln: unwind SaveReg { clobber_offset: 16, reg: r7V }
|
||||||
; nextln: movdqu %xmm8, 80(%rsp)
|
; nextln: movdqu %xmm8, 64(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 32, reg: r8V }
|
; nextln: unwind SaveReg { clobber_offset: 32, reg: r8V }
|
||||||
; nextln: movdqu %xmm9, 96(%rsp)
|
; nextln: movdqu %xmm9, 80(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 48, reg: r9V }
|
; nextln: unwind SaveReg { clobber_offset: 48, reg: r9V }
|
||||||
; nextln: movdqu %xmm10, 112(%rsp)
|
; nextln: movdqu %xmm10, 96(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 64, reg: r10V }
|
; nextln: unwind SaveReg { clobber_offset: 64, reg: r10V }
|
||||||
; nextln: movdqu %xmm11, 128(%rsp)
|
; nextln: movdqu %xmm11, 112(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 80, reg: r11V }
|
; nextln: unwind SaveReg { clobber_offset: 80, reg: r11V }
|
||||||
; nextln: movdqu %xmm12, 144(%rsp)
|
; nextln: movdqu %xmm12, 128(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 96, reg: r12V }
|
; nextln: unwind SaveReg { clobber_offset: 96, reg: r12V }
|
||||||
; nextln: movdqu %xmm13, 160(%rsp)
|
; nextln: movdqu %xmm13, 144(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 112, reg: r13V }
|
; nextln: unwind SaveReg { clobber_offset: 112, reg: r13V }
|
||||||
; nextln: movdqu %xmm14, 176(%rsp)
|
; nextln: movdqu %xmm14, 160(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 128, reg: r14V }
|
; nextln: unwind SaveReg { clobber_offset: 128, reg: r14V }
|
||||||
; nextln: movdqu %xmm15, 192(%rsp)
|
; nextln: movdqu %xmm15, 176(%rsp)
|
||||||
; nextln: unwind SaveReg { clobber_offset: 144, reg: r15V }
|
; nextln: unwind SaveReg { clobber_offset: 144, reg: r15V }
|
||||||
; nextln: movsd 0(%rcx), %xmm0
|
; nextln: movsd 0(%rcx), %xmm4
|
||||||
; nextln: movsd %xmm0, rsp(16 + virtual offset)
|
|
||||||
; nextln: movsd 8(%rcx), %xmm1
|
; nextln: movsd 8(%rcx), %xmm1
|
||||||
; nextln: movsd 16(%rcx), %xmm0
|
; nextln: movsd 16(%rcx), %xmm0
|
||||||
; nextln: movsd %xmm0, rsp(24 + virtual offset)
|
; nextln: movsd %xmm0, rsp(16 + virtual offset)
|
||||||
; nextln: movsd 24(%rcx), %xmm3
|
; nextln: movsd 24(%rcx), %xmm3
|
||||||
; nextln: movsd 32(%rcx), %xmm0
|
; nextln: movsd 32(%rcx), %xmm0
|
||||||
; nextln: movsd %xmm0, rsp(32 + virtual offset)
|
; nextln: movsd %xmm0, rsp(24 + virtual offset)
|
||||||
; nextln: movsd 40(%rcx), %xmm5
|
; nextln: movsd 40(%rcx), %xmm5
|
||||||
; nextln: movsd 48(%rcx), %xmm6
|
; nextln: movsd 48(%rcx), %xmm6
|
||||||
; nextln: movsd 56(%rcx), %xmm7
|
; nextln: movsd 56(%rcx), %xmm7
|
||||||
@@ -284,45 +283,41 @@ block0(v0: i64):
|
|||||||
; nextln: movsd 144(%rcx), %xmm2
|
; nextln: movsd 144(%rcx), %xmm2
|
||||||
; nextln: movsd %xmm2, rsp(8 + virtual offset)
|
; nextln: movsd %xmm2, rsp(8 + virtual offset)
|
||||||
; nextln: movsd 152(%rcx), %xmm2
|
; nextln: movsd 152(%rcx), %xmm2
|
||||||
; nextln: nop len=0
|
|
||||||
; nextln: movsd rsp(16 + virtual offset), %xmm4
|
|
||||||
; nextln: addsd %xmm1, %xmm4
|
; nextln: addsd %xmm1, %xmm4
|
||||||
; nextln: movsd %xmm4, rsp(16 + virtual offset)
|
; nextln: movsd rsp(16 + virtual offset), %xmm1
|
||||||
; nextln: movsd rsp(24 + virtual offset), %xmm1
|
|
||||||
; nextln: addsd %xmm3, %xmm1
|
; nextln: addsd %xmm3, %xmm1
|
||||||
; nextln: movsd rsp(32 + virtual offset), %xmm4
|
; nextln: movsd rsp(24 + virtual offset), %xmm3
|
||||||
; nextln: addsd %xmm5, %xmm4
|
; nextln: addsd %xmm5, %xmm3
|
||||||
; nextln: addsd %xmm7, %xmm6
|
; nextln: addsd %xmm7, %xmm6
|
||||||
; nextln: addsd %xmm9, %xmm8
|
; nextln: addsd %xmm9, %xmm8
|
||||||
; nextln: addsd %xmm11, %xmm10
|
; nextln: addsd %xmm11, %xmm10
|
||||||
; nextln: addsd %xmm13, %xmm12
|
; nextln: addsd %xmm13, %xmm12
|
||||||
; nextln: addsd %xmm15, %xmm14
|
; nextln: addsd %xmm15, %xmm14
|
||||||
; nextln: movsd rsp(0 + virtual offset), %xmm3
|
; nextln: movsd rsp(0 + virtual offset), %xmm5
|
||||||
; nextln: addsd %xmm0, %xmm3
|
; nextln: addsd %xmm0, %xmm5
|
||||||
; nextln: movsd rsp(8 + virtual offset), %xmm0
|
; nextln: movsd rsp(8 + virtual offset), %xmm0
|
||||||
; nextln: addsd %xmm2, %xmm0
|
; nextln: addsd %xmm2, %xmm0
|
||||||
; nextln: movsd rsp(16 + virtual offset), %xmm2
|
; nextln: addsd %xmm1, %xmm4
|
||||||
; nextln: addsd %xmm1, %xmm2
|
; nextln: addsd %xmm6, %xmm3
|
||||||
; nextln: addsd %xmm6, %xmm4
|
|
||||||
; nextln: addsd %xmm10, %xmm8
|
; nextln: addsd %xmm10, %xmm8
|
||||||
; nextln: addsd %xmm14, %xmm12
|
; nextln: addsd %xmm14, %xmm12
|
||||||
; nextln: addsd %xmm0, %xmm3
|
; nextln: addsd %xmm0, %xmm5
|
||||||
; nextln: addsd %xmm4, %xmm2
|
; nextln: addsd %xmm3, %xmm4
|
||||||
; nextln: addsd %xmm12, %xmm8
|
; nextln: addsd %xmm12, %xmm8
|
||||||
; nextln: addsd %xmm8, %xmm2
|
; nextln: addsd %xmm8, %xmm4
|
||||||
; nextln: addsd %xmm3, %xmm2
|
; nextln: addsd %xmm5, %xmm4
|
||||||
; nextln: movaps %xmm2, %xmm0
|
; nextln: movaps %xmm4, %xmm0
|
||||||
; nextln: movdqu 48(%rsp), %xmm6
|
; nextln: movdqu 32(%rsp), %xmm6
|
||||||
; nextln: movdqu 64(%rsp), %xmm7
|
; nextln: movdqu 48(%rsp), %xmm7
|
||||||
; nextln: movdqu 80(%rsp), %xmm8
|
; nextln: movdqu 64(%rsp), %xmm8
|
||||||
; nextln: movdqu 96(%rsp), %xmm9
|
; nextln: movdqu 80(%rsp), %xmm9
|
||||||
; nextln: movdqu 112(%rsp), %xmm10
|
; nextln: movdqu 96(%rsp), %xmm10
|
||||||
; nextln: movdqu 128(%rsp), %xmm11
|
; nextln: movdqu 112(%rsp), %xmm11
|
||||||
; nextln: movdqu 144(%rsp), %xmm12
|
; nextln: movdqu 128(%rsp), %xmm12
|
||||||
; nextln: movdqu 160(%rsp), %xmm13
|
; nextln: movdqu 144(%rsp), %xmm13
|
||||||
; nextln: movdqu 176(%rsp), %xmm14
|
; nextln: movdqu 160(%rsp), %xmm14
|
||||||
; nextln: movdqu 192(%rsp), %xmm15
|
; nextln: movdqu 176(%rsp), %xmm15
|
||||||
; nextln: addq $$208, %rsp
|
; nextln: addq $$192, %rsp
|
||||||
; nextln: movq %rbp, %rsp
|
; nextln: movq %rbp, %rsp
|
||||||
; nextln: popq %rbp
|
; nextln: popq %rbp
|
||||||
; nextln: ret
|
; nextln: ret
|
||||||
|
|||||||
@@ -99,12 +99,15 @@ function %f5(i128) -> i128 {
|
|||||||
block0(v0: i128):
|
block0(v0: i128):
|
||||||
|
|
||||||
v1 = bnot v0
|
v1 = bnot v0
|
||||||
; nextln: notq %rdi
|
; nextln: movq %rsi, %rax
|
||||||
|
; nextln: movq %rdi, %rsi
|
||||||
; nextln: notq %rsi
|
; nextln: notq %rsi
|
||||||
|
; nextln: movq %rax, %rdi
|
||||||
|
; nextln: notq %rdi
|
||||||
|
|
||||||
return v1
|
return v1
|
||||||
; nextln: movq %rdi, %rax
|
; nextln: movq %rsi, %rax
|
||||||
; nextln: movq %rsi, %rdx
|
; nextln: movq %rdi, %rdx
|
||||||
; nextln: movq %rbp, %rsp
|
; nextln: movq %rbp, %rsp
|
||||||
; nextln: popq %rbp
|
; nextln: popq %rbp
|
||||||
; nextln: ret
|
; nextln: ret
|
||||||
@@ -741,30 +744,34 @@ block0(v0: i128, v1: i128, v2: i64, v3: i128, v4: i128, v5: i128):
|
|||||||
|
|
||||||
; check: pushq %rbp
|
; check: pushq %rbp
|
||||||
; nextln: movq %rsp, %rbp
|
; nextln: movq %rsp, %rbp
|
||||||
; nextln: subq $$16, %rsp
|
; nextln: subq $$32, %rsp
|
||||||
; nextln: movq %r12, 0(%rsp)
|
; nextln: movq %r12, 0(%rsp)
|
||||||
; nextln: movq %r13, 8(%rsp)
|
; nextln: movq %r13, 8(%rsp)
|
||||||
|
; nextln: movq %r14, 16(%rsp)
|
||||||
|
; nextln: movq %r8, %r14
|
||||||
; nextln: movq 16(%rbp), %r10
|
; nextln: movq 16(%rbp), %r10
|
||||||
; nextln: movq 24(%rbp), %r12
|
; nextln: movq 24(%rbp), %r12
|
||||||
; nextln: movq 32(%rbp), %r11
|
; nextln: movq 32(%rbp), %r11
|
||||||
; nextln: movq 40(%rbp), %rax
|
; nextln: movq 40(%rbp), %rax
|
||||||
; nextln: movq 48(%rbp), %r13
|
; nextln: movq 48(%rbp), %r13
|
||||||
|
; nextln: movq %rsi, %r8
|
||||||
; nextln: addq %rdx, %rdi
|
; nextln: addq %rdx, %rdi
|
||||||
; nextln: adcq %rcx, %rsi
|
; nextln: adcq %rcx, %r8
|
||||||
; nextln: xorq %rcx, %rcx
|
; nextln: xorq %rsi, %rsi
|
||||||
; nextln: addq %r8, %r9
|
; nextln: addq %r14, %r9
|
||||||
; nextln: adcq %rcx, %r10
|
; nextln: adcq %rsi, %r10
|
||||||
; nextln: addq %rax, %r12
|
; nextln: addq %rax, %r12
|
||||||
; nextln: adcq %r13, %r11
|
; nextln: adcq %r13, %r11
|
||||||
; nextln: addq %r9, %rdi
|
; nextln: addq %r9, %rdi
|
||||||
; nextln: adcq %r10, %rsi
|
; nextln: adcq %r10, %r8
|
||||||
; nextln: addq %rdi, %r12
|
; nextln: addq %rdi, %r12
|
||||||
; nextln: adcq %rsi, %r11
|
; nextln: adcq %r8, %r11
|
||||||
; nextln: movq %r12, %rax
|
; nextln: movq %r12, %rax
|
||||||
; nextln: movq %r11, %rdx
|
; nextln: movq %r11, %rdx
|
||||||
; nextln: movq 0(%rsp), %r12
|
; nextln: movq 0(%rsp), %r12
|
||||||
; nextln: movq 8(%rsp), %r13
|
; nextln: movq 8(%rsp), %r13
|
||||||
; nextln: addq $$16, %rsp
|
; nextln: movq 16(%rsp), %r14
|
||||||
|
; nextln: addq $$32, %rsp
|
||||||
; nextln: movq %rbp, %rsp
|
; nextln: movq %rbp, %rsp
|
||||||
; nextln: popq %rbp
|
; nextln: popq %rbp
|
||||||
; nextln: ret
|
; nextln: ret
|
||||||
@@ -1059,25 +1066,26 @@ block0(v0: i128, v1: i128):
|
|||||||
|
|
||||||
; check: pushq %rbp
|
; check: pushq %rbp
|
||||||
; nextln: movq %rsp, %rbp
|
; nextln: movq %rsp, %rbp
|
||||||
; nextln: movq %rsi, %r9
|
; nextln: movq %rsi, %rax
|
||||||
|
; nextln: movq %rax, %r9
|
||||||
; nextln: movq %rdx, %rcx
|
; nextln: movq %rdx, %rcx
|
||||||
; nextln: shrq %cl, %r9
|
; nextln: shrq %cl, %r9
|
||||||
; nextln: movq %rdi, %rax
|
; nextln: movq %rdi, %rsi
|
||||||
; nextln: movq %rdx, %rcx
|
; nextln: movq %rdx, %rcx
|
||||||
; nextln: shrq %cl, %rax
|
; nextln: shrq %cl, %rsi
|
||||||
; nextln: movl $$64, %ecx
|
; nextln: movl $$64, %ecx
|
||||||
; nextln: subq %rdx, %rcx
|
; nextln: subq %rdx, %rcx
|
||||||
; nextln: movq %rsi, %r10
|
; nextln: movq %rax, %r10
|
||||||
; nextln: shlq %cl, %r10
|
; nextln: shlq %cl, %r10
|
||||||
; nextln: xorq %rcx, %rcx
|
; nextln: xorq %rcx, %rcx
|
||||||
; nextln: testq $$127, %rdx
|
; nextln: testq $$127, %rdx
|
||||||
; nextln: cmovzq %rcx, %r10
|
; nextln: cmovzq %rcx, %r10
|
||||||
; nextln: orq %rax, %r10
|
; nextln: orq %rsi, %r10
|
||||||
; nextln: xorq %rax, %rax
|
; nextln: xorq %rsi, %rsi
|
||||||
; nextln: xorq %r8, %r8
|
; nextln: xorq %r8, %r8
|
||||||
; nextln: movq %rdx, %rcx
|
; nextln: movq %rdx, %rcx
|
||||||
; nextln: andq $$64, %rcx
|
; nextln: andq $$64, %rcx
|
||||||
; nextln: cmovzq %r9, %rax
|
; nextln: cmovzq %r9, %rsi
|
||||||
; nextln: cmovzq %r10, %r8
|
; nextln: cmovzq %r10, %r8
|
||||||
; nextln: cmovnzq %r9, %r8
|
; nextln: cmovnzq %r9, %r8
|
||||||
; nextln: movl $$128, %r9d
|
; nextln: movl $$128, %r9d
|
||||||
@@ -1085,25 +1093,24 @@ block0(v0: i128, v1: i128):
|
|||||||
; nextln: movq %rdi, %rdx
|
; nextln: movq %rdi, %rdx
|
||||||
; nextln: movq %r9, %rcx
|
; nextln: movq %r9, %rcx
|
||||||
; nextln: shlq %cl, %rdx
|
; nextln: shlq %cl, %rdx
|
||||||
; nextln: movq %rsi, %r10
|
|
||||||
; nextln: movq %r9, %rcx
|
; nextln: movq %r9, %rcx
|
||||||
; nextln: shlq %cl, %r10
|
; nextln: shlq %cl, %rax
|
||||||
; nextln: movl $$64, %ecx
|
; nextln: movl $$64, %ecx
|
||||||
; nextln: subq %r9, %rcx
|
; nextln: subq %r9, %rcx
|
||||||
; nextln: shrq %cl, %rdi
|
; nextln: shrq %cl, %rdi
|
||||||
; nextln: xorq %rsi, %rsi
|
|
||||||
; nextln: testq $$127, %r9
|
|
||||||
; nextln: cmovzq %rsi, %rdi
|
|
||||||
; nextln: orq %r10, %rdi
|
|
||||||
; nextln: xorq %rcx, %rcx
|
; nextln: xorq %rcx, %rcx
|
||||||
|
; nextln: testq $$127, %r9
|
||||||
|
; nextln: cmovzq %rcx, %rdi
|
||||||
|
; nextln: orq %rax, %rdi
|
||||||
|
; nextln: xorq %rax, %rax
|
||||||
; nextln: andq $$64, %r9
|
; nextln: andq $$64, %r9
|
||||||
; nextln: cmovzq %rdi, %rcx
|
; nextln: cmovzq %rdi, %rax
|
||||||
; nextln: cmovzq %rdx, %rsi
|
; nextln: cmovzq %rdx, %rcx
|
||||||
; nextln: cmovnzq %rdx, %rcx
|
; nextln: cmovnzq %rdx, %rax
|
||||||
; nextln: orq %r8, %rsi
|
; nextln: orq %r8, %rcx
|
||||||
; nextln: orq %rax, %rcx
|
; nextln: orq %rsi, %rax
|
||||||
; nextln: movq %rsi, %rax
|
; nextln: movq %rax, %rdx
|
||||||
; nextln: movq %rcx, %rdx
|
; nextln: movq %rcx, %rax
|
||||||
; nextln: movq %rbp, %rsp
|
; nextln: movq %rbp, %rsp
|
||||||
; nextln: popq %rbp
|
; nextln: popq %rbp
|
||||||
; nextln: ret
|
; nextln: ret
|
||||||
|
|||||||
Reference in New Issue
Block a user