diff options
Diffstat (limited to 'contrib/go/_std_1.25/src/internal/bytealg/compare_wasm.s')
| -rw-r--r-- | contrib/go/_std_1.25/src/internal/bytealg/compare_wasm.s | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/contrib/go/_std_1.25/src/internal/bytealg/compare_wasm.s b/contrib/go/_std_1.25/src/internal/bytealg/compare_wasm.s deleted file mode 100644 index dc8fb33cfb3..00000000000 --- a/contrib/go/_std_1.25/src/internal/bytealg/compare_wasm.s +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2018 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "go_asm.h" -#include "textflag.h" - -TEXT ·Compare(SB), NOSPLIT, $0-56 - Get SP - I64Load a_base+0(FP) - I64Load a_len+8(FP) - I64Load b_base+24(FP) - I64Load b_len+32(FP) - Call cmpbody<>(SB) - I64Store ret+48(FP) - RET - -TEXT runtime·cmpstring(SB), NOSPLIT, $0-40 - Get SP - I64Load a_base+0(FP) - I64Load a_len+8(FP) - I64Load b_base+16(FP) - I64Load b_len+24(FP) - Call cmpbody<>(SB) - I64Store ret+32(FP) - RET - -// params: a, alen, b, blen -// ret: -1/0/1 -TEXT cmpbody<>(SB), NOSPLIT, $0-0 - // len = min(alen, blen) - Get R1 - Get R3 - Get R1 - Get R3 - I64LtU - Select - Set R4 - - Get R0 - I32WrapI64 - Get R2 - I32WrapI64 - Get R4 - I32WrapI64 - Call memcmp<>(SB) - I64ExtendI32S - Tee R5 - - I64Eqz - If - // check length - Get R1 - Get R3 - I64Sub - Set R5 - End - - I64Const $0 - I64Const $-1 - I64Const $1 - Get R5 - I64Const $0 - I64LtS - Select - Get R5 - I64Eqz - Select - Return - -// compiled with emscripten -// params: a, b, len -// ret: <0/0/>0 -TEXT memcmp<>(SB), NOSPLIT, $0-0 - Get R2 - If $1 - Loop - Get R0 - I32Load8S $0 - Tee R3 - Get R1 - I32Load8S $0 - Tee R4 - I32Eq - If - Get R0 - I32Const $1 - I32Add - Set R0 - Get R1 - I32Const $1 - I32Add - Set R1 - I32Const $0 - Get R2 - I32Const $-1 - I32Add - Tee R2 - I32Eqz - BrIf $3 - Drop - Br $1 - End - End - Get R3 - I32Const $255 - I32And - Get R4 - I32Const $255 - I32And - I32Sub - Else - I32Const $0 - End - Return |
