forked from apps/featurer
Add vendor to improve building speed.
This also adds ability to be built in network-constrained environment.
This commit is contained in:
31
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
31
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
35
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go
generated
vendored
Normal file
35
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
5627
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s
generated
vendored
Normal file
5627
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 = 208
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__get_by_path
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__get_by_path
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
31
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
49
vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go
generated
vendored
Normal file
49
vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// Code generated by Makefile, 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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
2384
vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s
generated
vendored
Normal file
2384
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 = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_array
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_array
|
||||
)
|
31
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
2384
vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s
generated
vendored
Normal file
2384
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 = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_object
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_object
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
||||
}
|
2384
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s
generated
vendored
Normal file
2384
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
31
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
998
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s
generated
vendored
Normal file
998
vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,998 @@
|
||||
// +build !noasm !appengine
|
||||
// Code generated by asm2asm, DO NOT EDIT.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "funcdata.h"
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·__skip_one_fast_entry__(SB), NOSPLIT, $176
|
||||
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_one_fast:
|
||||
WORD $0xd10303ff // sub sp, sp, #192
|
||||
WORD $0xa905effc // stp x28, x27, [sp, #88]
|
||||
WORD $0xa906e7fa // stp x26, x25, [sp, #104]
|
||||
WORD $0xa907dff8 // stp x24, x23, [sp, #120]
|
||||
WORD $0xa908d7f6 // stp x22, x21, [sp, #136]
|
||||
WORD $0xa909cff4 // stp x20, x19, [sp, #152]
|
||||
WORD $0xa90afbfd // stp fp, lr, [sp, #168]
|
||||
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
|
||||
WORD $0xd10023fd // sub fp, sp, #8
|
||||
WORD $0xf940002b // ldr x11, [x1]
|
||||
WORD $0xa9402809 // ldp x9, x10, [x0]
|
||||
WORD $0xeb0a017f // cmp x11, x10
|
||||
WORD $0x54000142 // b.hs LBB0_4 $40(%rip)
|
||||
WORD $0x386b6928 // ldrb w8, [x9, x11]
|
||||
WORD $0x7100351f // cmp w8, #13
|
||||
WORD $0x540000e0 // b.eq LBB0_4 $28(%rip)
|
||||
WORD $0x7100811f // cmp w8, #32
|
||||
WORD $0x540000a0 // b.eq LBB0_4 $20(%rip)
|
||||
WORD $0x51002d0c // sub w12, w8, #11
|
||||
WORD $0xaa0b03e8 // mov x8, x11
|
||||
WORD $0x3100099f // cmn w12, #2
|
||||
WORD $0x54000683 // b.lo LBB0_21 $208(%rip)
|
||||
LBB0_4:
|
||||
WORD $0x91000568 // add x8, x11, #1
|
||||
WORD $0xeb0a011f // cmp x8, x10
|
||||
WORD $0x54000122 // b.hs LBB0_8 $36(%rip)
|
||||
WORD $0x3868692c // ldrb w12, [x9, x8]
|
||||
WORD $0x7100359f // cmp w12, #13
|
||||
WORD $0x540000c0 // b.eq LBB0_8 $24(%rip)
|
||||
WORD $0x7100819f // cmp w12, #32
|
||||
WORD $0x54000080 // b.eq LBB0_8 $16(%rip)
|
||||
WORD $0x51002d8c // sub w12, w12, #11
|
||||
WORD $0x3100099f // cmn w12, #2
|
||||
WORD $0x54000523 // b.lo LBB0_21 $164(%rip)
|
||||
LBB0_8:
|
||||
WORD $0x91000968 // add x8, x11, #2
|
||||
WORD $0xeb0a011f // cmp x8, x10
|
||||
WORD $0x54000122 // b.hs LBB0_12 $36(%rip)
|
||||
WORD $0x3868692c // ldrb w12, [x9, x8]
|
||||
WORD $0x7100359f // cmp w12, #13
|
||||
WORD $0x540000c0 // b.eq LBB0_12 $24(%rip)
|
||||
WORD $0x7100819f // cmp w12, #32
|
||||
WORD $0x54000080 // b.eq LBB0_12 $16(%rip)
|
||||
WORD $0x51002d8c // sub w12, w12, #11
|
||||
WORD $0x3100099f // cmn w12, #2
|
||||
WORD $0x540003c3 // b.lo LBB0_21 $120(%rip)
|
||||
LBB0_12:
|
||||
WORD $0x91000d68 // add x8, x11, #3
|
||||
WORD $0xeb0a011f // cmp x8, x10
|
||||
WORD $0x54000122 // b.hs LBB0_16 $36(%rip)
|
||||
WORD $0x3868692c // ldrb w12, [x9, x8]
|
||||
WORD $0x7100359f // cmp w12, #13
|
||||
WORD $0x540000c0 // b.eq LBB0_16 $24(%rip)
|
||||
WORD $0x7100819f // cmp w12, #32
|
||||
WORD $0x54000080 // b.eq LBB0_16 $16(%rip)
|
||||
WORD $0x51002d8c // sub w12, w12, #11
|
||||
WORD $0x3100099f // cmn w12, #2
|
||||
WORD $0x54000263 // b.lo LBB0_21 $76(%rip)
|
||||
LBB0_16:
|
||||
WORD $0x91001168 // add x8, x11, #4
|
||||
WORD $0xeb0a011f // cmp x8, x10
|
||||
WORD $0x54005ae2 // b.hs LBB0_115 $2908(%rip)
|
||||
WORD $0x5280002b // mov w11, #1
|
||||
WORD $0xd284c00c // mov x12, #9728
|
||||
WORD $0xf2c0002c // movk x12, #1, lsl #32
|
||||
LBB0_18:
|
||||
WORD $0x3868692d // ldrb w13, [x9, x8]
|
||||
WORD $0x710081bf // cmp w13, #32
|
||||
WORD $0x9acd216d // lsl x13, x11, x13
|
||||
WORD $0x8a0c01ad // and x13, x13, x12
|
||||
WORD $0xfa4099a4 // ccmp x13, #0, #4, ls
|
||||
WORD $0x540000a0 // b.eq LBB0_20 $20(%rip)
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xeb08015f // cmp x10, x8
|
||||
WORD $0x54ffff01 // b.ne LBB0_18 $-32(%rip)
|
||||
WORD $0x140002cb // b LBB0_116 $2860(%rip)
|
||||
LBB0_20:
|
||||
WORD $0xeb0a011f // cmp x8, x10
|
||||
WORD $0x54005922 // b.hs LBB0_116 $2852(%rip)
|
||||
LBB0_21:
|
||||
WORD $0x91000510 // add x16, x8, #1
|
||||
WORD $0xf9000030 // str x16, [x1]
|
||||
WORD $0x3868692a // ldrb w10, [x9, x8]
|
||||
WORD $0x7101695f // cmp w10, #90
|
||||
WORD $0x540006ec // b.gt LBB0_39 $220(%rip)
|
||||
WORD $0x7100bd5f // cmp w10, #47
|
||||
WORD $0x54000b4d // b.le LBB0_44 $360(%rip)
|
||||
WORD $0x5100c14a // sub w10, w10, #48
|
||||
WORD $0x7100295f // cmp w10, #10
|
||||
WORD $0x540055a2 // b.hs LBB0_110 $2740(%rip)
|
||||
LBB0_24:
|
||||
WORD $0xf940040a // ldr x10, [x0, #8]
|
||||
WORD $0xcb10014a // sub x10, x10, x16
|
||||
WORD $0xf100415f // cmp x10, #16
|
||||
WORD $0x540002c3 // b.lo LBB0_28 $88(%rip)
|
||||
WORD $0x4f01e580 // movi.16b v0, #44
|
||||
WORD $0x4f06e7e1 // movi.16b v1, #223
|
||||
WORD $0x4f02e7a2 // movi.16b v2, #93
|
||||
Lloh0:
|
||||
WORD $0x10fff3cb // adr x11, lCPI0_0 $-392(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fff40b // adr x11, lCPI0_1 $-384(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
LBB0_26:
|
||||
WORD $0x3cf06925 // ldr q5, [x9, x16]
|
||||
WORD $0x6e208ca6 // cmeq.16b v6, v5, v0
|
||||
WORD $0x4e211ca5 // and.16b v5, v5, v1
|
||||
WORD $0x6e228ca5 // cmeq.16b v5, v5, v2
|
||||
WORD $0x4ea61ca5 // orr.16b v5, v5, v6
|
||||
WORD $0x4e231ca5 // and.16b v5, v5, v3
|
||||
WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4
|
||||
WORD $0x4e71b8a5 // addv.8h h5, v5
|
||||
WORD $0x1e2600ab // fmov w11, s5
|
||||
WORD $0x350002eb // cbnz w11, LBB0_36 $92(%rip)
|
||||
WORD $0xd100414a // sub x10, x10, #16
|
||||
WORD $0x91004210 // add x16, x16, #16
|
||||
WORD $0xf1003d5f // cmp x10, #15
|
||||
WORD $0x54fffe68 // b.hi LBB0_26 $-52(%rip)
|
||||
LBB0_28:
|
||||
WORD $0x8b10012b // add x11, x9, x16
|
||||
WORD $0xb40001ea // cbz x10, LBB0_35 $60(%rip)
|
||||
WORD $0x8b0a016c // add x12, x11, x10
|
||||
WORD $0xcb09016d // sub x13, x11, x9
|
||||
LBB0_30:
|
||||
WORD $0x3940016e // ldrb w14, [x11]
|
||||
WORD $0x7100b1df // cmp w14, #44
|
||||
WORD $0x540052c0 // b.eq LBB0_112 $2648(%rip)
|
||||
WORD $0x7101f5df // cmp w14, #125
|
||||
WORD $0x54005280 // b.eq LBB0_112 $2640(%rip)
|
||||
WORD $0x710175df // cmp w14, #93
|
||||
WORD $0x54005240 // b.eq LBB0_112 $2632(%rip)
|
||||
WORD $0x9100056b // add x11, x11, #1
|
||||
WORD $0x910005ad // add x13, x13, #1
|
||||
WORD $0xf100054a // subs x10, x10, #1
|
||||
WORD $0x54fffec1 // b.ne LBB0_30 $-40(%rip)
|
||||
WORD $0xaa0c03eb // mov x11, x12
|
||||
LBB0_35:
|
||||
WORD $0xcb090169 // sub x9, x11, x9
|
||||
WORD $0x14000004 // b LBB0_37 $16(%rip)
|
||||
LBB0_36:
|
||||
WORD $0x5ac00169 // rbit w9, w11
|
||||
WORD $0x5ac01129 // clz w9, w9
|
||||
WORD $0x8b100129 // add x9, x9, x16
|
||||
LBB0_37:
|
||||
WORD $0xf9000029 // str x9, [x1]
|
||||
LBB0_38:
|
||||
WORD $0xaa0803e0 // mov x0, x8
|
||||
WORD $0x1400028f // b LBB0_117 $2620(%rip)
|
||||
LBB0_39:
|
||||
WORD $0x7101b55f // cmp w10, #109
|
||||
WORD $0x5400054d // b.le LBB0_47 $168(%rip)
|
||||
WORD $0x7101b95f // cmp w10, #110
|
||||
WORD $0x54002320 // b.eq LBB0_74 $1124(%rip)
|
||||
WORD $0x7101d15f // cmp w10, #116
|
||||
WORD $0x540022e0 // b.eq LBB0_74 $1116(%rip)
|
||||
WORD $0x7101ed5f // cmp w10, #123
|
||||
WORD $0x54004e81 // b.ne LBB0_110 $2512(%rip)
|
||||
WORD $0xd2800007 // mov x7, #0
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
WORD $0xd280000a // mov x10, #0
|
||||
WORD $0xd280000b // mov x11, #0
|
||||
WORD $0xb201e3ec // mov x12, #-8608480567731124088
|
||||
WORD $0xf2e1110c // movk x12, #2184, lsl #48
|
||||
WORD $0xb202e3ed // mov x13, #4919131752989213764
|
||||
WORD $0xf2e0888d // movk x13, #1092, lsl #48
|
||||
WORD $0xb203e3ee // mov x14, #2459565876494606882
|
||||
WORD $0xf2e0444e // movk x14, #546, lsl #48
|
||||
WORD $0xf9400411 // ldr x17, [x0, #8]
|
||||
WORD $0xcb100225 // sub x5, x17, x16
|
||||
WORD $0x8b100130 // add x16, x9, x16
|
||||
WORD $0x910043e9 // add x9, sp, #16
|
||||
WORD $0x91008129 // add x9, x9, #32
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
Lloh4:
|
||||
WORD $0x10ffeb91 // adr x17, lCPI0_0 $-656(%rip)
|
||||
Lloh5:
|
||||
WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh6:
|
||||
WORD $0x10ffebd1 // adr x17, lCPI0_1 $-648(%rip)
|
||||
Lloh7:
|
||||
WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4f02e783 // movi.16b v3, #92
|
||||
WORD $0xb200e3f1 // mov x17, #1229782938247303441
|
||||
WORD $0xb203e3e2 // mov x2, #2459565876494606882
|
||||
WORD $0xb202e3e3 // mov x3, #4919131752989213764
|
||||
WORD $0xb201e3e4 // mov x4, #-8608480567731124088
|
||||
WORD $0x4f03e764 // movi.16b v4, #123
|
||||
WORD $0x4f03e7a5 // movi.16b v5, #125
|
||||
WORD $0x6f00e406 // movi.2d v6, #0000000000000000
|
||||
WORD $0x14000018 // b LBB0_51 $96(%rip)
|
||||
LBB0_44:
|
||||
WORD $0x34004d0a // cbz w10, LBB0_116 $2464(%rip)
|
||||
WORD $0x7100895f // cmp w10, #34
|
||||
WORD $0x54001f40 // b.eq LBB0_75 $1000(%rip)
|
||||
WORD $0x7100b55f // cmp w10, #45
|
||||
WORD $0x54fff4c0 // b.eq LBB0_24 $-360(%rip)
|
||||
WORD $0x14000251 // b LBB0_110 $2372(%rip)
|
||||
LBB0_47:
|
||||
WORD $0x71016d5f // cmp w10, #91
|
||||
WORD $0x540027a0 // b.eq LBB0_84 $1268(%rip)
|
||||
WORD $0x7101995f // cmp w10, #102
|
||||
WORD $0x540049a1 // b.ne LBB0_110 $2356(%rip)
|
||||
WORD $0x91001509 // add x9, x8, #5
|
||||
WORD $0xf940040a // ldr x10, [x0, #8]
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54fff969 // b.ls LBB0_37 $-212(%rip)
|
||||
WORD $0x1400025a // b LBB0_116 $2408(%rip)
|
||||
LBB0_50:
|
||||
WORD $0x937ffce7 // asr x7, x7, #63
|
||||
WORD $0x9e670267 // fmov d7, x19
|
||||
WORD $0x0e2058e7 // cnt.8b v7, v7
|
||||
WORD $0x2e3038e7 // uaddlv.8b h7, v7
|
||||
WORD $0x1e2600e5 // fmov w5, s7
|
||||
WORD $0x8b0a00aa // add x10, x5, x10
|
||||
WORD $0x91010210 // add x16, x16, #64
|
||||
WORD $0xaa0603e5 // mov x5, x6
|
||||
LBB0_51:
|
||||
WORD $0xf10100a6 // subs x6, x5, #64
|
||||
WORD $0x540015cb // b.lt LBB0_58 $696(%rip)
|
||||
LBB0_52:
|
||||
WORD $0xad404612 // ldp q18, q17, [x16]
|
||||
WORD $0xad411e10 // ldp q16, q7, [x16, #32]
|
||||
WORD $0x6e238e53 // cmeq.16b v19, v18, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260273 // fmov w19, s19
|
||||
WORD $0x6e238e33 // cmeq.16b v19, v17, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e238e13 // cmeq.16b v19, v16, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e238cf3 // cmeq.16b v19, v7, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0xd3607eb5 // lsl x21, x21, #32
|
||||
WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48
|
||||
WORD $0x53103e94 // lsl w20, w20, #16
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0xaa0f0274 // orr x20, x19, x15
|
||||
WORD $0xb5000094 // cbnz x20, LBB0_54 $16(%rip)
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
WORD $0xd2800013 // mov x19, #0
|
||||
WORD $0x1400000a // b LBB0_55 $40(%rip)
|
||||
LBB0_54:
|
||||
WORD $0x8a2f0274 // bic x20, x19, x15
|
||||
WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1
|
||||
WORD $0x8a35026f // bic x15, x19, x21
|
||||
WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa
|
||||
WORD $0xab1401f3 // adds x19, x15, x20
|
||||
WORD $0x1a9f37ef // cset w15, hs
|
||||
WORD $0xd37ffa73 // lsl x19, x19, #1
|
||||
WORD $0xd200f273 // eor x19, x19, #0x5555555555555555
|
||||
WORD $0x8a150273 // and x19, x19, x21
|
||||
LBB0_55:
|
||||
WORD $0x6e208e53 // cmeq.16b v19, v18, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e208e33 // cmeq.16b v19, v17, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e208e13 // cmeq.16b v19, v16, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0x6e208cf3 // cmeq.16b v19, v7, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260277 // fmov w23, s19
|
||||
WORD $0xd3607ed6 // lsl x22, x22, #32
|
||||
WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48
|
||||
WORD $0x53103eb5 // lsl w21, w21, #16
|
||||
WORD $0xaa1502d5 // orr x21, x22, x21
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0x8a330293 // bic x19, x20, x19
|
||||
WORD $0x9200e274 // and x20, x19, #0x1111111111111111
|
||||
WORD $0x9203e275 // and x21, x19, #0x2222222222222222
|
||||
WORD $0x9202e276 // and x22, x19, #0x4444444444444444
|
||||
WORD $0x9201e273 // and x19, x19, #0x8888888888888888
|
||||
WORD $0x9b117e97 // mul x23, x20, x17
|
||||
WORD $0x9b0c7eb8 // mul x24, x21, x12
|
||||
WORD $0xca1802f7 // eor x23, x23, x24
|
||||
WORD $0x9b0d7ed8 // mul x24, x22, x13
|
||||
WORD $0x9b0e7e79 // mul x25, x19, x14
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0xca1802f7 // eor x23, x23, x24
|
||||
WORD $0x9b027e98 // mul x24, x20, x2
|
||||
WORD $0x9b117eb9 // mul x25, x21, x17
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0x9b0c7ed9 // mul x25, x22, x12
|
||||
WORD $0x9b0d7e7a // mul x26, x19, x13
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0x9b037e99 // mul x25, x20, x3
|
||||
WORD $0x9b027eba // mul x26, x21, x2
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0x9b117eda // mul x26, x22, x17
|
||||
WORD $0x9b0c7e7b // mul x27, x19, x12
|
||||
WORD $0xca1b035a // eor x26, x26, x27
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0x9b047e94 // mul x20, x20, x4
|
||||
WORD $0x9b037eb5 // mul x21, x21, x3
|
||||
WORD $0xca150294 // eor x20, x20, x21
|
||||
WORD $0x9b027ed5 // mul x21, x22, x2
|
||||
WORD $0x9b117e73 // mul x19, x19, x17
|
||||
WORD $0xca1302b3 // eor x19, x21, x19
|
||||
WORD $0xca130293 // eor x19, x20, x19
|
||||
WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111
|
||||
WORD $0x9203e315 // and x21, x24, #0x2222222222222222
|
||||
WORD $0x9202e336 // and x22, x25, #0x4444444444444444
|
||||
WORD $0x9201e273 // and x19, x19, #0x8888888888888888
|
||||
WORD $0xaa150294 // orr x20, x20, x21
|
||||
WORD $0xaa1302d3 // orr x19, x22, x19
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0xca070267 // eor x7, x19, x7
|
||||
WORD $0x6e248e53 // cmeq.16b v19, v18, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260273 // fmov w19, s19
|
||||
WORD $0x6e248e33 // cmeq.16b v19, v17, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e248e13 // cmeq.16b v19, v16, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e248cf3 // cmeq.16b v19, v7, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0xd3607eb5 // lsl x21, x21, #32
|
||||
WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48
|
||||
WORD $0x53103e94 // lsl w20, w20, #16
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0x8a270273 // bic x19, x19, x7
|
||||
WORD $0x6e258e52 // cmeq.16b v18, v18, v5
|
||||
WORD $0x4e211e52 // and.16b v18, v18, v1
|
||||
WORD $0x4e020252 // tbl.16b v18, { v18 }, v2
|
||||
WORD $0x4e71ba52 // addv.8h h18, v18
|
||||
WORD $0x1e260254 // fmov w20, s18
|
||||
WORD $0x6e258e31 // cmeq.16b v17, v17, v5
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260235 // fmov w21, s17
|
||||
WORD $0x6e258e10 // cmeq.16b v16, v16, v5
|
||||
WORD $0x4e211e10 // and.16b v16, v16, v1
|
||||
WORD $0x4e020210 // tbl.16b v16, { v16 }, v2
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e260216 // fmov w22, s16
|
||||
WORD $0x6e258ce7 // cmeq.16b v7, v7, v5
|
||||
WORD $0x4e211ce7 // and.16b v7, v7, v1
|
||||
WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2
|
||||
WORD $0x4e71b8e7 // addv.8h h7, v7
|
||||
WORD $0x1e2600f7 // fmov w23, s7
|
||||
WORD $0xd3607ed6 // lsl x22, x22, #32
|
||||
WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48
|
||||
WORD $0x53103eb5 // lsl w21, w21, #16
|
||||
WORD $0xaa1502d5 // orr x21, x22, x21
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xea270294 // bics x20, x20, x7
|
||||
WORD $0x54ffeae0 // b.eq LBB0_50 $-676(%rip)
|
||||
LBB0_56:
|
||||
WORD $0xd1000695 // sub x21, x20, #1
|
||||
WORD $0x8a1302b6 // and x22, x21, x19
|
||||
WORD $0x9e6702c7 // fmov d7, x22
|
||||
WORD $0x0e2058e7 // cnt.8b v7, v7
|
||||
WORD $0x2e3038e7 // uaddlv.8b h7, v7
|
||||
WORD $0x1e2600f6 // fmov w22, s7
|
||||
WORD $0x8b0a02d6 // add x22, x22, x10
|
||||
WORD $0xeb0b02df // cmp x22, x11
|
||||
WORD $0x54003109 // b.ls LBB0_109 $1568(%rip)
|
||||
WORD $0x9100056b // add x11, x11, #1
|
||||
WORD $0xea1402b4 // ands x20, x21, x20
|
||||
WORD $0x54fffea1 // b.ne LBB0_56 $-44(%rip)
|
||||
WORD $0x17ffff4a // b LBB0_50 $-728(%rip)
|
||||
LBB0_58:
|
||||
WORD $0xf10000bf // cmp x5, #0
|
||||
WORD $0x540033ed // b.le LBB0_114 $1660(%rip)
|
||||
WORD $0xad019be6 // stp q6, q6, [sp, #48]
|
||||
WORD $0xad009be6 // stp q6, q6, [sp, #16]
|
||||
WORD $0x92402e13 // and x19, x16, #0xfff
|
||||
WORD $0xf13f067f // cmp x19, #4033
|
||||
WORD $0x54ffe9a3 // b.lo LBB0_52 $-716(%rip)
|
||||
WORD $0xf10080b4 // subs x20, x5, #32
|
||||
WORD $0x540000a3 // b.lo LBB0_62 $20(%rip)
|
||||
WORD $0xacc14207 // ldp q7, q16, [x16], #32
|
||||
WORD $0xad00c3e7 // stp q7, q16, [sp, #16]
|
||||
WORD $0xaa0903f3 // mov x19, x9
|
||||
WORD $0x14000003 // b LBB0_63 $12(%rip)
|
||||
LBB0_62:
|
||||
WORD $0x910043f3 // add x19, sp, #16
|
||||
WORD $0xaa0503f4 // mov x20, x5
|
||||
LBB0_63:
|
||||
WORD $0xf1004295 // subs x21, x20, #16
|
||||
WORD $0x54000243 // b.lo LBB0_69 $72(%rip)
|
||||
WORD $0x3cc10607 // ldr q7, [x16], #16
|
||||
WORD $0x3c810667 // str q7, [x19], #16
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf10022b5 // subs x21, x21, #8
|
||||
WORD $0x540001e2 // b.hs LBB0_70 $60(%rip)
|
||||
LBB0_65:
|
||||
WORD $0xf1001295 // subs x21, x20, #4
|
||||
WORD $0x54000243 // b.lo LBB0_71 $72(%rip)
|
||||
LBB0_66:
|
||||
WORD $0xb8404614 // ldr w20, [x16], #4
|
||||
WORD $0xb8004674 // str w20, [x19], #4
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf1000ab5 // subs x21, x21, #2
|
||||
WORD $0x540001e2 // b.hs LBB0_72 $60(%rip)
|
||||
LBB0_67:
|
||||
WORD $0xb4000254 // cbz x20, LBB0_73 $72(%rip)
|
||||
LBB0_68:
|
||||
WORD $0x39400210 // ldrb w16, [x16]
|
||||
WORD $0x39000270 // strb w16, [x19]
|
||||
WORD $0x910043f0 // add x16, sp, #16
|
||||
WORD $0x17ffff32 // b LBB0_52 $-824(%rip)
|
||||
LBB0_69:
|
||||
WORD $0xf1002295 // subs x21, x20, #8
|
||||
WORD $0x54fffe63 // b.lo LBB0_65 $-52(%rip)
|
||||
LBB0_70:
|
||||
WORD $0xf8408614 // ldr x20, [x16], #8
|
||||
WORD $0xf8008674 // str x20, [x19], #8
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf10012b5 // subs x21, x21, #4
|
||||
WORD $0x54fffe02 // b.hs LBB0_66 $-64(%rip)
|
||||
LBB0_71:
|
||||
WORD $0xf1000a95 // subs x21, x20, #2
|
||||
WORD $0x54fffe63 // b.lo LBB0_67 $-52(%rip)
|
||||
LBB0_72:
|
||||
WORD $0x78402614 // ldrh w20, [x16], #2
|
||||
WORD $0x78002674 // strh w20, [x19], #2
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xb5fffe15 // cbnz x21, LBB0_68 $-64(%rip)
|
||||
LBB0_73:
|
||||
WORD $0x910043f0 // add x16, sp, #16
|
||||
WORD $0x17ffff23 // b LBB0_52 $-884(%rip)
|
||||
LBB0_74:
|
||||
WORD $0x91001109 // add x9, x8, #4
|
||||
WORD $0xf940040a // ldr x10, [x0, #8]
|
||||
WORD $0xeb0a013f // cmp x9, x10
|
||||
WORD $0x54ffdbc9 // b.ls LBB0_37 $-1160(%rip)
|
||||
WORD $0x1400016d // b LBB0_116 $1460(%rip)
|
||||
LBB0_75:
|
||||
WORD $0xf940040b // ldr x11, [x0, #8]
|
||||
WORD $0xcb10016a // sub x10, x11, x16
|
||||
WORD $0xf100815f // cmp x10, #32
|
||||
WORD $0x54002c4b // b.lt LBB0_113 $1416(%rip)
|
||||
WORD $0xd280000a // mov x10, #0
|
||||
WORD $0xd280000d // mov x13, #0
|
||||
WORD $0x8b08012c // add x12, x9, x8
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
Lloh8:
|
||||
WORD $0x10ffc96e // adr x14, lCPI0_0 $-1748(%rip)
|
||||
Lloh9:
|
||||
WORD $0x3dc001c1 // ldr q1, [x14, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0xcb08016b // sub x11, x11, x8
|
||||
Lloh10:
|
||||
WORD $0x10ffc98e // adr x14, lCPI0_1 $-1744(%rip)
|
||||
Lloh11:
|
||||
WORD $0x3dc001c2 // ldr q2, [x14, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x528003ee // mov w14, #31
|
||||
WORD $0x4f02e783 // movi.16b v3, #92
|
||||
LBB0_77:
|
||||
WORD $0x8b0a018f // add x15, x12, x10
|
||||
WORD $0x3cc011e4 // ldur q4, [x15, #1]
|
||||
WORD $0x3cc111e5 // ldur q5, [x15, #17]
|
||||
WORD $0x6e208c86 // cmeq.16b v6, v4, v0
|
||||
WORD $0x4e211cc6 // and.16b v6, v6, v1
|
||||
WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2
|
||||
WORD $0x4e71b8c6 // addv.8h h6, v6
|
||||
WORD $0x1e2600cf // fmov w15, s6
|
||||
WORD $0x6e208ca6 // cmeq.16b v6, v5, v0
|
||||
WORD $0x4e211cc6 // and.16b v6, v6, v1
|
||||
WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2
|
||||
WORD $0x4e71b8c6 // addv.8h h6, v6
|
||||
WORD $0x1e2600d0 // fmov w16, s6
|
||||
WORD $0x33103e0f // bfi w15, w16, #16, #16
|
||||
WORD $0x6e238c84 // cmeq.16b v4, v4, v3
|
||||
WORD $0x4e211c84 // and.16b v4, v4, v1
|
||||
WORD $0x4e020084 // tbl.16b v4, { v4 }, v2
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260090 // fmov w16, s4
|
||||
WORD $0x6e238ca4 // cmeq.16b v4, v5, v3
|
||||
WORD $0x4e211c84 // and.16b v4, v4, v1
|
||||
WORD $0x4e020084 // tbl.16b v4, { v4 }, v2
|
||||
WORD $0x4e71b884 // addv.8h h4, v4
|
||||
WORD $0x1e260091 // fmov w17, s4
|
||||
WORD $0x33103e30 // bfi w16, w17, #16, #16
|
||||
WORD $0x7100021f // cmp w16, #0
|
||||
WORD $0xfa4009a0 // ccmp x13, #0, #0, eq
|
||||
WORD $0x540001a0 // b.eq LBB0_79 $52(%rip)
|
||||
WORD $0x0a2d0211 // bic w17, w16, w13
|
||||
WORD $0x2a1105a0 // orr w0, w13, w17, lsl #1
|
||||
WORD $0x0a20020d // bic w13, w16, w0
|
||||
WORD $0x1201f1ad // and w13, w13, #0xaaaaaaaa
|
||||
WORD $0x2b1101b0 // adds w16, w13, w17
|
||||
WORD $0x1a9f37ed // cset w13, hs
|
||||
WORD $0x531f7a10 // lsl w16, w16, #1
|
||||
WORD $0x5200f210 // eor w16, w16, #0x55555555
|
||||
WORD $0x0a000210 // and w16, w16, w0
|
||||
WORD $0x2a3003f0 // mvn w16, w16
|
||||
WORD $0x8a0f020f // and x15, x16, x15
|
||||
WORD $0x14000002 // b LBB0_80 $8(%rip)
|
||||
LBB0_79:
|
||||
WORD $0xd280000d // mov x13, #0
|
||||
LBB0_80:
|
||||
WORD $0xb50024af // cbnz x15, LBB0_111 $1172(%rip)
|
||||
WORD $0x9100814a // add x10, x10, #32
|
||||
WORD $0xd10081ce // sub x14, x14, #32
|
||||
WORD $0x8b0e016f // add x15, x11, x14
|
||||
WORD $0xf100fdff // cmp x15, #63
|
||||
WORD $0x54fffa4c // b.gt LBB0_77 $-184(%rip)
|
||||
WORD $0xb50026ed // cbnz x13, LBB0_118 $1244(%rip)
|
||||
WORD $0x8b08012c // add x12, x9, x8
|
||||
WORD $0x8b0a018c // add x12, x12, x10
|
||||
WORD $0x9100058c // add x12, x12, #1
|
||||
WORD $0xaa2a03ea // mvn x10, x10
|
||||
WORD $0x8b0b014a // add x10, x10, x11
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xf100055f // cmp x10, #1
|
||||
WORD $0x5400280a // b.ge LBB0_121 $1280(%rip)
|
||||
WORD $0x14000126 // b LBB0_117 $1176(%rip)
|
||||
LBB0_84:
|
||||
WORD $0xd2800007 // mov x7, #0
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
WORD $0xd280000a // mov x10, #0
|
||||
WORD $0xd280000b // mov x11, #0
|
||||
WORD $0xb201e3ec // mov x12, #-8608480567731124088
|
||||
WORD $0xf2e1110c // movk x12, #2184, lsl #48
|
||||
WORD $0xb202e3ed // mov x13, #4919131752989213764
|
||||
WORD $0xf2e0888d // movk x13, #1092, lsl #48
|
||||
WORD $0xb203e3ee // mov x14, #2459565876494606882
|
||||
WORD $0xf2e0444e // movk x14, #546, lsl #48
|
||||
WORD $0xf9400411 // ldr x17, [x0, #8]
|
||||
WORD $0xcb100225 // sub x5, x17, x16
|
||||
WORD $0x8b100130 // add x16, x9, x16
|
||||
WORD $0x910043e9 // add x9, sp, #16
|
||||
WORD $0x91008129 // add x9, x9, #32
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
Lloh12:
|
||||
WORD $0x10ffbf71 // adr x17, lCPI0_0 $-2068(%rip)
|
||||
Lloh13:
|
||||
WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh14:
|
||||
WORD $0x10ffbfb1 // adr x17, lCPI0_1 $-2060(%rip)
|
||||
Lloh15:
|
||||
WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4f02e783 // movi.16b v3, #92
|
||||
WORD $0xb200e3f1 // mov x17, #1229782938247303441
|
||||
WORD $0xb203e3e2 // mov x2, #2459565876494606882
|
||||
WORD $0xb202e3e3 // mov x3, #4919131752989213764
|
||||
WORD $0xb201e3e4 // mov x4, #-8608480567731124088
|
||||
WORD $0x4f02e764 // movi.16b v4, #91
|
||||
WORD $0x4f02e7a5 // movi.16b v5, #93
|
||||
WORD $0x6f00e406 // movi.2d v6, #0000000000000000
|
||||
WORD $0x14000009 // b LBB0_86 $36(%rip)
|
||||
LBB0_85:
|
||||
WORD $0x937ffce7 // asr x7, x7, #63
|
||||
WORD $0x9e670267 // fmov d7, x19
|
||||
WORD $0x0e2058e7 // cnt.8b v7, v7
|
||||
WORD $0x2e3038e7 // uaddlv.8b h7, v7
|
||||
WORD $0x1e2600e5 // fmov w5, s7
|
||||
WORD $0x8b0a00aa // add x10, x5, x10
|
||||
WORD $0x91010210 // add x16, x16, #64
|
||||
WORD $0xaa0603e5 // mov x5, x6
|
||||
LBB0_86:
|
||||
WORD $0xf10100a6 // subs x6, x5, #64
|
||||
WORD $0x540015cb // b.lt LBB0_93 $696(%rip)
|
||||
LBB0_87:
|
||||
WORD $0xad404612 // ldp q18, q17, [x16]
|
||||
WORD $0xad411e10 // ldp q16, q7, [x16, #32]
|
||||
WORD $0x6e238e53 // cmeq.16b v19, v18, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260273 // fmov w19, s19
|
||||
WORD $0x6e238e33 // cmeq.16b v19, v17, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e238e13 // cmeq.16b v19, v16, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e238cf3 // cmeq.16b v19, v7, v3
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0xd3607eb5 // lsl x21, x21, #32
|
||||
WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48
|
||||
WORD $0x53103e94 // lsl w20, w20, #16
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0xaa0f0274 // orr x20, x19, x15
|
||||
WORD $0xb5000094 // cbnz x20, LBB0_89 $16(%rip)
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
WORD $0xd2800013 // mov x19, #0
|
||||
WORD $0x1400000a // b LBB0_90 $40(%rip)
|
||||
LBB0_89:
|
||||
WORD $0x8a2f0274 // bic x20, x19, x15
|
||||
WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1
|
||||
WORD $0x8a35026f // bic x15, x19, x21
|
||||
WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa
|
||||
WORD $0xab1401f3 // adds x19, x15, x20
|
||||
WORD $0x1a9f37ef // cset w15, hs
|
||||
WORD $0xd37ffa73 // lsl x19, x19, #1
|
||||
WORD $0xd200f273 // eor x19, x19, #0x5555555555555555
|
||||
WORD $0x8a150273 // and x19, x19, x21
|
||||
LBB0_90:
|
||||
WORD $0x6e208e53 // cmeq.16b v19, v18, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e208e33 // cmeq.16b v19, v17, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e208e13 // cmeq.16b v19, v16, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0x6e208cf3 // cmeq.16b v19, v7, v0
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260277 // fmov w23, s19
|
||||
WORD $0xd3607ed6 // lsl x22, x22, #32
|
||||
WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48
|
||||
WORD $0x53103eb5 // lsl w21, w21, #16
|
||||
WORD $0xaa1502d5 // orr x21, x22, x21
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0x8a330293 // bic x19, x20, x19
|
||||
WORD $0x9200e274 // and x20, x19, #0x1111111111111111
|
||||
WORD $0x9203e275 // and x21, x19, #0x2222222222222222
|
||||
WORD $0x9202e276 // and x22, x19, #0x4444444444444444
|
||||
WORD $0x9201e273 // and x19, x19, #0x8888888888888888
|
||||
WORD $0x9b117e97 // mul x23, x20, x17
|
||||
WORD $0x9b0c7eb8 // mul x24, x21, x12
|
||||
WORD $0xca1802f7 // eor x23, x23, x24
|
||||
WORD $0x9b0d7ed8 // mul x24, x22, x13
|
||||
WORD $0x9b0e7e79 // mul x25, x19, x14
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0xca1802f7 // eor x23, x23, x24
|
||||
WORD $0x9b027e98 // mul x24, x20, x2
|
||||
WORD $0x9b117eb9 // mul x25, x21, x17
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0x9b0c7ed9 // mul x25, x22, x12
|
||||
WORD $0x9b0d7e7a // mul x26, x19, x13
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0xca190318 // eor x24, x24, x25
|
||||
WORD $0x9b037e99 // mul x25, x20, x3
|
||||
WORD $0x9b027eba // mul x26, x21, x2
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0x9b117eda // mul x26, x22, x17
|
||||
WORD $0x9b0c7e7b // mul x27, x19, x12
|
||||
WORD $0xca1b035a // eor x26, x26, x27
|
||||
WORD $0xca1a0339 // eor x25, x25, x26
|
||||
WORD $0x9b047e94 // mul x20, x20, x4
|
||||
WORD $0x9b037eb5 // mul x21, x21, x3
|
||||
WORD $0xca150294 // eor x20, x20, x21
|
||||
WORD $0x9b027ed5 // mul x21, x22, x2
|
||||
WORD $0x9b117e73 // mul x19, x19, x17
|
||||
WORD $0xca1302b3 // eor x19, x21, x19
|
||||
WORD $0xca130293 // eor x19, x20, x19
|
||||
WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111
|
||||
WORD $0x9203e315 // and x21, x24, #0x2222222222222222
|
||||
WORD $0x9202e336 // and x22, x25, #0x4444444444444444
|
||||
WORD $0x9201e273 // and x19, x19, #0x8888888888888888
|
||||
WORD $0xaa150294 // orr x20, x20, x21
|
||||
WORD $0xaa1302d3 // orr x19, x22, x19
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0xca070267 // eor x7, x19, x7
|
||||
WORD $0x6e248e53 // cmeq.16b v19, v18, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260273 // fmov w19, s19
|
||||
WORD $0x6e248e33 // cmeq.16b v19, v17, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260274 // fmov w20, s19
|
||||
WORD $0x6e248e13 // cmeq.16b v19, v16, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260275 // fmov w21, s19
|
||||
WORD $0x6e248cf3 // cmeq.16b v19, v7, v4
|
||||
WORD $0x4e211e73 // and.16b v19, v19, v1
|
||||
WORD $0x4e020273 // tbl.16b v19, { v19 }, v2
|
||||
WORD $0x4e71ba73 // addv.8h h19, v19
|
||||
WORD $0x1e260276 // fmov w22, s19
|
||||
WORD $0xd3607eb5 // lsl x21, x21, #32
|
||||
WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48
|
||||
WORD $0x53103e94 // lsl w20, w20, #16
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xaa130293 // orr x19, x20, x19
|
||||
WORD $0x8a270273 // bic x19, x19, x7
|
||||
WORD $0x6e258e52 // cmeq.16b v18, v18, v5
|
||||
WORD $0x4e211e52 // and.16b v18, v18, v1
|
||||
WORD $0x4e020252 // tbl.16b v18, { v18 }, v2
|
||||
WORD $0x4e71ba52 // addv.8h h18, v18
|
||||
WORD $0x1e260254 // fmov w20, s18
|
||||
WORD $0x6e258e31 // cmeq.16b v17, v17, v5
|
||||
WORD $0x4e211e31 // and.16b v17, v17, v1
|
||||
WORD $0x4e020231 // tbl.16b v17, { v17 }, v2
|
||||
WORD $0x4e71ba31 // addv.8h h17, v17
|
||||
WORD $0x1e260235 // fmov w21, s17
|
||||
WORD $0x6e258e10 // cmeq.16b v16, v16, v5
|
||||
WORD $0x4e211e10 // and.16b v16, v16, v1
|
||||
WORD $0x4e020210 // tbl.16b v16, { v16 }, v2
|
||||
WORD $0x4e71ba10 // addv.8h h16, v16
|
||||
WORD $0x1e260216 // fmov w22, s16
|
||||
WORD $0x6e258ce7 // cmeq.16b v7, v7, v5
|
||||
WORD $0x4e211ce7 // and.16b v7, v7, v1
|
||||
WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2
|
||||
WORD $0x4e71b8e7 // addv.8h h7, v7
|
||||
WORD $0x1e2600f7 // fmov w23, s7
|
||||
WORD $0xd3607ed6 // lsl x22, x22, #32
|
||||
WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48
|
||||
WORD $0x53103eb5 // lsl w21, w21, #16
|
||||
WORD $0xaa1502d5 // orr x21, x22, x21
|
||||
WORD $0xaa1402b4 // orr x20, x21, x20
|
||||
WORD $0xea270294 // bics x20, x20, x7
|
||||
WORD $0x54ffeae0 // b.eq LBB0_85 $-676(%rip)
|
||||
LBB0_91:
|
||||
WORD $0xd1000695 // sub x21, x20, #1
|
||||
WORD $0x8a1302b6 // and x22, x21, x19
|
||||
WORD $0x9e6702c7 // fmov d7, x22
|
||||
WORD $0x0e2058e7 // cnt.8b v7, v7
|
||||
WORD $0x2e3038e7 // uaddlv.8b h7, v7
|
||||
WORD $0x1e2600f6 // fmov w22, s7
|
||||
WORD $0x8b0a02d6 // add x22, x22, x10
|
||||
WORD $0xeb0b02df // cmp x22, x11
|
||||
WORD $0x540006c9 // b.ls LBB0_109 $216(%rip)
|
||||
WORD $0x9100056b // add x11, x11, #1
|
||||
WORD $0xea1402b4 // ands x20, x21, x20
|
||||
WORD $0x54fffea1 // b.ne LBB0_91 $-44(%rip)
|
||||
WORD $0x17ffff4a // b LBB0_85 $-728(%rip)
|
||||
LBB0_93:
|
||||
WORD $0xf10000bf // cmp x5, #0
|
||||
WORD $0x540009ad // b.le LBB0_114 $308(%rip)
|
||||
WORD $0xad019be6 // stp q6, q6, [sp, #48]
|
||||
WORD $0xad009be6 // stp q6, q6, [sp, #16]
|
||||
WORD $0x92402e13 // and x19, x16, #0xfff
|
||||
WORD $0xf13f067f // cmp x19, #4033
|
||||
WORD $0x54ffe9a3 // b.lo LBB0_87 $-716(%rip)
|
||||
WORD $0xf10080b4 // subs x20, x5, #32
|
||||
WORD $0x540000a3 // b.lo LBB0_97 $20(%rip)
|
||||
WORD $0xacc14207 // ldp q7, q16, [x16], #32
|
||||
WORD $0xad00c3e7 // stp q7, q16, [sp, #16]
|
||||
WORD $0xaa0903f3 // mov x19, x9
|
||||
WORD $0x14000003 // b LBB0_98 $12(%rip)
|
||||
LBB0_97:
|
||||
WORD $0x910043f3 // add x19, sp, #16
|
||||
WORD $0xaa0503f4 // mov x20, x5
|
||||
LBB0_98:
|
||||
WORD $0xf1004295 // subs x21, x20, #16
|
||||
WORD $0x54000243 // b.lo LBB0_104 $72(%rip)
|
||||
WORD $0x3cc10607 // ldr q7, [x16], #16
|
||||
WORD $0x3c810667 // str q7, [x19], #16
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf10022b5 // subs x21, x21, #8
|
||||
WORD $0x540001e2 // b.hs LBB0_105 $60(%rip)
|
||||
LBB0_100:
|
||||
WORD $0xf1001295 // subs x21, x20, #4
|
||||
WORD $0x54000243 // b.lo LBB0_106 $72(%rip)
|
||||
LBB0_101:
|
||||
WORD $0xb8404614 // ldr w20, [x16], #4
|
||||
WORD $0xb8004674 // str w20, [x19], #4
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf1000ab5 // subs x21, x21, #2
|
||||
WORD $0x540001e2 // b.hs LBB0_107 $60(%rip)
|
||||
LBB0_102:
|
||||
WORD $0xb4000254 // cbz x20, LBB0_108 $72(%rip)
|
||||
LBB0_103:
|
||||
WORD $0x39400210 // ldrb w16, [x16]
|
||||
WORD $0x39000270 // strb w16, [x19]
|
||||
WORD $0x910043f0 // add x16, sp, #16
|
||||
WORD $0x17ffff32 // b LBB0_87 $-824(%rip)
|
||||
LBB0_104:
|
||||
WORD $0xf1002295 // subs x21, x20, #8
|
||||
WORD $0x54fffe63 // b.lo LBB0_100 $-52(%rip)
|
||||
LBB0_105:
|
||||
WORD $0xf8408614 // ldr x20, [x16], #8
|
||||
WORD $0xf8008674 // str x20, [x19], #8
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xf10012b5 // subs x21, x21, #4
|
||||
WORD $0x54fffe02 // b.hs LBB0_101 $-64(%rip)
|
||||
LBB0_106:
|
||||
WORD $0xf1000a95 // subs x21, x20, #2
|
||||
WORD $0x54fffe63 // b.lo LBB0_102 $-52(%rip)
|
||||
LBB0_107:
|
||||
WORD $0x78402614 // ldrh w20, [x16], #2
|
||||
WORD $0x78002674 // strh w20, [x19], #2
|
||||
WORD $0xaa1503f4 // mov x20, x21
|
||||
WORD $0xb5fffe15 // cbnz x21, LBB0_103 $-64(%rip)
|
||||
LBB0_108:
|
||||
WORD $0x910043f0 // add x16, sp, #16
|
||||
WORD $0x17ffff23 // b LBB0_87 $-884(%rip)
|
||||
LBB0_109:
|
||||
WORD $0xf9400409 // ldr x9, [x0, #8]
|
||||
WORD $0xdac0028a // rbit x10, x20
|
||||
WORD $0xdac0114a // clz x10, x10
|
||||
WORD $0xcb05014a // sub x10, x10, x5
|
||||
WORD $0x8b090149 // add x9, x10, x9
|
||||
WORD $0x9100052a // add x10, x9, #1
|
||||
WORD $0xf900002a // str x10, [x1]
|
||||
WORD $0xf940040b // ldr x11, [x0, #8]
|
||||
WORD $0xeb0b015f // cmp x10, x11
|
||||
WORD $0x9a892569 // csinc x9, x11, x9, hs
|
||||
WORD $0xf9000029 // str x9, [x1]
|
||||
WORD $0xda9f9100 // csinv x0, x8, xzr, ls
|
||||
WORD $0x14000014 // b LBB0_117 $80(%rip)
|
||||
LBB0_110:
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0x14000011 // b LBB0_117 $68(%rip)
|
||||
LBB0_111:
|
||||
WORD $0xdac001e9 // rbit x9, x15
|
||||
WORD $0xdac01129 // clz x9, x9
|
||||
WORD $0x8b0a010a // add x10, x8, x10
|
||||
WORD $0x8b0a0129 // add x9, x9, x10
|
||||
WORD $0x91000929 // add x9, x9, #2
|
||||
WORD $0x17fffd7a // b LBB0_37 $-2584(%rip)
|
||||
LBB0_112:
|
||||
WORD $0xf900002d // str x13, [x1]
|
||||
WORD $0x17fffd79 // b LBB0_38 $-2588(%rip)
|
||||
LBB0_113:
|
||||
WORD $0x8b10012c // add x12, x9, x16
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xf100055f // cmp x10, #1
|
||||
WORD $0x540003ca // b.ge LBB0_121 $120(%rip)
|
||||
WORD $0x14000004 // b LBB0_117 $16(%rip)
|
||||
LBB0_114:
|
||||
WORD $0xf9400408 // ldr x8, [x0, #8]
|
||||
LBB0_115:
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
LBB0_116:
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
LBB0_117:
|
||||
WORD $0xa94afbfd // ldp fp, lr, [sp, #168]
|
||||
WORD $0xa949cff4 // ldp x20, x19, [sp, #152]
|
||||
WORD $0xa948d7f6 // ldp x22, x21, [sp, #136]
|
||||
WORD $0xa947dff8 // ldp x24, x23, [sp, #120]
|
||||
WORD $0xa946e7fa // ldp x26, x25, [sp, #104]
|
||||
WORD $0xa945effc // ldp x28, x27, [sp, #88]
|
||||
WORD $0x910303ff // add sp, sp, #192
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_118:
|
||||
WORD $0xd100056c // sub x12, x11, #1
|
||||
WORD $0xeb0a019f // cmp x12, x10
|
||||
WORD $0x54fffea0 // b.eq LBB0_116 $-44(%rip)
|
||||
WORD $0x8b08012c // add x12, x9, x8
|
||||
WORD $0x8b0a018c // add x12, x12, x10
|
||||
WORD $0x9100098c // add x12, x12, #2
|
||||
WORD $0xcb0a016a // sub x10, x11, x10
|
||||
WORD $0xd100094a // sub x10, x10, #2
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0xf100055f // cmp x10, #1
|
||||
WORD $0x540000ea // b.ge LBB0_121 $28(%rip)
|
||||
WORD $0x17ffffed // b LBB0_117 $-76(%rip)
|
||||
LBB0_120:
|
||||
WORD $0x9280002b // mov x11, #-2
|
||||
WORD $0x5280004d // mov w13, #2
|
||||
WORD $0x8b0d018c // add x12, x12, x13
|
||||
WORD $0xab0b014a // adds x10, x10, x11
|
||||
WORD $0x54fffd0d // b.le LBB0_117 $-96(%rip)
|
||||
LBB0_121:
|
||||
WORD $0x3940018b // ldrb w11, [x12]
|
||||
WORD $0x7101717f // cmp w11, #92
|
||||
WORD $0x54ffff20 // b.eq LBB0_120 $-28(%rip)
|
||||
WORD $0x7100897f // cmp w11, #34
|
||||
WORD $0x540000e0 // b.eq LBB0_124 $28(%rip)
|
||||
WORD $0x9280000b // mov x11, #-1
|
||||
WORD $0x5280002d // mov w13, #1
|
||||
WORD $0x8b0d018c // add x12, x12, x13
|
||||
WORD $0xab0b014a // adds x10, x10, x11
|
||||
WORD $0x54fffeec // b.gt LBB0_121 $-36(%rip)
|
||||
WORD $0x17ffffdd // b LBB0_117 $-140(%rip)
|
||||
LBB0_124:
|
||||
WORD $0xcb090189 // sub x9, x12, x9
|
||||
WORD $0x91000529 // add x9, x9, #1
|
||||
WORD $0x17fffd49 // b LBB0_37 $-2780(%rip)
|
||||
// .p2align 2, 0x00
|
||||
_MASK_USE_NUMBER:
|
||||
WORD $0x00000002 // .long 2
|
||||
|
||||
TEXT ·__skip_one_fast(SB), NOSPLIT, $0-24
|
||||
NO_LOCAL_POINTERS
|
||||
|
||||
_entry:
|
||||
MOVD 16(g), R16
|
||||
SUB $256, RSP, R17
|
||||
CMP R16, R17
|
||||
BLS _stack_grow
|
||||
|
||||
_skip_one_fast:
|
||||
MOVD s+0(FP), R0
|
||||
MOVD p+8(FP), R1
|
||||
MOVD ·_subr__skip_one_fast(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_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 = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__skip_one
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__skip_one
|
||||
)
|
31
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
615
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s
generated
vendored
Normal file
615
vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,615 @@
|
||||
// +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 $0xb4002201 // cbz x1, LBB0_62 $1088(%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 $0x528017b3 // mov w19, #189
|
||||
WORD $0x52848014 // mov w20, #9216
|
||||
WORD $0x72bf9414 // movk w20, #64672, lsl #16
|
||||
WORD $0x4f02e780 // movi.16b v0, #92
|
||||
Lloh0:
|
||||
WORD $0x10fffb68 // adr x8, lCPI0_0 $-148(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fffba8 // adr x8, lCPI0_1 $-140(%rip)
|
||||
Lloh3:
|
||||
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0xaa0003e8 // mov x8, x0
|
||||
WORD $0xaa0103f5 // mov x21, x1
|
||||
WORD $0xaa0203f6 // mov x22, x2
|
||||
Lloh4:
|
||||
WORD $0x10002ef7 // adr x23, __UnquoteTab $1500(%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 $0xaa1503f9 // mov x25, x21
|
||||
WORD $0xaa1603fb // mov x27, x22
|
||||
WORD $0xaa0803fa // mov x26, x8
|
||||
WORD $0xf10042bf // cmp x21, #16
|
||||
WORD $0x540002cb // b.lt LBB0_9 $88(%rip)
|
||||
WORD $0xd2800018 // mov x24, #0
|
||||
WORD $0xaa1503fa // mov x26, x21
|
||||
LBB0_6:
|
||||
WORD $0x8b180119 // add x25, x8, x24
|
||||
WORD $0x8b1802db // add x27, x22, x24
|
||||
WORD $0xa9407339 // ldp x25, x28, [x25]
|
||||
WORD $0x9e670323 // fmov d3, x25
|
||||
WORD $0x4e181f83 // mov.d v3[1], x28
|
||||
WORD $0xa9007379 // stp x25, x28, [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 $0xb4001ad9 // cbz x25, LBB0_63 $856(%rip)
|
||||
WORD $0xcb080358 // sub x24, x26, x8
|
||||
LBB0_11:
|
||||
WORD $0x3940035c // ldrb w28, [x26]
|
||||
WORD $0x7101739f // cmp w28, #92
|
||||
WORD $0x54000140 // b.eq LBB0_14 $40(%rip)
|
||||
WORD $0x9100075a // add x26, x26, #1
|
||||
WORD $0x3800177c // strb w28, [x27], #1
|
||||
WORD $0x91000718 // add x24, x24, #1
|
||||
WORD $0xf1000739 // subs x25, x25, #1
|
||||
WORD $0x54ffff21 // b.ne LBB0_11 $-28(%rip)
|
||||
WORD $0x140000cc // b LBB0_63 $816(%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 $0x540018e0 // b.eq LBB0_63 $796(%rip)
|
||||
LBB0_15:
|
||||
WORD $0x91000b19 // add x25, x24, #2
|
||||
WORD $0xeb1902b5 // subs x21, x21, x25
|
||||
WORD $0x54002824 // b.mi LBB0_93 $1284(%rip)
|
||||
WORD $0x8b190108 // add x8, x8, x25
|
||||
WORD $0xb5000145 // cbnz x5, LBB0_20 $40(%rip)
|
||||
WORD $0x8b1802da // add x26, x22, x24
|
||||
WORD $0x385ff119 // ldurb w25, [x8, #-1]
|
||||
WORD $0x38796af9 // ldrb w25, [x23, x25]
|
||||
WORD $0x7103ff3f // cmp w25, #255
|
||||
WORD $0x540003a0 // b.eq LBB0_28 $116(%rip)
|
||||
LBB0_18:
|
||||
WORD $0x34001e19 // cbz w25, LBB0_74 $960(%rip)
|
||||
WORD $0x38001759 // strb w25, [x26], #1
|
||||
WORD $0xaa1a03f6 // mov x22, x26
|
||||
WORD $0x14000093 // b LBB0_54 $588(%rip)
|
||||
LBB0_20:
|
||||
WORD $0x340026b5 // cbz w21, LBB0_93 $1236(%rip)
|
||||
WORD $0x385ff119 // ldurb w25, [x8, #-1]
|
||||
WORD $0x7101733f // cmp w25, #92
|
||||
WORD $0x540023a1 // b.ne LBB0_86 $1140(%rip)
|
||||
WORD $0x39400119 // ldrb w25, [x8]
|
||||
WORD $0x7101733f // cmp w25, #92
|
||||
WORD $0x54000161 // b.ne LBB0_27 $44(%rip)
|
||||
WORD $0x710006bf // cmp w21, #1
|
||||
WORD $0x540025ad // b.le LBB0_93 $1204(%rip)
|
||||
WORD $0xaa0803f9 // mov x25, x8
|
||||
WORD $0x38401f3a // ldrb w26, [x25, #1]!
|
||||
WORD $0x71008b5f // cmp w26, #34
|
||||
WORD $0x54000060 // b.eq LBB0_26 $12(%rip)
|
||||
WORD $0x7101735f // cmp w26, #92
|
||||
WORD $0x540022a1 // b.ne LBB0_87 $1108(%rip)
|
||||
LBB0_26:
|
||||
WORD $0xd10006b5 // sub x21, x21, #1
|
||||
WORD $0xaa1903e8 // mov x8, x25
|
||||
LBB0_27:
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0xd10006b5 // sub x21, x21, #1
|
||||
WORD $0x8b1802da // add x26, x22, x24
|
||||
WORD $0x385ff119 // ldurb w25, [x8, #-1]
|
||||
WORD $0x38796af9 // ldrb w25, [x23, x25]
|
||||
WORD $0x7103ff3f // cmp w25, #255
|
||||
WORD $0x54fffca1 // b.ne LBB0_18 $-108(%rip)
|
||||
LBB0_28:
|
||||
WORD $0xf1000ebf // cmp x21, #3
|
||||
WORD $0x54002389 // b.ls LBB0_93 $1136(%rip)
|
||||
WORD $0xb9400119 // ldr w25, [x8]
|
||||
WORD $0x0a39019b // bic w27, w12, w25
|
||||
WORD $0x0b0a033c // add w28, w25, w10
|
||||
WORD $0x0a1c037c // and w28, w27, w28
|
||||
WORD $0x7100039f // cmp w28, #0
|
||||
WORD $0x0b10033c // add w28, w25, w16
|
||||
WORD $0x2a19039c // orr w28, w28, w25
|
||||
WORD $0x0a0c039c // and w28, w28, w12
|
||||
WORD $0x7a400b80 // ccmp w28, #0, #0, eq
|
||||
WORD $0x540013e1 // b.ne LBB0_65 $636(%rip)
|
||||
WORD $0x0a0d033c // and w28, w25, w13
|
||||
WORD $0x4b1c017e // sub w30, w11, w28
|
||||
WORD $0x0b0e0387 // add w7, w28, w14
|
||||
WORD $0x0a1e00e7 // and w7, w7, w30
|
||||
WORD $0x6a1b00ff // tst w7, w27
|
||||
WORD $0x54001321 // b.ne LBB0_65 $612(%rip)
|
||||
WORD $0x4b1c0127 // sub w7, w9, w28
|
||||
WORD $0x0b0f039c // add w28, w28, w15
|
||||
WORD $0x0a070387 // and w7, w28, w7
|
||||
WORD $0x6a1b00ff // tst w7, w27
|
||||
WORD $0x54001281 // b.ne LBB0_65 $592(%rip)
|
||||
WORD $0x5ac00b27 // rev w7, w25
|
||||
WORD $0x0a6710d9 // bic w25, w6, w7, lsr #4
|
||||
WORD $0x0b190f39 // add w25, w25, w25, lsl #3
|
||||
WORD $0x0a1100e7 // and w7, w7, w17
|
||||
WORD $0x0b070327 // add w7, w25, w7
|
||||
WORD $0x2a4710e7 // orr w7, w7, w7, lsr #4
|
||||
WORD $0x53105cf9 // ubfx w25, w7, #16, #8
|
||||
WORD $0x12001ce7 // and w7, w7, #0xff
|
||||
WORD $0x2a1920f9 // orr w25, w7, w25, lsl #8
|
||||
WORD $0x91001108 // add x8, x8, #4
|
||||
WORD $0xd10012b5 // sub x21, x21, #4
|
||||
WORD $0x7102033f // cmp w25, #128
|
||||
WORD $0x54000b23 // b.lo LBB0_55 $356(%rip)
|
||||
WORD $0x8b1802c7 // add x7, x22, x24
|
||||
WORD $0x910008f6 // add x22, x7, #2
|
||||
LBB0_34:
|
||||
WORD $0x711fff3f // cmp w25, #2047
|
||||
WORD $0x54000b29 // b.ls LBB0_57 $356(%rip)
|
||||
WORD $0x51403b27 // sub w7, w25, #14, lsl #12
|
||||
WORD $0x312004ff // cmn w7, #2049
|
||||
WORD $0x540008e9 // b.ls LBB0_53 $284(%rip)
|
||||
WORD $0xb50006c5 // cbnz x5, LBB0_48 $216(%rip)
|
||||
WORD $0xaa1503f8 // mov x24, x21
|
||||
WORD $0x530a7f27 // lsr w7, w25, #10
|
||||
WORD $0x7100d8ff // cmp w7, #54
|
||||
WORD $0x54000788 // b.hi LBB0_51 $240(%rip)
|
||||
LBB0_38:
|
||||
WORD $0xf1001b15 // subs x21, x24, #6
|
||||
WORD $0x5400074b // b.lt LBB0_51 $232(%rip)
|
||||
WORD $0x39400107 // ldrb w7, [x8]
|
||||
WORD $0x710170ff // cmp w7, #92
|
||||
WORD $0x540006e1 // b.ne LBB0_51 $220(%rip)
|
||||
WORD $0x39400507 // ldrb w7, [x8, #1]
|
||||
WORD $0x7101d4ff // cmp w7, #117
|
||||
WORD $0x54000681 // b.ne LBB0_51 $208(%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 $0x54001421 // b.ne LBB0_77 $644(%rip)
|
||||
WORD $0x0b100307 // add w7, w24, w16
|
||||
WORD $0x2a1800e7 // orr w7, w7, w24
|
||||
WORD $0x6a0c00ff // tst w7, w12
|
||||
WORD $0x540013a1 // b.ne LBB0_77 $628(%rip)
|
||||
WORD $0x0a0d031b // and w27, w24, w13
|
||||
WORD $0x4b1b0167 // sub w7, w11, w27
|
||||
WORD $0x0b0e037c // add w28, w27, w14
|
||||
WORD $0x0a070387 // and w7, w28, w7
|
||||
WORD $0x6a1a00ff // tst w7, w26
|
||||
WORD $0x540012e1 // b.ne LBB0_77 $604(%rip)
|
||||
WORD $0x4b1b0127 // sub w7, w9, w27
|
||||
WORD $0x0b0f037b // add w27, w27, w15
|
||||
WORD $0x0a070367 // and w7, w27, w7
|
||||
WORD $0x6a1a00ff // tst w7, w26
|
||||
WORD $0x54001241 // b.ne LBB0_77 $584(%rip)
|
||||
WORD $0x5ac00b07 // rev w7, w24
|
||||
WORD $0x0a6710d8 // bic w24, w6, w7, lsr #4
|
||||
WORD $0x0b180f18 // add w24, w24, w24, lsl #3
|
||||
WORD $0x0a1100e7 // and w7, w7, w17
|
||||
WORD $0x0b070307 // add w7, w24, 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 $0x540005e8 // b.hi LBB0_58 $188(%rip)
|
||||
WORD $0x360816a4 // tbz w4, #1, LBB0_88 $724(%rip)
|
||||
WORD $0x5297fde7 // mov w7, #49135
|
||||
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
|
||||
WORD $0x380036d3 // strb w19, [x22], #3
|
||||
WORD $0xaa1803f9 // mov x25, x24
|
||||
WORD $0x7102031f // cmp w24, #128
|
||||
WORD $0x54fff8e2 // b.hs LBB0_34 $-228(%rip)
|
||||
WORD $0x14000037 // b LBB0_59 $220(%rip)
|
||||
LBB0_48:
|
||||
WORD $0xf10002bf // cmp x21, #0
|
||||
WORD $0x5400168d // b.le LBB0_91 $720(%rip)
|
||||
WORD $0x39400107 // ldrb w7, [x8]
|
||||
WORD $0x710170ff // cmp w7, #92
|
||||
WORD $0x54000681 // b.ne LBB0_60 $208(%rip)
|
||||
WORD $0xd10006b8 // sub x24, x21, #1
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0x530a7f27 // lsr w7, w25, #10
|
||||
WORD $0x7100d8ff // cmp w7, #54
|
||||
WORD $0x54fff8c9 // b.ls LBB0_38 $-232(%rip)
|
||||
LBB0_51:
|
||||
WORD $0x36081504 // tbz w4, #1, LBB0_90 $672(%rip)
|
||||
WORD $0x5297fde7 // mov w7, #49135
|
||||
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
|
||||
WORD $0x380016d3 // strb w19, [x22], #1
|
||||
WORD $0xaa1803f5 // mov x21, x24
|
||||
WORD $0x1400000a // b LBB0_54 $40(%rip)
|
||||
LBB0_53:
|
||||
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_54:
|
||||
WORD $0xb5ffe635 // cbnz x21, LBB0_2 $-828(%rip)
|
||||
WORD $0x14000025 // b LBB0_63 $148(%rip)
|
||||
LBB0_55:
|
||||
WORD $0xaa1903f8 // mov x24, x25
|
||||
LBB0_56:
|
||||
WORD $0x38001758 // strb w24, [x26], #1
|
||||
WORD $0xaa1a03f6 // mov x22, x26
|
||||
WORD $0x17fffffb // b LBB0_54 $-20(%rip)
|
||||
LBB0_57:
|
||||
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 $0x17fffff4 // b LBB0_54 $-48(%rip)
|
||||
LBB0_58:
|
||||
WORD $0x0b192b07 // add w7, w24, w25, lsl #10
|
||||
WORD $0x0b1400e7 // add w7, w7, w20
|
||||
WORD $0x53127cf8 // lsr w24, w7, #18
|
||||
WORD $0x321c0f18 // orr w24, w24, #0xf0
|
||||
WORD $0x381fe2d8 // sturb w24, [x22, #-2]
|
||||
WORD $0x52801018 // mov w24, #128
|
||||
WORD $0x330c44f8 // bfxil w24, w7, #12, #6
|
||||
WORD $0x381ff2d8 // sturb w24, [x22, #-1]
|
||||
WORD $0x52801018 // mov w24, #128
|
||||
WORD $0x33062cf8 // bfxil w24, w7, #6, #6
|
||||
WORD $0x390002d8 // strb w24, [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 $0x17ffffe4 // b LBB0_54 $-112(%rip)
|
||||
LBB0_59:
|
||||
WORD $0xd1000ada // sub x26, x22, #2
|
||||
WORD $0x17ffffe5 // b LBB0_56 $-108(%rip)
|
||||
LBB0_60:
|
||||
WORD $0x36080ea4 // tbz w4, #1, LBB0_88 $468(%rip)
|
||||
WORD $0x5297fde7 // mov w7, #49135
|
||||
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
|
||||
WORD $0x380016d3 // strb w19, [x22], #1
|
||||
WORD $0x17ffffdd // b LBB0_54 $-140(%rip)
|
||||
LBB0_62:
|
||||
WORD $0xd2800015 // mov x21, #0
|
||||
WORD $0xaa0203f6 // mov x22, x2
|
||||
LBB0_63:
|
||||
WORD $0x8b1502c8 // add x8, x22, x21
|
||||
WORD $0xcb020100 // sub x0, x8, x2
|
||||
LBB0_64:
|
||||
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_65:
|
||||
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_67 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x540003e3 // b.lo LBB0_73 $124(%rip)
|
||||
LBB0_67:
|
||||
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_69 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x540002a3 // b.lo LBB0_73 $84(%rip)
|
||||
LBB0_69:
|
||||
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_71 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54000163 // b.lo LBB0_73 $44(%rip)
|
||||
LBB0_71:
|
||||
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_75 $48(%rip)
|
||||
WORD $0x121a7908 // and w8, w8, #0xffffffdf
|
||||
WORD $0x51011d08 // sub w8, w8, #71
|
||||
WORD $0x3100191f // cmn w8, #6
|
||||
WORD $0x54000102 // b.hs LBB0_75 $32(%rip)
|
||||
LBB0_73:
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0x17ffffcf // b LBB0_64 $-196(%rip)
|
||||
LBB0_74:
|
||||
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_64 $-216(%rip)
|
||||
LBB0_75:
|
||||
WORD $0x91001128 // add x8, x9, #4
|
||||
LBB0_76:
|
||||
WORD $0xf9000068 // str x8, [x3]
|
||||
WORD $0x92800020 // mov x0, #-2
|
||||
WORD $0x17ffffc6 // b LBB0_64 $-232(%rip)
|
||||
LBB0_77:
|
||||
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_79 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffd63 // b.lo LBB0_73 $-84(%rip)
|
||||
LBB0_79:
|
||||
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_81 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffc23 // b.lo LBB0_73 $-124(%rip)
|
||||
LBB0_81:
|
||||
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_83 $20(%rip)
|
||||
WORD $0x121a794a // and w10, w10, #0xffffffdf
|
||||
WORD $0x51011d4a // sub w10, w10, #71
|
||||
WORD $0x3100195f // cmn w10, #6
|
||||
WORD $0x54fffae3 // b.lo LBB0_73 $-164(%rip)
|
||||
LBB0_83:
|
||||
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_85 $20(%rip)
|
||||
WORD $0x121a7908 // and w8, w8, #0xffffffdf
|
||||
WORD $0x51011d08 // sub w8, w8, #71
|
||||
WORD $0x3100191f // cmn w8, #6
|
||||
WORD $0x54fff9a3 // b.lo LBB0_73 $-204(%rip)
|
||||
LBB0_85:
|
||||
WORD $0x91001928 // add x8, x9, #6
|
||||
WORD $0x17ffffd3 // b LBB0_76 $-180(%rip)
|
||||
LBB0_86:
|
||||
WORD $0xaa2003e9 // mvn x9, x0
|
||||
WORD $0x8b090108 // add x8, x8, x9
|
||||
WORD $0x17ffffd0 // b LBB0_76 $-192(%rip)
|
||||
LBB0_87:
|
||||
WORD $0xcb000108 // sub x8, x8, x0
|
||||
WORD $0x91000508 // add x8, x8, #1
|
||||
WORD $0x17ffffcd // b LBB0_76 $-204(%rip)
|
||||
LBB0_88:
|
||||
WORD $0xcb000108 // sub x8, x8, x0
|
||||
LBB0_89:
|
||||
WORD $0xd1001108 // sub x8, x8, #4
|
||||
WORD $0xf9000068 // str x8, [x3]
|
||||
WORD $0x92800060 // mov x0, #-4
|
||||
WORD $0x17ffff90 // b LBB0_64 $-448(%rip)
|
||||
LBB0_90:
|
||||
WORD $0x8b0000a9 // add x9, x5, x0
|
||||
WORD $0xcb090108 // sub x8, x8, x9
|
||||
WORD $0x17fffffa // b LBB0_89 $-24(%rip)
|
||||
LBB0_91:
|
||||
WORD $0x360800e4 // tbz w4, #1, LBB0_93 $28(%rip)
|
||||
WORD $0xd2800015 // mov x21, #0
|
||||
WORD $0x5297fde8 // mov w8, #49135
|
||||
WORD $0x781fe2c8 // sturh w8, [x22, #-2]
|
||||
WORD $0x528017a8 // mov w8, #189
|
||||
WORD $0x380016c8 // strb w8, [x22], #1
|
||||
WORD $0x17ffff84 // b LBB0_63 $-496(%rip)
|
||||
LBB0_93:
|
||||
WORD $0xf9000061 // str x1, [x3]
|
||||
WORD $0x92800000 // mov x0, #-1
|
||||
WORD $0x17ffff83 // b LBB0_64 $-500(%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
|
||||
)
|
37
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go
generated
vendored
Normal file
37
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
2383
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s
generated
vendored
Normal file
2383
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 = 112
|
||||
)
|
||||
|
||||
var (
|
||||
_ = _subr__validate_one
|
||||
)
|
||||
|
||||
const (
|
||||
_ = _stack__validate_one
|
||||
)
|
38
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go
generated
vendored
Normal file
38
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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
|
31
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go
generated
vendored
Normal file
31
vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, 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)
|
||||
|
5968
vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s
generated
vendored
Normal file
5968
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 = 112
|
||||
)
|
||||
|
||||
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)
|
628
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s
generated
vendored
Normal file
628
vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s
generated
vendored
Normal file
@@ -0,0 +1,628 @@
|
||||
// +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, $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
|
||||
|
||||
_vstring:
|
||||
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 $0xf9400028 // ldr x8, [x1]
|
||||
WORD $0xf9400409 // ldr x9, [x0, #8]
|
||||
WORD $0x37280c43 // tbnz w3, #5, LBB0_11 $392(%rip)
|
||||
WORD $0xeb08012b // subs x11, x9, x8
|
||||
WORD $0x54003b00 // b.eq LBB0_75 $1888(%rip)
|
||||
WORD $0xf940000a // ldr x10, [x0]
|
||||
WORD $0xf101017f // cmp x11, #64
|
||||
WORD $0x54001d43 // b.lo LBB0_26 $936(%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 $0x10fffced // adr x13, lCPI0_0 $-100(%rip)
|
||||
Lloh1:
|
||||
WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
Lloh2:
|
||||
WORD $0x10fffd2d // adr x13, lCPI0_1 $-92(%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 $0x140000a0 // b LBB0_24 $640(%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 $0x9100054e // add x14, x10, #1
|
||||
WORD $0xb6f8102e // tbz x14, #63, LBB0_23 $516(%rip)
|
||||
WORD $0x1400017a // b LBB0_76 $1512(%rip)
|
||||
LBB0_11:
|
||||
WORD $0xeb08012c // subs x12, x9, x8
|
||||
WORD $0x54002ee0 // b.eq LBB0_75 $1500(%rip)
|
||||
WORD $0xf940000a // ldr x10, [x0]
|
||||
WORD $0x10fff18f // adr x15, lCPI0_0 $-464(%rip)
|
||||
WORD $0x10fff1ee // adr x14, lCPI0_1 $-452(%rip)
|
||||
WORD $0xf101019f // cmp x12, #64
|
||||
WORD $0x540015e3 // b.lo LBB0_32 $700(%rip)
|
||||
WORD $0xd280000b // mov x11, #0
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
WORD $0x4f01e440 // movi.16b v0, #34
|
||||
WORD $0x3dc001e1 // ldr q1, [x15, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x3dc001c2 // ldr q2, [x14, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4f02e783 // movi.16b v3, #92
|
||||
WORD $0x4f01e404 // movi.16b v4, #32
|
||||
WORD $0xaa0803ed // mov x13, x8
|
||||
LBB0_14:
|
||||
WORD $0x8b0d0150 // add x16, x10, x13
|
||||
WORD $0xad401e10 // ldp q16, q7, [x16]
|
||||
WORD $0xad411606 // ldp q6, q5, [x16, #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 $0x1e260230 // fmov w16, 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 $0x1e260231 // fmov w17, 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 $0x1e260223 // fmov w3, 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 $0x1e260224 // fmov w4, 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 $0x1e260225 // fmov w5, 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 $0x1e260226 // fmov w6, 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 $0x1e260227 // fmov w7, 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 $0x1e260233 // fmov w19, s17
|
||||
WORD $0xd3607c63 // lsl x3, x3, #32
|
||||
WORD $0xaa04c063 // orr x3, x3, x4, lsl #48
|
||||
WORD $0x53103e31 // lsl w17, w17, #16
|
||||
WORD $0xaa110071 // orr x17, x3, x17
|
||||
WORD $0xaa100230 // orr x16, x17, x16
|
||||
WORD $0xd3607cf1 // lsl x17, x7, #32
|
||||
WORD $0xaa13c231 // orr x17, x17, x19, lsl #48
|
||||
WORD $0x53103cc3 // lsl w3, w6, #16
|
||||
WORD $0xaa030231 // orr x17, x17, x3
|
||||
WORD $0xaa050231 // orr x17, x17, x5
|
||||
WORD $0xb5000451 // cbnz x17, LBB0_19 $136(%rip)
|
||||
WORD $0xb50004cb // cbnz x11, 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 $0x1e260211 // fmov w17, 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 $0x1e2600e3 // fmov w3, 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 $0x1e2600c4 // fmov w4, 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 $0x1e2600a5 // fmov w5, s5
|
||||
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 $0xb50002f0 // cbnz x16, LBB0_21 $92(%rip)
|
||||
WORD $0xb5002011 // cbnz x17, LBB0_69 $1024(%rip)
|
||||
WORD $0xd101018c // sub x12, x12, #64
|
||||
WORD $0x910101ad // add x13, x13, #64
|
||||
WORD $0xf100fd9f // cmp x12, #63
|
||||
WORD $0x54fff568 // b.hi LBB0_14 $-340(%rip)
|
||||
WORD $0x14000026 // b LBB0_25 $152(%rip)
|
||||
LBB0_19:
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0xdac00223 // rbit x3, x17
|
||||
WORD $0xdac01063 // clz x3, x3
|
||||
WORD $0x8b0d0063 // add x3, x3, x13
|
||||
WORD $0x9a831129 // csel x9, x9, x3, ne
|
||||
LBB0_20:
|
||||
WORD $0x8a2b0223 // bic x3, x17, x11
|
||||
WORD $0xaa030564 // orr x4, x11, x3, lsl #1
|
||||
WORD $0x8a24022b // bic x11, x17, x4
|
||||
WORD $0x9201f16b // and x11, x11, #0xaaaaaaaaaaaaaaaa
|
||||
WORD $0xab030171 // adds x17, x11, x3
|
||||
WORD $0x1a9f37eb // cset w11, hs
|
||||
WORD $0xd37ffa31 // lsl x17, x17, #1
|
||||
WORD $0xd200f231 // eor x17, x17, #0x5555555555555555
|
||||
WORD $0x8a040231 // and x17, x17, x4
|
||||
WORD $0x8a310210 // bic x16, x16, x17
|
||||
WORD $0x17ffffd1 // b LBB0_16 $-188(%rip)
|
||||
LBB0_21:
|
||||
WORD $0xdac0020a // rbit x10, x16
|
||||
WORD $0xdac0114a // clz x10, x10
|
||||
WORD $0xdac0022b // rbit x11, x17
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0xeb0a017f // cmp x11, x10
|
||||
WORD $0x54001ca3 // b.lo LBB0_69 $916(%rip)
|
||||
WORD $0x8b0d014a // add x10, x10, x13
|
||||
WORD $0x9100054e // add x14, x10, #1
|
||||
WORD $0xb7f81f6e // tbnz x14, #63, LBB0_76 $1004(%rip)
|
||||
LBB0_23:
|
||||
WORD $0xf900002e // str x14, [x1]
|
||||
WORD $0x528000ea // mov w10, #7
|
||||
WORD $0xf900004a // str x10, [x2]
|
||||
WORD $0xeb0e013f // cmp x9, x14
|
||||
WORD $0xda9fb129 // csinv x9, x9, xzr, lt
|
||||
WORD $0xa9012448 // stp x8, x9, [x2, #16]
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
LBB0_24:
|
||||
WORD $0x8b0d014d // add x13, x10, x13
|
||||
WORD $0x14000006 // b LBB0_27 $24(%rip)
|
||||
LBB0_25:
|
||||
WORD $0x8b0d014d // add x13, x10, x13
|
||||
WORD $0x1400002c // b LBB0_33 $176(%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 $0x54000e83 // b.lo LBB0_42 $464(%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 $0x10ffdecb // adr x11, lCPI0_0 $-1064(%rip)
|
||||
Lloh5:
|
||||
WORD $0x3dc00164 // ldr q4, [x11, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e241c63 // and.16b v3, v3, v4
|
||||
Lloh6:
|
||||
WORD $0x10ffdeeb // adr x11, lCPI0_1 $-1060(%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 $0x3500080f // cbnz w15, LBB0_39 $256(%rip)
|
||||
WORD $0xb50008ac // cbnz x12, LBB0_40 $276(%rip)
|
||||
WORD $0xb4000a4b // cbz x11, LBB0_41 $328(%rip)
|
||||
LBB0_31:
|
||||
WORD $0xdac0016b // rbit x11, x11
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0x14000036 // b LBB0_38 $216(%rip)
|
||||
LBB0_32:
|
||||
WORD $0xd280000b // mov x11, #0
|
||||
WORD $0x8b08014d // add x13, x10, x8
|
||||
WORD $0x92800009 // mov x9, #-1
|
||||
LBB0_33:
|
||||
WORD $0xf1008190 // subs x16, x12, #32
|
||||
WORD $0x54001103 // b.lo LBB0_59 $544(%rip)
|
||||
WORD $0xad4005a0 // ldp q0, q1, [x13]
|
||||
WORD $0x4f01e442 // movi.16b v2, #34
|
||||
WORD $0x6e228c03 // cmeq.16b v3, v0, v2
|
||||
WORD $0x3dc001e4 // ldr q4, [x15, lCPI0_0@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e241c63 // and.16b v3, v3, v4
|
||||
WORD $0x3dc001c5 // ldr q5, [x14, lCPI0_1@PAGEOFF] $0(%rip)
|
||||
WORD $0x4e050063 // tbl.16b v3, { v3 }, v5
|
||||
WORD $0x4e71b863 // addv.8h h3, v3
|
||||
WORD $0x1e26006c // fmov w12, 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 $0x1e260051 // fmov w17, 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 $0x1e26006f // fmov w15, 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 $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 $0x1e26000e // fmov w14, 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 $0x1e260004 // fmov w4, s0
|
||||
WORD $0x33103e2c // bfi w12, w17, #16, #16
|
||||
WORD $0x33103c6f // bfi w15, w3, #16, #16
|
||||
WORD $0x33103c8e // bfi w14, w4, #16, #16
|
||||
WORD $0x3500092f // cbnz w15, LBB0_55 $292(%rip)
|
||||
WORD $0xb50009cb // cbnz x11, LBB0_56 $312(%rip)
|
||||
WORD $0xb4000b6c // cbz x12, LBB0_57 $364(%rip)
|
||||
LBB0_37:
|
||||
WORD $0xdac0018b // rbit x11, x12
|
||||
WORD $0xdac0116b // clz x11, x11
|
||||
WORD $0xdac001cc // rbit x12, x14
|
||||
WORD $0xdac0118c // clz x12, x12
|
||||
WORD $0xeb0b019f // cmp x12, x11
|
||||
WORD $0x54000ee3 // b.lo LBB0_69 $476(%rip)
|
||||
LBB0_38:
|
||||
WORD $0xcb0a01aa // sub x10, x13, x10
|
||||
WORD $0x8b0b014a // add x10, x10, x11
|
||||
WORD $0x9100054e // add x14, x10, #1
|
||||
WORD $0xb6fff24e // tbz x14, #63, LBB0_23 $-440(%rip)
|
||||
WORD $0x1400008b // b LBB0_76 $556(%rip)
|
||||
LBB0_39:
|
||||
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_40:
|
||||
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 $0xb5fff60b // cbnz x11, LBB0_31 $-320(%rip)
|
||||
LBB0_41:
|
||||
WORD $0x910081ad // add x13, x13, #32
|
||||
WORD $0xaa0e03eb // mov x11, x14
|
||||
LBB0_42:
|
||||
WORD $0xb5000c4c // cbnz x12, LBB0_71 $392(%rip)
|
||||
WORD $0xb40003ab // cbz x11, LBB0_52 $116(%rip)
|
||||
LBB0_44:
|
||||
WORD $0xcb0a03ec // neg x12, x10
|
||||
LBB0_45:
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
LBB0_46:
|
||||
WORD $0x386f69ae // ldrb w14, [x13, x15]
|
||||
WORD $0x710089df // cmp w14, #34
|
||||
WORD $0x540002c0 // b.eq LBB0_51 $88(%rip)
|
||||
WORD $0x710171df // cmp w14, #92
|
||||
WORD $0x540000a0 // b.eq LBB0_49 $20(%rip)
|
||||
WORD $0x910005ef // add x15, x15, #1
|
||||
WORD $0xeb0f017f // cmp x11, x15
|
||||
WORD $0x54ffff21 // b.ne LBB0_46 $-28(%rip)
|
||||
WORD $0x14000015 // b LBB0_53 $84(%rip)
|
||||
LBB0_49:
|
||||
WORD $0xd100056e // sub x14, x11, #1
|
||||
WORD $0xeb0f01df // cmp x14, x15
|
||||
WORD $0x54000c80 // b.eq LBB0_75 $400(%rip)
|
||||
WORD $0x8b0f01ad // add x13, x13, x15
|
||||
WORD $0x8b0c01ae // add x14, x13, x12
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a8901c9 // csel x9, x14, x9, eq
|
||||
WORD $0x910009ad // add x13, x13, #2
|
||||
WORD $0xcb0f016e // sub x14, x11, x15
|
||||
WORD $0xd1000970 // sub x16, x11, #2
|
||||
WORD $0xd10009cb // sub x11, x14, #2
|
||||
WORD $0x9280000e // mov x14, #-1
|
||||
WORD $0xeb0f021f // cmp x16, x15
|
||||
WORD $0x54fffd21 // b.ne LBB0_45 $-92(%rip)
|
||||
WORD $0x14000059 // b LBB0_76 $356(%rip)
|
||||
LBB0_51:
|
||||
WORD $0x8b0f01ab // add x11, x13, x15
|
||||
WORD $0x9100056d // add x13, x11, #1
|
||||
LBB0_52:
|
||||
WORD $0xcb0a01ae // sub x14, x13, x10
|
||||
WORD $0xb6ffeb6e // tbz x14, #63, LBB0_23 $-660(%rip)
|
||||
WORD $0x14000054 // b LBB0_76 $336(%rip)
|
||||
LBB0_53:
|
||||
WORD $0x710089df // cmp w14, #34
|
||||
WORD $0x54000a21 // b.ne LBB0_75 $324(%rip)
|
||||
WORD $0x8b0f01ad // add x13, x13, x15
|
||||
WORD $0x17fffffa // b LBB0_52 $-24(%rip)
|
||||
LBB0_55:
|
||||
WORD $0xdac001f1 // rbit x17, x15
|
||||
WORD $0xdac01231 // clz x17, x17
|
||||
WORD $0xcb0a01a3 // sub x3, x13, x10
|
||||
WORD $0x8b110071 // add x17, x3, x17
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a911129 // csel x9, x9, x17, ne
|
||||
LBB0_56:
|
||||
WORD $0x0a2b01f1 // bic w17, w15, w11
|
||||
WORD $0x531f7a23 // lsl w3, w17, #1
|
||||
WORD $0x331f7a2b // bfi w11, w17, #1, #31
|
||||
WORD $0x0a2301ef // bic w15, w15, w3
|
||||
WORD $0x1201f1ef // and w15, w15, #0xaaaaaaaa
|
||||
WORD $0x2b1101ef // adds w15, w15, w17
|
||||
WORD $0x3200f3f1 // mov w17, #1431655765
|
||||
WORD $0x4a0f062f // eor w15, w17, w15, lsl #1
|
||||
WORD $0x0a0b01eb // and w11, w15, w11
|
||||
WORD $0x1a9f37ef // cset w15, hs
|
||||
WORD $0x2a2b03eb // mvn w11, w11
|
||||
WORD $0x8a0c016c // and x12, x11, x12
|
||||
WORD $0xaa0f03eb // mov x11, x15
|
||||
WORD $0xb5fff4ec // cbnz x12, LBB0_37 $-356(%rip)
|
||||
LBB0_57:
|
||||
WORD $0x3500044e // cbnz w14, LBB0_69 $136(%rip)
|
||||
WORD $0x910081ad // add x13, x13, #32
|
||||
WORD $0xaa1003ec // mov x12, x16
|
||||
LBB0_59:
|
||||
WORD $0xb50005eb // cbnz x11, LBB0_73 $188(%rip)
|
||||
WORD $0xb40006cc // cbz x12, LBB0_75 $216(%rip)
|
||||
LBB0_61:
|
||||
WORD $0xcb0a03eb // neg x11, x10
|
||||
LBB0_62:
|
||||
WORD $0xd280000f // mov x15, #0
|
||||
LBB0_63:
|
||||
WORD $0x386f69ae // ldrb w14, [x13, x15]
|
||||
WORD $0x710089df // cmp w14, #34
|
||||
WORD $0x54000360 // b.eq LBB0_70 $108(%rip)
|
||||
WORD $0x710171df // cmp w14, #92
|
||||
WORD $0x54000100 // b.eq LBB0_67 $32(%rip)
|
||||
WORD $0x710081df // cmp w14, #32
|
||||
WORD $0x540002a3 // b.lo LBB0_69 $84(%rip)
|
||||
WORD $0x910005ef // add x15, x15, #1
|
||||
WORD $0x9280000e // mov x14, #-1
|
||||
WORD $0xeb0f019f // cmp x12, x15
|
||||
WORD $0x54fffec1 // b.ne LBB0_63 $-40(%rip)
|
||||
WORD $0x14000029 // b LBB0_76 $164(%rip)
|
||||
LBB0_67:
|
||||
WORD $0xd100058e // sub x14, x12, #1
|
||||
WORD $0xeb0f01df // cmp x14, x15
|
||||
WORD $0x540004a0 // b.eq LBB0_75 $148(%rip)
|
||||
WORD $0x8b0f01ad // add x13, x13, x15
|
||||
WORD $0x8b0b01ae // add x14, x13, x11
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a8901c9 // csel x9, x14, x9, eq
|
||||
WORD $0x910009ad // add x13, x13, #2
|
||||
WORD $0xd1000990 // sub x16, x12, #2
|
||||
WORD $0xcb0f018c // sub x12, x12, x15
|
||||
WORD $0xd100098c // sub x12, x12, #2
|
||||
WORD $0x9280000e // mov x14, #-1
|
||||
WORD $0xeb0f021f // cmp x16, x15
|
||||
WORD $0x54fffcc1 // b.ne LBB0_62 $-104(%rip)
|
||||
WORD $0x1400001a // b LBB0_76 $104(%rip)
|
||||
LBB0_69:
|
||||
WORD $0x9280002e // mov x14, #-2
|
||||
WORD $0x14000018 // b LBB0_76 $96(%rip)
|
||||
LBB0_70:
|
||||
WORD $0xcb0a01aa // sub x10, x13, x10
|
||||
WORD $0x8b0f014a // add x10, x10, x15
|
||||
WORD $0x9100054e // add x14, x10, #1
|
||||
WORD $0xb6ffe34e // tbz x14, #63, LBB0_23 $-920(%rip)
|
||||
WORD $0x14000013 // b LBB0_76 $76(%rip)
|
||||
LBB0_71:
|
||||
WORD $0xb400022b // cbz x11, LBB0_75 $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 $0xb5fff32b // cbnz x11, LBB0_44 $-412(%rip)
|
||||
WORD $0x17ffffb4 // b LBB0_52 $-304(%rip)
|
||||
LBB0_73:
|
||||
WORD $0xb400010c // cbz x12, LBB0_75 $32(%rip)
|
||||
WORD $0xaa2a03eb // mvn x11, x10
|
||||
WORD $0x8b0b01ab // add x11, x13, x11
|
||||
WORD $0xb100053f // cmn x9, #1
|
||||
WORD $0x9a890169 // csel x9, x11, x9, eq
|
||||
WORD $0x910005ad // add x13, x13, #1
|
||||
WORD $0xd100058c // sub x12, x12, #1
|
||||
WORD $0xb5fff98c // cbnz x12, LBB0_61 $-208(%rip)
|
||||
LBB0_75:
|
||||
WORD $0x9280000e // mov x14, #-1
|
||||
LBB0_76:
|
||||
WORD $0xf9400408 // ldr x8, [x0, #8]
|
||||
WORD $0xf9000028 // str x8, [x1]
|
||||
WORD $0xf900004e // str x14, [x2]
|
||||
WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
|
||||
WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
|
||||
WORD $0x9100c3ff // add sp, sp, #48
|
||||
WORD $0xd65f03c0 // ret
|
||||
// .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 $112, 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 = 48
|
||||
)
|
||||
|
||||
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