chore: migrate to gitea
This commit is contained in:
29
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func f32toa(out *byte, val float32) (ret int) {
|
||||
return __f32toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __f32toa(out *byte, val float32) (ret int)
|
||||
1019
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.s
generated
vendored
Normal file
1019
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __f32toa_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__f32toa uintptr = __f32toa_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__f32toa = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__f32toa
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__f32toa
|
||||
)
|
||||
29
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func f64toa(out *byte, val float64) (ret int) {
|
||||
return __f64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __f64toa(out *byte, val float64) (ret int)
|
||||
2492
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.s
generated
vendored
Normal file
2492
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __f64toa_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__f64toa uintptr = __f64toa_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__f64toa = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__f64toa
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__f64toa
|
||||
)
|
||||
33
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go
generated
vendored
Normal file
33
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) {
|
||||
return __get_by_path(s, p, path, m)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int)
|
||||
5709
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s
generated
vendored
Normal file
5709
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __get_by_path_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__get_by_path uintptr = __get_by_path_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__get_by_path = 224
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__get_by_path
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__get_by_path
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
// `github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) {
|
||||
return __html_escape(sp, nb, dp, dn)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int)
|
||||
1406
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.s
generated
vendored
Normal file
1406
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __html_escape_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__html_escape uintptr = __html_escape_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__html_escape = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__html_escape
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__html_escape
|
||||
)
|
||||
29
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func i64toa(out *byte, val int64) (ret int) {
|
||||
return __i64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __i64toa(out *byte, val int64) (ret int)
|
||||
985
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.s
generated
vendored
Normal file
985
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,985 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__i64toa_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 3, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x147b20c5
|
||||
WORD $0x80003334
|
||||
// // .word 8389
|
||||
// .word 5243
|
||||
// .word 13108
|
||||
// .word 32768
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x08000080
|
||||
WORD $0x80002000
|
||||
// // .word 128
|
||||
// .word 2048
|
||||
// .word 8192
|
||||
// .word 32768
|
||||
|
||||
lCPI0_2:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_3:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_i64toa:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xb7f80641 // tbnz x1, #63, LBB0_10 $200(%rip)
|
||||
WORD $0xd344fc28 // lsr x8, x1, #4
|
||||
WORD $0xf109c11f // cmp x8, #624
|
||||
WORD $0x540008e8 // b.hi LBB0_13 $284(%rip)
|
||||
WORD $0x53023c28 // ubfx w8, w1, #2, #14
|
||||
WORD $0x52828f69 // mov w9, #5243
|
||||
WORD $0x1b097d08 // mul w8, w8, w9
|
||||
WORD $0x53117d08 // lsr w8, w8, #17
|
||||
WORD $0xd37f7d09 // ubfiz x9, x8, #1, #32
|
||||
WORD $0x52800c8a // mov w10, #100
|
||||
WORD $0x1b0a8508 // msub w8, w8, w10, w1
|
||||
WORD $0x92403d08 // and x8, x8, #0xffff
|
||||
WORD $0xd37ff908 // lsl x8, x8, #1
|
||||
WORD $0x710fa03f // cmp w1, #1000
|
||||
WORD $0x540000e3 // b.lo LBB0_4 $28(%rip)
|
||||
Lloh0:
|
||||
WORD $0x100054ea // adr x10, _Digits $2716(%rip)
|
||||
Lloh1:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3869694a // ldrb w10, [x10, x9]
|
||||
WORD $0x3900000a // strb w10, [x0]
|
||||
WORD $0x5280002a // mov w10, #1
|
||||
WORD $0x14000004 // b LBB0_6 $16(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x7101903f // cmp w1, #100
|
||||
WORD $0x540002e3 // b.lo LBB0_9 $92(%rip)
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
LBB0_6:
|
||||
Lloh2:
|
||||
WORD $0x100053cb // adr x11, _Digits $2680(%rip)
|
||||
Lloh3:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b294169 // add x9, x11, w9, uxtw
|
||||
WORD $0x3940052b // ldrb w11, [x9, #1]
|
||||
WORD $0x11000549 // add w9, w10, #1
|
||||
WORD $0x382a480b // strb w11, [x0, w10, uxtw]
|
||||
LBB0_7:
|
||||
Lloh4:
|
||||
WORD $0x1000530a // adr x10, _Digits $2656(%rip)
|
||||
Lloh5:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3868694b // ldrb w11, [x10, x8]
|
||||
WORD $0x1100052a // add w10, w9, #1
|
||||
WORD $0x3829480b // strb w11, [x0, w9, uxtw]
|
||||
LBB0_8:
|
||||
Lloh6:
|
||||
WORD $0x10005269 // adr x9, _Digits $2636(%rip)
|
||||
Lloh7:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b282128 // add x8, x9, w8, uxth
|
||||
WORD $0x39400509 // ldrb w9, [x8, #1]
|
||||
WORD $0x11000548 // add w8, w10, #1
|
||||
WORD $0x382a4809 // strb w9, [x0, w10, uxtw]
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_9:
|
||||
WORD $0x52800009 // mov w9, #0
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
WORD $0x7100283f // cmp w1, #10
|
||||
WORD $0x54fffdc2 // b.hs LBB0_7 $-72(%rip)
|
||||
WORD $0x17fffff2 // b LBB0_8 $-56(%rip)
|
||||
LBB0_10:
|
||||
WORD $0x528005a9 // mov w9, #45
|
||||
WORD $0xaa0003e8 // mov x8, x0
|
||||
WORD $0x38001509 // strb w9, [x8], #1
|
||||
WORD $0xcb0103e9 // neg x9, x1
|
||||
WORD $0xd344fd2a // lsr x10, x9, #4
|
||||
WORD $0xf109c15f // cmp x10, #624
|
||||
WORD $0x54001068 // b.hi LBB0_28 $524(%rip)
|
||||
WORD $0x53023d2a // ubfx w10, w9, #2, #14
|
||||
WORD $0x52828f6b // mov w11, #5243
|
||||
WORD $0x1b0b7d4a // mul w10, w10, w11
|
||||
WORD $0x53117d4a // lsr w10, w10, #17
|
||||
WORD $0xd37f7d4b // ubfiz x11, x10, #1, #32
|
||||
WORD $0x52800c8c // mov w12, #100
|
||||
WORD $0x1b0ca54a // msub w10, w10, w12, w9
|
||||
WORD $0x92403d4a // and x10, x10, #0xffff
|
||||
WORD $0xd37ff94a // lsl x10, x10, #1
|
||||
WORD $0x710fa13f // cmp w9, #1000
|
||||
WORD $0x540004e3 // b.lo LBB0_16 $156(%rip)
|
||||
Lloh8:
|
||||
WORD $0x10004e49 // adr x9, _Digits $2504(%rip)
|
||||
Lloh9:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386b6929 // ldrb w9, [x9, x11]
|
||||
WORD $0x39000109 // strb w9, [x8]
|
||||
WORD $0x52800029 // mov w9, #1
|
||||
WORD $0x14000024 // b LBB0_18 $144(%rip)
|
||||
LBB0_13:
|
||||
WORD $0x529c2008 // mov w8, #57600
|
||||
WORD $0x72a0bea8 // movk w8, #1525, lsl #16
|
||||
WORD $0xeb08003f // cmp x1, x8
|
||||
WORD $0x540011c2 // b.hs LBB0_31 $568(%rip)
|
||||
WORD $0x5282eb28 // mov w8, #5977
|
||||
WORD $0x72ba36e8 // movk w8, #53687, lsl #16
|
||||
WORD $0x92407c29 // and x9, x1, #0xffffffff
|
||||
WORD $0x9ba87d28 // umull x8, w9, w8
|
||||
WORD $0xd36dfd08 // lsr x8, x8, #45
|
||||
WORD $0x529bd06a // mov w10, #56963
|
||||
WORD $0x72a8636a // movk w10, #17179, lsl #16
|
||||
WORD $0x9baa7d29 // umull x9, w9, w10
|
||||
WORD $0xd371fd29 // lsr x9, x9, #49
|
||||
WORD $0x927f312a // and x10, x9, #0x3ffe
|
||||
WORD $0x53023d09 // ubfx w9, w8, #2, #14
|
||||
WORD $0x52828f6b // mov w11, #5243
|
||||
WORD $0x1b0b7d29 // mul w9, w9, w11
|
||||
WORD $0x53117d29 // lsr w9, w9, #17
|
||||
WORD $0x52800c8b // mov w11, #100
|
||||
WORD $0x1b0ba129 // msub w9, w9, w11, w8
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
WORD $0xd37ff929 // lsl x9, x9, #1
|
||||
WORD $0x5292cfeb // mov w11, #38527
|
||||
WORD $0x72a0130b // movk w11, #152, lsl #16
|
||||
WORD $0x6b0b003f // cmp w1, w11
|
||||
WORD $0x54000409 // b.ls LBB0_21 $128(%rip)
|
||||
Lloh10:
|
||||
WORD $0x10004a4b // adr x11, _Digits $2376(%rip)
|
||||
Lloh11:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386a696b // ldrb w11, [x11, x10]
|
||||
WORD $0x3900000b // strb w11, [x0]
|
||||
WORD $0x5280002c // mov w12, #1
|
||||
WORD $0x1400001f // b LBB0_23 $124(%rip)
|
||||
LBB0_16:
|
||||
WORD $0x7101913f // cmp w9, #100
|
||||
WORD $0x540008a3 // b.lo LBB0_26 $276(%rip)
|
||||
WORD $0x52800009 // mov w9, #0
|
||||
LBB0_18:
|
||||
Lloh12:
|
||||
WORD $0x1000492c // adr x12, _Digits $2340(%rip)
|
||||
Lloh13:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2b418b // add x11, x12, w11, uxtw
|
||||
WORD $0x3940056c // ldrb w12, [x11, #1]
|
||||
WORD $0x1100052b // add w11, w9, #1
|
||||
WORD $0x3829490c // strb w12, [x8, w9, uxtw]
|
||||
LBB0_19:
|
||||
Lloh14:
|
||||
WORD $0x10004869 // adr x9, _Digits $2316(%rip)
|
||||
Lloh15:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386a6929 // ldrb w9, [x9, x10]
|
||||
WORD $0x1100056c // add w12, w11, #1
|
||||
WORD $0x382b4909 // strb w9, [x8, w11, uxtw]
|
||||
LBB0_20:
|
||||
Lloh16:
|
||||
WORD $0x100047c9 // adr x9, _Digits $2296(%rip)
|
||||
Lloh17:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2a2129 // add x9, x9, w10, uxth
|
||||
WORD $0x3940052a // ldrb w10, [x9, #1]
|
||||
WORD $0x11000589 // add w9, w12, #1
|
||||
WORD $0x382c490a // strb w10, [x8, w12, uxtw]
|
||||
WORD $0x11000528 // add w8, w9, #1
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_21:
|
||||
WORD $0x528847eb // mov w11, #16959
|
||||
WORD $0x72a001eb // movk w11, #15, lsl #16
|
||||
WORD $0x6b0b003f // cmp w1, w11
|
||||
WORD $0x540005e9 // b.ls LBB0_27 $188(%rip)
|
||||
WORD $0x5280000c // mov w12, #0
|
||||
LBB0_23:
|
||||
Lloh18:
|
||||
WORD $0x100045cb // adr x11, _Digits $2232(%rip)
|
||||
Lloh19:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2a416a // add x10, x11, w10, uxtw
|
||||
WORD $0x3940054a // ldrb w10, [x10, #1]
|
||||
WORD $0x1100058b // add w11, w12, #1
|
||||
WORD $0x382c480a // strb w10, [x0, w12, uxtw]
|
||||
LBB0_24:
|
||||
Lloh20:
|
||||
WORD $0x1000450a // adr x10, _Digits $2208(%rip)
|
||||
Lloh21:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3869694c // ldrb w12, [x10, x9]
|
||||
WORD $0x1100056a // add w10, w11, #1
|
||||
WORD $0x382b480c // strb w12, [x0, w11, uxtw]
|
||||
LBB0_25:
|
||||
WORD $0x5284e20b // mov w11, #10000
|
||||
WORD $0x1b0b8508 // msub w8, w8, w11, w1
|
||||
WORD $0x53023d0b // ubfx w11, w8, #2, #14
|
||||
WORD $0x52828f6c // mov w12, #5243
|
||||
WORD $0x1b0c7d6b // mul w11, w11, w12
|
||||
WORD $0x53117d6b // lsr w11, w11, #17
|
||||
WORD $0x52800c8c // mov w12, #100
|
||||
WORD $0x1b0ca168 // msub w8, w11, w12, w8
|
||||
WORD $0x92403d08 // and x8, x8, #0xffff
|
||||
WORD $0xd37ff908 // lsl x8, x8, #1
|
||||
Lloh22:
|
||||
WORD $0x1000432c // adr x12, _Digits $2148(%rip)
|
||||
Lloh23:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b292189 // add x9, x12, w9, uxth
|
||||
WORD $0x39400529 // ldrb w9, [x9, #1]
|
||||
WORD $0x8b2a400d // add x13, x0, w10, uxtw
|
||||
WORD $0x390001a9 // strb w9, [x13]
|
||||
WORD $0x786b5989 // ldrh w9, [x12, w11, uxtw #1]
|
||||
WORD $0x780011a9 // sturh w9, [x13, #1]
|
||||
WORD $0x38686989 // ldrb w9, [x12, x8]
|
||||
WORD $0x39000da9 // strb w9, [x13, #3]
|
||||
WORD $0x927f3908 // and x8, x8, #0xfffe
|
||||
WORD $0x8b080188 // add x8, x12, x8
|
||||
WORD $0x39400509 // ldrb w9, [x8, #1]
|
||||
WORD $0x11001548 // add w8, w10, #5
|
||||
WORD $0x390011a9 // strb w9, [x13, #4]
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_26:
|
||||
WORD $0x5280000b // mov w11, #0
|
||||
WORD $0x5280000c // mov w12, #0
|
||||
WORD $0x7100293f // cmp w9, #10
|
||||
WORD $0x54fff802 // b.hs LBB0_19 $-256(%rip)
|
||||
WORD $0x17ffffc4 // b LBB0_20 $-240(%rip)
|
||||
LBB0_27:
|
||||
WORD $0x5280000b // mov w11, #0
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
WORD $0x53057c2c // lsr w12, w1, #5
|
||||
WORD $0x7130d59f // cmp w12, #3125
|
||||
WORD $0x54fffaa2 // b.hs LBB0_24 $-172(%rip)
|
||||
WORD $0x17ffffd9 // b LBB0_25 $-156(%rip)
|
||||
LBB0_28:
|
||||
WORD $0x529c200a // mov w10, #57600
|
||||
WORD $0x72a0beaa // movk w10, #1525, lsl #16
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54001662 // b.hs LBB0_39 $716(%rip)
|
||||
WORD $0x5282eb2a // mov w10, #5977
|
||||
WORD $0x72ba36ea // movk w10, #53687, lsl #16
|
||||
WORD $0x9baa7d2a // umull x10, w9, w10
|
||||
WORD $0xd36dfd4a // lsr x10, x10, #45
|
||||
WORD $0x529bd06b // mov w11, #56963
|
||||
WORD $0x72a8636b // movk w11, #17179, lsl #16
|
||||
WORD $0x92407d2c // and x12, x9, #0xffffffff
|
||||
WORD $0x9bab7d8b // umull x11, w12, w11
|
||||
WORD $0xd371fd6b // lsr x11, x11, #49
|
||||
WORD $0x927f316c // and x12, x11, #0x3ffe
|
||||
WORD $0x53023d4b // ubfx w11, w10, #2, #14
|
||||
WORD $0x52828f6d // mov w13, #5243
|
||||
WORD $0x1b0d7d6b // mul w11, w11, w13
|
||||
WORD $0x53117d6b // lsr w11, w11, #17
|
||||
WORD $0x52800c8d // mov w13, #100
|
||||
WORD $0x1b0da96b // msub w11, w11, w13, w10
|
||||
WORD $0x92403d6b // and x11, x11, #0xffff
|
||||
WORD $0xd37ff96b // lsl x11, x11, #1
|
||||
WORD $0x5292cfed // mov w13, #38527
|
||||
WORD $0x72a0130d // movk w13, #152, lsl #16
|
||||
WORD $0x6b0d013f // cmp w9, w13
|
||||
WORD $0x54000d29 // b.ls LBB0_33 $420(%rip)
|
||||
Lloh24:
|
||||
WORD $0x10003c2d // adr x13, _Digits $1924(%rip)
|
||||
Lloh25:
|
||||
WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386c69ad // ldrb w13, [x13, x12]
|
||||
WORD $0x3900010d // strb w13, [x8]
|
||||
WORD $0x5280002e // mov w14, #1
|
||||
WORD $0x14000068 // b LBB0_35 $416(%rip)
|
||||
LBB0_31:
|
||||
WORD $0xd2adf82a // mov x10, #1874919424
|
||||
WORD $0xf2d0de4a // movk x10, #34546, lsl #32
|
||||
WORD $0xf2e0046a // movk x10, #35, lsl #48
|
||||
WORD $0xeb0a003f // cmp x1, x10
|
||||
WORD $0x54001ea2 // b.hs LBB0_41 $980(%rip)
|
||||
WORD $0xd299dfa9 // mov x9, #52989
|
||||
WORD $0xf2b08c29 // movk x9, #33889, lsl #16
|
||||
WORD $0xf2cee229 // movk x9, #30481, lsl #32
|
||||
WORD $0xf2f57989 // movk x9, #43980, lsl #48
|
||||
WORD $0x9bc97c29 // umulh x9, x1, x9
|
||||
WORD $0xd35afd29 // lsr x9, x9, #26
|
||||
WORD $0x1b088528 // msub w8, w9, w8, w1
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d21 // mov.s v1[0], w9
|
||||
WORD $0x0ea12822 // xtn.2s v2, v1
|
||||
WORD $0x5282eb29 // mov w9, #5977
|
||||
WORD $0x72ba36e9 // movk w9, #53687, lsl #16
|
||||
WORD $0x0e040d23 // dup.2s v3, w9
|
||||
WORD $0x2ea3c042 // umull.2d v2, v2, v3
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12844 // xtn.2s v4, v2
|
||||
WORD $0x5284e209 // mov w9, #10000
|
||||
WORD $0x0e040d25 // dup.2s v5, w9
|
||||
WORD $0x2ea5c084 // umull.2d v4, v4, v5
|
||||
WORD $0x6ea48421 // sub.4s v1, v1, v4
|
||||
WORD $0x4e413841 // zip1.8h v1, v2, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh26:
|
||||
WORD $0x10ffdee9 // adr x9, lCPI0_0 $-1060(%rip)
|
||||
Lloh27:
|
||||
WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e62c024 // umull.4s v4, v1, v2
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e62c021 // umull.4s v1, v1, v2
|
||||
WORD $0x4e415881 // uzp2.8h v1, v4, v1
|
||||
Lloh28:
|
||||
WORD $0x10ffde69 // adr x9, lCPI0_1 $-1076(%rip)
|
||||
Lloh29:
|
||||
WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e64c026 // umull.4s v6, v1, v4
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e64c021 // umull.4s v1, v1, v4
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x4e041d00 // mov.s v0[0], w8
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea3c0e3 // umull.2d v3, v7, v3
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x0ea12867 // xtn.2s v7, v3
|
||||
WORD $0x2ea5c0e5 // umull.2d v5, v7, v5
|
||||
WORD $0x6ea58400 // sub.4s v0, v0, v5
|
||||
WORD $0x4e403860 // zip1.8h v0, v3, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e62c003 // umull.4s v3, v0, v2
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e62c000 // umull.4s v0, v0, v2
|
||||
WORD $0x4e405860 // uzp2.8h v0, v3, v0
|
||||
WORD $0x2e64c002 // umull.4s v2, v0, v4
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e64c000 // umull.4s v0, v0, v4
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x4e209821 // cmeq.16b v1, v1, #0
|
||||
Lloh30:
|
||||
WORD $0x10ffda08 // adr x8, lCPI0_2 $-1216(%rip)
|
||||
Lloh31:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
Lloh32:
|
||||
WORD $0x10ffda28 // adr x8, lCPI0_3 $-1212(%rip)
|
||||
Lloh33:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e020021 // tbl.16b v1, { v1 }, v2
|
||||
WORD $0x4e71b821 // addv.8h h1, v1
|
||||
WORD $0x1e260028 // fmov w8, s1
|
||||
WORD $0x2a2803e8 // mvn w8, w8
|
||||
WORD $0x32114108 // orr w8, w8, #0xffff8000
|
||||
WORD $0x5ac00108 // rbit w8, w8
|
||||
WORD $0x5ac01108 // clz w8, w8
|
||||
Lloh34:
|
||||
WORD $0x10003709 // adr x9, _VecShiftShuffles $1760(%rip)
|
||||
Lloh35:
|
||||
WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip)
|
||||
WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4]
|
||||
WORD $0x4f04e5e2 // movi.16b v2, #143
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
WORD $0x4e010000 // tbl.16b v0, { v0 }, v1
|
||||
WORD $0x3d800000 // str q0, [x0]
|
||||
WORD $0x52800209 // mov w9, #16
|
||||
WORD $0x4b080128 // sub w8, w9, w8
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_33:
|
||||
WORD $0x528847ed // mov w13, #16959
|
||||
WORD $0x72a001ed // movk w13, #15, lsl #16
|
||||
WORD $0x6b0d013f // cmp w9, w13
|
||||
WORD $0x54000569 // b.ls LBB0_38 $172(%rip)
|
||||
WORD $0x5280000e // mov w14, #0
|
||||
LBB0_35:
|
||||
Lloh36:
|
||||
WORD $0x10002e8d // adr x13, _Digits $1488(%rip)
|
||||
Lloh37:
|
||||
WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2c41ac // add x12, x13, w12, uxtw
|
||||
WORD $0x3940058c // ldrb w12, [x12, #1]
|
||||
WORD $0x110005cd // add w13, w14, #1
|
||||
WORD $0x382e490c // strb w12, [x8, w14, uxtw]
|
||||
LBB0_36:
|
||||
Lloh38:
|
||||
WORD $0x10002dcc // adr x12, _Digits $1464(%rip)
|
||||
Lloh39:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386b698e // ldrb w14, [x12, x11]
|
||||
WORD $0x110005ac // add w12, w13, #1
|
||||
WORD $0x382d490e // strb w14, [x8, w13, uxtw]
|
||||
LBB0_37:
|
||||
WORD $0x5284e20d // mov w13, #10000
|
||||
WORD $0x1b0da549 // msub w9, w10, w13, w9
|
||||
WORD $0x53023d2a // ubfx w10, w9, #2, #14
|
||||
WORD $0x52828f6d // mov w13, #5243
|
||||
WORD $0x1b0d7d4a // mul w10, w10, w13
|
||||
WORD $0x53117d4a // lsr w10, w10, #17
|
||||
WORD $0x52800c8d // mov w13, #100
|
||||
WORD $0x1b0da549 // msub w9, w10, w13, w9
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
WORD $0xd37ff929 // lsl x9, x9, #1
|
||||
Lloh40:
|
||||
WORD $0x10002bed // adr x13, _Digits $1404(%rip)
|
||||
Lloh41:
|
||||
WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2b21ab // add x11, x13, w11, uxth
|
||||
WORD $0x3940056b // ldrb w11, [x11, #1]
|
||||
WORD $0x8b2c4108 // add x8, x8, w12, uxtw
|
||||
WORD $0x3900010b // strb w11, [x8]
|
||||
WORD $0x786a59aa // ldrh w10, [x13, w10, uxtw #1]
|
||||
WORD $0x7800110a // sturh w10, [x8, #1]
|
||||
WORD $0x386969aa // ldrb w10, [x13, x9]
|
||||
WORD $0x39000d0a // strb w10, [x8, #3]
|
||||
WORD $0x927f3929 // and x9, x9, #0xfffe
|
||||
WORD $0x8b0901a9 // add x9, x13, x9
|
||||
WORD $0x3940052a // ldrb w10, [x9, #1]
|
||||
WORD $0x11001589 // add w9, w12, #5
|
||||
WORD $0x3900110a // strb w10, [x8, #4]
|
||||
WORD $0x11000528 // add w8, w9, #1
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_38:
|
||||
WORD $0x5280000d // mov w13, #0
|
||||
WORD $0x5280000c // mov w12, #0
|
||||
WORD $0x53057d2e // lsr w14, w9, #5
|
||||
WORD $0x7130d5df // cmp w14, #3125
|
||||
WORD $0x54fffb22 // b.hs LBB0_36 $-156(%rip)
|
||||
WORD $0x17ffffdd // b LBB0_37 $-140(%rip)
|
||||
LBB0_39:
|
||||
WORD $0xd2adf82c // mov x12, #1874919424
|
||||
WORD $0xf2d0de4c // movk x12, #34546, lsl #32
|
||||
WORD $0xf2e0046c // movk x12, #35, lsl #48
|
||||
WORD $0xeb0c013f // cmp x9, x12
|
||||
WORD $0x540019e2 // b.hs LBB0_47 $828(%rip)
|
||||
WORD $0xd299dfab // mov x11, #52989
|
||||
WORD $0xf2b08c2b // movk x11, #33889, lsl #16
|
||||
WORD $0xf2cee22b // movk x11, #30481, lsl #32
|
||||
WORD $0xf2f5798b // movk x11, #43980, lsl #48
|
||||
WORD $0x9bcb7d2b // umulh x11, x9, x11
|
||||
WORD $0xd35afd6b // lsr x11, x11, #26
|
||||
WORD $0x1b0aa569 // msub w9, w11, w10, w9
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d61 // mov.s v1[0], w11
|
||||
WORD $0x0ea12822 // xtn.2s v2, v1
|
||||
WORD $0x5282eb2a // mov w10, #5977
|
||||
WORD $0x72ba36ea // movk w10, #53687, lsl #16
|
||||
WORD $0x0e040d43 // dup.2s v3, w10
|
||||
WORD $0x2ea3c042 // umull.2d v2, v2, v3
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12844 // xtn.2s v4, v2
|
||||
WORD $0x5284e20a // mov w10, #10000
|
||||
WORD $0x0e040d45 // dup.2s v5, w10
|
||||
WORD $0x2ea5c084 // umull.2d v4, v4, v5
|
||||
WORD $0x6ea48421 // sub.4s v1, v1, v4
|
||||
WORD $0x4e413841 // zip1.8h v1, v2, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh42:
|
||||
WORD $0x10ffcc2a // adr x10, lCPI0_0 $-1660(%rip)
|
||||
Lloh43:
|
||||
WORD $0xfd400142 // ldr d2, [x10, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e62c024 // umull.4s v4, v1, v2
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e62c021 // umull.4s v1, v1, v2
|
||||
WORD $0x4e415881 // uzp2.8h v1, v4, v1
|
||||
Lloh44:
|
||||
WORD $0x10ffcbaa // adr x10, lCPI0_1 $-1676(%rip)
|
||||
Lloh45:
|
||||
WORD $0xfd400144 // ldr d4, [x10, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e64c026 // umull.4s v6, v1, v4
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e64c021 // umull.4s v1, v1, v4
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x4e041d20 // mov.s v0[0], w9
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea3c0e3 // umull.2d v3, v7, v3
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x0ea12867 // xtn.2s v7, v3
|
||||
WORD $0x2ea5c0e5 // umull.2d v5, v7, v5
|
||||
WORD $0x6ea58400 // sub.4s v0, v0, v5
|
||||
WORD $0x4e403860 // zip1.8h v0, v3, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e62c003 // umull.4s v3, v0, v2
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e62c000 // umull.4s v0, v0, v2
|
||||
WORD $0x4e405860 // uzp2.8h v0, v3, v0
|
||||
WORD $0x2e64c002 // umull.4s v2, v0, v4
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e64c000 // umull.4s v0, v0, v4
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x4e209821 // cmeq.16b v1, v1, #0
|
||||
Lloh46:
|
||||
WORD $0x10ffc749 // adr x9, lCPI0_2 $-1816(%rip)
|
||||
Lloh47:
|
||||
WORD $0x3dc00122 // ldr q2, [x9, lCPI0_2@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
Lloh48:
|
||||
WORD $0x10ffc769 // adr x9, lCPI0_3 $-1812(%rip)
|
||||
Lloh49:
|
||||
WORD $0x3dc00122 // ldr q2, [x9, lCPI0_3@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e020021 // tbl.16b v1, { v1 }, v2
|
||||
WORD $0x4e71b821 // addv.8h h1, v1
|
||||
WORD $0x1e260029 // fmov w9, s1
|
||||
WORD $0x2a2903e9 // mvn w9, w9
|
||||
WORD $0x32114129 // orr w9, w9, #0xffff8000
|
||||
WORD $0x5ac00129 // rbit w9, w9
|
||||
WORD $0x5ac01129 // clz w9, w9
|
||||
Lloh50:
|
||||
WORD $0x1000244a // adr x10, _VecShiftShuffles $1160(%rip)
|
||||
Lloh51:
|
||||
WORD $0x9100014a // add x10, x10, _VecShiftShuffles@PAGEOFF $0(%rip)
|
||||
WORD $0x3ce95941 // ldr q1, [x10, w9, uxtw #4]
|
||||
WORD $0x4f04e5e2 // movi.16b v2, #143
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
WORD $0x4e010000 // tbl.16b v0, { v0 }, v1
|
||||
WORD $0x3d800100 // str q0, [x8]
|
||||
WORD $0x52800208 // mov w8, #16
|
||||
WORD $0x4b090109 // sub w9, w8, w9
|
||||
WORD $0x11000528 // add w8, w9, #1
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_41:
|
||||
WORD $0xd28f0ae9 // mov x9, #30807
|
||||
WORD $0xf2b62269 // movk x9, #45331, lsl #16
|
||||
WORD $0xf2cca5e9 // movk x9, #25903, lsl #32
|
||||
WORD $0xf2e734a9 // movk x9, #14757, lsl #48
|
||||
WORD $0x9bc97c29 // umulh x9, x1, x9
|
||||
WORD $0xd373fd2b // lsr x11, x9, #51
|
||||
WORD $0x7100257f // cmp w11, #9
|
||||
WORD $0x540000a8 // b.hi LBB0_43 $20(%rip)
|
||||
WORD $0x1100c169 // add w9, w11, #48
|
||||
WORD $0x39000009 // strb w9, [x0]
|
||||
WORD $0x52800029 // mov w9, #1
|
||||
WORD $0x1400001b // b LBB0_46 $108(%rip)
|
||||
LBB0_43:
|
||||
WORD $0x71018d7f // cmp w11, #99
|
||||
WORD $0x540000e8 // b.hi LBB0_45 $28(%rip)
|
||||
Lloh52:
|
||||
WORD $0x10001a89 // adr x9, _Digits $848(%rip)
|
||||
Lloh53:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1]
|
||||
WORD $0x79000009 // strh w9, [x0]
|
||||
WORD $0x52800049 // mov w9, #2
|
||||
WORD $0x14000013 // b LBB0_46 $76(%rip)
|
||||
LBB0_45:
|
||||
WORD $0x5280a3e9 // mov w9, #1311
|
||||
WORD $0x1b097d69 // mul w9, w11, w9
|
||||
WORD $0x53117d29 // lsr w9, w9, #17
|
||||
WORD $0x321c052c // orr w12, w9, #0x30
|
||||
WORD $0x3900000c // strb w12, [x0]
|
||||
WORD $0x52800c8c // mov w12, #100
|
||||
WORD $0x1b0cad29 // msub w9, w9, w12, w11
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
WORD $0xd37ff929 // lsl x9, x9, #1
|
||||
Lloh54:
|
||||
WORD $0x100018ac // adr x12, _Digits $788(%rip)
|
||||
Lloh55:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3869698d // ldrb w13, [x12, x9]
|
||||
WORD $0x3900040d // strb w13, [x0, #1]
|
||||
WORD $0x927f3929 // and x9, x9, #0xfffe
|
||||
WORD $0x8b090189 // add x9, x12, x9
|
||||
WORD $0x39400529 // ldrb w9, [x9, #1]
|
||||
WORD $0x39000809 // strb w9, [x0, #2]
|
||||
WORD $0x52800069 // mov w9, #3
|
||||
LBB0_46:
|
||||
WORD $0x9b0a856a // msub x10, x11, x10, x1
|
||||
WORD $0xd299dfab // mov x11, #52989
|
||||
WORD $0xf2b08c2b // movk x11, #33889, lsl #16
|
||||
WORD $0xf2cee22b // movk x11, #30481, lsl #32
|
||||
WORD $0xf2f5798b // movk x11, #43980, lsl #48
|
||||
WORD $0x9bcb7d4b // umulh x11, x10, x11
|
||||
WORD $0xd35afd6b // lsr x11, x11, #26
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d61 // mov.s v1[0], w11
|
||||
WORD $0x5282eb2c // mov w12, #5977
|
||||
WORD $0x72ba36ec // movk w12, #53687, lsl #16
|
||||
WORD $0x0e040d82 // dup.2s v2, w12
|
||||
WORD $0x0ea12823 // xtn.2s v3, v1
|
||||
WORD $0x2ea2c063 // umull.2d v3, v3, v2
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x5284e20c // mov w12, #10000
|
||||
WORD $0x0e040d84 // dup.2s v4, w12
|
||||
WORD $0x0ea12865 // xtn.2s v5, v3
|
||||
WORD $0x2ea4c0a5 // umull.2d v5, v5, v4
|
||||
WORD $0x6ea58421 // sub.4s v1, v1, v5
|
||||
WORD $0x4e413861 // zip1.8h v1, v3, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh56:
|
||||
WORD $0x10ffbbac // adr x12, lCPI0_0 $-2188(%rip)
|
||||
Lloh57:
|
||||
WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e63c025 // umull.4s v5, v1, v3
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e63c021 // umull.4s v1, v1, v3
|
||||
WORD $0x4e4158a1 // uzp2.8h v1, v5, v1
|
||||
Lloh58:
|
||||
WORD $0x10ffbb2c // adr x12, lCPI0_1 $-2204(%rip)
|
||||
Lloh59:
|
||||
WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e65c026 // umull.4s v6, v1, v5
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e65c021 // umull.4s v1, v1, v5
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x1b08a968 // msub w8, w11, w8, w10
|
||||
WORD $0x4e041d00 // mov.s v0[0], w8
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea2c0e2 // umull.2d v2, v7, v2
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12847 // xtn.2s v7, v2
|
||||
WORD $0x2ea4c0e4 // umull.2d v4, v7, v4
|
||||
WORD $0x6ea48400 // sub.4s v0, v0, v4
|
||||
WORD $0x4e403840 // zip1.8h v0, v2, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e63c002 // umull.4s v2, v0, v3
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e63c000 // umull.4s v0, v0, v3
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x2e65c002 // umull.4s v2, v0, v5
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e65c000 // umull.4s v0, v0, v5
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x3ca94800 // str q0, [x0, w9, uxtw]
|
||||
WORD $0x321c0128 // orr w8, w9, #0x10
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_47:
|
||||
WORD $0xd28f0aeb // mov x11, #30807
|
||||
WORD $0xf2b6226b // movk x11, #45331, lsl #16
|
||||
WORD $0xf2cca5eb // movk x11, #25903, lsl #32
|
||||
WORD $0xf2e734ab // movk x11, #14757, lsl #48
|
||||
WORD $0x9bcb7d2b // umulh x11, x9, x11
|
||||
WORD $0xd373fd6d // lsr x13, x11, #51
|
||||
WORD $0x710025bf // cmp w13, #9
|
||||
WORD $0x540000a8 // b.hi LBB0_49 $20(%rip)
|
||||
WORD $0x1100c1ab // add w11, w13, #48
|
||||
WORD $0x3900010b // strb w11, [x8]
|
||||
WORD $0x5280002b // mov w11, #1
|
||||
WORD $0x1400001c // b LBB0_52 $112(%rip)
|
||||
LBB0_49:
|
||||
WORD $0x71018dbf // cmp w13, #99
|
||||
WORD $0x540000e8 // b.hi LBB0_51 $28(%rip)
|
||||
Lloh60:
|
||||
WORD $0x10000c8b // adr x11, _Digits $400(%rip)
|
||||
Lloh61:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x786d596b // ldrh w11, [x11, w13, uxtw #1]
|
||||
WORD $0x7800100b // sturh w11, [x0, #1]
|
||||
WORD $0x5280004b // mov w11, #2
|
||||
WORD $0x14000014 // b LBB0_52 $80(%rip)
|
||||
LBB0_51:
|
||||
WORD $0x53023dab // ubfx w11, w13, #2, #14
|
||||
WORD $0x52828f6e // mov w14, #5243
|
||||
WORD $0x1b0e7d6b // mul w11, w11, w14
|
||||
WORD $0x53117d6b // lsr w11, w11, #17
|
||||
WORD $0x321c056e // orr w14, w11, #0x30
|
||||
WORD $0x3900040e // strb w14, [x0, #1]
|
||||
WORD $0x52800c8e // mov w14, #100
|
||||
WORD $0x1b0eb56b // msub w11, w11, w14, w13
|
||||
WORD $0x92403d6b // and x11, x11, #0xffff
|
||||
WORD $0xd37ff96b // lsl x11, x11, #1
|
||||
Lloh62:
|
||||
WORD $0x10000a8e // adr x14, _Digits $336(%rip)
|
||||
Lloh63:
|
||||
WORD $0x910001ce // add x14, x14, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386b69cf // ldrb w15, [x14, x11]
|
||||
WORD $0x3900080f // strb w15, [x0, #2]
|
||||
WORD $0x927f396b // and x11, x11, #0xfffe
|
||||
WORD $0x8b0b01cb // add x11, x14, x11
|
||||
WORD $0x3940056b // ldrb w11, [x11, #1]
|
||||
WORD $0x39000c0b // strb w11, [x0, #3]
|
||||
WORD $0x5280006b // mov w11, #3
|
||||
LBB0_52:
|
||||
WORD $0x9b0ca5a9 // msub x9, x13, x12, x9
|
||||
WORD $0xd299dfac // mov x12, #52989
|
||||
WORD $0xf2b08c2c // movk x12, #33889, lsl #16
|
||||
WORD $0xf2cee22c // movk x12, #30481, lsl #32
|
||||
WORD $0xf2f5798c // movk x12, #43980, lsl #48
|
||||
WORD $0x9bcc7d2c // umulh x12, x9, x12
|
||||
WORD $0xd35afd8c // lsr x12, x12, #26
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d81 // mov.s v1[0], w12
|
||||
WORD $0x5282eb2d // mov w13, #5977
|
||||
WORD $0x72ba36ed // movk w13, #53687, lsl #16
|
||||
WORD $0x0e040da2 // dup.2s v2, w13
|
||||
WORD $0x0ea12823 // xtn.2s v3, v1
|
||||
WORD $0x2ea2c063 // umull.2d v3, v3, v2
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x5284e20d // mov w13, #10000
|
||||
WORD $0x0e040da4 // dup.2s v4, w13
|
||||
WORD $0x0ea12865 // xtn.2s v5, v3
|
||||
WORD $0x2ea4c0a5 // umull.2d v5, v5, v4
|
||||
WORD $0x6ea58421 // sub.4s v1, v1, v5
|
||||
WORD $0x4e413861 // zip1.8h v1, v3, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh64:
|
||||
WORD $0x10ffad8d // adr x13, lCPI0_0 $-2640(%rip)
|
||||
Lloh65:
|
||||
WORD $0xfd4001a3 // ldr d3, [x13, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e63c025 // umull.4s v5, v1, v3
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e63c021 // umull.4s v1, v1, v3
|
||||
WORD $0x4e4158a1 // uzp2.8h v1, v5, v1
|
||||
Lloh66:
|
||||
WORD $0x10ffad0d // adr x13, lCPI0_1 $-2656(%rip)
|
||||
Lloh67:
|
||||
WORD $0xfd4001a5 // ldr d5, [x13, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e65c026 // umull.4s v6, v1, v5
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e65c021 // umull.4s v1, v1, v5
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x1b0aa589 // msub w9, w12, w10, w9
|
||||
WORD $0x4e041d20 // mov.s v0[0], w9
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea2c0e2 // umull.2d v2, v7, v2
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12847 // xtn.2s v7, v2
|
||||
WORD $0x2ea4c0e4 // umull.2d v4, v7, v4
|
||||
WORD $0x6ea48400 // sub.4s v0, v0, v4
|
||||
WORD $0x4e403840 // zip1.8h v0, v2, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e63c002 // umull.4s v2, v0, v3
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e63c000 // umull.4s v0, v0, v3
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x2e65c002 // umull.4s v2, v0, v5
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e65c000 // umull.4s v0, v0, v5
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x3cab4900 // str q0, [x8, w11, uxtw]
|
||||
WORD $0x321c0169 // orr w9, w11, #0x10
|
||||
WORD $0x11000528 // add w8, w9, #1
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
_Digits:
|
||||
WORD $0x31303030 // .ascii 4, '0001020304050607'
|
||||
WORD $0x33303230 // .ascii 4, '0203040506070809'
|
||||
WORD $0x35303430 // .ascii 4, '0405060708091011'
|
||||
WORD $0x37303630 // .ascii 4, '0607080910111213'
|
||||
WORD $0x39303830 // .ascii 4, '0809101112131415'
|
||||
WORD $0x31313031 // .ascii 4, '1011121314151617'
|
||||
WORD $0x33313231 // .ascii 4, '1213141516171819'
|
||||
WORD $0x35313431 // .ascii 4, '1415161718192021'
|
||||
WORD $0x37313631 // .ascii 4, '1617181920212223'
|
||||
WORD $0x39313831 // .ascii 4, '1819202122232425'
|
||||
WORD $0x31323032 // .ascii 4, '2021222324252627'
|
||||
WORD $0x33323232 // .ascii 4, '2223242526272829'
|
||||
WORD $0x35323432 // .ascii 4, '2425262728293031'
|
||||
WORD $0x37323632 // .ascii 4, '2627282930313233'
|
||||
WORD $0x39323832 // .ascii 4, '2829303132333435'
|
||||
WORD $0x31333033 // .ascii 4, '3031323334353637'
|
||||
WORD $0x33333233 // .ascii 4, '3233343536373839'
|
||||
WORD $0x35333433 // .ascii 4, '3435363738394041'
|
||||
WORD $0x37333633 // .ascii 4, '3637383940414243'
|
||||
WORD $0x39333833 // .ascii 4, '3839404142434445'
|
||||
WORD $0x31343034 // .ascii 4, '4041424344454647'
|
||||
WORD $0x33343234 // .ascii 4, '4243444546474849'
|
||||
WORD $0x35343434 // .ascii 4, '4445464748495051'
|
||||
WORD $0x37343634 // .ascii 4, '4647484950515253'
|
||||
WORD $0x39343834 // .ascii 4, '4849505152535455'
|
||||
WORD $0x31353035 // .ascii 4, '5051525354555657'
|
||||
WORD $0x33353235 // .ascii 4, '5253545556575859'
|
||||
WORD $0x35353435 // .ascii 4, '5455565758596061'
|
||||
WORD $0x37353635 // .ascii 4, '5657585960616263'
|
||||
WORD $0x39353835 // .ascii 4, '5859606162636465'
|
||||
WORD $0x31363036 // .ascii 4, '6061626364656667'
|
||||
WORD $0x33363236 // .ascii 4, '6263646566676869'
|
||||
WORD $0x35363436 // .ascii 4, '6465666768697071'
|
||||
WORD $0x37363636 // .ascii 4, '6667686970717273'
|
||||
WORD $0x39363836 // .ascii 4, '6869707172737475'
|
||||
WORD $0x31373037 // .ascii 4, '7071727374757677'
|
||||
WORD $0x33373237 // .ascii 4, '7273747576777879'
|
||||
WORD $0x35373437 // .ascii 4, '7475767778798081'
|
||||
WORD $0x37373637 // .ascii 4, '7677787980818283'
|
||||
WORD $0x39373837 // .ascii 4, '7879808182838485'
|
||||
WORD $0x31383038 // .ascii 4, '8081828384858687'
|
||||
WORD $0x33383238 // .ascii 4, '8283848586878889'
|
||||
WORD $0x35383438 // .ascii 4, '8485868788899091'
|
||||
WORD $0x37383638 // .ascii 4, '8687888990919293'
|
||||
WORD $0x39383838 // .ascii 4, '8889909192939495'
|
||||
WORD $0x31393039 // .ascii 4, '9091929394959697'
|
||||
WORD $0x33393239 // .ascii 4, '9293949596979899'
|
||||
WORD $0x35393439 // .ascii 4, '949596979899'
|
||||
WORD $0x37393639 // .ascii 4, '96979899'
|
||||
WORD $0x39393839 // .ascii 4, '9899'
|
||||
// .p2align 4, 0x00
|
||||
_VecShiftShuffles:
|
||||
WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c'
|
||||
WORD $0x04030201 // .ascii 4, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
|
||||
WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05'
|
||||
WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t'
|
||||
WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r'
|
||||
WORD $0x05040302 // .ascii 4, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
|
||||
WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06'
|
||||
WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n'
|
||||
WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e'
|
||||
WORD $0x06050403 // .ascii 4, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
|
||||
WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07'
|
||||
WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b'
|
||||
WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
|
||||
WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff'
|
||||
WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t'
|
||||
WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
|
||||
WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n'
|
||||
WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
|
||||
WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b'
|
||||
WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff'
|
||||
|
||||
TEXT ·__i64toa(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_i64toa:
|
||||
MOVD out+0(FP), R0
|
||||
MOVD val+8(FP), R1
|
||||
MOVD ·_subr__i64toa(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+16(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __i64toa_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__i64toa uintptr = __i64toa_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__i64toa = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__i64toa
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__i64toa
|
||||
)
|
||||
31
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 2024 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func lookup_small_key(key *string, table *[]byte, lowerOff int) (ret int) {
|
||||
return __lookup_small_key(rt.NoEscape(unsafe.Pointer(key)), rt.NoEscape(unsafe.Pointer(table)), lowerOff)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func __lookup_small_key(key unsafe.Pointer, table unsafe.Pointer, lowerOff int) (ret int)
|
||||
342
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_arm64.s
generated
vendored
Normal file
342
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,342 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__lookup_small_key_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 4, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_lookup_small_key:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xf940040a // ldr x10, [x0, #8]
|
||||
WORD $0xf940002b // ldr x11, [x1]
|
||||
WORD $0x12001d49 // and w9, w10, #0xff
|
||||
WORD $0x8b294928 // add x8, x9, w9, uxtw #2
|
||||
WORD $0x8b08016d // add x13, x11, x8
|
||||
WORD $0x394001a8 // ldrb w8, [x13]
|
||||
WORD $0x340019e8 // cbz w8, LBB0_46 $828(%rip)
|
||||
WORD $0xf940000c // ldr x12, [x0]
|
||||
WORD $0xb84011ad // ldur w13, [x13, #1]
|
||||
WORD $0x110295ae // add w14, w13, #165
|
||||
WORD $0x8b0e016e // add x14, x11, x14
|
||||
WORD $0x92401d4f // and x15, x10, #0xff
|
||||
WORD $0x7100253f // cmp w9, #9
|
||||
WORD $0x54000942 // b.hs LBB0_20 $296(%rip)
|
||||
WORD $0x11000530 // add w16, w9, #1
|
||||
WORD $0x39400191 // ldrb w17, [x12]
|
||||
WORD $0x528000e0 // mov w0, #7
|
||||
WORD $0xaa0803e1 // mov x1, x8
|
||||
WORD $0x14000007 // b LBB0_5 $28(%rip)
|
||||
LBB0_3:
|
||||
WORD $0x52800003 // mov w3, #0
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x540007a2 // b.hs LBB0_19 $244(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x8b1001ce // add x14, x14, x16
|
||||
WORD $0x71000421 // subs w1, w1, #1
|
||||
WORD $0x54000b40 // b.eq LBB0_23 $360(%rip)
|
||||
LBB0_5:
|
||||
WORD $0x394001c3 // ldrb w3, [x14]
|
||||
WORD $0x6b11007f // cmp w3, w17
|
||||
WORD $0x54ffff01 // b.ne LBB0_3 $-32(%rip)
|
||||
WORD $0x394005c3 // ldrb w3, [x14, #1]
|
||||
WORD $0x39400584 // ldrb w4, [x12, #1]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_13 $112(%rip)
|
||||
WORD $0x394009c3 // ldrb w3, [x14, #2]
|
||||
WORD $0x39400984 // ldrb w4, [x12, #2]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_14 $112(%rip)
|
||||
WORD $0x39400dc3 // ldrb w3, [x14, #3]
|
||||
WORD $0x39400d84 // ldrb w4, [x12, #3]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_15 $112(%rip)
|
||||
WORD $0x394011c3 // ldrb w3, [x14, #4]
|
||||
WORD $0x39401184 // ldrb w4, [x12, #4]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_16 $112(%rip)
|
||||
WORD $0x394015c3 // ldrb w3, [x14, #5]
|
||||
WORD $0x39401584 // ldrb w4, [x12, #5]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_17 $112(%rip)
|
||||
WORD $0x394019c3 // ldrb w3, [x14, #6]
|
||||
WORD $0x39401984 // ldrb w4, [x12, #6]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x54000381 // b.ne LBB0_18 $112(%rip)
|
||||
WORD $0x39401dc3 // ldrb w3, [x14, #7]
|
||||
WORD $0x39401d84 // ldrb w4, [x12, #7]
|
||||
WORD $0x6b04007f // cmp w3, w4
|
||||
WORD $0x1a801403 // cinc w3, w0, eq
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fffba3 // b.lo LBB0_4 $-140(%rip)
|
||||
WORD $0x14000018 // b LBB0_19 $96(%rip)
|
||||
LBB0_13:
|
||||
WORD $0x52800023 // mov w3, #1
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fffb23 // b.lo LBB0_4 $-156(%rip)
|
||||
WORD $0x14000014 // b LBB0_19 $80(%rip)
|
||||
LBB0_14:
|
||||
WORD $0x52800043 // mov w3, #2
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fffaa3 // b.lo LBB0_4 $-172(%rip)
|
||||
WORD $0x14000010 // b LBB0_19 $64(%rip)
|
||||
LBB0_15:
|
||||
WORD $0x52800063 // mov w3, #3
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fffa23 // b.lo LBB0_4 $-188(%rip)
|
||||
WORD $0x1400000c // b LBB0_19 $48(%rip)
|
||||
LBB0_16:
|
||||
WORD $0x52800083 // mov w3, #4
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fff9a3 // b.lo LBB0_4 $-204(%rip)
|
||||
WORD $0x14000008 // b LBB0_19 $32(%rip)
|
||||
LBB0_17:
|
||||
WORD $0x528000a3 // mov w3, #5
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fff923 // b.lo LBB0_4 $-220(%rip)
|
||||
WORD $0x14000004 // b LBB0_19 $16(%rip)
|
||||
LBB0_18:
|
||||
WORD $0x528000c3 // mov w3, #6
|
||||
WORD $0x6b0f007f // cmp w3, w15
|
||||
WORD $0x54fff8a3 // b.lo LBB0_4 $-236(%rip)
|
||||
LBB0_19:
|
||||
WORD $0x8b0f01c8 // add x8, x14, x15
|
||||
WORD $0x39400100 // ldrb w0, [x8]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_20:
|
||||
WORD $0xad400580 // ldp q0, q1, [x12]
|
||||
WORD $0x92800010 // mov x16, #-1
|
||||
WORD $0x9acf2210 // lsl x16, x16, x15
|
||||
WORD $0x11000531 // add w17, w9, #1
|
||||
Lloh0:
|
||||
WORD $0x10fff320 // adr x0, lCPI0_0 $-412(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc00002 // ldr q2, [x0, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fff360 // adr x0, lCPI0_1 $-404(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc00003 // ldr q3, [x0, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
LBB0_21:
|
||||
WORD $0xad4015c4 // ldp q4, q5, [x14]
|
||||
WORD $0x6e248c04 // cmeq.16b v4, v0, v4
|
||||
WORD $0x6e258c25 // cmeq.16b v5, v1, v5
|
||||
WORD $0x4e221c84 // and.16b v4, v4, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260081 // fmov w1, s4
|
||||
WORD $0x4e221ca4 // and.16b v4, v5, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260083 // fmov w3, s4
|
||||
WORD $0x33103c61 // bfi w1, w3, #16, #16
|
||||
WORD $0x2a100021 // orr w1, w1, w16
|
||||
WORD $0x3100043f // cmn w1, #1
|
||||
WORD $0x54fffc80 // b.eq LBB0_19 $-112(%rip)
|
||||
WORD $0x8b1101ce // add x14, x14, x17
|
||||
WORD $0x71000400 // subs w0, w0, #1
|
||||
WORD $0x54fffde1 // b.ne LBB0_21 $-68(%rip)
|
||||
LBB0_23:
|
||||
WORD $0xb100045f // cmn x2, #1
|
||||
WORD $0x54000c40 // b.eq LBB0_46 $392(%rip)
|
||||
WORD $0x3dc00180 // ldr q0, [x12]
|
||||
WORD $0x4f05e7e1 // movi.16b v1, #191
|
||||
WORD $0x4e218403 // add.16b v3, v0, v1
|
||||
WORD $0x4f00e742 // movi.16b v2, #26
|
||||
WORD $0x6e233444 // cmhi.16b v4, v2, v3
|
||||
WORD $0x4f01e403 // movi.16b v3, #32
|
||||
WORD $0x4e231c84 // and.16b v4, v4, v3
|
||||
WORD $0x4e208480 // add.16b v0, v4, v0
|
||||
WORD $0x8b0d016b // add x11, x11, x13
|
||||
WORD $0x8b02016b // add x11, x11, x2
|
||||
WORD $0x92401d4a // and x10, x10, #0xff
|
||||
WORD $0x7100253f // cmp w9, #9
|
||||
WORD $0x540006e2 // b.hs LBB0_43 $220(%rip)
|
||||
WORD $0x0e013c0c // umov.b w12, v0[0]
|
||||
WORD $0x0e033c0d // umov.b w13, v0[1]
|
||||
WORD $0x0e053c0e // umov.b w14, v0[2]
|
||||
WORD $0x0e073c0f // umov.b w15, v0[3]
|
||||
WORD $0x0e093c10 // umov.b w16, v0[4]
|
||||
WORD $0x0e0b3c11 // umov.b w17, v0[5]
|
||||
WORD $0x11000529 // add w9, w9, #1
|
||||
WORD $0x0e0d3c00 // umov.b w0, v0[6]
|
||||
WORD $0x528000e1 // mov w1, #7
|
||||
WORD $0x0e0f3c02 // umov.b w2, v0[7]
|
||||
LBB0_26:
|
||||
WORD $0x39400163 // ldrb w3, [x11]
|
||||
WORD $0x6b2c007f // cmp w3, w12, uxtb
|
||||
WORD $0x540002e1 // b.ne LBB0_34 $92(%rip)
|
||||
WORD $0x39400563 // ldrb w3, [x11, #1]
|
||||
WORD $0x6b2d007f // cmp w3, w13, uxtb
|
||||
WORD $0x540002c1 // b.ne LBB0_35 $88(%rip)
|
||||
WORD $0x39400963 // ldrb w3, [x11, #2]
|
||||
WORD $0x6b2e007f // cmp w3, w14, uxtb
|
||||
WORD $0x540002a1 // b.ne LBB0_36 $84(%rip)
|
||||
WORD $0x39400d63 // ldrb w3, [x11, #3]
|
||||
WORD $0x6b2f007f // cmp w3, w15, uxtb
|
||||
WORD $0x54000281 // b.ne LBB0_37 $80(%rip)
|
||||
WORD $0x39401163 // ldrb w3, [x11, #4]
|
||||
WORD $0x6b30007f // cmp w3, w16, uxtb
|
||||
WORD $0x54000261 // b.ne LBB0_38 $76(%rip)
|
||||
WORD $0x39401563 // ldrb w3, [x11, #5]
|
||||
WORD $0x6b31007f // cmp w3, w17, uxtb
|
||||
WORD $0x54000241 // b.ne LBB0_39 $72(%rip)
|
||||
WORD $0x39401963 // ldrb w3, [x11, #6]
|
||||
WORD $0x6b20007f // cmp w3, w0, uxtb
|
||||
WORD $0x54000221 // b.ne LBB0_40 $68(%rip)
|
||||
WORD $0x39401d63 // ldrb w3, [x11, #7]
|
||||
WORD $0x6b22007f // cmp w3, w2, uxtb
|
||||
WORD $0x1a811423 // cinc w3, w1, eq
|
||||
WORD $0x1400000e // b LBB0_41 $56(%rip)
|
||||
LBB0_34:
|
||||
WORD $0x52800003 // mov w3, #0
|
||||
WORD $0x1400000c // b LBB0_41 $48(%rip)
|
||||
LBB0_35:
|
||||
WORD $0x52800023 // mov w3, #1
|
||||
WORD $0x1400000a // b LBB0_41 $40(%rip)
|
||||
LBB0_36:
|
||||
WORD $0x52800043 // mov w3, #2
|
||||
WORD $0x14000008 // b LBB0_41 $32(%rip)
|
||||
LBB0_37:
|
||||
WORD $0x52800063 // mov w3, #3
|
||||
WORD $0x14000006 // b LBB0_41 $24(%rip)
|
||||
LBB0_38:
|
||||
WORD $0x52800083 // mov w3, #4
|
||||
WORD $0x14000004 // b LBB0_41 $16(%rip)
|
||||
LBB0_39:
|
||||
WORD $0x528000a3 // mov w3, #5
|
||||
WORD $0x14000002 // b LBB0_41 $8(%rip)
|
||||
LBB0_40:
|
||||
WORD $0x528000c3 // mov w3, #6
|
||||
LBB0_41:
|
||||
WORD $0x6b0a007f // cmp w3, w10
|
||||
WORD $0x540004e2 // b.hs LBB0_47 $156(%rip)
|
||||
WORD $0x8b09016b // add x11, x11, x9
|
||||
WORD $0x71000508 // subs w8, w8, #1
|
||||
WORD $0x54fffac1 // b.ne LBB0_26 $-168(%rip)
|
||||
WORD $0x1400001f // b LBB0_46 $124(%rip)
|
||||
LBB0_43:
|
||||
WORD $0x3dc00584 // ldr q4, [x12, #16]
|
||||
WORD $0x4e218481 // add.16b v1, v4, v1
|
||||
WORD $0x6e213441 // cmhi.16b v1, v2, v1
|
||||
WORD $0x4e231c21 // and.16b v1, v1, v3
|
||||
WORD $0x4e248421 // add.16b v1, v1, v4
|
||||
WORD $0x9280000c // mov x12, #-1
|
||||
WORD $0x9aca218c // lsl x12, x12, x10
|
||||
WORD $0x11000529 // add w9, w9, #1
|
||||
Lloh4:
|
||||
WORD $0x10ffe6ad // adr x13, lCPI0_0 $-812(%rip)
|
||||
Lloh5:
|
||||
WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh6:
|
||||
WORD $0x10ffe6ed // adr x13, lCPI0_1 $-804(%rip)
|
||||
Lloh7:
|
||||
WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
LBB0_44:
|
||||
WORD $0xad401564 // ldp q4, q5, [x11]
|
||||
WORD $0x6e248c04 // cmeq.16b v4, v0, v4
|
||||
WORD $0x6e258c25 // cmeq.16b v5, v1, v5
|
||||
WORD $0x4e221c84 // and.16b v4, v4, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e26008d // fmov w13, s4
|
||||
WORD $0x4e221ca4 // and.16b v4, v5, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e26008e // fmov w14, s4
|
||||
WORD $0x33103dcd // bfi w13, w14, #16, #16
|
||||
WORD $0x2a0c01ad // orr w13, w13, w12
|
||||
WORD $0x310005bf // cmn w13, #1
|
||||
WORD $0x54000100 // b.eq LBB0_47 $32(%rip)
|
||||
WORD $0x8b09016b // add x11, x11, x9
|
||||
WORD $0x71000508 // subs w8, w8, #1
|
||||
WORD $0x54fffde1 // b.ne LBB0_44 $-68(%rip)
|
||||
LBB0_46:
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_47:
|
||||
WORD $0x8b0a0168 // add x8, x11, x10
|
||||
WORD $0x39400100 // ldrb w0, [x8]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
|
||||
TEXT ·__lookup_small_key(SB), NOSPLIT, $0-32
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_lookup_small_key:
|
||||
MOVD key+0(FP), R0
|
||||
MOVD table+8(FP), R1
|
||||
MOVD lowerOff+16(FP), R2
|
||||
MOVD ·_subr__lookup_small_key(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+24(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/lookup_small_key_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __lookup_small_key_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__lookup_small_key uintptr = __lookup_small_key_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__lookup_small_key = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__lookup_small_key
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__lookup_small_key
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
// `github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func lspace(sp unsafe.Pointer, nb int, off int) (ret int) {
|
||||
return __lspace(sp, nb, off)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __lspace(sp unsafe.Pointer, nb int, off int) (ret int)
|
||||
68
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.s
generated
vendored
Normal file
68
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__lspace_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 2, 0x00
|
||||
_lspace:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xeb02003f // cmp x1, x2
|
||||
WORD $0x54000061 // b.ne LBB0_2 $12(%rip)
|
||||
WORD $0x8b020008 // add x8, x0, x2
|
||||
WORD $0x1400000e // b LBB0_5 $56(%rip)
|
||||
LBB0_2:
|
||||
WORD $0x8b010008 // add x8, x0, x1
|
||||
WORD $0x52800029 // mov w9, #1
|
||||
WORD $0xd284c00a // mov x10, #9728
|
||||
WORD $0xf2c0002a // movk x10, #1, lsl #32
|
||||
LBB0_3:
|
||||
WORD $0x3862680b // ldrb w11, [x0, x2]
|
||||
WORD $0x7100817f // cmp w11, #32
|
||||
WORD $0x9acb212b // lsl x11, x9, x11
|
||||
WORD $0x8a0a016b // and x11, x11, x10
|
||||
WORD $0xfa409964 // ccmp x11, #0, #4, ls
|
||||
WORD $0x540000a0 // b.eq LBB0_6 $20(%rip)
|
||||
WORD $0x91000442 // add x2, x2, #1
|
||||
WORD $0xeb02003f // cmp x1, x2
|
||||
WORD $0x54ffff01 // b.ne LBB0_3 $-32(%rip)
|
||||
LBB0_5:
|
||||
WORD $0xcb000102 // sub x2, x8, x0
|
||||
LBB0_6:
|
||||
WORD $0xaa0203e0 // mov x0, x2
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
|
||||
TEXT ·__lspace(SB), NOSPLIT, $0-32
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_lspace:
|
||||
MOVD sp+0(FP), R0
|
||||
MOVD nb+8(FP), R1
|
||||
MOVD off+16(FP), R2
|
||||
MOVD ·_subr__lspace(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+24(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __lspace_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__lspace uintptr = __lspace_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__lspace = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__lspace
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__lspace
|
||||
)
|
||||
51
vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go
generated
vendored
Normal file
51
vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
var (
|
||||
S_f64toa = _subr__f64toa
|
||||
S_f32toa = _subr__f32toa
|
||||
S_i64toa = _subr__i64toa
|
||||
S_u64toa = _subr__u64toa
|
||||
S_lspace = _subr__lspace
|
||||
)
|
||||
|
||||
var (
|
||||
S_quote = _subr__quote
|
||||
S_unquote = _subr__unquote
|
||||
)
|
||||
|
||||
var (
|
||||
S_value = _subr__value
|
||||
S_vstring = _subr__vstring
|
||||
S_vnumber = _subr__vnumber
|
||||
S_vsigned = _subr__vsigned
|
||||
S_vunsigned = _subr__vunsigned
|
||||
)
|
||||
|
||||
var (
|
||||
S_skip_one = _subr__skip_one
|
||||
S_skip_one_fast = _subr__skip_one_fast
|
||||
S_skip_array = _subr__skip_array
|
||||
S_skip_object = _subr__skip_object
|
||||
S_skip_number = _subr__skip_number
|
||||
S_get_by_path = _subr__get_by_path
|
||||
S_lookup_small_key = _subr__lookup_small_key
|
||||
S_parse_with_padding = _subr__parse_with_padding
|
||||
)
|
||||
30
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_arm64.go
generated
vendored
Normal file
30
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Copyright 2024 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func parse_with_padding(parser unsafe.Pointer) (ret int) {
|
||||
return __parse_with_padding(rt.NoEscape(parser))
|
||||
}
|
||||
|
||||
func __parse_with_padding(parser unsafe.Pointer) (ret int)
|
||||
14113
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_arm64.s
generated
vendored
Normal file
14113
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/parse_with_padding_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __parse_with_padding_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__parse_with_padding uintptr = __parse_with_padding_entry__() + 248
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__parse_with_padding = 160
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__parse_with_padding
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__parse_with_padding
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
// `github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) {
|
||||
return __quote(sp, nb, dp, dn, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int)
|
||||
2563
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.s
generated
vendored
Normal file
2563
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/quote_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/quote_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __quote_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__quote uintptr = __quote_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__quote = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__quote
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__quote
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
// `unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
|
||||
return __skip_array(s, p, m, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
4028
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s
generated
vendored
Normal file
4028
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __skip_array_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__skip_array uintptr = __skip_array_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__skip_array = 240
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_array
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_array
|
||||
)
|
||||
29
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func skip_number(s *string, p *int) (ret int) {
|
||||
return __skip_number(s, p)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_number(s *string, p *int) (ret int)
|
||||
373
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.s
generated
vendored
Normal file
373
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,373 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__skip_number_entry__(SB), NOSPLIT, $32
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 4, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_skip_number:
|
||||
WORD $0xd100c3ff // sub sp, sp, #48
|
||||
WORD $0xa900cff4 // stp x20, x19, [sp, #8]
|
||||
WORD $0xa901fbfd // stp fp, lr, [sp, #24]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xaa0003e8 // mov x8, x0
|
||||
WORD $0xf9400020 // ldr x0, [x1]
|
||||
WORD $0xa9402909 // ldp x9, x10, [x8]
|
||||
WORD $0x8b000128 // add x8, x9, x0
|
||||
WORD $0xaa0803eb // mov x11, x8
|
||||
WORD $0x3840156c // ldrb w12, [x11], #1
|
||||
WORD $0x7100b59f // cmp w12, #45
|
||||
WORD $0x1a9f17ed // cset w13, eq
|
||||
WORD $0x9a8b1108 // csel x8, x8, x11, ne
|
||||
WORD $0xcb00014a // sub x10, x10, x0
|
||||
WORD $0xeb0d014e // subs x14, x10, x13
|
||||
WORD $0x54001c40 // b.eq LBB0_59 $904(%rip)
|
||||
WORD $0x3940010a // ldrb w10, [x8]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x3100297f // cmn w11, #10
|
||||
WORD $0x540017a3 // b.lo LBB0_52 $756(%rip)
|
||||
WORD $0x7100c15f // cmp w10, #48
|
||||
WORD $0x540001e1 // b.ne LBB0_6 $60(%rip)
|
||||
WORD $0xf10005df // cmp x14, #1
|
||||
WORD $0x54000061 // b.ne LBB0_5 $12(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x5280002d // mov w13, #1
|
||||
WORD $0x140000a9 // b LBB0_47 $676(%rip)
|
||||
LBB0_5:
|
||||
WORD $0x3940050a // ldrb w10, [x8, #1]
|
||||
WORD $0x5100b94a // sub w10, w10, #46
|
||||
WORD $0x7100dd5f // cmp w10, #55
|
||||
WORD $0x5280002b // mov w11, #1
|
||||
WORD $0x9aca216a // lsl x10, x11, x10
|
||||
WORD $0xb20903eb // mov x11, #36028797027352576
|
||||
WORD $0xf280002b // movk x11, #1
|
||||
WORD $0x8a0b014a // and x10, x10, x11
|
||||
WORD $0xfa409944 // ccmp x10, #0, #4, ls
|
||||
WORD $0x54fffea0 // b.eq LBB0_4 $-44(%rip)
|
||||
LBB0_6:
|
||||
WORD $0xf10041df // cmp x14, #16
|
||||
WORD $0x54001a63 // b.lo LBB0_60 $844(%rip)
|
||||
WORD $0xd2800010 // mov x16, #0
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
WORD $0x9280000a // mov x10, #-1
|
||||
WORD $0x4f01e5c0 // movi.16b v0, #46
|
||||
WORD $0x4f01e561 // movi.16b v1, #43
|
||||
WORD $0x4f01e5a2 // movi.16b v2, #45
|
||||
WORD $0x4f06e603 // movi.16b v3, #208
|
||||
WORD $0x4f00e544 // movi.16b v4, #10
|
||||
Lloh0:
|
||||
WORD $0x10fff92b // adr x11, lCPI0_0 $-220(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x4f06e7e6 // movi.16b v6, #223
|
||||
WORD $0x4f02e4a7 // movi.16b v7, #69
|
||||
Lloh2:
|
||||
WORD $0x10fff92b // adr x11, lCPI0_1 $-220(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x12800011 // mov w17, #-1
|
||||
WORD $0x9280000c // mov x12, #-1
|
||||
WORD $0x9280000b // mov x11, #-1
|
||||
LBB0_8:
|
||||
WORD $0x3cef6911 // ldr q17, [x8, x15]
|
||||
WORD $0x6e208e32 // cmeq.16b v18, v17, v0
|
||||
WORD $0x6e218e33 // cmeq.16b v19, v17, v1
|
||||
WORD $0x6e228e34 // cmeq.16b v20, v17, v2
|
||||
WORD $0x4e238635 // add.16b v21, v17, v3
|
||||
WORD $0x6e353495 // cmhi.16b v21, v4, v21
|
||||
WORD $0x4e261e31 // and.16b v17, v17, v6
|
||||
WORD $0x6e278e31 // cmeq.16b v17, v17, v7
|
||||
WORD $0x4eb41e73 // orr.16b v19, v19, v20
|
||||
WORD $0x4eb21eb4 // orr.16b v20, v21, v18
|
||||
WORD $0x4eb31e35 // orr.16b v21, v17, v19
|
||||
WORD $0x4eb51e94 // orr.16b v20, v20, v21
|
||||
WORD $0x4e251e52 // and.16b v18, v18, v5
|
||||
WORD $0x4e100252 // tbl.16b v18, { v18 }, v16
|
||||
WORD $0x4e71ba52 // addv.8h h18, v18
|
||||
WORD $0x1e260243 // fmov w3, s18
|
||||
WORD $0x4e251e31 // and.16b v17, v17, v5
|
||||
WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260224 // fmov w4, s17
|
||||
WORD $0x4e251e71 // and.16b v17, v19, v5
|
||||
WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260226 // fmov w6, s17
|
||||
WORD $0x4e251e91 // and.16b v17, v20, v5
|
||||
WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260222 // fmov w2, s17
|
||||
WORD $0x2a2203e2 // mvn w2, w2
|
||||
WORD $0x32103c42 // orr w2, w2, #0xffff0000
|
||||
WORD $0x5ac00042 // rbit w2, w2
|
||||
WORD $0x5ac01042 // clz w2, w2
|
||||
WORD $0x1ac22225 // lsl w5, w17, w2
|
||||
WORD $0x0a250067 // bic w7, w3, w5
|
||||
WORD $0x0a250093 // bic w19, w4, w5
|
||||
WORD $0x0a2500d4 // bic w20, w6, w5
|
||||
WORD $0x7100405f // cmp w2, #16
|
||||
WORD $0x1a870065 // csel w5, w3, w7, eq
|
||||
WORD $0x1a930084 // csel w4, w4, w19, eq
|
||||
WORD $0x1a9400c3 // csel w3, w6, w20, eq
|
||||
WORD $0x510004a6 // sub w6, w5, #1
|
||||
WORD $0x6a0500c6 // ands w6, w6, w5
|
||||
WORD $0x54001041 // b.ne LBB0_55 $520(%rip)
|
||||
WORD $0x51000486 // sub w6, w4, #1
|
||||
WORD $0x6a0400c6 // ands w6, w6, w4
|
||||
WORD $0x54000fe1 // b.ne LBB0_55 $508(%rip)
|
||||
WORD $0x51000466 // sub w6, w3, #1
|
||||
WORD $0x6a0300c6 // ands w6, w6, w3
|
||||
WORD $0x54000f81 // b.ne LBB0_55 $496(%rip)
|
||||
WORD $0x340000c5 // cbz w5, LBB0_14 $24(%rip)
|
||||
WORD $0x5ac000a5 // rbit w5, w5
|
||||
WORD $0x5ac010a5 // clz w5, w5
|
||||
WORD $0xb100057f // cmn x11, #1
|
||||
WORD $0x54000f81 // b.ne LBB0_56 $496(%rip)
|
||||
WORD $0x8b0501eb // add x11, x15, x5
|
||||
LBB0_14:
|
||||
WORD $0x340000c4 // cbz w4, LBB0_17 $24(%rip)
|
||||
WORD $0x5ac00084 // rbit w4, w4
|
||||
WORD $0x5ac01084 // clz w4, w4
|
||||
WORD $0xb100059f // cmn x12, #1
|
||||
WORD $0x54000f21 // b.ne LBB0_57 $484(%rip)
|
||||
WORD $0x8b0401ec // add x12, x15, x4
|
||||
LBB0_17:
|
||||
WORD $0x340000c3 // cbz w3, LBB0_20 $24(%rip)
|
||||
WORD $0x5ac00063 // rbit w3, w3
|
||||
WORD $0x5ac01063 // clz w3, w3
|
||||
WORD $0xb100055f // cmn x10, #1
|
||||
WORD $0x54000ec1 // b.ne LBB0_58 $472(%rip)
|
||||
WORD $0x8b0301ea // add x10, x15, x3
|
||||
LBB0_20:
|
||||
WORD $0x7100405f // cmp w2, #16
|
||||
WORD $0x54000621 // b.ne LBB0_35 $196(%rip)
|
||||
WORD $0x910041ef // add x15, x15, #16
|
||||
WORD $0xd1004210 // sub x16, x16, #16
|
||||
WORD $0x8b1001c2 // add x2, x14, x16
|
||||
WORD $0xf1003c5f // cmp x2, #15
|
||||
WORD $0x54fff6e8 // b.hi LBB0_8 $-292(%rip)
|
||||
WORD $0x8b0f0110 // add x16, x8, x15
|
||||
WORD $0xeb0f01df // cmp x14, x15
|
||||
WORD $0x54000560 // b.eq LBB0_36 $172(%rip)
|
||||
LBB0_23:
|
||||
WORD $0x8b02020e // add x14, x16, x2
|
||||
WORD $0xaa3003ef // mvn x15, x16
|
||||
WORD $0x8b090011 // add x17, x0, x9
|
||||
WORD $0x8b1101ef // add x15, x15, x17
|
||||
WORD $0x8b0d01ed // add x13, x15, x13
|
||||
WORD $0xcb08020f // sub x15, x16, x8
|
||||
WORD $0xaa1003f1 // mov x17, x16
|
||||
WORD $0x14000009 // b LBB0_26 $36(%rip)
|
||||
LBB0_24:
|
||||
WORD $0xb100059f // cmn x12, #1
|
||||
WORD $0xaa0f03ec // mov x12, x15
|
||||
WORD $0x54000661 // b.ne LBB0_46 $204(%rip)
|
||||
LBB0_25:
|
||||
WORD $0xd10005ad // sub x13, x13, #1
|
||||
WORD $0x910005ef // add x15, x15, #1
|
||||
WORD $0xaa1103f0 // mov x16, x17
|
||||
WORD $0xd1000442 // sub x2, x2, #1
|
||||
WORD $0xb4000882 // cbz x2, LBB0_53 $272(%rip)
|
||||
LBB0_26:
|
||||
WORD $0x38401623 // ldrb w3, [x17], #1
|
||||
WORD $0x5100c064 // sub w4, w3, #48
|
||||
WORD $0x7100289f // cmp w4, #10
|
||||
WORD $0x54ffff03 // b.lo LBB0_25 $-32(%rip)
|
||||
WORD $0x7100b47f // cmp w3, #45
|
||||
WORD $0x5400016d // b.le LBB0_32 $44(%rip)
|
||||
WORD $0x7101947f // cmp w3, #101
|
||||
WORD $0x54fffe20 // b.eq LBB0_24 $-60(%rip)
|
||||
WORD $0x7101147f // cmp w3, #69
|
||||
WORD $0x54fffde0 // b.eq LBB0_24 $-68(%rip)
|
||||
WORD $0x7100b87f // cmp w3, #46
|
||||
WORD $0x540001e1 // b.ne LBB0_36 $60(%rip)
|
||||
WORD $0xb100057f // cmn x11, #1
|
||||
WORD $0xaa0f03eb // mov x11, x15
|
||||
WORD $0x54fffda0 // b.eq LBB0_25 $-76(%rip)
|
||||
WORD $0x1400001e // b LBB0_46 $120(%rip)
|
||||
LBB0_32:
|
||||
WORD $0x7100ac7f // cmp w3, #43
|
||||
WORD $0x54000060 // b.eq LBB0_34 $12(%rip)
|
||||
WORD $0x7100b47f // cmp w3, #45
|
||||
WORD $0x540000e1 // b.ne LBB0_36 $28(%rip)
|
||||
LBB0_34:
|
||||
WORD $0xb100055f // cmn x10, #1
|
||||
WORD $0xaa0f03ea // mov x10, x15
|
||||
WORD $0x54fffca0 // b.eq LBB0_25 $-108(%rip)
|
||||
WORD $0x14000016 // b LBB0_46 $88(%rip)
|
||||
LBB0_35:
|
||||
WORD $0x8b22410d // add x13, x8, w2, uxtw
|
||||
WORD $0x8b0f01b0 // add x16, x13, x15
|
||||
LBB0_36:
|
||||
WORD $0x9280000d // mov x13, #-1
|
||||
WORD $0xb40003eb // cbz x11, LBB0_51 $124(%rip)
|
||||
LBB0_37:
|
||||
WORD $0xb40003ca // cbz x10, LBB0_51 $120(%rip)
|
||||
WORD $0xb40003ac // cbz x12, LBB0_51 $116(%rip)
|
||||
WORD $0xcb08020d // sub x13, x16, x8
|
||||
WORD $0xd10005ae // sub x14, x13, #1
|
||||
WORD $0xeb0e017f // cmp x11, x14
|
||||
WORD $0x54000160 // b.eq LBB0_45 $44(%rip)
|
||||
WORD $0xeb0e015f // cmp x10, x14
|
||||
WORD $0x54000120 // b.eq LBB0_45 $36(%rip)
|
||||
WORD $0xeb0e019f // cmp x12, x14
|
||||
WORD $0x540000e0 // b.eq LBB0_45 $28(%rip)
|
||||
WORD $0xf100054e // subs x14, x10, #1
|
||||
WORD $0x540001cb // b.lt LBB0_48 $56(%rip)
|
||||
WORD $0xeb0e019f // cmp x12, x14
|
||||
WORD $0x54000180 // b.eq LBB0_48 $48(%rip)
|
||||
WORD $0xaa2a03ed // mvn x13, x10
|
||||
WORD $0x1400000f // b LBB0_51 $60(%rip)
|
||||
LBB0_45:
|
||||
WORD $0xcb0d03ed // neg x13, x13
|
||||
LBB0_46:
|
||||
WORD $0xb7f801ad // tbnz x13, #63, LBB0_51 $52(%rip)
|
||||
LBB0_47:
|
||||
WORD $0x8b0d0108 // add x8, x8, x13
|
||||
WORD $0xcb090108 // sub x8, x8, x9
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_48:
|
||||
WORD $0xaa0c016a // orr x10, x11, x12
|
||||
WORD $0xb7f8022a // tbnz x10, #63, LBB0_54 $68(%rip)
|
||||
WORD $0xeb0c017f // cmp x11, x12
|
||||
WORD $0x540001eb // b.lt LBB0_54 $60(%rip)
|
||||
WORD $0xaa2b03ed // mvn x13, x11
|
||||
LBB0_51:
|
||||
WORD $0xaa2d03ea // mvn x10, x13
|
||||
WORD $0x8b0a0108 // add x8, x8, x10
|
||||
LBB0_52:
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0xcb090108 // sub x8, x8, x9
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_53:
|
||||
WORD $0xaa0e03f0 // mov x16, x14
|
||||
WORD $0x9280000d // mov x13, #-1
|
||||
WORD $0xb5fffaeb // cbnz x11, LBB0_37 $-164(%rip)
|
||||
WORD $0x17fffff4 // b LBB0_51 $-48(%rip)
|
||||
LBB0_54:
|
||||
WORD $0xd37ffd4a // lsr x10, x10, #63
|
||||
WORD $0x5200014a // eor w10, w10, #0x1
|
||||
WORD $0xd100058e // sub x14, x12, #1
|
||||
WORD $0xeb0e017f // cmp x11, x14
|
||||
WORD $0x1a9f17eb // cset w11, eq
|
||||
WORD $0x6a0b015f // tst w10, w11
|
||||
WORD $0xda8c01ad // csinv x13, x13, x12, eq
|
||||
WORD $0x17ffffdf // b LBB0_46 $-132(%rip)
|
||||
LBB0_55:
|
||||
WORD $0x5ac000ca // rbit w10, w6
|
||||
WORD $0x5ac0114a // clz w10, w10
|
||||
WORD $0xaa2f03eb // mvn x11, x15
|
||||
WORD $0xcb0a016d // sub x13, x11, x10
|
||||
WORD $0x17ffffda // b LBB0_46 $-152(%rip)
|
||||
LBB0_56:
|
||||
WORD $0xaa2f03ea // mvn x10, x15
|
||||
WORD $0xcb25414d // sub x13, x10, w5, uxtw
|
||||
WORD $0x17ffffd7 // b LBB0_46 $-164(%rip)
|
||||
LBB0_57:
|
||||
WORD $0xaa2f03ea // mvn x10, x15
|
||||
WORD $0xcb24414d // sub x13, x10, w4, uxtw
|
||||
WORD $0x17ffffd4 // b LBB0_46 $-176(%rip)
|
||||
LBB0_58:
|
||||
WORD $0xaa2f03ea // mvn x10, x15
|
||||
WORD $0xcb23414d // sub x13, x10, w3, uxtw
|
||||
WORD $0x17ffffd1 // b LBB0_46 $-188(%rip)
|
||||
LBB0_59:
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xcb090108 // sub x8, x8, x9
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_60:
|
||||
WORD $0x9280000b // mov x11, #-1
|
||||
WORD $0xaa0803f0 // mov x16, x8
|
||||
WORD $0xaa0e03e2 // mov x2, x14
|
||||
WORD $0x9280000c // mov x12, #-1
|
||||
WORD $0x9280000a // mov x10, #-1
|
||||
WORD $0x17ffff87 // b LBB0_23 $-484(%rip)
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__skip_number(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $112, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_skip_number:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD ·_subr__skip_number(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+16(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __skip_number_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__skip_number uintptr = __skip_number_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__skip_number = 48
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_number
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_number
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
// `unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
|
||||
return __skip_object(s, p, m, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
4028
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s
generated
vendored
Normal file
4028
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __skip_object_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__skip_object uintptr = __skip_object_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__skip_object = 240
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_object
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_object
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
// `unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
|
||||
return __skip_one(s, p, m, flags)
|
||||
}
|
||||
3778
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s
generated
vendored
Normal file
3778
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
29
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func skip_one_fast(s *string, p *int) (ret int) {
|
||||
return __skip_one_fast(s, p)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_one_fast(s *string, p *int) (ret int)
|
||||
1029
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s
generated
vendored
Normal file
1029
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __skip_one_fast_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__skip_one_fast uintptr = __skip_one_fast_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__skip_one_fast = 192
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_one_fast
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_one_fast
|
||||
)
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __skip_one_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__skip_one uintptr = __skip_one_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__skip_one = 192
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_one
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_one
|
||||
)
|
||||
29
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func u64toa(out *byte, val uint64) (ret int) {
|
||||
return __u64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __u64toa(out *byte, val uint64) (ret int)
|
||||
598
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.s
generated
vendored
Normal file
598
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,598 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__u64toa_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 3, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x147b20c5
|
||||
WORD $0x80003334
|
||||
// // .word 8389
|
||||
// .word 5243
|
||||
// .word 13108
|
||||
// .word 32768
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x08000080
|
||||
WORD $0x80002000
|
||||
// // .word 128
|
||||
// .word 2048
|
||||
// .word 8192
|
||||
// .word 32768
|
||||
|
||||
lCPI0_2:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_3:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_u64toa:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xd344fc28 // lsr x8, x1, #4
|
||||
WORD $0xf109c11f // cmp x8, #624
|
||||
WORD $0x540005e8 // b.hi LBB0_9 $188(%rip)
|
||||
WORD $0x53023c28 // ubfx w8, w1, #2, #14
|
||||
WORD $0x52828f69 // mov w9, #5243
|
||||
WORD $0x1b097d08 // mul w8, w8, w9
|
||||
WORD $0x53117d08 // lsr w8, w8, #17
|
||||
WORD $0xd37f7d09 // ubfiz x9, x8, #1, #32
|
||||
WORD $0x52800c8a // mov w10, #100
|
||||
WORD $0x1b0a8508 // msub w8, w8, w10, w1
|
||||
WORD $0x92403d08 // and x8, x8, #0xffff
|
||||
WORD $0xd37ff908 // lsl x8, x8, #1
|
||||
WORD $0x710fa03f // cmp w1, #1000
|
||||
WORD $0x540000e3 // b.lo LBB0_3 $28(%rip)
|
||||
Lloh0:
|
||||
WORD $0x10002aaa // adr x10, _Digits $1364(%rip)
|
||||
Lloh1:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3869694a // ldrb w10, [x10, x9]
|
||||
WORD $0x3900000a // strb w10, [x0]
|
||||
WORD $0x5280002a // mov w10, #1
|
||||
WORD $0x14000004 // b LBB0_5 $16(%rip)
|
||||
LBB0_3:
|
||||
WORD $0x7101903f // cmp w1, #100
|
||||
WORD $0x540002e3 // b.lo LBB0_8 $92(%rip)
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
LBB0_5:
|
||||
Lloh2:
|
||||
WORD $0x1000298b // adr x11, _Digits $1328(%rip)
|
||||
Lloh3:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b294169 // add x9, x11, w9, uxtw
|
||||
WORD $0x3940052b // ldrb w11, [x9, #1]
|
||||
WORD $0x11000549 // add w9, w10, #1
|
||||
WORD $0x382a480b // strb w11, [x0, w10, uxtw]
|
||||
LBB0_6:
|
||||
Lloh4:
|
||||
WORD $0x100028ca // adr x10, _Digits $1304(%rip)
|
||||
Lloh5:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3868694b // ldrb w11, [x10, x8]
|
||||
WORD $0x1100052a // add w10, w9, #1
|
||||
WORD $0x3829480b // strb w11, [x0, w9, uxtw]
|
||||
LBB0_7:
|
||||
Lloh6:
|
||||
WORD $0x10002829 // adr x9, _Digits $1284(%rip)
|
||||
Lloh7:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b282128 // add x8, x9, w8, uxth
|
||||
WORD $0x39400509 // ldrb w9, [x8, #1]
|
||||
WORD $0x11000548 // add w8, w10, #1
|
||||
WORD $0x382a4809 // strb w9, [x0, w10, uxtw]
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_8:
|
||||
WORD $0x52800009 // mov w9, #0
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
WORD $0x7100283f // cmp w1, #10
|
||||
WORD $0x54fffdc2 // b.hs LBB0_6 $-72(%rip)
|
||||
WORD $0x17fffff2 // b LBB0_7 $-56(%rip)
|
||||
LBB0_9:
|
||||
WORD $0x529c2008 // mov w8, #57600
|
||||
WORD $0x72a0bea8 // movk w8, #1525, lsl #16
|
||||
WORD $0xeb08003f // cmp x1, x8
|
||||
WORD $0x54000a02 // b.hs LBB0_18 $320(%rip)
|
||||
WORD $0x5282eb28 // mov w8, #5977
|
||||
WORD $0x72ba36e8 // movk w8, #53687, lsl #16
|
||||
WORD $0x92407c29 // and x9, x1, #0xffffffff
|
||||
WORD $0x9ba87d28 // umull x8, w9, w8
|
||||
WORD $0xd36dfd08 // lsr x8, x8, #45
|
||||
WORD $0x529bd06a // mov w10, #56963
|
||||
WORD $0x72a8636a // movk w10, #17179, lsl #16
|
||||
WORD $0x9baa7d29 // umull x9, w9, w10
|
||||
WORD $0xd371fd29 // lsr x9, x9, #49
|
||||
WORD $0x927f312a // and x10, x9, #0x3ffe
|
||||
WORD $0x53023d09 // ubfx w9, w8, #2, #14
|
||||
WORD $0x52828f6b // mov w11, #5243
|
||||
WORD $0x1b0b7d29 // mul w9, w9, w11
|
||||
WORD $0x53117d29 // lsr w9, w9, #17
|
||||
WORD $0x52800c8b // mov w11, #100
|
||||
WORD $0x1b0ba129 // msub w9, w9, w11, w8
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
WORD $0xd37ff929 // lsl x9, x9, #1
|
||||
WORD $0x5292d00b // mov w11, #38528
|
||||
WORD $0x72a0130b // movk w11, #152, lsl #16
|
||||
WORD $0x6b0b003f // cmp w1, w11
|
||||
WORD $0x540000e3 // b.lo LBB0_12 $28(%rip)
|
||||
Lloh8:
|
||||
WORD $0x1000230b // adr x11, _Digits $1120(%rip)
|
||||
Lloh9:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x386a696b // ldrb w11, [x11, x10]
|
||||
WORD $0x3900000b // strb w11, [x0]
|
||||
WORD $0x5280002c // mov w12, #1
|
||||
WORD $0x14000006 // b LBB0_14 $24(%rip)
|
||||
LBB0_12:
|
||||
WORD $0x5288480b // mov w11, #16960
|
||||
WORD $0x72a001eb // movk w11, #15, lsl #16
|
||||
WORD $0x6b0b003f // cmp w1, w11
|
||||
WORD $0x54000543 // b.lo LBB0_17 $168(%rip)
|
||||
WORD $0x5280000c // mov w12, #0
|
||||
LBB0_14:
|
||||
Lloh10:
|
||||
WORD $0x100021ab // adr x11, _Digits $1076(%rip)
|
||||
Lloh11:
|
||||
WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b2a416a // add x10, x11, w10, uxtw
|
||||
WORD $0x3940054a // ldrb w10, [x10, #1]
|
||||
WORD $0x1100058b // add w11, w12, #1
|
||||
WORD $0x382c480a // strb w10, [x0, w12, uxtw]
|
||||
LBB0_15:
|
||||
Lloh12:
|
||||
WORD $0x100020ea // adr x10, _Digits $1052(%rip)
|
||||
Lloh13:
|
||||
WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x3869694c // ldrb w12, [x10, x9]
|
||||
WORD $0x1100056a // add w10, w11, #1
|
||||
WORD $0x382b480c // strb w12, [x0, w11, uxtw]
|
||||
LBB0_16:
|
||||
WORD $0x5284e20b // mov w11, #10000
|
||||
WORD $0x1b0b8508 // msub w8, w8, w11, w1
|
||||
WORD $0x53023d0b // ubfx w11, w8, #2, #14
|
||||
WORD $0x52828f6c // mov w12, #5243
|
||||
WORD $0x1b0c7d6b // mul w11, w11, w12
|
||||
WORD $0x53117d6b // lsr w11, w11, #17
|
||||
WORD $0x52800c8c // mov w12, #100
|
||||
WORD $0x1b0ca168 // msub w8, w11, w12, w8
|
||||
WORD $0x92403d08 // and x8, x8, #0xffff
|
||||
WORD $0xd37ff908 // lsl x8, x8, #1
|
||||
Lloh14:
|
||||
WORD $0x10001f0c // adr x12, _Digits $992(%rip)
|
||||
Lloh15:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x8b292189 // add x9, x12, w9, uxth
|
||||
WORD $0x39400529 // ldrb w9, [x9, #1]
|
||||
WORD $0x8b2a400d // add x13, x0, w10, uxtw
|
||||
WORD $0x390001a9 // strb w9, [x13]
|
||||
WORD $0x786b5989 // ldrh w9, [x12, w11, uxtw #1]
|
||||
WORD $0x780011a9 // sturh w9, [x13, #1]
|
||||
WORD $0x38686989 // ldrb w9, [x12, x8]
|
||||
WORD $0x39000da9 // strb w9, [x13, #3]
|
||||
WORD $0x927f3908 // and x8, x8, #0xfffe
|
||||
WORD $0x8b080188 // add x8, x12, x8
|
||||
WORD $0x39400509 // ldrb w9, [x8, #1]
|
||||
WORD $0x11001548 // add w8, w10, #5
|
||||
WORD $0x390011a9 // strb w9, [x13, #4]
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_17:
|
||||
WORD $0x5280000b // mov w11, #0
|
||||
WORD $0x5280000a // mov w10, #0
|
||||
WORD $0x53057c2c // lsr w12, w1, #5
|
||||
WORD $0x7130d59f // cmp w12, #3125
|
||||
WORD $0x54fffb42 // b.hs LBB0_15 $-152(%rip)
|
||||
WORD $0x17ffffde // b LBB0_16 $-136(%rip)
|
||||
LBB0_18:
|
||||
WORD $0xd2adf82a // mov x10, #1874919424
|
||||
WORD $0xf2d0de4a // movk x10, #34546, lsl #32
|
||||
WORD $0xf2e0046a // movk x10, #35, lsl #48
|
||||
WORD $0xeb0a003f // cmp x1, x10
|
||||
WORD $0x54000bc2 // b.hs LBB0_20 $376(%rip)
|
||||
WORD $0xd299dfa9 // mov x9, #52989
|
||||
WORD $0xf2b08c29 // movk x9, #33889, lsl #16
|
||||
WORD $0xf2cee229 // movk x9, #30481, lsl #32
|
||||
WORD $0xf2f57989 // movk x9, #43980, lsl #48
|
||||
WORD $0x9bc97c29 // umulh x9, x1, x9
|
||||
WORD $0xd35afd29 // lsr x9, x9, #26
|
||||
WORD $0x1b088528 // msub w8, w9, w8, w1
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d21 // mov.s v1[0], w9
|
||||
WORD $0x0ea12822 // xtn.2s v2, v1
|
||||
WORD $0x5282eb29 // mov w9, #5977
|
||||
WORD $0x72ba36e9 // movk w9, #53687, lsl #16
|
||||
WORD $0x0e040d23 // dup.2s v3, w9
|
||||
WORD $0x2ea3c042 // umull.2d v2, v2, v3
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12844 // xtn.2s v4, v2
|
||||
WORD $0x5284e209 // mov w9, #10000
|
||||
WORD $0x0e040d25 // dup.2s v5, w9
|
||||
WORD $0x2ea5c084 // umull.2d v4, v4, v5
|
||||
WORD $0x6ea48421 // sub.4s v1, v1, v4
|
||||
WORD $0x4e413841 // zip1.8h v1, v2, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh16:
|
||||
WORD $0x10ffe9c9 // adr x9, lCPI0_0 $-712(%rip)
|
||||
Lloh17:
|
||||
WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e62c024 // umull.4s v4, v1, v2
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e62c021 // umull.4s v1, v1, v2
|
||||
WORD $0x4e415881 // uzp2.8h v1, v4, v1
|
||||
Lloh18:
|
||||
WORD $0x10ffe949 // adr x9, lCPI0_1 $-728(%rip)
|
||||
Lloh19:
|
||||
WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e64c026 // umull.4s v6, v1, v4
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e64c021 // umull.4s v1, v1, v4
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x4e041d00 // mov.s v0[0], w8
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea3c0e3 // umull.2d v3, v7, v3
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x0ea12867 // xtn.2s v7, v3
|
||||
WORD $0x2ea5c0e5 // umull.2d v5, v7, v5
|
||||
WORD $0x6ea58400 // sub.4s v0, v0, v5
|
||||
WORD $0x4e403860 // zip1.8h v0, v3, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e62c003 // umull.4s v3, v0, v2
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e62c000 // umull.4s v0, v0, v2
|
||||
WORD $0x4e405860 // uzp2.8h v0, v3, v0
|
||||
WORD $0x2e64c002 // umull.4s v2, v0, v4
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e64c000 // umull.4s v0, v0, v4
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x4e209821 // cmeq.16b v1, v1, #0
|
||||
Lloh20:
|
||||
WORD $0x10ffe4e8 // adr x8, lCPI0_2 $-868(%rip)
|
||||
Lloh21:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
Lloh22:
|
||||
WORD $0x10ffe508 // adr x8, lCPI0_3 $-864(%rip)
|
||||
Lloh23:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e020021 // tbl.16b v1, { v1 }, v2
|
||||
WORD $0x4e71b821 // addv.8h h1, v1
|
||||
WORD $0x1e260028 // fmov w8, s1
|
||||
WORD $0x2a2803e8 // mvn w8, w8
|
||||
WORD $0x32114108 // orr w8, w8, #0xffff8000
|
||||
WORD $0x5ac00108 // rbit w8, w8
|
||||
WORD $0x5ac01108 // clz w8, w8
|
||||
Lloh24:
|
||||
WORD $0x100017e9 // adr x9, _VecShiftShuffles $764(%rip)
|
||||
Lloh25:
|
||||
WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip)
|
||||
WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4]
|
||||
WORD $0x4f04e5e2 // movi.16b v2, #143
|
||||
WORD $0x4e221c21 // and.16b v1, v1, v2
|
||||
WORD $0x4e010000 // tbl.16b v0, { v0 }, v1
|
||||
WORD $0x3d800000 // str q0, [x0]
|
||||
WORD $0x52800209 // mov w9, #16
|
||||
WORD $0x4b080128 // sub w8, w9, w8
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_20:
|
||||
WORD $0xd28f0ae9 // mov x9, #30807
|
||||
WORD $0xf2b62269 // movk x9, #45331, lsl #16
|
||||
WORD $0xf2cca5e9 // movk x9, #25903, lsl #32
|
||||
WORD $0xf2e734a9 // movk x9, #14757, lsl #48
|
||||
WORD $0x9bc97c29 // umulh x9, x1, x9
|
||||
WORD $0xd373fd2b // lsr x11, x9, #51
|
||||
WORD $0x7100257f // cmp w11, #9
|
||||
WORD $0x540000a8 // b.hi LBB0_22 $20(%rip)
|
||||
WORD $0x1100c169 // add w9, w11, #48
|
||||
WORD $0x39000009 // strb w9, [x0]
|
||||
WORD $0x52800029 // mov w9, #1
|
||||
WORD $0x14000028 // b LBB0_27 $160(%rip)
|
||||
LBB0_22:
|
||||
WORD $0x71018d7f // cmp w11, #99
|
||||
WORD $0x540000e8 // b.hi LBB0_24 $28(%rip)
|
||||
Lloh26:
|
||||
WORD $0x10000de9 // adr x9, _Digits $444(%rip)
|
||||
Lloh27:
|
||||
WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1]
|
||||
WORD $0x79000009 // strh w9, [x0]
|
||||
WORD $0x52800049 // mov w9, #2
|
||||
WORD $0x14000020 // b LBB0_27 $128(%rip)
|
||||
LBB0_24:
|
||||
WORD $0x5280a3e9 // mov w9, #1311
|
||||
WORD $0x1b097d69 // mul w9, w11, w9
|
||||
WORD $0x53117d29 // lsr w9, w9, #17
|
||||
WORD $0x710f9d7f // cmp w11, #999
|
||||
WORD $0x54000188 // b.hi LBB0_26 $48(%rip)
|
||||
WORD $0x1100c12c // add w12, w9, #48
|
||||
WORD $0x3900000c // strb w12, [x0]
|
||||
WORD $0x52800c8c // mov w12, #100
|
||||
WORD $0x1b0cad29 // msub w9, w9, w12, w11
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
Lloh28:
|
||||
WORD $0x10000bec // adr x12, _Digits $380(%rip)
|
||||
Lloh29:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x78697989 // ldrh w9, [x12, x9, lsl #1]
|
||||
WORD $0x78001009 // sturh w9, [x0, #1]
|
||||
WORD $0x52800069 // mov w9, #3
|
||||
WORD $0x14000010 // b LBB0_27 $64(%rip)
|
||||
LBB0_26:
|
||||
Lloh30:
|
||||
WORD $0x10000b2c // adr x12, _Digits $356(%rip)
|
||||
Lloh31:
|
||||
WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip)
|
||||
WORD $0x7869598d // ldrh w13, [x12, w9, uxtw #1]
|
||||
WORD $0x7900000d // strh w13, [x0]
|
||||
WORD $0x52800c8d // mov w13, #100
|
||||
WORD $0x1b0dad29 // msub w9, w9, w13, w11
|
||||
WORD $0x92403d29 // and x9, x9, #0xffff
|
||||
WORD $0xd37ff929 // lsl x9, x9, #1
|
||||
WORD $0x3869698d // ldrb w13, [x12, x9]
|
||||
WORD $0x3900080d // strb w13, [x0, #2]
|
||||
WORD $0x927f3929 // and x9, x9, #0xfffe
|
||||
WORD $0x8b090189 // add x9, x12, x9
|
||||
WORD $0x39400529 // ldrb w9, [x9, #1]
|
||||
WORD $0x39000c09 // strb w9, [x0, #3]
|
||||
WORD $0x52800089 // mov w9, #4
|
||||
LBB0_27:
|
||||
WORD $0x9b0a856a // msub x10, x11, x10, x1
|
||||
WORD $0xd299dfab // mov x11, #52989
|
||||
WORD $0xf2b08c2b // movk x11, #33889, lsl #16
|
||||
WORD $0xf2cee22b // movk x11, #30481, lsl #32
|
||||
WORD $0xf2f5798b // movk x11, #43980, lsl #48
|
||||
WORD $0x9bcb7d4b // umulh x11, x10, x11
|
||||
WORD $0xd35afd6b // lsr x11, x11, #26
|
||||
WORD $0x6f00e400 // movi.2d v0, #0000000000000000
|
||||
WORD $0x6f00e401 // movi.2d v1, #0000000000000000
|
||||
WORD $0x4e041d61 // mov.s v1[0], w11
|
||||
WORD $0x5282eb2c // mov w12, #5977
|
||||
WORD $0x72ba36ec // movk w12, #53687, lsl #16
|
||||
WORD $0x0e040d82 // dup.2s v2, w12
|
||||
WORD $0x0ea12823 // xtn.2s v3, v1
|
||||
WORD $0x2ea2c063 // umull.2d v3, v3, v2
|
||||
WORD $0x6f530463 // ushr.2d v3, v3, #45
|
||||
WORD $0x5284e20c // mov w12, #10000
|
||||
WORD $0x0e040d84 // dup.2s v4, w12
|
||||
WORD $0x0ea12865 // xtn.2s v5, v3
|
||||
WORD $0x2ea4c0a5 // umull.2d v5, v5, v4
|
||||
WORD $0x6ea58421 // sub.4s v1, v1, v5
|
||||
WORD $0x4e413861 // zip1.8h v1, v3, v1
|
||||
WORD $0x4f425421 // shl.2d v1, v1, #2
|
||||
WORD $0x4e413821 // zip1.8h v1, v1, v1
|
||||
WORD $0x4e813821 // zip1.4s v1, v1, v1
|
||||
Lloh32:
|
||||
WORD $0x10ffd7cc // adr x12, lCPI0_0 $-1288(%rip)
|
||||
Lloh33:
|
||||
WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e63c025 // umull.4s v5, v1, v3
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e63c021 // umull.4s v1, v1, v3
|
||||
WORD $0x4e4158a1 // uzp2.8h v1, v5, v1
|
||||
Lloh34:
|
||||
WORD $0x10ffd74c // adr x12, lCPI0_1 $-1304(%rip)
|
||||
Lloh35:
|
||||
WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x2e65c026 // umull.4s v6, v1, v5
|
||||
WORD $0x6e014021 // ext.16b v1, v1, v1, #8
|
||||
WORD $0x2e65c021 // umull.4s v1, v1, v5
|
||||
WORD $0x4e4158c1 // uzp2.8h v1, v6, v1
|
||||
WORD $0x4f008546 // movi.8h v6, #10
|
||||
WORD $0x4e669c27 // mul.8h v7, v1, v6
|
||||
WORD $0x4f5054e7 // shl.2d v7, v7, #16
|
||||
WORD $0x6e678421 // sub.8h v1, v1, v7
|
||||
WORD $0x1b08a968 // msub w8, w11, w8, w10
|
||||
WORD $0x4e041d00 // mov.s v0[0], w8
|
||||
WORD $0x0ea12807 // xtn.2s v7, v0
|
||||
WORD $0x2ea2c0e2 // umull.2d v2, v7, v2
|
||||
WORD $0x6f530442 // ushr.2d v2, v2, #45
|
||||
WORD $0x0ea12847 // xtn.2s v7, v2
|
||||
WORD $0x2ea4c0e4 // umull.2d v4, v7, v4
|
||||
WORD $0x6ea48400 // sub.4s v0, v0, v4
|
||||
WORD $0x4e403840 // zip1.8h v0, v2, v0
|
||||
WORD $0x4f425400 // shl.2d v0, v0, #2
|
||||
WORD $0x4e403800 // zip1.8h v0, v0, v0
|
||||
WORD $0x4e803800 // zip1.4s v0, v0, v0
|
||||
WORD $0x2e63c002 // umull.4s v2, v0, v3
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e63c000 // umull.4s v0, v0, v3
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x2e65c002 // umull.4s v2, v0, v5
|
||||
WORD $0x6e004000 // ext.16b v0, v0, v0, #8
|
||||
WORD $0x2e65c000 // umull.4s v0, v0, v5
|
||||
WORD $0x4e405840 // uzp2.8h v0, v2, v0
|
||||
WORD $0x4e669c02 // mul.8h v2, v0, v6
|
||||
WORD $0x4f505442 // shl.2d v2, v2, #16
|
||||
WORD $0x6e628400 // sub.8h v0, v0, v2
|
||||
WORD $0x2e212821 // sqxtun.8b v1, v1
|
||||
WORD $0x6e212801 // sqxtun2.16b v1, v0
|
||||
WORD $0x4f01e600 // movi.16b v0, #48
|
||||
WORD $0x4e208420 // add.16b v0, v1, v0
|
||||
WORD $0x3ca94800 // str q0, [x0, w9, uxtw]
|
||||
WORD $0x321c0128 // orr w8, w9, #0x10
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
_Digits:
|
||||
WORD $0x31303030 // .ascii 4, '0001020304050607'
|
||||
WORD $0x33303230 // .ascii 4, '0203040506070809'
|
||||
WORD $0x35303430 // .ascii 4, '0405060708091011'
|
||||
WORD $0x37303630 // .ascii 4, '0607080910111213'
|
||||
WORD $0x39303830 // .ascii 4, '0809101112131415'
|
||||
WORD $0x31313031 // .ascii 4, '1011121314151617'
|
||||
WORD $0x33313231 // .ascii 4, '1213141516171819'
|
||||
WORD $0x35313431 // .ascii 4, '1415161718192021'
|
||||
WORD $0x37313631 // .ascii 4, '1617181920212223'
|
||||
WORD $0x39313831 // .ascii 4, '1819202122232425'
|
||||
WORD $0x31323032 // .ascii 4, '2021222324252627'
|
||||
WORD $0x33323232 // .ascii 4, '2223242526272829'
|
||||
WORD $0x35323432 // .ascii 4, '2425262728293031'
|
||||
WORD $0x37323632 // .ascii 4, '2627282930313233'
|
||||
WORD $0x39323832 // .ascii 4, '2829303132333435'
|
||||
WORD $0x31333033 // .ascii 4, '3031323334353637'
|
||||
WORD $0x33333233 // .ascii 4, '3233343536373839'
|
||||
WORD $0x35333433 // .ascii 4, '3435363738394041'
|
||||
WORD $0x37333633 // .ascii 4, '3637383940414243'
|
||||
WORD $0x39333833 // .ascii 4, '3839404142434445'
|
||||
WORD $0x31343034 // .ascii 4, '4041424344454647'
|
||||
WORD $0x33343234 // .ascii 4, '4243444546474849'
|
||||
WORD $0x35343434 // .ascii 4, '4445464748495051'
|
||||
WORD $0x37343634 // .ascii 4, '4647484950515253'
|
||||
WORD $0x39343834 // .ascii 4, '4849505152535455'
|
||||
WORD $0x31353035 // .ascii 4, '5051525354555657'
|
||||
WORD $0x33353235 // .ascii 4, '5253545556575859'
|
||||
WORD $0x35353435 // .ascii 4, '5455565758596061'
|
||||
WORD $0x37353635 // .ascii 4, '5657585960616263'
|
||||
WORD $0x39353835 // .ascii 4, '5859606162636465'
|
||||
WORD $0x31363036 // .ascii 4, '6061626364656667'
|
||||
WORD $0x33363236 // .ascii 4, '6263646566676869'
|
||||
WORD $0x35363436 // .ascii 4, '6465666768697071'
|
||||
WORD $0x37363636 // .ascii 4, '6667686970717273'
|
||||
WORD $0x39363836 // .ascii 4, '6869707172737475'
|
||||
WORD $0x31373037 // .ascii 4, '7071727374757677'
|
||||
WORD $0x33373237 // .ascii 4, '7273747576777879'
|
||||
WORD $0x35373437 // .ascii 4, '7475767778798081'
|
||||
WORD $0x37373637 // .ascii 4, '7677787980818283'
|
||||
WORD $0x39373837 // .ascii 4, '7879808182838485'
|
||||
WORD $0x31383038 // .ascii 4, '8081828384858687'
|
||||
WORD $0x33383238 // .ascii 4, '8283848586878889'
|
||||
WORD $0x35383438 // .ascii 4, '8485868788899091'
|
||||
WORD $0x37383638 // .ascii 4, '8687888990919293'
|
||||
WORD $0x39383838 // .ascii 4, '8889909192939495'
|
||||
WORD $0x31393039 // .ascii 4, '9091929394959697'
|
||||
WORD $0x33393239 // .ascii 4, '9293949596979899'
|
||||
WORD $0x35393439 // .ascii 4, '949596979899'
|
||||
WORD $0x37393639 // .ascii 4, '96979899'
|
||||
WORD $0x39393839 // .ascii 4, '9899'
|
||||
WORD $0x00000000; WORD $0x00000000; WORD $0x00000000 // .p2align 4, 0x00
|
||||
_VecShiftShuffles:
|
||||
WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c'
|
||||
WORD $0x04030201 // .ascii 4, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
|
||||
WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05'
|
||||
WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t'
|
||||
WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r'
|
||||
WORD $0x05040302 // .ascii 4, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
|
||||
WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06'
|
||||
WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n'
|
||||
WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e'
|
||||
WORD $0x06050403 // .ascii 4, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
|
||||
WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07'
|
||||
WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b'
|
||||
WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
|
||||
WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff'
|
||||
WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t'
|
||||
WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
|
||||
WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n'
|
||||
WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
|
||||
WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b'
|
||||
WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
|
||||
WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\xff\xff\xff\xff'
|
||||
WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff'
|
||||
|
||||
TEXT ·__u64toa(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_u64toa:
|
||||
MOVD out+0(FP), R0
|
||||
MOVD val+8(FP), R1
|
||||
MOVD ·_subr__u64toa(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+16(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __u64toa_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__u64toa uintptr = __u64toa_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__u64toa = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__u64toa
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__u64toa
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
// `github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) {
|
||||
return __unquote(sp, nb, dp, ep, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int)
|
||||
602
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s
generated
vendored
Normal file
602
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,602 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__unquote_entry__(SB), NOSPLIT, $96
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 4, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_unquote:
|
||||
WORD $0xd101c3ff // sub sp, sp, #112
|
||||
WORD $0xa900effc // stp x28, x27, [sp, #8]
|
||||
WORD $0xa901e7fa // stp x26, x25, [sp, #24]
|
||||
WORD $0xa902dff8 // stp x24, x23, [sp, #40]
|
||||
WORD $0xa903d7f6 // stp x22, x21, [sp, #56]
|
||||
WORD $0xa904cff4 // stp x20, x19, [sp, #72]
|
||||
WORD $0xa905fbfd // stp fp, lr, [sp, #88]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xb4002101 // cbz x1, LBB0_59 $1056(%rip)
|
||||
WORD $0x3203cbe9 // mov w9, #-522133280
|
||||
WORD $0x5299fa0a // mov w10, #53200
|
||||
WORD $0x72b9f9ea // movk w10, #53199, lsl #16
|
||||
WORD $0x3202c7eb // mov w11, #-1061109568
|
||||
WORD $0x3201c3ec // mov w12, #-2139062144
|
||||
WORD $0x3200dbed // mov w13, #2139062143
|
||||
WORD $0x5288c8ce // mov w14, #17990
|
||||
WORD $0x72a8c8ce // movk w14, #17990, lsl #16
|
||||
WORD $0x5287272f // mov w15, #14649
|
||||
WORD $0x72a7272f // movk w15, #14649, lsl #16
|
||||
WORD $0x52832330 // mov w16, #6425
|
||||
WORD $0x72a32330 // movk w16, #6425, lsl #16
|
||||
WORD $0x3200cff1 // mov w17, #252645135
|
||||
WORD $0x3200c3e6 // mov w6, #16843009
|
||||
WORD $0x92400085 // and x5, x4, #0x1
|
||||
WORD $0x52848015 // mov w21, #9216
|
||||
WORD $0x72bf9415 // movk w21, #64672, lsl #16
|
||||
WORD $0x4f02e780 // movi.16b v0, #92
|
||||
Lloh0:
|
||||
WORD $0x10fffb88 // adr x8, lCPI0_0 $-144(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0xaa0003e8 // mov x8, x0
|
||||
WORD $0xaa0103f4 // mov x20, x1
|
||||
WORD $0xaa0203f6 // mov x22, x2
|
||||
Lloh4:
|
||||
WORD $0x10002db7 // adr x23, __UnquoteTab $1460(%rip)
|
||||
Lloh5:
|
||||
WORD $0x910002f7 // add x23, x23, __UnquoteTab@PAGEOFF $0(%rip)
|
||||
LBB0_2:
|
||||
WORD $0x39400118 // ldrb w24, [x8]
|
||||
WORD $0x7101731f // cmp w24, #92
|
||||
WORD $0x54000061 // b.ne LBB0_4 $12(%rip)
|
||||
WORD $0xd2800018 // mov x24, #0
|
||||
WORD $0x1400002b // b LBB0_15 $172(%rip)
|
||||
LBB0_4:
|
||||
WORD $0xaa1403f9 // mov x25, x20
|
||||
WORD $0xaa1603fb // mov x27, x22
|
||||
WORD $0xaa0803fa // mov x26, x8
|
||||
WORD $0xf100429f // cmp x20, #16
|
||||
WORD $0x540002cb // b.lt LBB0_9 $88(%rip)
|
||||
WORD $0xd2800018 // mov x24, #0
|
||||
WORD $0xaa1403fa // mov x26, x20
|
||||
LBB0_6:
|
||||
WORD $0x8b180119 // add x25, x8, x24
|
||||
WORD $0x8b1802db // add x27, x22, x24
|
||||
WORD $0xa9407b39 // ldp x25, lr, [x25]
|
||||
WORD $0x9e670323 // fmov d3, x25
|
||||
WORD $0x4e181fc3 // mov.d v3[1], lr
|
||||
WORD $0xa9007b79 // stp x25, lr, [x27]
|
||||
WORD $0x6e208c63 // cmeq.16b v3, v3, v0
|
||||
WORD $0x4e211c63 // and.16b v3, v3, v1
|
||||
WORD $0x4e020063 // tbl.16b v3, { v3 }, v2
|
||||
WORD $0x4e71b863 // addv.8h h3, v3
|
||||
WORD $0x1e260079 // fmov w25, s3
|
||||
WORD $0x35000279 // cbnz w25, LBB0_13 $76(%rip)
|
||||
WORD $0xd1004359 // sub x25, x26, #16
|
||||
WORD $0x91004318 // add x24, x24, #16
|
||||
WORD $0xf1007f5f // cmp x26, #31
|
||||
WORD $0xaa1903fa // mov x26, x25
|
||||
WORD $0x54fffe08 // b.hi LBB0_6 $-64(%rip)
|
||||
WORD $0x8b18011a // add x26, x8, x24
|
||||
WORD $0x8b1802db // add x27, x22, x24
|
||||
LBB0_9:
|
||||
WORD $0xb40019f9 // cbz x25, LBB0_60 $828(%rip)
|
||||
WORD $0xcb080358 // sub x24, x26, x8
|
||||
LBB0_11:
|
||||
WORD $0x3940035e // ldrb w30, [x26]
|
||||
WORD $0x710173df // cmp w30, #92
|
||||
WORD $0x54000140 // b.eq LBB0_14 $40(%rip)
|
||||
WORD $0x9100075a // add x26, x26, #1
|
||||
WORD $0x3800177e // strb w30, [x27], #1
|
||||
WORD $0x91000718 // add x24, x24, #1
|
||||
WORD $0xf1000739 // subs x25, x25, #1
|
||||
WORD $0x54ffff21 // b.ne LBB0_11 $-28(%rip)
|
||||
WORD $0x140000c5 // b LBB0_60 $788(%rip)
|
||||
LBB0_13:
|
||||
WORD $0x5ac00339 // rbit w25, w25
|
||||
WORD $0x5ac01339 // clz w25, w25
|
||||
WORD $0x8b180338 // add x24, x25, x24
|
||||
LBB0_14:
|
||||
WORD $0xb100071f // cmn x24, #1
|
||||
WORD $0x54001800 // b.eq LBB0_60 $768(%rip)
|
||||
LBB0_15:
|
||||
WORD $0x91000b19 // add x25, x24, #2
|
||||
WORD $0xeb190294 // subs x20, x20, x25
|
||||
WORD $0x540026e4 // b.mi LBB0_89 $1244(%rip)
|
||||
WORD $0x8b190108 // add x8, x8, x25
|
||||
WORD $0xb5001185 // cbnz x5, LBB0_48 $560(%rip)
|
||||
LBB0_17:
|
||||
WORD $0x8b1802da // add x26, x22, x24
|
||||
WORD $0x385ff119 // ldurb w25, [x8, #-1]
|
||||
WORD $0x38796af9 // ldrb w25, [x23, x25]
|
||||
WORD $0x7103ff3f // cmp w25, #255
|
||||
WORD $0x540000a0 // b.eq LBB0_20 $20(%rip)
|
||||
WORD $0x34001d39 // cbz w25, LBB0_71 $932(%rip)
|
||||
WORD $0x38001759 // strb w25, [x26], #1
|
||||
WORD $0xaa1a03f6 // mov x22, x26
|
||||
WORD $0x1400007d // b LBB0_45 $500(%rip)
|
||||
LBB0_20:
|
||||
WORD $0xf1000e9f // cmp x20, #3
|
||||
WORD $0x54002549 // b.ls LBB0_89 $1192(%rip)
|
||||
WORD $0xb9400119 // ldr w25, [x8]
|
||||
WORD $0x0a39019b // bic w27, w12, w25
|
||||
WORD $0x0b0a033e // add w30, w25, w10
|
||||
WORD $0x0a1e037e // and w30, w27, w30
|
||||
WORD $0x710003df // cmp w30, #0
|
||||
WORD $0x0b10033e // add w30, w25, w16
|
||||
WORD $0x2a1903de // orr w30, w30, w25
|
||||
WORD $0x0a0c03de // and w30, w30, w12
|
||||
WORD $0x7a400bc0 // ccmp w30, #0, #0, eq
|
||||
WORD $0x54001601 // b.ne LBB0_62 $704(%rip)
|
||||
WORD $0x0a0d033e // and w30, w25, w13
|
||||
WORD $0x4b1e0167 // sub w7, w11, w30
|
||||
WORD $0x0b0e03d3 // add w19, w30, w14
|
||||
WORD $0x0a070267 // and w7, w19, w7
|
||||
WORD $0x6a1b00ff // tst w7, w27
|
||||
WORD $0x54001541 // b.ne LBB0_62 $680(%rip)
|
||||
WORD $0x4b1e0127 // sub w7, w9, w30
|
||||
WORD $0x0b0f03d3 // add w19, w30, w15
|
||||
WORD $0x0a070267 // and w7, w19, w7
|
||||
WORD $0x6a1b00ff // tst w7, w27
|
||||
WORD $0x540014a1 // b.ne LBB0_62 $660(%rip)
|
||||
WORD $0x5ac00b27 // rev w7, w25
|
||||
WORD $0x0a6710d3 // bic w19, w6, w7, lsr #4
|
||||
WORD $0x0b130e73 // add w19, w19, w19, lsl #3
|
||||
WORD $0x0a1100e7 // and w7, w7, w17
|
||||
WORD $0x0b070267 // add w7, w19, w7
|
||||
WORD $0x2a4710e7 // orr w7, w7, w7, lsr #4
|
||||
WORD $0x53105cf3 // ubfx w19, w7, #16, #8
|
||||
WORD $0x12001ce7 // and w7, w7, #0xff
|
||||
WORD $0x2a1320f9 // orr w25, w7, w19, lsl #8
|
||||
WORD $0x91001108 // add x8, x8, #4
|
||||
WORD $0xd1001294 // sub x20, x20, #4
|
||||
WORD $0x7102033f // cmp w25, #128
|
||||
WORD $0x54000b63 // b.lo LBB0_46 $364(%rip)
|
||||
WORD $0x8b1802c7 // add x7, x22, x24
|
||||
WORD $0x910008f6 // add x22, x7, #2
|
||||
LBB0_26:
|
||||
WORD $0x711fff3f // cmp w25, #2047
|
||||
WORD $0x54000de9 // b.ls LBB0_56 $444(%rip)
|
||||
WORD $0x51403b27 // sub w7, w25, #14, lsl #12
|
||||
WORD $0x312004ff // cmn w7, #2049
|
||||
WORD $0x54000929 // b.ls LBB0_44 $292(%rip)
|
||||
WORD $0xb50006e5 // cbnz x5, LBB0_40 $220(%rip)
|
||||
WORD $0xaa1403f8 // mov x24, x20
|
||||
WORD $0x530a7f27 // lsr w7, w25, #10
|
||||
WORD $0x7100d8ff // cmp w7, #54
|
||||
WORD $0x540007a8 // b.hi LBB0_42 $244(%rip)
|
||||
LBB0_30:
|
||||
WORD $0xf1001b14 // subs x20, x24, #6
|
||||
WORD $0x5400076b // b.lt LBB0_42 $236(%rip)
|
||||
WORD $0x39400107 // ldrb w7, [x8]
|
||||
WORD $0x710170ff // cmp w7, #92
|
||||
WORD $0x54000701 // b.ne LBB0_42 $224(%rip)
|
||||
WORD $0x39400507 // ldrb w7, [x8, #1]
|
||||
WORD $0x7101d4ff // cmp w7, #117
|
||||
WORD $0x540006a1 // b.ne LBB0_42 $212(%rip)
|
||||
WORD $0xb8402118 // ldur w24, [x8, #2]
|
||||
WORD $0x0b0a0307 // add w7, w24, w10
|
||||
WORD $0x0a38019a // bic w26, w12, w24
|
||||
WORD $0x6a07035f // tst w26, w7
|
||||
WORD $0x54001641 // b.ne LBB0_74 $712(%rip)
|
||||
WORD $0x0b100307 // add w7, w24, w16
|
||||
WORD $0x2a1800e7 // orr w7, w7, w24
|
||||
WORD $0x6a0c00ff // tst w7, w12
|
||||
WORD $0x540015c1 // b.ne LBB0_74 $696(%rip)
|
||||
WORD $0x0a0d031b // and w27, w24, w13
|
||||
WORD $0x4b1b0167 // sub w7, w11, w27
|
||||
WORD $0x0b0e0373 // add w19, w27, w14
|
||||
WORD $0x0a070267 // and w7, w19, w7
|
||||
WORD $0x6a1a00ff // tst w7, w26
|
||||
WORD $0x54001501 // b.ne LBB0_74 $672(%rip)
|
||||
WORD $0x4b1b0127 // sub w7, w9, w27
|
||||
WORD $0x0b0f0373 // add w19, w27, w15
|
||||
WORD $0x0a070267 // and w7, w19, w7
|
||||
WORD $0x6a1a00ff // tst w7, w26
|
||||
WORD $0x54001461 // b.ne LBB0_74 $652(%rip)
|
||||
WORD $0x5ac00b07 // rev w7, w24
|
||||
WORD $0x0a6710d3 // bic w19, w6, w7, lsr #4
|
||||
WORD $0x0b130e73 // add w19, w19, w19, lsl #3
|
||||
WORD $0x0a1100e7 // and w7, w7, w17
|
||||
WORD $0x0b070267 // add w7, w19, w7
|
||||
WORD $0x2a4710fa // orr w26, w7, w7, lsr #4
|
||||
WORD $0x53087f47 // lsr w7, w26, #8
|
||||
WORD $0x12181cf8 // and w24, w7, #0xff00
|
||||
WORD $0x91001908 // add x8, x8, #6
|
||||
WORD $0x51403b07 // sub w7, w24, #14, lsl #12
|
||||
WORD $0x33001f58 // bfxil w24, w26, #0, #8
|
||||
WORD $0x311004ff // cmn w7, #1025
|
||||
WORD $0x540008a8 // b.hi LBB0_57 $276(%rip)
|
||||
WORD $0x36081864 // tbz w4, #1, LBB0_84 $780(%rip)
|
||||
WORD $0x5297fde7 // mov w7, #49135
|
||||
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
|
||||
WORD $0x528017a7 // mov w7, #189
|
||||
WORD $0x380036c7 // strb w7, [x22], #3
|
||||
WORD $0xaa1803f9 // mov x25, x24
|
||||
WORD $0x7102031f // cmp w24, #128
|
||||
WORD $0x54fff8c2 // b.hs LBB0_26 $-232(%rip)
|
||||
WORD $0x1400004c // b LBB0_58 $304(%rip)
|
||||
LBB0_40:
|
||||
WORD $0xf100029f // cmp x20, #0
|
||||
WORD $0x5400182d // b.le LBB0_87 $772(%rip)
|
||||
WORD $0x39400107 // ldrb w7, [x8]
|
||||
WORD $0xd1000693 // sub x19, x20, #1
|
||||
WORD $0x710170ff // cmp w7, #92
|
||||
WORD $0x9a931298 // csel x24, x20, x19, ne
|
||||
WORD $0x9a881508 // cinc x8, x8, eq
|
||||
WORD $0x530a7f27 // lsr w7, w25, #10
|
||||
WORD $0x7100d8ff // cmp w7, #54
|
||||
WORD $0x54fff8a9 // b.ls LBB0_30 $-236(%rip)
|
||||
LBB0_42:
|
||||
WORD $0x360816a4 // tbz w4, #1, LBB0_86 $724(%rip)
|
||||
WORD $0x5297fde7 // mov w7, #49135
|
||||
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
|
||||
WORD $0x528017a7 // mov w7, #189
|
||||
WORD $0x380016c7 // strb w7, [x22], #1
|
||||
WORD $0xaa1803f4 // mov x20, x24
|
||||
WORD $0x1400000a // b LBB0_45 $40(%rip)
|
||||
LBB0_44:
|
||||
WORD $0x530c7f27 // lsr w7, w25, #12
|
||||
WORD $0x321b08e7 // orr w7, w7, #0xe0
|
||||
WORD $0x381fe2c7 // sturb w7, [x22, #-2]
|
||||
WORD $0x52801007 // mov w7, #128
|
||||
WORD $0x33062f27 // bfxil w7, w25, #6, #6
|
||||
WORD $0x381ff2c7 // sturb w7, [x22, #-1]
|
||||
WORD $0x52801007 // mov w7, #128
|
||||
WORD $0x33001727 // bfxil w7, w25, #0, #6
|
||||
WORD $0x380016c7 // strb w7, [x22], #1
|
||||
LBB0_45:
|
||||
WORD $0xb5ffe8f4 // cbnz x20, LBB0_2 $-740(%rip)
|
||||
WORD $0x14000034 // b LBB0_60 $208(%rip)
|
||||
LBB0_46:
|
||||
WORD $0xaa1903f8 // mov x24, x25
|
||||
LBB0_47:
|
||||
WORD $0x38001758 // strb w24, [x26], #1
|
||||
WORD $0xaa1a03f6 // mov x22, x26
|
||||
WORD $0x17fffffb // b LBB0_45 $-20(%rip)
|
||||
LBB0_48:
|
||||
WORD $0x34001534 // cbz w20, LBB0_89 $676(%rip)
|
||||
WORD $0x385ff119 // ldurb w25, [x8, #-1]
|
||||
WORD $0x7101733f // cmp w25, #92
|
||||
WORD $0x54ffee41 // b.ne LBB0_17 $-568(%rip)
|
||||
WORD $0x39400119 // ldrb w25, [x8]
|
||||
WORD $0x7101733f // cmp w25, #92
|
||||
WORD $0x54000161 // b.ne LBB0_55 $44(%rip)
|
||||
WORD $0x7100069f // cmp w20, #1
|
||||
WORD $0x5400142d // b.le LBB0_89 $644(%rip)
|
||||
WORD $0xaa0803f9 // mov x25, x8
|
||||
WORD $0x38401f3a // ldrb w26, [x25, #1]!
|
||||
WORD $0x71008b5f // cmp w26, #34
|
||||
WORD $0x54000060 // b.eq LBB0_54 $12(%rip)
|
||||
WORD $0x7101735f // cmp w26, #92
|
||||
WORD $0x54001121 // b.ne LBB0_83 $548(%rip)
|
||||
LBB0_54:
|
||||
WORD $0xd1000694 // sub x20, x20, #1
|
||||
WORD $0xaa1903e8 // mov x8, x25
|
||||
LBB0_55:
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xd1000694 // sub x20, x20, #1
|
||||
WORD $0x17ffff62 // b LBB0_17 $-632(%rip)
|
||||
LBB0_56:
|
||||
WORD $0x53067f27 // lsr w7, w25, #6
|
||||
WORD $0x321a04e7 // orr w7, w7, #0xc0
|
||||
WORD $0x381fe2c7 // sturb w7, [x22, #-2]
|
||||
WORD $0x52801007 // mov w7, #128
|
||||
WORD $0x33001727 // bfxil w7, w25, #0, #6
|
||||
WORD $0x381ff2c7 // sturb w7, [x22, #-1]
|
||||
WORD $0x17ffffe0 // b LBB0_45 $-128(%rip)
|
||||
LBB0_57:
|
||||
WORD $0x0b192b07 // add w7, w24, w25, lsl #10
|
||||
WORD $0x0b1500e7 // add w7, w7, w21
|
||||
WORD $0x53127cf3 // lsr w19, w7, #18
|
||||
WORD $0x321c0e73 // orr w19, w19, #0xf0
|
||||
WORD $0x381fe2d3 // sturb w19, [x22, #-2]
|
||||
WORD $0x52801013 // mov w19, #128
|
||||
WORD $0x330c44f3 // bfxil w19, w7, #12, #6
|
||||
WORD $0x381ff2d3 // sturb w19, [x22, #-1]
|
||||
WORD $0x52801013 // mov w19, #128
|
||||
WORD $0x33062cf3 // bfxil w19, w7, #6, #6
|
||||
WORD $0x390002d3 // strb w19, [x22]
|
||||
WORD $0x52801007 // mov w7, #128
|
||||
WORD $0x33001747 // bfxil w7, w26, #0, #6
|
||||
WORD $0x390006c7 // strb w7, [x22, #1]
|
||||
WORD $0x91000ad6 // add x22, x22, #2
|
||||
WORD $0x17ffffd0 // b LBB0_45 $-192(%rip)
|
||||
LBB0_58:
|
||||
WORD $0xd1000ada // sub x26, x22, #2
|
||||
WORD $0x17ffffd1 // b LBB0_47 $-188(%rip)
|
||||
LBB0_59:
|
||||
WORD $0xd2800014 // mov x20, #0
|
||||
WORD $0xaa0203f6 // mov x22, x2
|
||||
LBB0_60:
|
||||
WORD $0x8b1402c8 // add x8, x22, x20
|
||||
WORD $0xcb020100 // sub x0, x8, x2
|
||||
LBB0_61:
|
||||
WORD $0xa945fbfd // ldp fp, lr, [sp, #88]
|
||||
WORD $0xa944cff4 // ldp x20, x19, [sp, #72]
|
||||
WORD $0xa943d7f6 // ldp x22, x21, [sp, #56]
|
||||
WORD $0xa942dff8 // ldp x24, x23, [sp, #40]
|
||||
WORD $0xa941e7fa // ldp x26, x25, [sp, #24]
|
||||
WORD $0xa940effc // ldp x28, x27, [sp, #8]
|
||||
WORD $0x9101c3ff // add sp, sp, #112
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_62:
|
||||
WORD $0xcb000109 // sub x9, x8, x0
|
||||
WORD $0xf9000069 // str x9, [x3]
|
||||
WORD $0x3940010a // ldrb w10, [x8]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_64 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x540003e3 // b.lo LBB0_70 $124(%rip)
|
||||
LBB0_64:
|
||||
WORD $0x9100052a // add x10, x9, #1
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x3940050a // ldrb w10, [x8, #1]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_66 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x540002a3 // b.lo LBB0_70 $84(%rip)
|
||||
LBB0_66:
|
||||
WORD $0x9100092a // add x10, x9, #2
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x3940090a // ldrb w10, [x8, #2]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_68 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54000163 // b.lo LBB0_70 $44(%rip)
|
||||
LBB0_68:
|
||||
WORD $0x91000d2a // add x10, x9, #3
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x39400d08 // ldrb w8, [x8, #3]
|
||||
WORD $0x5100e90a // sub w10, w8, #58
|
||||
WORD $0x31002d5f // cmn w10, #11
|
||||
WORD $0x54000188 // b.hi LBB0_72 $48(%rip)
|
||||
WORD $0x121a7908 // and w8, w8, #0xffffffdf
|
||||
WORD $0x51011d08 // sub w8, w8, #71
|
||||
WORD $0x3100191f // cmn w8, #6
|
||||
WORD $0x54000102 // b.hs LBB0_72 $32(%rip)
|
||||
LBB0_70:
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0x17ffffcf // b LBB0_61 $-196(%rip)
|
||||
LBB0_71:
|
||||
WORD $0xaa2003e9 // mvn x9, x0
|
||||
WORD $0x8b090108 // add x8, x8, x9
|
||||
WORD $0xf9000068 // str x8, [x3]
|
||||
WORD $0x92800040 // mov x0, #-3
|
||||
WORD $0x17ffffca // b LBB0_61 $-216(%rip)
|
||||
LBB0_72:
|
||||
WORD $0x91001128 // add x8, x9, #4
|
||||
LBB0_73:
|
||||
WORD $0xf9000068 // str x8, [x3]
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0x17ffffc6 // b LBB0_61 $-232(%rip)
|
||||
LBB0_74:
|
||||
WORD $0xcb000109 // sub x9, x8, x0
|
||||
WORD $0x9100092a // add x10, x9, #2
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x3940090a // ldrb w10, [x8, #2]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_76 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffd63 // b.lo LBB0_70 $-84(%rip)
|
||||
LBB0_76:
|
||||
WORD $0x91000d2a // add x10, x9, #3
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x39400d0a // ldrb w10, [x8, #3]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_78 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffc23 // b.lo LBB0_70 $-124(%rip)
|
||||
LBB0_78:
|
||||
WORD $0x9100112a // add x10, x9, #4
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x3940110a // ldrb w10, [x8, #4]
|
||||
WORD $0x5100e94b // sub w11, w10, #58
|
||||
WORD $0x31002d7f // cmn w11, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_80 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffae3 // b.lo LBB0_70 $-164(%rip)
|
||||
LBB0_80:
|
||||
WORD $0x9100152a // add x10, x9, #5
|
||||
WORD $0xf900006a // str x10, [x3]
|
||||
WORD $0x39401508 // ldrb w8, [x8, #5]
|
||||
WORD $0x5100e90a // sub w10, w8, #58
|
||||
WORD $0x31002d5f // cmn w10, #11
|
||||
WORD $0x540000a8 // b.hi LBB0_82 $20(%rip)
|
||||
WORD $0x121a7908 // and w8, w8, #0xffffffdf
|
||||
WORD $0x51011d08 // sub w8, w8, #71
|
||||
WORD $0x3100191f // cmn w8, #6
|
||||
WORD $0x54fff9a3 // b.lo LBB0_70 $-204(%rip)
|
||||
LBB0_82:
|
||||
WORD $0x91001928 // add x8, x9, #6
|
||||
WORD $0x17ffffd3 // b LBB0_73 $-180(%rip)
|
||||
LBB0_83:
|
||||
WORD $0xcb000108 // sub x8, x8, x0
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0x17ffffd0 // b LBB0_73 $-192(%rip)
|
||||
LBB0_84:
|
||||
WORD $0xcb000108 // sub x8, x8, x0
|
||||
LBB0_85:
|
||||
WORD $0xd1001108 // sub x8, x8, #4
|
||||
WORD $0xf9000068 // str x8, [x3]
|
||||
WORD $0x92800060 // mov x0, #-4
|
||||
WORD $0x17ffff93 // b LBB0_61 $-436(%rip)
|
||||
LBB0_86:
|
||||
WORD $0x8b0000a9 // add x9, x5, x0
|
||||
WORD $0xcb090108 // sub x8, x8, x9
|
||||
WORD $0x17fffffa // b LBB0_85 $-24(%rip)
|
||||
LBB0_87:
|
||||
WORD $0x360800e4 // tbz w4, #1, LBB0_89 $28(%rip)
|
||||
WORD $0xd2800014 // mov x20, #0
|
||||
WORD $0x5297fde8 // mov w8, #49135
|
||||
WORD $0x781fe2c8 // sturh w8, [x22, #-2]
|
||||
WORD $0x528017a8 // mov w8, #189
|
||||
WORD $0x380016c8 // strb w8, [x22], #1
|
||||
WORD $0x17ffff87 // b LBB0_60 $-484(%rip)
|
||||
LBB0_89:
|
||||
WORD $0xf9000061 // str x1, [x3]
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0x17ffff86 // b LBB0_61 $-488(%rip)
|
||||
__UnquoteTab:
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00220000 // .ascii 4, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x2f000000 // .ascii 4, '\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00'
|
||||
WORD $0x0000005c // .ascii 4, '\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00'
|
||||
WORD $0x00080000 // .ascii 4, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00'
|
||||
WORD $0x000c0000 // .ascii 4, '\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00'
|
||||
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00'
|
||||
WORD $0x000a0000 // .ascii 4, '\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00'
|
||||
WORD $0x000d0000 // .ascii 4, '\x00\x00\r\x00\t\xff\x00\x00'
|
||||
WORD $0x0000ff09 // .ascii 4, '\t\xff\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
WORD $0x00000000 // .space 4, '\x00\x00\x00\x00'
|
||||
|
||||
TEXT ·__unquote(SB), NOSPLIT, $0-48
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $176, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_unquote:
|
||||
MOVD sp+0(FP), R0
|
||||
MOVD nb+8(FP), R1
|
||||
MOVD dp+16(FP), R2
|
||||
MOVD ep+24(FP), R3
|
||||
MOVD flags+32(FP), R4
|
||||
MOVD ·_subr__unquote(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+40(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __unquote_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__unquote uintptr = __unquote_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__unquote = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__unquote
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__unquote
|
||||
)
|
||||
35
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
// `unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func validate_one(s *string, p *int, m *types.StateMachine) (ret int) {
|
||||
return __validate_one(s, p, m)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_one(s *string, p *int, m *types.StateMachine) (ret int)
|
||||
4027
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s
generated
vendored
Normal file
4027
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __validate_one_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__validate_one uintptr = __validate_one_entry__() + 48
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__validate_one = 240
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__validate_one
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__validate_one
|
||||
)
|
||||
36
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go
generated
vendored
Normal file
36
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
// `unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) {
|
||||
return __validate_utf8(s, p, m)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int)
|
||||
|
||||
222
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.s
generated
vendored
Normal file
222
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__validate_utf8_entry__(SB), NOSPLIT, $48
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 2, 0x00
|
||||
_validate_utf8:
|
||||
WORD $0xd10103ff // sub sp, sp, #64
|
||||
WORD $0xa901cff4 // stp x20, x19, [sp, #24]
|
||||
WORD $0xa902fbfd // stp fp, lr, [sp, #40]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xa9402408 // ldp x8, x9, [x0]
|
||||
WORD $0xf940002c // ldr x12, [x1]
|
||||
WORD $0x8b09010a // add x10, x8, x9
|
||||
WORD $0xd1000d4b // sub x11, x10, #3
|
||||
WORD $0x8b0c0109 // add x9, x8, x12
|
||||
WORD $0xeb0b013f // cmp x9, x11
|
||||
WORD $0x54000722 // b.hs LBB0_15 $228(%rip)
|
||||
WORD $0x52981e0c // mov w12, #49392
|
||||
WORD $0x72a0180c // movk w12, #192, lsl #16
|
||||
WORD $0x52901c0d // mov w13, #32992
|
||||
WORD $0x72a0100d // movk w13, #128, lsl #16
|
||||
WORD $0x9100204e // add x14, x2, #8
|
||||
WORD $0x528401ef // mov w15, #8207
|
||||
WORD $0x528401b0 // mov w16, #8205
|
||||
WORD $0x52981c11 // mov w17, #49376
|
||||
WORD $0x52901800 // mov w0, #32960
|
||||
WORD $0x52981f03 // mov w3, #49400
|
||||
WORD $0x72b81803 // movk w3, #49344, lsl #16
|
||||
WORD $0x528600e4 // mov w4, #12295
|
||||
WORD $0x52901e05 // mov w5, #33008
|
||||
WORD $0x72b01005 // movk w5, #32896, lsl #16
|
||||
WORD $0x52860066 // mov w6, #12291
|
||||
WORD $0x14000005 // b LBB0_4 $20(%rip)
|
||||
LBB0_2:
|
||||
WORD $0x52800033 // mov w19, #1
|
||||
LBB0_3:
|
||||
WORD $0x8b130129 // add x9, x9, x19
|
||||
WORD $0xeb0b013f // cmp x9, x11
|
||||
WORD $0x540004a2 // b.hs LBB0_15 $148(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x39c00127 // ldrsb w7, [x9]
|
||||
WORD $0x36ffff67 // tbz w7, #31, LBB0_2 $-20(%rip)
|
||||
WORD $0xb9400127 // ldr w7, [x9]
|
||||
WORD $0x0a0c00f3 // and w19, w7, w12
|
||||
WORD $0x6b0d027f // cmp w19, w13
|
||||
WORD $0x0a0f00f3 // and w19, w7, w15
|
||||
WORD $0x7a500264 // ccmp w19, w16, #4, eq
|
||||
WORD $0x7a401a64 // ccmp w19, #0, #4, ne
|
||||
WORD $0x54000341 // b.ne LBB0_14 $104(%rip)
|
||||
WORD $0x0a1100f3 // and w19, w7, w17
|
||||
WORD $0x121f0cf4 // and w20, w7, #0x1e
|
||||
WORD $0x6b00027f // cmp w19, w0
|
||||
WORD $0x7a400a84 // ccmp w20, #0, #4, eq
|
||||
WORD $0x54000261 // b.ne LBB0_13 $76(%rip)
|
||||
WORD $0x0a0300f3 // and w19, w7, w3
|
||||
WORD $0x6b05027f // cmp w19, w5
|
||||
WORD $0x540000e1 // b.ne LBB0_11 $28(%rip)
|
||||
WORD $0x0a0400f3 // and w19, w7, w4
|
||||
WORD $0x340000b3 // cbz w19, LBB0_11 $20(%rip)
|
||||
WORD $0x52800093 // mov w19, #4
|
||||
WORD $0x3617fd27 // tbz w7, #2, LBB0_3 $-92(%rip)
|
||||
WORD $0x0a0600e7 // and w7, w7, w6
|
||||
WORD $0x34fffce7 // cbz w7, LBB0_3 $-100(%rip)
|
||||
LBB0_11:
|
||||
WORD $0xcb080127 // sub x7, x9, x8
|
||||
WORD $0xf9400053 // ldr x19, [x2]
|
||||
WORD $0xf140067f // cmp x19, #1, lsl #12
|
||||
WORD $0x54000c62 // b.hs LBB0_33 $396(%rip)
|
||||
WORD $0x93407ce7 // sxtw x7, w7
|
||||
WORD $0x91000674 // add x20, x19, #1
|
||||
WORD $0xf9000054 // str x20, [x2]
|
||||
WORD $0xf83379c7 // str x7, [x14, x19, lsl #3]
|
||||
WORD $0x17ffffdd // b LBB0_2 $-140(%rip)
|
||||
LBB0_13:
|
||||
WORD $0x52800053 // mov w19, #2
|
||||
WORD $0x17ffffdc // b LBB0_3 $-144(%rip)
|
||||
LBB0_14:
|
||||
WORD $0x52800073 // mov w19, #3
|
||||
WORD $0x17ffffda // b LBB0_3 $-152(%rip)
|
||||
LBB0_15:
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54000962 // b.hs LBB0_31 $300(%rip)
|
||||
WORD $0x52981e0b // mov w11, #49392
|
||||
WORD $0x72a0180b // movk w11, #192, lsl #16
|
||||
WORD $0x52901c0c // mov w12, #32992
|
||||
WORD $0x72a0100c // movk w12, #128, lsl #16
|
||||
WORD $0x9100204d // add x13, x2, #8
|
||||
WORD $0x528401ee // mov w14, #8207
|
||||
WORD $0x528401af // mov w15, #8205
|
||||
WORD $0x52981c10 // mov w16, #49376
|
||||
WORD $0x52901811 // mov w17, #32960
|
||||
WORD $0x14000004 // b LBB0_18 $16(%rip)
|
||||
LBB0_17:
|
||||
WORD $0x91000529 // add x9, x9, #1
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x540007c2 // b.hs LBB0_31 $248(%rip)
|
||||
LBB0_18:
|
||||
WORD $0x39c00120 // ldrsb w0, [x9]
|
||||
WORD $0x36ffff80 // tbz w0, #31, LBB0_17 $-16(%rip)
|
||||
WORD $0x390053ff // strb wzr, [sp, #20]
|
||||
WORD $0x39004bff // strb wzr, [sp, #18]
|
||||
WORD $0xcb090145 // sub x5, x10, x9
|
||||
WORD $0xf10008a7 // subs x7, x5, #2
|
||||
WORD $0x540001a3 // b.lo LBB0_22 $52(%rip)
|
||||
WORD $0x39400120 // ldrb w0, [x9]
|
||||
WORD $0x39400523 // ldrb w3, [x9, #1]
|
||||
WORD $0x390053e0 // strb w0, [sp, #20]
|
||||
WORD $0x91000926 // add x6, x9, #2
|
||||
WORD $0x91004be4 // add x4, sp, #18
|
||||
WORD $0xaa0703e5 // mov x5, x7
|
||||
WORD $0xb4000167 // cbz x7, LBB0_23 $44(%rip)
|
||||
LBB0_21:
|
||||
WORD $0x394000c0 // ldrb w0, [x6]
|
||||
WORD $0x39000080 // strb w0, [x4]
|
||||
WORD $0x394053e0 // ldrb w0, [sp, #20]
|
||||
WORD $0x39404be4 // ldrb w4, [sp, #18]
|
||||
WORD $0x14000007 // b LBB0_24 $28(%rip)
|
||||
LBB0_22:
|
||||
WORD $0x52800000 // mov w0, #0
|
||||
WORD $0x52800003 // mov w3, #0
|
||||
WORD $0x910053e4 // add x4, sp, #20
|
||||
WORD $0xaa0903e6 // mov x6, x9
|
||||
WORD $0xb5fffee5 // cbnz x5, LBB0_21 $-36(%rip)
|
||||
LBB0_23:
|
||||
WORD $0x52800004 // mov w4, #0
|
||||
LBB0_24:
|
||||
WORD $0x53185c63 // lsl w3, w3, #8
|
||||
WORD $0x2a044063 // orr w3, w3, w4, lsl #16
|
||||
WORD $0x2a000063 // orr w3, w3, w0
|
||||
WORD $0x0a0b0064 // and w4, w3, w11
|
||||
WORD $0x6b0c009f // cmp w4, w12
|
||||
WORD $0x0a0e0064 // and w4, w3, w14
|
||||
WORD $0x7a4f0084 // ccmp w4, w15, #4, eq
|
||||
WORD $0x7a401884 // ccmp w4, #0, #4, ne
|
||||
WORD $0x54000301 // b.ne LBB0_30 $96(%rip)
|
||||
WORD $0x721f0c1f // tst w0, #0x1e
|
||||
WORD $0x54000120 // b.eq LBB0_28 $36(%rip)
|
||||
WORD $0x0a100060 // and w0, w3, w16
|
||||
WORD $0x6b11001f // cmp w0, w17
|
||||
WORD $0x540000c1 // b.ne LBB0_28 $24(%rip)
|
||||
WORD $0x52800040 // mov w0, #2
|
||||
WORD $0x8b000129 // add x9, x9, x0
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54fffac3 // b.lo LBB0_18 $-168(%rip)
|
||||
WORD $0x14000012 // b LBB0_31 $72(%rip)
|
||||
LBB0_28:
|
||||
WORD $0xcb080120 // sub x0, x9, x8
|
||||
WORD $0xf9400043 // ldr x3, [x2]
|
||||
WORD $0xf140047f // cmp x3, #1, lsl #12
|
||||
WORD $0x540002a2 // b.hs LBB0_32 $84(%rip)
|
||||
WORD $0x93407c00 // sxtw x0, w0
|
||||
WORD $0x91000464 // add x4, x3, #1
|
||||
WORD $0xf9000044 // str x4, [x2]
|
||||
WORD $0xf82379a0 // str x0, [x13, x3, lsl #3]
|
||||
WORD $0x52800020 // mov w0, #1
|
||||
WORD $0x8b000129 // add x9, x9, x0
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54fff923 // b.lo LBB0_18 $-220(%rip)
|
||||
WORD $0x14000005 // b LBB0_31 $20(%rip)
|
||||
LBB0_30:
|
||||
WORD $0x52800060 // mov w0, #3
|
||||
WORD $0x8b000129 // add x9, x9, x0
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54fff883 // b.lo LBB0_18 $-240(%rip)
|
||||
LBB0_31:
|
||||
WORD $0xd2800000 // mov x0, #0
|
||||
WORD $0xcb080128 // sub x8, x9, x8
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa942fbfd // ldp fp, lr, [sp, #40]
|
||||
WORD $0xa941cff4 // ldp x20, x19, [sp, #24]
|
||||
WORD $0x910103ff // add sp, sp, #64
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_32:
|
||||
WORD $0xf9000020 // str x0, [x1]
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xa942fbfd // ldp fp, lr, [sp, #40]
|
||||
WORD $0xa941cff4 // ldp x20, x19, [sp, #24]
|
||||
WORD $0x910103ff // add sp, sp, #64
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_33:
|
||||
WORD $0xf9000027 // str x7, [x1]
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xa942fbfd // ldp fp, lr, [sp, #40]
|
||||
WORD $0xa941cff4 // ldp x20, x19, [sp, #24]
|
||||
WORD $0x910103ff // add sp, sp, #64
|
||||
WORD $0xd65f03c0 // ret
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__validate_utf8(SB), NOSPLIT, $0-32
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $128, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_validate_utf8:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD m+16(FP), R2
|
||||
MOVD ·_subr__validate_utf8(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+24(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
29
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go
generated
vendored
Normal file
29
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
func validate_utf8_fast(s *string) (ret int) {
|
||||
return __validate_utf8_fast(s)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_utf8_fast(s *string) (ret int)
|
||||
182
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.s
generated
vendored
Normal file
182
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,182 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__validate_utf8_fast_entry__(SB), NOSPLIT, $32
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 2, 0x00
|
||||
_validate_utf8_fast:
|
||||
WORD $0xd100c3ff // sub sp, sp, #48
|
||||
WORD $0xa901fbfd // stp fp, lr, [sp, #24]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xa9402408 // ldp x8, x9, [x0]
|
||||
WORD $0x8b090109 // add x9, x8, x9
|
||||
WORD $0xd1000d2b // sub x11, x9, #3
|
||||
WORD $0xeb0b011f // cmp x8, x11
|
||||
WORD $0x54000622 // b.hs LBB0_13 $196(%rip)
|
||||
WORD $0x52981e0c // mov w12, #49392
|
||||
WORD $0x72a0180c // movk w12, #192, lsl #16
|
||||
WORD $0x52901c0d // mov w13, #32992
|
||||
WORD $0x72a0100d // movk w13, #128, lsl #16
|
||||
WORD $0x528401ee // mov w14, #8207
|
||||
WORD $0x528401af // mov w15, #8205
|
||||
WORD $0x52981c10 // mov w16, #49376
|
||||
WORD $0x52901811 // mov w17, #32960
|
||||
WORD $0x52981f00 // mov w0, #49400
|
||||
WORD $0x72b81800 // movk w0, #49344, lsl #16
|
||||
WORD $0x528600e1 // mov w1, #12295
|
||||
WORD $0x52901e02 // mov w2, #33008
|
||||
WORD $0x72b01002 // movk w2, #32896, lsl #16
|
||||
WORD $0x52860063 // mov w3, #12291
|
||||
WORD $0xaa0803ea // mov x10, x8
|
||||
WORD $0x14000005 // b LBB0_4 $20(%rip)
|
||||
LBB0_2:
|
||||
WORD $0x52800025 // mov w5, #1
|
||||
LBB0_3:
|
||||
WORD $0x8b05014a // add x10, x10, x5
|
||||
WORD $0xeb0b015f // cmp x10, x11
|
||||
WORD $0x540003c2 // b.hs LBB0_14 $120(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x39c00144 // ldrsb w4, [x10]
|
||||
WORD $0x36ffff64 // tbz w4, #31, LBB0_2 $-20(%rip)
|
||||
WORD $0xb9400144 // ldr w4, [x10]
|
||||
WORD $0x0a0c0085 // and w5, w4, w12
|
||||
WORD $0x6b0d00bf // cmp w5, w13
|
||||
WORD $0x0a0e0085 // and w5, w4, w14
|
||||
WORD $0x7a4f00a4 // ccmp w5, w15, #4, eq
|
||||
WORD $0x7a4018a4 // ccmp w5, #0, #4, ne
|
||||
WORD $0x54000241 // b.ne LBB0_12 $72(%rip)
|
||||
WORD $0x0a100085 // and w5, w4, w16
|
||||
WORD $0x121f0c86 // and w6, w4, #0x1e
|
||||
WORD $0x6b1100bf // cmp w5, w17
|
||||
WORD $0x7a4008c4 // ccmp w6, #0, #4, eq
|
||||
WORD $0x54000161 // b.ne LBB0_11 $44(%rip)
|
||||
WORD $0x0a000085 // and w5, w4, w0
|
||||
WORD $0x6b0200bf // cmp w5, w2
|
||||
WORD $0x54000981 // b.ne LBB0_30 $304(%rip)
|
||||
WORD $0x0a010085 // and w5, w4, w1
|
||||
WORD $0x34000945 // cbz w5, LBB0_30 $296(%rip)
|
||||
WORD $0x52800085 // mov w5, #4
|
||||
WORD $0x3617fd24 // tbz w4, #2, LBB0_3 $-92(%rip)
|
||||
WORD $0x0a030084 // and w4, w4, w3
|
||||
WORD $0x34fffce4 // cbz w4, LBB0_3 $-100(%rip)
|
||||
WORD $0x14000045 // b LBB0_30 $276(%rip)
|
||||
LBB0_11:
|
||||
WORD $0x52800045 // mov w5, #2
|
||||
WORD $0x17ffffe4 // b LBB0_3 $-112(%rip)
|
||||
LBB0_12:
|
||||
WORD $0x52800065 // mov w5, #3
|
||||
WORD $0x17ffffe2 // b LBB0_3 $-120(%rip)
|
||||
LBB0_13:
|
||||
WORD $0xaa0803ea // mov x10, x8
|
||||
LBB0_14:
|
||||
WORD $0xeb09015f // cmp x10, x9
|
||||
WORD $0x54000742 // b.hs LBB0_29 $232(%rip)
|
||||
WORD $0x52981e0b // mov w11, #49392
|
||||
WORD $0x72a0180b // movk w11, #192, lsl #16
|
||||
WORD $0x52901c0c // mov w12, #32992
|
||||
WORD $0x72a0100c // movk w12, #128, lsl #16
|
||||
WORD $0x528401ed // mov w13, #8207
|
||||
WORD $0x528401ae // mov w14, #8205
|
||||
WORD $0x52981c0f // mov w15, #49376
|
||||
WORD $0x52901810 // mov w16, #32960
|
||||
WORD $0x14000004 // b LBB0_18 $16(%rip)
|
||||
LBB0_16:
|
||||
WORD $0x9100054a // add x10, x10, #1
|
||||
LBB0_17:
|
||||
WORD $0xeb09015f // cmp x10, x9
|
||||
WORD $0x540005c2 // b.hs LBB0_29 $184(%rip)
|
||||
LBB0_18:
|
||||
WORD $0x39c00151 // ldrsb w17, [x10]
|
||||
WORD $0x36ffff91 // tbz w17, #31, LBB0_16 $-16(%rip)
|
||||
WORD $0x390053ff // strb wzr, [sp, #20]
|
||||
WORD $0x39004bff // strb wzr, [sp, #18]
|
||||
WORD $0xcb0a0122 // sub x2, x9, x10
|
||||
WORD $0xf1000844 // subs x4, x2, #2
|
||||
WORD $0x540001a3 // b.lo LBB0_22 $52(%rip)
|
||||
WORD $0x39400151 // ldrb w17, [x10]
|
||||
WORD $0x39400540 // ldrb w0, [x10, #1]
|
||||
WORD $0x390053f1 // strb w17, [sp, #20]
|
||||
WORD $0x91000943 // add x3, x10, #2
|
||||
WORD $0x91004be1 // add x1, sp, #18
|
||||
WORD $0xaa0403e2 // mov x2, x4
|
||||
WORD $0xb4000164 // cbz x4, LBB0_23 $44(%rip)
|
||||
LBB0_21:
|
||||
WORD $0x39400071 // ldrb w17, [x3]
|
||||
WORD $0x39000031 // strb w17, [x1]
|
||||
WORD $0x394053f1 // ldrb w17, [sp, #20]
|
||||
WORD $0x39404be1 // ldrb w1, [sp, #18]
|
||||
WORD $0x14000007 // b LBB0_24 $28(%rip)
|
||||
LBB0_22:
|
||||
WORD $0x52800011 // mov w17, #0
|
||||
WORD $0x52800000 // mov w0, #0
|
||||
WORD $0x910053e1 // add x1, sp, #20
|
||||
WORD $0xaa0a03e3 // mov x3, x10
|
||||
WORD $0xb5fffee2 // cbnz x2, LBB0_21 $-36(%rip)
|
||||
LBB0_23:
|
||||
WORD $0x52800001 // mov w1, #0
|
||||
LBB0_24:
|
||||
WORD $0x53185c00 // lsl w0, w0, #8
|
||||
WORD $0x2a014000 // orr w0, w0, w1, lsl #16
|
||||
WORD $0x2a110000 // orr w0, w0, w17
|
||||
WORD $0x0a0b0001 // and w1, w0, w11
|
||||
WORD $0x6b0c003f // cmp w1, w12
|
||||
WORD $0x0a0d0001 // and w1, w0, w13
|
||||
WORD $0x7a4e0024 // ccmp w1, w14, #4, eq
|
||||
WORD $0x7a401824 // ccmp w1, #0, #4, ne
|
||||
WORD $0x54000121 // b.ne LBB0_28 $36(%rip)
|
||||
WORD $0x721f0e3f // tst w17, #0x1e
|
||||
WORD $0x540001c0 // b.eq LBB0_30 $56(%rip)
|
||||
WORD $0x0a0f0011 // and w17, w0, w15
|
||||
WORD $0x6b10023f // cmp w17, w16
|
||||
WORD $0x54000161 // b.ne LBB0_30 $44(%rip)
|
||||
WORD $0x52800051 // mov w17, #2
|
||||
WORD $0x8b11014a // add x10, x10, x17
|
||||
WORD $0x17ffffd5 // b LBB0_17 $-172(%rip)
|
||||
LBB0_28:
|
||||
WORD $0x52800071 // mov w17, #3
|
||||
WORD $0x8b11014a // add x10, x10, x17
|
||||
WORD $0x17ffffd2 // b LBB0_17 $-184(%rip)
|
||||
LBB0_29:
|
||||
WORD $0xd2800000 // mov x0, #0
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_30:
|
||||
WORD $0xaa2a03e9 // mvn x9, x10
|
||||
WORD $0x8b080120 // add x0, x9, x8
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__validate_utf8_fast(SB), NOSPLIT, $0-16
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $112, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_validate_utf8_fast:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD ·_subr__validate_utf8_fast(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
MOVD R0, ret+8(FP)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __validate_utf8_fast_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__validate_utf8_fast uintptr = __validate_utf8_fast_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__validate_utf8_fast = 48
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__validate_utf8_fast
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__validate_utf8_fast
|
||||
)
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __validate_utf8_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__validate_utf8 uintptr = __validate_utf8_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__validate_utf8 = 64
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__validate_utf8
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__validate_utf8
|
||||
)
|
||||
34
vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.go
generated
vendored
Normal file
34
vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) {
|
||||
return __value(s, n, p, v, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int)
|
||||
|
||||
6134
vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s
generated
vendored
Normal file
6134
vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/value_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/value_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __value_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__value uintptr = __value_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__value = 144
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__value
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__value
|
||||
)
|
||||
34
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.go
generated
vendored
Normal file
34
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func vnumber(s *string, p *int, v *types.JsonState) {
|
||||
__vnumber(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vnumber(s *string, p *int, v *types.JsonState)
|
||||
|
||||
|
||||
4690
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.s
generated
vendored
Normal file
4690
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.s
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __vnumber_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__vnumber uintptr = __vnumber_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__vnumber = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__vnumber
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__vnumber
|
||||
)
|
||||
32
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.go
generated
vendored
Normal file
32
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func vsigned(s *string, p *int, v *types.JsonState) {
|
||||
__vsigned(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vsigned(s *string, p *int, v *types.JsonState)
|
||||
156
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.s
generated
vendored
Normal file
156
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__vsigned_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 2, 0x00
|
||||
_vsigned:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xf9400028 // ldr x8, [x1]
|
||||
WORD $0xa940240a // ldp x10, x9, [x0]
|
||||
WORD $0x5280012b // mov w11, #9
|
||||
WORD $0xa900fc5f // stp xzr, xzr, [x2, #8]
|
||||
WORD $0xf900004b // str x11, [x2]
|
||||
WORD $0xf940002b // ldr x11, [x1]
|
||||
WORD $0xf9000c4b // str x11, [x2, #24]
|
||||
WORD $0xeb09011f // cmp x8, x9
|
||||
WORD $0x54000642 // b.hs LBB0_12 $200(%rip)
|
||||
WORD $0x3868694c // ldrb w12, [x10, x8]
|
||||
WORD $0x7100b59f // cmp w12, #45
|
||||
WORD $0x540006a1 // b.ne LBB0_13 $212(%rip)
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xeb09011f // cmp x8, x9
|
||||
WORD $0x54000582 // b.hs LBB0_12 $176(%rip)
|
||||
WORD $0x3868694c // ldrb w12, [x10, x8]
|
||||
WORD $0x9280000b // mov x11, #-1
|
||||
WORD $0x5100e98d // sub w13, w12, #58
|
||||
WORD $0x31002dbf // cmn w13, #11
|
||||
WORD $0x54000629 // b.ls LBB0_14 $196(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x7100c19f // cmp w12, #48
|
||||
WORD $0x54000181 // b.ne LBB0_6 $48(%rip)
|
||||
WORD $0x8b08014c // add x12, x10, x8
|
||||
WORD $0x3940058c // ldrb w12, [x12, #1]
|
||||
WORD $0x5100b98c // sub w12, w12, #46
|
||||
WORD $0x7100dd9f // cmp w12, #55
|
||||
WORD $0x5280002d // mov w13, #1
|
||||
WORD $0x9acc21ac // lsl x12, x13, x12
|
||||
WORD $0xb20903ed // mov x13, #36028797027352576
|
||||
WORD $0xf280002d // movk x13, #1
|
||||
WORD $0x8a0d018c // and x12, x12, x13
|
||||
WORD $0xfa409984 // ccmp x12, #0, #4, ls
|
||||
WORD $0x540007e0 // b.eq LBB0_22 $252(%rip)
|
||||
LBB0_6:
|
||||
WORD $0xd280000c // mov x12, #0
|
||||
WORD $0x5280014d // mov w13, #10
|
||||
LBB0_7:
|
||||
WORD $0xeb08013f // cmp x9, x8
|
||||
WORD $0x540006c0 // b.eq LBB0_21 $216(%rip)
|
||||
WORD $0x3868694e // ldrb w14, [x10, x8]
|
||||
WORD $0x5100c1ce // sub w14, w14, #48
|
||||
WORD $0x710025df // cmp w14, #9
|
||||
WORD $0x54000448 // b.hi LBB0_15 $136(%rip)
|
||||
WORD $0x9b4d7d8f // smulh x15, x12, x13
|
||||
WORD $0x8b0c098c // add x12, x12, x12, lsl #2
|
||||
WORD $0xd37ff98c // lsl x12, x12, #1
|
||||
WORD $0xeb8cfdff // cmp x15, x12, asr #63
|
||||
WORD $0x540000c1 // b.ne LBB0_11 $24(%rip)
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0x92401dce // and x14, x14, #0xff
|
||||
WORD $0x9b2e7d6e // smull x14, w11, w14
|
||||
WORD $0xab0e018c // adds x12, x12, x14
|
||||
WORD $0x54fffe27 // b.vc LBB0_7 $-60(%rip)
|
||||
LBB0_11:
|
||||
WORD $0xd1000508 // sub x8, x8, #1
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x92800088 // mov x8, #-5
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_12:
|
||||
WORD $0xf9000029 // str x9, [x1]
|
||||
WORD $0x92800008 // mov x8, #-1
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_13:
|
||||
WORD $0x5280002b // mov w11, #1
|
||||
WORD $0x5100e98d // sub w13, w12, #58
|
||||
WORD $0x31002dbf // cmn w13, #11
|
||||
WORD $0x54fffa28 // b.hi LBB0_4 $-188(%rip)
|
||||
LBB0_14:
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x92800028 // mov x8, #-2
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_15:
|
||||
WORD $0xeb09011f // cmp x8, x9
|
||||
WORD $0x540001c2 // b.hs LBB0_20 $56(%rip)
|
||||
WORD $0x38686949 // ldrb w9, [x10, x8]
|
||||
WORD $0x7100b93f // cmp w9, #46
|
||||
WORD $0x540000a0 // b.eq LBB0_19 $20(%rip)
|
||||
WORD $0x7101153f // cmp w9, #69
|
||||
WORD $0x54000060 // b.eq LBB0_19 $12(%rip)
|
||||
WORD $0x7101953f // cmp w9, #101
|
||||
WORD $0x540000e1 // b.ne LBB0_20 $28(%rip)
|
||||
LBB0_19:
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x928000a8 // mov x8, #-6
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_20:
|
||||
WORD $0xaa0803e9 // mov x9, x8
|
||||
LBB0_21:
|
||||
WORD $0xf9000029 // str x9, [x1]
|
||||
WORD $0xf900084c // str x12, [x2, #16]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_22:
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__vsigned(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_vsigned:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD v+16(FP), R2
|
||||
MOVD ·_subr__vsigned(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __vsigned_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__vsigned uintptr = __vsigned_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__vsigned = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__vsigned
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__vsigned
|
||||
)
|
||||
32
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.go
generated
vendored
Normal file
32
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func vstring(s *string, p *int, v *types.JsonState, flags uint64) {
|
||||
__vstring(s, p, v, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vstring(s *string, p *int, v *types.JsonState, flags uint64)
|
||||
801
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s
generated
vendored
Normal file
801
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,801 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__vstring_entry__(SB), NOSPLIT, $128
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 4, 0x00
|
||||
lCPI0_0:
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
WORD $0x08040201
|
||||
WORD $0x80402010
|
||||
// // .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
// .byte 1
|
||||
// .byte 2
|
||||
// .byte 4
|
||||
// .byte 8
|
||||
// .byte 16
|
||||
// .byte 32
|
||||
// .byte 64
|
||||
// .byte 128
|
||||
|
||||
lCPI0_1:
|
||||
WORD $0x09010800
|
||||
WORD $0x0b030a02
|
||||
WORD $0x0d050c04
|
||||
WORD $0x0f070e06
|
||||
// // .byte 0
|
||||
// .byte 8
|
||||
// .byte 1
|
||||
// .byte 9
|
||||
// .byte 2
|
||||
// .byte 10
|
||||
// .byte 3
|
||||
// .byte 11
|
||||
// .byte 4
|
||||
// .byte 12
|
||||
// .byte 5
|
||||
// .byte 13
|
||||
// .byte 6
|
||||
// .byte 14
|
||||
// .byte 7
|
||||
// .byte 15
|
||||
|
||||
_vstring:
|
||||
WORD $0xd10243ff // sub sp, sp, #144
|
||||
WORD $0xa902effc // stp x28, x27, [sp, #40]
|
||||
WORD $0xa903e7fa // stp x26, x25, [sp, #56]
|
||||
WORD $0xa904dff8 // stp x24, x23, [sp, #72]
|
||||
WORD $0xa905d7f6 // stp x22, x21, [sp, #88]
|
||||
WORD $0xa906cff4 // stp x20, x19, [sp, #104]
|
||||
WORD $0xa907fbfd // stp fp, lr, [sp, #120]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xf9400028 // ldr x8, [x1]
|
||||
WORD $0xf940040d // ldr x13, [x0, #8]
|
||||
WORD $0x37280c43 // tbnz w3, #5, LBB0_11 $392(%rip)
|
||||
WORD $0xeb0801ab // subs x11, x13, x8
|
||||
WORD $0x54005040 // b.eq LBB0_101 $2568(%rip)
|
||||
WORD $0xf940000a // ldr x10, [x0]
|
||||
WORD $0xf101017f // cmp x11, #64
|
||||
WORD $0x54001ce3 // b.lo LBB0_26 $924(%rip)
|
||||
WORD $0xd280000c // mov x12, #0
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
WORD $0x4f02e781 // movi.16b v1, #92
|
||||
Lloh0:
|
||||
WORD $0x10fffc6d // adr x13, lCPI0_0 $-116(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fffcad // adr x13, lCPI0_1 $-108(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0xaa0803ed // mov x13, x8
|
||||
LBB0_4:
|
||||
WORD $0x8b0d014e // add x14, x10, x13
|
||||
WORD $0xad4015c4 // ldp q4, q5, [x14]
|
||||
WORD $0xad411dc6 // ldp q6, q7, [x14, #32]
|
||||
WORD $0x6e208c90 // cmeq.16b v16, v4, v0
|
||||
WORD $0x6e208cb1 // cmeq.16b v17, v5, v0
|
||||
WORD $0x6e208cd2 // cmeq.16b v18, v6, v0
|
||||
WORD $0x6e208cf3 // cmeq.16b v19, v7, v0
|
||||
WORD $0x6e218c84 // cmeq.16b v4, v4, v1
|
||||
WORD $0x6e218ca5 // cmeq.16b v5, v5, v1
|
||||
WORD $0x6e218cc6 // cmeq.16b v6, v6, v1
|
||||
WORD $0x6e218ce7 // cmeq.16b v7, v7, v1
|
||||
WORD $0x4e221e10 // and.16b v16, v16, v2
|
||||
WORD $0x4e030210 // tbl.16b v16, { v16 }, v3
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e26020e // fmov w14, s16
|
||||
WORD $0x4e221e30 // and.16b v16, v17, v2
|
||||
WORD $0x4e030210 // tbl.16b v16, { v16 }, v3
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e26020f // fmov w15, s16
|
||||
WORD $0x4e221e50 // and.16b v16, v18, v2
|
||||
WORD $0x4e030210 // tbl.16b v16, { v16 }, v3
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e260210 // fmov w16, s16
|
||||
WORD $0x4e221e70 // and.16b v16, v19, v2
|
||||
WORD $0x4e030210 // tbl.16b v16, { v16 }, v3
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e260211 // fmov w17, s16
|
||||
WORD $0x4e221c84 // and.16b v4, v4, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260083 // fmov w3, s4
|
||||
WORD $0x4e221ca4 // and.16b v4, v5, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260084 // fmov w4, s4
|
||||
WORD $0x4e221cc4 // and.16b v4, v6, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260085 // fmov w5, s4
|
||||
WORD $0x4e221ce4 // and.16b v4, v7, v2
|
||||
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260086 // fmov w6, s4
|
||||
WORD $0xd3607e10 // lsl x16, x16, #32
|
||||
WORD $0xaa11c210 // orr x16, x16, x17, lsl #48
|
||||
WORD $0x53103def // lsl w15, w15, #16
|
||||
WORD $0xaa0f020f // orr x15, x16, x15
|
||||
WORD $0xaa0e01ee // orr x14, x15, x14
|
||||
WORD $0xd3607caf // lsl x15, x5, #32
|
||||
WORD $0xaa06c1ef // orr x15, x15, x6, lsl #48
|
||||
WORD $0x53103c90 // lsl w16, w4, #16
|
||||
WORD $0xaa1001ef // orr x15, x15, x16
|
||||
WORD $0xaa0301ef // orr x15, x15, x3
|
||||
WORD $0xb500010f // cbnz x15, LBB0_8 $32(%rip)
|
||||
WORD $0xb500018c // cbnz x12, LBB0_9 $48(%rip)
|
||||
WORD $0xb50002ce // cbnz x14, LBB0_10 $88(%rip)
|
||||
LBB0_7:
|
||||
WORD $0xd101016b // sub x11, x11, #64
|
||||
WORD $0x910101ad // add x13, x13, #64
|
||||
WORD $0xf100fd7f // cmp x11, #63
|
||||
WORD $0x54fff8a8 // b.hi LBB0_4 $-236(%rip)
|
||||
WORD $0x1400009d // b LBB0_24 $628(%rip)
|
||||
LBB0_8:
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0xdac001f0 // rbit x16, x15
|
||||
WORD $0xdac01210 // clz x16, x16
|
||||
WORD $0x8b0d0210 // add x16, x16, x13
|
||||
WORD $0x9a901129 // csel x9, x9, x16, ne
|
||||
LBB0_9:
|
||||
WORD $0x8a2c01f0 // bic x16, x15, x12
|
||||
WORD $0xaa100591 // orr x17, x12, x16, lsl #1
|
||||
WORD $0x8a3101ec // bic x12, x15, x17
|
||||
WORD $0x9201f18c // and x12, x12, #0xaaaaaaaaaaaaaaaa
|
||||
WORD $0xab10018f // adds x15, x12, x16
|
||||
WORD $0x1a9f37ec // cset w12, hs
|
||||
WORD $0xd37ff9ef // lsl x15, x15, #1
|
||||
WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555
|
||||
WORD $0x8a1101ef // and x15, x15, x17
|
||||
WORD $0x8a2f01ce // bic x14, x14, x15
|
||||
WORD $0xb4fffd8e // cbz x14, LBB0_7 $-80(%rip)
|
||||
LBB0_10:
|
||||
WORD $0xdac001ca // rbit x10, x14
|
||||
WORD $0xdac0114a // clz x10, x10
|
||||
WORD $0x8b0d014a // add x10, x10, x13
|
||||
WORD $0x9100055e // add lr, x10, #1
|
||||
WORD $0xb6f8103e // tbz lr, #63, LBB0_23 $516(%rip)
|
||||
WORD $0x14000202 // b LBB0_94 $2056(%rip)
|
||||
LBB0_11:
|
||||
WORD $0xeb0801ab // subs x11, x13, x8
|
||||
WORD $0x54004420 // b.eq LBB0_101 $2180(%rip)
|
||||
WORD $0xf940000a // ldr x10, [x0]
|
||||
WORD $0x10fff110 // adr x16, lCPI0_0 $-480(%rip)
|
||||
WORD $0x10fff16f // adr x15, lCPI0_1 $-468(%rip)
|
||||
WORD $0xf101017f // cmp x11, #64
|
||||
WORD $0x540015a3 // b.lo LBB0_32 $692(%rip)
|
||||
WORD $0xd280000e // mov x14, #0
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
WORD $0x3dc00201 // ldr q1, [x16, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x3dc001e2 // ldr q2, [x15, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4f02e783 // movi.16b v3, #92
|
||||
WORD $0x4f01e404 // movi.16b v4, #32
|
||||
WORD $0xaa0803ec // mov x12, x8
|
||||
LBB0_14:
|
||||
WORD $0x8b0c0151 // add x17, x10, x12
|
||||
WORD $0xad401e30 // ldp q16, q7, [x17]
|
||||
WORD $0xad411626 // ldp q6, q5, [x17, #32]
|
||||
WORD $0x6e208e11 // cmeq.16b v17, v16, v0
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260231 // fmov w17, s17
|
||||
WORD $0x6e208cf1 // cmeq.16b v17, v7, v0
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260223 // fmov w3, s17
|
||||
WORD $0x6e208cd1 // cmeq.16b v17, v6, v0
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260224 // fmov w4, s17
|
||||
WORD $0x6e208cb1 // cmeq.16b v17, v5, v0
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260225 // fmov w5, s17
|
||||
WORD $0x6e238e11 // cmeq.16b v17, v16, v3
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260226 // fmov w6, s17
|
||||
WORD $0x6e238cf1 // cmeq.16b v17, v7, v3
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260227 // fmov w7, s17
|
||||
WORD $0x6e238cd1 // cmeq.16b v17, v6, v3
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260233 // fmov w19, s17
|
||||
WORD $0x6e238cb1 // cmeq.16b v17, v5, v3
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260234 // fmov w20, s17
|
||||
WORD $0xd3607c84 // lsl x4, x4, #32
|
||||
WORD $0xaa05c084 // orr x4, x4, x5, lsl #48
|
||||
WORD $0x53103c63 // lsl w3, w3, #16
|
||||
WORD $0xaa030083 // orr x3, x4, x3
|
||||
WORD $0xaa110071 // orr x17, x3, x17
|
||||
WORD $0xd3607e63 // lsl x3, x19, #32
|
||||
WORD $0xaa14c063 // orr x3, x3, x20, lsl #48
|
||||
WORD $0x53103ce4 // lsl w4, w7, #16
|
||||
WORD $0xaa040063 // orr x3, x3, x4
|
||||
WORD $0xaa060063 // orr x3, x3, x6
|
||||
WORD $0xb5000443 // cbnz x3, LBB0_19 $136(%rip)
|
||||
WORD $0xb50004ce // cbnz x14, LBB0_20 $152(%rip)
|
||||
LBB0_16:
|
||||
WORD $0x6e303490 // cmhi.16b v16, v4, v16
|
||||
WORD $0x4e211e10 // and.16b v16, v16, v1
|
||||
WORD $0x4e020210 // tbl.16b v16, { v16 }, v2
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e260203 // fmov w3, s16
|
||||
WORD $0x6e273487 // cmhi.16b v7, v4, v7
|
||||
WORD $0x4e211ce7 // and.16b v7, v7, v1
|
||||
WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2
|
||||
WORD $0x4e71b8e7 // addv.8h h7, v7
|
||||
WORD $0x1e2600e4 // fmov w4, s7
|
||||
WORD $0x6e263486 // cmhi.16b v6, v4, v6
|
||||
WORD $0x4e211cc6 // and.16b v6, v6, v1
|
||||
WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2
|
||||
WORD $0x4e71b8c6 // addv.8h h6, v6
|
||||
WORD $0x1e2600c5 // fmov w5, s6
|
||||
WORD $0x6e253485 // cmhi.16b v5, v4, v5
|
||||
WORD $0x4e211ca5 // and.16b v5, v5, v1
|
||||
WORD $0x4e0200a5 // tbl.16b v5, { v5 }, v2
|
||||
WORD $0x4e71b8a5 // addv.8h h5, v5
|
||||
WORD $0x1e2600a6 // fmov w6, s5
|
||||
WORD $0xd3607ca5 // lsl x5, x5, #32
|
||||
WORD $0xaa06c0a5 // orr x5, x5, x6, lsl #48
|
||||
WORD $0x53103c84 // lsl w4, w4, #16
|
||||
WORD $0xaa0400a4 // orr x4, x5, x4
|
||||
WORD $0xaa030083 // orr x3, x4, x3
|
||||
WORD $0xb50002f1 // cbnz x17, LBB0_21 $92(%rip)
|
||||
WORD $0xb5003403 // cbnz x3, LBB0_93 $1664(%rip)
|
||||
WORD $0xd101016b // sub x11, x11, #64
|
||||
WORD $0x9101018c // add x12, x12, #64
|
||||
WORD $0xf100fd7f // cmp x11, #63
|
||||
WORD $0x54fff568 // b.hi LBB0_14 $-340(%rip)
|
||||
WORD $0x14000023 // b LBB0_25 $140(%rip)
|
||||
LBB0_19:
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0xdac00064 // rbit x4, x3
|
||||
WORD $0xdac01084 // clz x4, x4
|
||||
WORD $0x8b0c0084 // add x4, x4, x12
|
||||
WORD $0x9a841129 // csel x9, x9, x4, ne
|
||||
LBB0_20:
|
||||
WORD $0x8a2e0064 // bic x4, x3, x14
|
||||
WORD $0xaa0405c5 // orr x5, x14, x4, lsl #1
|
||||
WORD $0x8a25006e // bic x14, x3, x5
|
||||
WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa
|
||||
WORD $0xab0401c3 // adds x3, x14, x4
|
||||
WORD $0x1a9f37ee // cset w14, hs
|
||||
WORD $0xd37ff863 // lsl x3, x3, #1
|
||||
WORD $0xd200f063 // eor x3, x3, #0x5555555555555555
|
||||
WORD $0x8a050063 // and x3, x3, x5
|
||||
WORD $0x8a230231 // bic x17, x17, x3
|
||||
WORD $0x17ffffd1 // b LBB0_16 $-188(%rip)
|
||||
LBB0_21:
|
||||
WORD $0xdac0022a // rbit x10, x17
|
||||
WORD $0xdac0114a // clz x10, x10
|
||||
WORD $0xdac0006b // rbit x11, x3
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0xeb0a017f // cmp x11, x10
|
||||
WORD $0x540030a3 // b.lo LBB0_93 $1556(%rip)
|
||||
WORD $0x8b0c014a // add x10, x10, x12
|
||||
WORD $0x9100055e // add lr, x10, #1
|
||||
WORD $0xb7f8307e // tbnz lr, #63, LBB0_94 $1548(%rip)
|
||||
LBB0_23:
|
||||
WORD $0xf900003e // str lr, [x1]
|
||||
WORD $0x528000ea // mov w10, #7
|
||||
WORD $0xf900004a // str x10, [x2]
|
||||
WORD $0xeb1e013f // cmp x9, lr
|
||||
WORD $0xda9fb129 // csinv x9, x9, xzr, lt
|
||||
WORD $0xa9012448 // stp x8, x9, [x2, #16]
|
||||
WORD $0x1400017f // b LBB0_95 $1532(%rip)
|
||||
LBB0_24:
|
||||
WORD $0x8b0d014d // add x13, x10, x13
|
||||
WORD $0x14000006 // b LBB0_27 $24(%rip)
|
||||
LBB0_25:
|
||||
WORD $0x8b0c014c // add x12, x10, x12
|
||||
WORD $0x1400002d // b LBB0_33 $180(%rip)
|
||||
LBB0_26:
|
||||
WORD $0xd280000c // mov x12, #0
|
||||
WORD $0x8b08014d // add x13, x10, x8
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
LBB0_27:
|
||||
WORD $0xf100816e // subs x14, x11, #32
|
||||
WORD $0x54000ea3 // b.lo LBB0_43 $468(%rip)
|
||||
WORD $0xad4005a0 // ldp q0, q1, [x13]
|
||||
WORD $0x4f01e442 // movi.16b v2, #34
|
||||
WORD $0x6e228c03 // cmeq.16b v3, v0, v2
|
||||
WORD $0x6e228c22 // cmeq.16b v2, v1, v2
|
||||
WORD $0x4f02e784 // movi.16b v4, #92
|
||||
WORD $0x6e248c00 // cmeq.16b v0, v0, v4
|
||||
WORD $0x6e248c21 // cmeq.16b v1, v1, v4
|
||||
Lloh4:
|
||||
WORD $0x10ffdeab // adr x11, lCPI0_0 $-1068(%rip)
|
||||
Lloh5:
|
||||
WORD $0x3dc00164 // ldr q4, [x11, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e241c63 // and.16b v3, v3, v4
|
||||
Lloh6:
|
||||
WORD $0x10ffdecb // adr x11, lCPI0_1 $-1064(%rip)
|
||||
Lloh7:
|
||||
WORD $0x3dc00165 // ldr q5, [x11, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e050063 // tbl.16b v3, { v3 }, v5
|
||||
WORD $0x4e71b863 // addv.8h h3, v3
|
||||
WORD $0x1e26006b // fmov w11, s3
|
||||
WORD $0x4e241c42 // and.16b v2, v2, v4
|
||||
WORD $0x4e050042 // tbl.16b v2, { v2 }, v5
|
||||
WORD $0x4e71b842 // addv.8h h2, v2
|
||||
WORD $0x1e260050 // fmov w16, s2
|
||||
WORD $0x4e241c00 // and.16b v0, v0, v4
|
||||
WORD $0x4e050000 // tbl.16b v0, { v0 }, v5
|
||||
WORD $0x4e71b800 // addv.8h h0, v0
|
||||
WORD $0x1e26000f // fmov w15, s0
|
||||
WORD $0x4e241c20 // and.16b v0, v1, v4
|
||||
WORD $0x4e050000 // tbl.16b v0, { v0 }, v5
|
||||
WORD $0x4e71b800 // addv.8h h0, v0
|
||||
WORD $0x1e260011 // fmov w17, s0
|
||||
WORD $0x33103e0b // bfi w11, w16, #16, #16
|
||||
WORD $0x33103e2f // bfi w15, w17, #16, #16
|
||||
WORD $0x3500082f // cbnz w15, LBB0_40 $260(%rip)
|
||||
WORD $0xb50008cc // cbnz x12, LBB0_41 $280(%rip)
|
||||
WORD $0xb4000a6b // cbz x11, LBB0_42 $332(%rip)
|
||||
LBB0_31:
|
||||
WORD $0xdac0016b // rbit x11, x11
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0xcb0a01aa // sub x10, x13, x10
|
||||
WORD $0x14000037 // b LBB0_39 $220(%rip)
|
||||
LBB0_32:
|
||||
WORD $0xd280000e // mov x14, #0
|
||||
WORD $0x8b08014c // add x12, x10, x8
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
LBB0_33:
|
||||
WORD $0xf1008171 // subs x17, x11, #32
|
||||
WORD $0x54001103 // b.lo LBB0_60 $544(%rip)
|
||||
WORD $0xad400580 // ldp q0, q1, [x12]
|
||||
WORD $0x4f01e442 // movi.16b v2, #34
|
||||
WORD $0x6e228c03 // cmeq.16b v3, v0, v2
|
||||
WORD $0x3dc00204 // ldr q4, [x16, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e241c63 // and.16b v3, v3, v4
|
||||
WORD $0x3dc001e5 // ldr q5, [x15, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e050063 // tbl.16b v3, { v3 }, v5
|
||||
WORD $0x4e71b863 // addv.8h h3, v3
|
||||
WORD $0x1e26006b // fmov w11, s3
|
||||
WORD $0x6e228c22 // cmeq.16b v2, v1, v2
|
||||
WORD $0x4e241c42 // and.16b v2, v2, v4
|
||||
WORD $0x4e050042 // tbl.16b v2, { v2 }, v5
|
||||
WORD $0x4e71b842 // addv.8h h2, v2
|
||||
WORD $0x1e260043 // fmov w3, s2
|
||||
WORD $0x4f02e782 // movi.16b v2, #92
|
||||
WORD $0x6e228c03 // cmeq.16b v3, v0, v2
|
||||
WORD $0x4e241c63 // and.16b v3, v3, v4
|
||||
WORD $0x4e050063 // tbl.16b v3, { v3 }, v5
|
||||
WORD $0x4e71b863 // addv.8h h3, v3
|
||||
WORD $0x1e260070 // fmov w16, s3
|
||||
WORD $0x6e228c22 // cmeq.16b v2, v1, v2
|
||||
WORD $0x4e241c42 // and.16b v2, v2, v4
|
||||
WORD $0x4e050042 // tbl.16b v2, { v2 }, v5
|
||||
WORD $0x4e71b842 // addv.8h h2, v2
|
||||
WORD $0x1e260044 // fmov w4, s2
|
||||
WORD $0x4f01e402 // movi.16b v2, #32
|
||||
WORD $0x6e203440 // cmhi.16b v0, v2, v0
|
||||
WORD $0x4e241c00 // and.16b v0, v0, v4
|
||||
WORD $0x4e050000 // tbl.16b v0, { v0 }, v5
|
||||
WORD $0x4e71b800 // addv.8h h0, v0
|
||||
WORD $0x1e26000f // fmov w15, s0
|
||||
WORD $0x6e213440 // cmhi.16b v0, v2, v1
|
||||
WORD $0x4e241c00 // and.16b v0, v0, v4
|
||||
WORD $0x4e050000 // tbl.16b v0, { v0 }, v5
|
||||
WORD $0x4e71b800 // addv.8h h0, v0
|
||||
WORD $0x1e260005 // fmov w5, s0
|
||||
WORD $0x33103c6b // bfi w11, w3, #16, #16
|
||||
WORD $0x33103c90 // bfi w16, w4, #16, #16
|
||||
WORD $0x33103caf // bfi w15, w5, #16, #16
|
||||
WORD $0x35000930 // cbnz w16, LBB0_56 $292(%rip)
|
||||
WORD $0xb50009ce // cbnz x14, LBB0_57 $312(%rip)
|
||||
WORD $0xb4000b6b // cbz x11, LBB0_58 $364(%rip)
|
||||
LBB0_37:
|
||||
WORD $0xdac0016b // rbit x11, x11
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0xdac001ed // rbit x13, x15
|
||||
WORD $0xdac011ad // clz x13, x13
|
||||
WORD $0xeb0b01bf // cmp x13, x11
|
||||
WORD $0x54002323 // b.lo LBB0_93 $1124(%rip)
|
||||
WORD $0xcb0a018a // sub x10, x12, x10
|
||||
LBB0_39:
|
||||
WORD $0x8b0b014a // add x10, x10, x11
|
||||
WORD $0x9100055e // add lr, x10, #1
|
||||
WORD $0xb6fff29e // tbz lr, #63, LBB0_23 $-432(%rip)
|
||||
WORD $0x14000115 // b LBB0_94 $1108(%rip)
|
||||
LBB0_40:
|
||||
WORD $0xdac001f0 // rbit x16, x15
|
||||
WORD $0xdac01210 // clz x16, x16
|
||||
WORD $0xcb0a01b1 // sub x17, x13, x10
|
||||
WORD $0x8b100230 // add x16, x17, x16
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a901129 // csel x9, x9, x16, ne
|
||||
LBB0_41:
|
||||
WORD $0x0a2c01f0 // bic w16, w15, w12
|
||||
WORD $0x531f7a11 // lsl w17, w16, #1
|
||||
WORD $0x331f7a0c // bfi w12, w16, #1, #31
|
||||
WORD $0x0a3101ef // bic w15, w15, w17
|
||||
WORD $0x1201f1ef // and w15, w15, #0xaaaaaaaa
|
||||
WORD $0x2b1001ef // adds w15, w15, w16
|
||||
WORD $0x3200f3f0 // mov w16, #1431655765
|
||||
WORD $0x4a0f060f // eor w15, w16, w15, lsl #1
|
||||
WORD $0x0a0c01ec // and w12, w15, w12
|
||||
WORD $0x1a9f37ef // cset w15, hs
|
||||
WORD $0x2a2c03ec // mvn w12, w12
|
||||
WORD $0x8a0b018b // and x11, x12, x11
|
||||
WORD $0xaa0f03ec // mov x12, x15
|
||||
WORD $0xb5fff5eb // cbnz x11, LBB0_31 $-324(%rip)
|
||||
LBB0_42:
|
||||
WORD $0x910081ad // add x13, x13, #32
|
||||
WORD $0xaa0e03eb // mov x11, x14
|
||||
LBB0_43:
|
||||
WORD $0xb50021cc // cbnz x12, LBB0_97 $1080(%rip)
|
||||
WORD $0xb40003ab // cbz x11, LBB0_53 $116(%rip)
|
||||
LBB0_45:
|
||||
WORD $0xcb0a03ec // neg x12, x10
|
||||
WORD $0x9280001e // mov lr, #-1
|
||||
LBB0_46:
|
||||
WORD $0xd280000e // mov x14, #0
|
||||
LBB0_47:
|
||||
WORD $0x386e69af // ldrb w15, [x13, x14]
|
||||
WORD $0x710089ff // cmp w15, #34
|
||||
WORD $0x540002a0 // b.eq LBB0_52 $84(%rip)
|
||||
WORD $0x710171ff // cmp w15, #92
|
||||
WORD $0x540000a0 // b.eq LBB0_50 $20(%rip)
|
||||
WORD $0x910005ce // add x14, x14, #1
|
||||
WORD $0xeb0e017f // cmp x11, x14
|
||||
WORD $0x54ffff21 // b.ne LBB0_47 $-28(%rip)
|
||||
WORD $0x14000014 // b LBB0_54 $80(%rip)
|
||||
LBB0_50:
|
||||
WORD $0xd100056f // sub x15, x11, #1
|
||||
WORD $0xeb0e01ff // cmp x15, x14
|
||||
WORD $0x540021e0 // b.eq LBB0_101 $1084(%rip)
|
||||
WORD $0x8b0e01ad // add x13, x13, x14
|
||||
WORD $0x8b0c01af // add x15, x13, x12
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a8901e9 // csel x9, x15, x9, eq
|
||||
WORD $0x910009ad // add x13, x13, #2
|
||||
WORD $0xcb0e016f // sub x15, x11, x14
|
||||
WORD $0xd1000970 // sub x16, x11, #2
|
||||
WORD $0xd10009eb // sub x11, x15, #2
|
||||
WORD $0xeb0e021f // cmp x16, x14
|
||||
WORD $0x54fffd41 // b.ne LBB0_46 $-88(%rip)
|
||||
WORD $0x140000e3 // b LBB0_94 $908(%rip)
|
||||
LBB0_52:
|
||||
WORD $0x8b0e01ab // add x11, x13, x14
|
||||
WORD $0x9100056d // add x13, x11, #1
|
||||
LBB0_53:
|
||||
WORD $0xcb0a01be // sub lr, x13, x10
|
||||
WORD $0xb6ffebbe // tbz lr, #63, LBB0_23 $-652(%rip)
|
||||
WORD $0x140000de // b LBB0_94 $888(%rip)
|
||||
LBB0_54:
|
||||
WORD $0x710089ff // cmp w15, #34
|
||||
WORD $0x54001fa1 // b.ne LBB0_101 $1012(%rip)
|
||||
WORD $0x8b0e01ad // add x13, x13, x14
|
||||
WORD $0x17fffffa // b LBB0_53 $-24(%rip)
|
||||
LBB0_56:
|
||||
WORD $0xdac00203 // rbit x3, x16
|
||||
WORD $0xdac01063 // clz x3, x3
|
||||
WORD $0xcb0a0184 // sub x4, x12, x10
|
||||
WORD $0x8b030083 // add x3, x4, x3
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a831129 // csel x9, x9, x3, ne
|
||||
LBB0_57:
|
||||
WORD $0x0a2e0203 // bic w3, w16, w14
|
||||
WORD $0x531f7864 // lsl w4, w3, #1
|
||||
WORD $0x331f786e // bfi w14, w3, #1, #31
|
||||
WORD $0x0a240210 // bic w16, w16, w4
|
||||
WORD $0x1201f210 // and w16, w16, #0xaaaaaaaa
|
||||
WORD $0x2b030210 // adds w16, w16, w3
|
||||
WORD $0x3200f3e3 // mov w3, #1431655765
|
||||
WORD $0x4a100470 // eor w16, w3, w16, lsl #1
|
||||
WORD $0x0a0e020e // and w14, w16, w14
|
||||
WORD $0x1a9f37f0 // cset w16, hs
|
||||
WORD $0x2a2e03ee // mvn w14, w14
|
||||
WORD $0x8a0b01cb // and x11, x14, x11
|
||||
WORD $0xaa1003ee // mov x14, x16
|
||||
WORD $0xb5fff4eb // cbnz x11, LBB0_37 $-356(%rip)
|
||||
LBB0_58:
|
||||
WORD $0x3500188f // cbnz w15, LBB0_93 $784(%rip)
|
||||
WORD $0x9100818c // add x12, x12, #32
|
||||
WORD $0xaa1103eb // mov x11, x17
|
||||
LBB0_60:
|
||||
WORD $0xb5001b6e // cbnz x14, LBB0_99 $876(%rip)
|
||||
LBB0_61:
|
||||
WORD $0xcb0a03ee // neg x14, x10
|
||||
WORD $0x8b0d014d // add x13, x10, x13
|
||||
WORD $0xd10005ad // sub x13, x13, #1
|
||||
WORD $0xcb0a014f // sub x15, x10, x10
|
||||
WORD $0x52820223 // mov w3, #4113
|
||||
WORD $0x72a000a3 // movk w3, #5, lsl #16
|
||||
WORD $0x5299fa04 // mov w4, #53200
|
||||
WORD $0x72b9f9e4 // movk w4, #53199, lsl #16
|
||||
WORD $0x3201c3e5 // mov w5, #-2139062144
|
||||
WORD $0x52832326 // mov w6, #6425
|
||||
WORD $0x72a32326 // movk w6, #6425, lsl #16
|
||||
WORD $0x3202c7e7 // mov w7, #-1061109568
|
||||
WORD $0x3200dbf3 // mov w19, #2139062143
|
||||
WORD $0x5288c8d4 // mov w20, #17990
|
||||
WORD $0x72a8c8d4 // movk w20, #17990, lsl #16
|
||||
WORD $0x3203cbf5 // mov w21, #-522133280
|
||||
WORD $0x52872736 // mov w22, #14649
|
||||
WORD $0x72a72736 // movk w22, #14649, lsl #16
|
||||
WORD $0x3200cff7 // mov w23, #252645135
|
||||
WORD $0x3200c3f8 // mov w24, #16843009
|
||||
WORD $0x529b0019 // mov w25, #55296
|
||||
WORD $0x529b801a // mov w26, #56320
|
||||
LBB0_62:
|
||||
WORD $0xb400198b // cbz x11, LBB0_101 $816(%rip)
|
||||
WORD $0xd280001b // mov x27, #0
|
||||
LBB0_64:
|
||||
WORD $0x387b699e // ldrb w30, [x12, x27]
|
||||
WORD $0x71008bdf // cmp w30, #34
|
||||
WORD $0x54001640 // b.eq LBB0_96 $712(%rip)
|
||||
WORD $0x710173df // cmp w30, #92
|
||||
WORD $0x54000100 // b.eq LBB0_68 $32(%rip)
|
||||
WORD $0x710083df // cmp w30, #32
|
||||
WORD $0x54001443 // b.lo LBB0_93 $648(%rip)
|
||||
WORD $0x9100077b // add x27, x27, #1
|
||||
WORD $0x9280001e // mov lr, #-1
|
||||
WORD $0xeb1b017f // cmp x11, x27
|
||||
WORD $0x54fffec1 // b.ne LBB0_64 $-40(%rip)
|
||||
WORD $0x1400009e // b LBB0_94 $632(%rip)
|
||||
LBB0_68:
|
||||
WORD $0xd100057e // sub lr, x11, #1
|
||||
WORD $0xeb1b03df // cmp lr, x27
|
||||
WORD $0x54001780 // b.eq LBB0_101 $752(%rip)
|
||||
WORD $0x8b0c01de // add lr, x14, x12
|
||||
WORD $0x8b1b03de // add lr, lr, x27
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a8903c9 // csel x9, lr, x9, eq
|
||||
WORD $0xcb0c01be // sub lr, x13, x12
|
||||
WORD $0xeb1b03d0 // subs x16, lr, x27
|
||||
WORD $0xf9000bf0 // str x16, [sp, #16]
|
||||
WORD $0x54001680 // b.eq LBB0_101 $720(%rip)
|
||||
WORD $0x8b0c01fe // add lr, x15, x12
|
||||
WORD $0x8b1b03de // add lr, lr, x27
|
||||
WORD $0x394007d0 // ldrb w16, [lr, #1]
|
||||
WORD $0xb9001ff0 // str w16, [sp, #28]
|
||||
WORD $0x51018a10 // sub w16, w16, #98
|
||||
WORD $0xb90023f0 // str w16, [sp, #32]
|
||||
WORD $0x71004e1f // cmp w16, #19
|
||||
WORD $0x54000d68 // b.hi LBB0_88 $428(%rip)
|
||||
WORD $0x52800030 // mov w16, #1
|
||||
WORD $0xb94023fe // ldr w30, [sp, #32]
|
||||
WORD $0x1ade221e // lsl w30, w16, w30
|
||||
WORD $0x6a0303df // tst w30, w3
|
||||
WORD $0x54000e61 // b.ne LBB0_90 $460(%rip)
|
||||
WORD $0xb94023f0 // ldr w16, [sp, #32]
|
||||
WORD $0x71004e1f // cmp w16, #19
|
||||
WORD $0x54000c61 // b.ne LBB0_88 $396(%rip)
|
||||
WORD $0xf9400bf0 // ldr x16, [sp, #16]
|
||||
WORD $0xf100161f // cmp x16, #5
|
||||
WORD $0x54001423 // b.lo LBB0_101 $644(%rip)
|
||||
WORD $0x8b0c01f0 // add x16, x15, x12
|
||||
WORD $0x8b1b0210 // add x16, x16, x27
|
||||
WORD $0xb840221e // ldur w30, [x16, #2]
|
||||
WORD $0x0b0403d0 // add w16, w30, w4
|
||||
WORD $0xb90023fe // str w30, [sp, #32]
|
||||
WORD $0x0a3e00be // bic w30, w5, w30
|
||||
WORD $0xb9001ffe // str w30, [sp, #28]
|
||||
WORD $0x6a1003df // tst w30, w16
|
||||
WORD $0x54000ec1 // b.ne LBB0_93 $472(%rip)
|
||||
WORD $0xb94023fe // ldr w30, [sp, #32]
|
||||
WORD $0x0b0603d0 // add w16, w30, w6
|
||||
WORD $0x2a1e0210 // orr w16, w16, w30
|
||||
WORD $0x6a05021f // tst w16, w5
|
||||
WORD $0x54000e21 // b.ne LBB0_93 $452(%rip)
|
||||
WORD $0x2943c3fe // ldp w30, w16, [sp, #28]
|
||||
WORD $0x1200da10 // and w16, w16, #0x7f7f7f7f
|
||||
WORD $0x4b1000f1 // sub w17, w7, w16
|
||||
WORD $0xb9000ff0 // str w16, [sp, #12]
|
||||
WORD $0x0b140210 // add w16, w16, w20
|
||||
WORD $0x0a110210 // and w16, w16, w17
|
||||
WORD $0x6a1e021f // tst w16, w30
|
||||
WORD $0x54000d21 // b.ne LBB0_93 $420(%rip)
|
||||
WORD $0xb9400ffe // ldr w30, [sp, #12]
|
||||
WORD $0x4b1e02b0 // sub w16, w21, w30
|
||||
WORD $0x0b1603de // add w30, w30, w22
|
||||
WORD $0x0a1003d0 // and w16, w30, w16
|
||||
WORD $0xb9401ffe // ldr w30, [sp, #28]
|
||||
WORD $0x6a1e021f // tst w16, w30
|
||||
WORD $0x54000c41 // b.ne LBB0_93 $392(%rip)
|
||||
WORD $0xb94023f0 // ldr w16, [sp, #32]
|
||||
WORD $0x5ac00a10 // rev w16, w16
|
||||
WORD $0x0a70131e // bic w30, w24, w16, lsr #4
|
||||
WORD $0x2a1e0fde // orr w30, w30, w30, lsl #3
|
||||
WORD $0x1200ce10 // and w16, w16, #0xf0f0f0f
|
||||
WORD $0x0b1003d0 // add w16, w30, w16
|
||||
WORD $0x530c7e1e // lsr w30, w16, #12
|
||||
WORD $0x2a5023d0 // orr w16, w30, w16, lsr #8
|
||||
WORD $0x12161610 // and w16, w16, #0xfc00
|
||||
WORD $0x6b19021f // cmp w16, w25
|
||||
WORD $0x54000a61 // b.ne LBB0_92 $332(%rip)
|
||||
WORD $0xf9400bf0 // ldr x16, [sp, #16]
|
||||
WORD $0xf1002e1f // cmp x16, #11
|
||||
WORD $0x54000a03 // b.lo LBB0_92 $320(%rip)
|
||||
WORD $0x8b0c01f0 // add x16, x15, x12
|
||||
WORD $0x8b1b021e // add lr, x16, x27
|
||||
WORD $0x39401bd0 // ldrb w16, [lr, #6]
|
||||
WORD $0x7101721f // cmp w16, #92
|
||||
WORD $0x54000961 // b.ne LBB0_92 $300(%rip)
|
||||
WORD $0x39401fd0 // ldrb w16, [lr, #7]
|
||||
WORD $0x7101d61f // cmp w16, #117
|
||||
WORD $0x54000901 // b.ne LBB0_92 $288(%rip)
|
||||
WORD $0x8b0c01f0 // add x16, x15, x12
|
||||
WORD $0x8b1b0210 // add x16, x16, x27
|
||||
WORD $0xb9400a1e // ldr w30, [x16, #8]
|
||||
WORD $0x0b0403d0 // add w16, w30, w4
|
||||
WORD $0xb90023fe // str w30, [sp, #32]
|
||||
WORD $0x0a3e00be // bic w30, w5, w30
|
||||
WORD $0xb9001ffe // str w30, [sp, #28]
|
||||
WORD $0x6a1003df // tst w30, w16
|
||||
WORD $0x540007e1 // b.ne LBB0_92 $252(%rip)
|
||||
WORD $0xb94023fe // ldr w30, [sp, #32]
|
||||
WORD $0x0b0603d0 // add w16, w30, w6
|
||||
WORD $0x2a1e0210 // orr w16, w16, w30
|
||||
WORD $0x6a05021f // tst w16, w5
|
||||
WORD $0x54000741 // b.ne LBB0_92 $232(%rip)
|
||||
WORD $0x2943c3fe // ldp w30, w16, [sp, #28]
|
||||
WORD $0x0a130210 // and w16, w16, w19
|
||||
WORD $0x4b1000f1 // sub w17, w7, w16
|
||||
WORD $0xb90013f0 // str w16, [sp, #16]
|
||||
WORD $0x0b140210 // add w16, w16, w20
|
||||
WORD $0x0a110210 // and w16, w16, w17
|
||||
WORD $0x6a1e021f // tst w16, w30
|
||||
WORD $0x54000641 // b.ne LBB0_92 $200(%rip)
|
||||
WORD $0xb94013f0 // ldr w16, [sp, #16]
|
||||
WORD $0x4b1002b1 // sub w17, w21, w16
|
||||
WORD $0x0b160210 // add w16, w16, w22
|
||||
WORD $0x0a110210 // and w16, w16, w17
|
||||
WORD $0xb9401ffe // ldr w30, [sp, #28]
|
||||
WORD $0x6a1e021f // tst w16, w30
|
||||
WORD $0x54000561 // b.ne LBB0_92 $172(%rip)
|
||||
WORD $0xb94023f0 // ldr w16, [sp, #32]
|
||||
WORD $0x5ac00a10 // rev w16, w16
|
||||
WORD $0x0a70131e // bic w30, w24, w16, lsr #4
|
||||
WORD $0x0b1e0fde // add w30, w30, w30, lsl #3
|
||||
WORD $0x0a170210 // and w16, w16, w23
|
||||
WORD $0x0b1003d0 // add w16, w30, w16
|
||||
WORD $0x530c7e1e // lsr w30, w16, #12
|
||||
WORD $0x2a5023d0 // orr w16, w30, w16, lsr #8
|
||||
WORD $0x12161610 // and w16, w16, #0xfc00
|
||||
WORD $0x6b1a021f // cmp w16, w26
|
||||
WORD $0x54000401 // b.ne LBB0_92 $128(%rip)
|
||||
WORD $0x8b0c01d0 // add x16, x14, x12
|
||||
WORD $0x8b1b0210 // add x16, x16, x27
|
||||
WORD $0x9100321e // add lr, x16, #12
|
||||
WORD $0x14000011 // b LBB0_91 $68(%rip)
|
||||
LBB0_88:
|
||||
WORD $0x9280003e // mov lr, #-2
|
||||
WORD $0xb9401ff0 // ldr w16, [sp, #28]
|
||||
WORD $0x51008a10 // sub w16, w16, #34
|
||||
WORD $0xf90013f0 // str x16, [sp, #32]
|
||||
WORD $0x7100ea1f // cmp w16, #58
|
||||
WORD $0x54000368 // b.hi LBB0_94 $108(%rip)
|
||||
WORD $0x52800030 // mov w16, #1
|
||||
WORD $0xf94013f1 // ldr x17, [sp, #32]
|
||||
WORD $0x9ad12210 // lsl x16, x16, x17
|
||||
WORD $0xd2840031 // mov x17, #8193
|
||||
WORD $0xf2e08011 // movk x17, #1024, lsl #48
|
||||
WORD $0xea11021f // tst x16, x17
|
||||
WORD $0x54000280 // b.eq LBB0_94 $80(%rip)
|
||||
LBB0_90:
|
||||
WORD $0x8b0c01d0 // add x16, x14, x12
|
||||
WORD $0x8b1b0210 // add x16, x16, x27
|
||||
WORD $0x91000a1e // add lr, x16, #2
|
||||
LBB0_91:
|
||||
WORD $0x8b1b0190 // add x16, x12, x27
|
||||
WORD $0xf90013f0 // str x16, [sp, #32]
|
||||
WORD $0xcb0c014c // sub x12, x10, x12
|
||||
WORD $0x8b0c03cc // add x12, lr, x12
|
||||
WORD $0xcb1b0190 // sub x16, x12, x27
|
||||
WORD $0xf94013ec // ldr x12, [sp, #32]
|
||||
WORD $0x8b10018c // add x12, x12, x16
|
||||
WORD $0xcb1b016b // sub x11, x11, x27
|
||||
WORD $0xcb10016b // sub x11, x11, x16
|
||||
WORD $0xb6ffeb9e // tbz lr, #63, LBB0_62 $-656(%rip)
|
||||
WORD $0x14000006 // b LBB0_94 $24(%rip)
|
||||
LBB0_92:
|
||||
WORD $0x8b0c01d0 // add x16, x14, x12
|
||||
WORD $0x8b1b0210 // add x16, x16, x27
|
||||
WORD $0x91001a1e // add lr, x16, #6
|
||||
WORD $0x17fffff2 // b LBB0_91 $-56(%rip)
|
||||
LBB0_93:
|
||||
WORD $0x9280003e // mov lr, #-2
|
||||
LBB0_94:
|
||||
WORD $0xf9400408 // ldr x8, [x0, #8]
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xf900005e // str lr, [x2]
|
||||
LBB0_95:
|
||||
WORD $0xa947fbfd // ldp fp, lr, [sp, #120]
|
||||
WORD $0xa946cff4 // ldp x20, x19, [sp, #104]
|
||||
WORD $0xa945d7f6 // ldp x22, x21, [sp, #88]
|
||||
WORD $0xa944dff8 // ldp x24, x23, [sp, #72]
|
||||
WORD $0xa943e7fa // ldp x26, x25, [sp, #56]
|
||||
WORD $0xa942effc // ldp x28, x27, [sp, #40]
|
||||
WORD $0x910243ff // add sp, sp, #144
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_96:
|
||||
WORD $0xcb0a018a // sub x10, x12, x10
|
||||
WORD $0x8b1b014a // add x10, x10, x27
|
||||
WORD $0x9100055e // add lr, x10, #1
|
||||
WORD $0xb6ffce1e // tbz lr, #63, LBB0_23 $-1600(%rip)
|
||||
WORD $0x17fffff1 // b LBB0_94 $-60(%rip)
|
||||
LBB0_97:
|
||||
WORD $0xb400022b // cbz x11, LBB0_101 $68(%rip)
|
||||
WORD $0xaa2a03ec // mvn x12, x10
|
||||
WORD $0x8b0c01ac // add x12, x13, x12
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a890189 // csel x9, x12, x9, eq
|
||||
WORD $0x910005ad // add x13, x13, #1
|
||||
WORD $0xd100056b // sub x11, x11, #1
|
||||
WORD $0xb5ffddab // cbnz x11, LBB0_45 $-1100(%rip)
|
||||
WORD $0x17ffff08 // b LBB0_53 $-992(%rip)
|
||||
LBB0_99:
|
||||
WORD $0xb400010b // cbz x11, LBB0_101 $32(%rip)
|
||||
WORD $0xaa2a03ee // mvn x14, x10
|
||||
WORD $0x8b0e018e // add x14, x12, x14
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a8901c9 // csel x9, x14, x9, eq
|
||||
WORD $0x9100058c // add x12, x12, #1
|
||||
WORD $0xd100056b // sub x11, x11, #1
|
||||
WORD $0x17ffff1f // b LBB0_61 $-900(%rip)
|
||||
LBB0_101:
|
||||
WORD $0x9280001e // mov lr, #-1
|
||||
WORD $0x17ffffde // b LBB0_94 $-136(%rip)
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__vstring(SB), NOSPLIT, $0-32
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $208, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_vstring:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD v+16(FP), R2
|
||||
MOVD flags+24(FP), R3
|
||||
MOVD ·_subr__vstring(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __vstring_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__vstring uintptr = __vstring_entry__() + 32
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__vstring = 144
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__vstring
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__vstring
|
||||
)
|
||||
32
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.go
generated
vendored
Normal file
32
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package neon
|
||||
|
||||
import (
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
func vunsigned(s *string, p *int, v *types.JsonState) {
|
||||
__vunsigned(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vunsigned(s *string, p *int, v *types.JsonState)
|
||||
150
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.s
generated
vendored
Normal file
150
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,150 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__vunsigned_entry__(SB), NOSPLIT, $16
|
||||
NO_LOCAL_POINTERS
|
||||
WORD $0x100000a0 // adr x0, .+20
|
||||
MOVD R0, ret(FP)
|
||||
RET
|
||||
// .p2align 2, 0x00
|
||||
_vunsigned:
|
||||
WORD $0xd10083ff // sub sp, sp, #32
|
||||
WORD $0xa900fbfd // stp fp, lr, [sp, #8]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xf9400028 // ldr x8, [x1]
|
||||
WORD $0xa940240a // ldp x10, x9, [x0]
|
||||
WORD $0x5280012b // mov w11, #9
|
||||
WORD $0xa900fc5f // stp xzr, xzr, [x2, #8]
|
||||
WORD $0xf900004b // str x11, [x2]
|
||||
WORD $0xf940002b // ldr x11, [x1]
|
||||
WORD $0xf9000c4b // str x11, [x2, #24]
|
||||
WORD $0xeb09011f // cmp x8, x9
|
||||
WORD $0x54000162 // b.hs LBB0_3 $44(%rip)
|
||||
WORD $0x8b08014b // add x11, x10, x8
|
||||
WORD $0x3940016c // ldrb w12, [x11]
|
||||
WORD $0x7100b59f // cmp w12, #45
|
||||
WORD $0x540001a1 // b.ne LBB0_4 $52(%rip)
|
||||
LBB0_2:
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x928000a8 // mov x8, #-6
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_3:
|
||||
WORD $0xf9000029 // str x9, [x1]
|
||||
WORD $0x92800008 // mov x8, #-1
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_4:
|
||||
WORD $0x5100e98d // sub w13, w12, #58
|
||||
WORD $0x31002dbf // cmn w13, #11
|
||||
WORD $0x540000e8 // b.hi LBB0_6 $28(%rip)
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x92800028 // mov x8, #-2
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_6:
|
||||
WORD $0x7100c19f // cmp w12, #48
|
||||
WORD $0x54000161 // b.ne LBB0_8 $44(%rip)
|
||||
WORD $0x3940056b // ldrb w11, [x11, #1]
|
||||
WORD $0x5100b96b // sub w11, w11, #46
|
||||
WORD $0x7100dd7f // cmp w11, #55
|
||||
WORD $0x5280002c // mov w12, #1
|
||||
WORD $0x9acb218b // lsl x11, x12, x11
|
||||
WORD $0xb20903ec // mov x12, #36028797027352576
|
||||
WORD $0xf280002c // movk x12, #1
|
||||
WORD $0x8a0c016b // and x11, x11, x12
|
||||
WORD $0xfa409964 // ccmp x11, #0, #4, ls
|
||||
WORD $0x540005a0 // b.eq LBB0_21 $180(%rip)
|
||||
LBB0_8:
|
||||
WORD $0xd280000b // mov x11, #0
|
||||
WORD $0xeb08013f // cmp x9, x8
|
||||
WORD $0x9a88812c // csel x12, x9, x8, hi
|
||||
WORD $0x5280014d // mov w13, #10
|
||||
LBB0_9:
|
||||
WORD $0xeb08019f // cmp x12, x8
|
||||
WORD $0x54000440 // b.eq LBB0_20 $136(%rip)
|
||||
WORD $0x3868694e // ldrb w14, [x10, x8]
|
||||
WORD $0x5100c1ce // sub w14, w14, #48
|
||||
WORD $0x710025df // cmp w14, #9
|
||||
WORD $0x54000288 // b.hi LBB0_15 $80(%rip)
|
||||
WORD $0x9bcd7d6f // umulh x15, x11, x13
|
||||
WORD $0xeb0f03ff // cmp xzr, x15
|
||||
WORD $0x54000141 // b.ne LBB0_14 $40(%rip)
|
||||
WORD $0x8b0b096b // add x11, x11, x11, lsl #2
|
||||
WORD $0xd37ff96b // lsl x11, x11, #1
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xab2e016b // adds x11, x11, w14, uxtb
|
||||
WORD $0x1a9f37ef // cset w15, hs
|
||||
WORD $0x934001ee // sbfx x14, x15, #0, #1
|
||||
WORD $0xca0f01cf // eor x15, x14, x15
|
||||
WORD $0xb500004f // cbnz x15, LBB0_14 $8(%rip)
|
||||
WORD $0xb6fffdee // tbz x14, #63, LBB0_9 $-68(%rip)
|
||||
LBB0_14:
|
||||
WORD $0xd1000508 // sub x8, x8, #1
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x92800088 // mov x8, #-5
|
||||
WORD $0xf9000048 // str x8, [x2]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_15:
|
||||
WORD $0xeb09011f // cmp x8, x9
|
||||
WORD $0x54000102 // b.hs LBB0_19 $32(%rip)
|
||||
WORD $0x38686949 // ldrb w9, [x10, x8]
|
||||
WORD $0x7100b93f // cmp w9, #46
|
||||
WORD $0x54fff7c0 // b.eq LBB0_2 $-264(%rip)
|
||||
WORD $0x7101153f // cmp w9, #69
|
||||
WORD $0x54fff780 // b.eq LBB0_2 $-272(%rip)
|
||||
WORD $0x7101953f // cmp w9, #101
|
||||
WORD $0x54fff740 // b.eq LBB0_2 $-280(%rip)
|
||||
LBB0_19:
|
||||
WORD $0xaa0803ec // mov x12, x8
|
||||
LBB0_20:
|
||||
WORD $0xf900002c // str x12, [x1]
|
||||
WORD $0xf900084b // str x11, [x2, #16]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_21:
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
|
||||
WORD $0x910083ff // add sp, sp, #32
|
||||
WORD $0xd65f03c0 // ret
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__vunsigned(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $96, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_vunsigned:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD v+16(FP), R2
|
||||
MOVD ·_subr__vunsigned(SB), R11
|
||||
WORD $0x1000005e // adr x30, .+8
|
||||
JMP (R11)
|
||||
RET
|
||||
|
||||
_stack_grow:
|
||||
MOVD R30, R3
|
||||
CALL runtime·morestack_noctxt<>(SB)
|
||||
JMP _entry
|
||||
25
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_subr_arm64.go
generated
vendored
Normal file
25
vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_subr_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
package neon
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection ALL
|
||||
func __vunsigned_entry__() uintptr
|
||||
|
||||
var (
|
||||
_subr__vunsigned uintptr = __vunsigned_entry__() + 0
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__vunsigned = 32
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__vunsigned
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__vunsigned
|
||||
)
|
||||
Reference in New Issue
Block a user