mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-01 21:12:25 -05:00
[chore]: Bump github.com/gin-contrib/gzip from 0.0.6 to 1.0.0 (#2781)
This commit is contained in:
parent
7f4a0a1aeb
commit
40ee470536
105 changed files with 81065 additions and 43757 deletions
9
vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.go
generated
vendored
9
vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.go
generated
vendored
|
|
@ -1,3 +1,6 @@
|
|||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
|
@ -71,8 +74,6 @@ var (
|
|||
__validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
|
||||
|
||||
__validate_utf8_fast func(s unsafe.Pointer) (ret int)
|
||||
|
||||
__fsm_exec func(m unsafe.Pointer, s unsafe.Pointer, p unsafe.Pointer, flags uint64) (ret int)
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
|
|
@ -185,7 +186,3 @@ func validate_utf8_fast(s *string) (ret int) {
|
|||
return __validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s)))
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func fsm_exec(m *types.StateMachine, s *string, p *int, flags uint64) (ret int) {
|
||||
return __fsm_exec(rt.NoEscape(unsafe.Pointer(m)), rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), flags)
|
||||
}
|
||||
|
|
|
|||
659
vendor/github.com/bytedance/sonic/internal/native/avx/native_subr_amd64.go
generated
vendored
659
vendor/github.com/bytedance/sonic/internal/native/avx/native_subr_amd64.go
generated
vendored
|
|
@ -8,117 +8,111 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
_entry__f32toa = 31024
|
||||
_entry__f64toa = 176
|
||||
_entry__format_significand = 35808
|
||||
_entry__format_integer = 3424
|
||||
_entry__fsm_exec = 18816
|
||||
_entry__advance_string = 15056
|
||||
_entry__advance_string_default = 37344
|
||||
_entry__do_skip_number = 21376
|
||||
_entry__get_by_path = 26416
|
||||
_entry__skip_one_fast = 22880
|
||||
_entry__unescape = 38256
|
||||
_entry__unhex16_is = 9632
|
||||
_entry__html_escape = 9824
|
||||
_entry__i64toa = 3856
|
||||
_entry__u64toa = 4128
|
||||
_entry__f32toa = 31168
|
||||
_entry__f64toa = 192
|
||||
_entry__format_significand = 35344
|
||||
_entry__format_integer = 3040
|
||||
_entry__get_by_path = 25696
|
||||
_entry__fsm_exec = 17920
|
||||
_entry__advance_string = 14320
|
||||
_entry__advance_string_default = 36736
|
||||
_entry__do_skip_number = 20528
|
||||
_entry__skip_one_fast = 22176
|
||||
_entry__html_escape = 8912
|
||||
_entry__i64toa = 3472
|
||||
_entry__u64toa = 3584
|
||||
_entry__lspace = 16
|
||||
_entry__quote = 5552
|
||||
_entry__skip_array = 18768
|
||||
_entry__skip_number = 22464
|
||||
_entry__skip_object = 21008
|
||||
_entry__skip_one = 22640
|
||||
_entry__unquote = 7296
|
||||
_entry__validate_one = 22704
|
||||
_entry__validate_utf8 = 29728
|
||||
_entry__validate_utf8_fast = 30416
|
||||
_entry__value = 13104
|
||||
_entry__vnumber = 16368
|
||||
_entry__atof_eisel_lemire64 = 11104
|
||||
_entry__atof_native = 12496
|
||||
_entry__decimal_to_f64 = 11504
|
||||
_entry__left_shift = 36288
|
||||
_entry__right_shift = 36832
|
||||
_entry__vsigned = 18016
|
||||
_entry__vstring = 14880
|
||||
_entry__vunsigned = 18384
|
||||
_entry__quote = 4864
|
||||
_entry__skip_array = 17872
|
||||
_entry__skip_number = 21792
|
||||
_entry__skip_object = 20160
|
||||
_entry__skip_one = 21952
|
||||
_entry__unquote = 6576
|
||||
_entry__validate_one = 22000
|
||||
_entry__validate_utf8 = 29904
|
||||
_entry__validate_utf8_fast = 30576
|
||||
_entry__value = 12320
|
||||
_entry__vnumber = 15648
|
||||
_entry__atof_eisel_lemire64 = 10160
|
||||
_entry__atof_native = 11712
|
||||
_entry__decimal_to_f64 = 10528
|
||||
_entry__right_shift = 36304
|
||||
_entry__left_shift = 35808
|
||||
_entry__vsigned = 17200
|
||||
_entry__vstring = 14144
|
||||
_entry__vunsigned = 17520
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__f32toa = 64
|
||||
_stack__f32toa = 48
|
||||
_stack__f64toa = 80
|
||||
_stack__format_significand = 24
|
||||
_stack__format_integer = 16
|
||||
_stack__fsm_exec = 160
|
||||
_stack__advance_string = 72
|
||||
_stack__advance_string_default = 56
|
||||
_stack__do_skip_number = 32
|
||||
_stack__get_by_path = 280
|
||||
_stack__fsm_exec = 168
|
||||
_stack__advance_string = 64
|
||||
_stack__advance_string_default = 64
|
||||
_stack__do_skip_number = 48
|
||||
_stack__skip_one_fast = 176
|
||||
_stack__unescape = 64
|
||||
_stack__unhex16_is = 8
|
||||
_stack__html_escape = 64
|
||||
_stack__html_escape = 72
|
||||
_stack__i64toa = 16
|
||||
_stack__u64toa = 8
|
||||
_stack__lspace = 8
|
||||
_stack__quote = 80
|
||||
_stack__skip_array = 168
|
||||
_stack__skip_number = 88
|
||||
_stack__skip_object = 168
|
||||
_stack__skip_one = 168
|
||||
_stack__unquote = 112
|
||||
_stack__validate_one = 168
|
||||
_stack__quote = 56
|
||||
_stack__skip_array = 176
|
||||
_stack__skip_number = 104
|
||||
_stack__skip_object = 176
|
||||
_stack__skip_one = 176
|
||||
_stack__unquote = 88
|
||||
_stack__validate_one = 176
|
||||
_stack__validate_utf8 = 48
|
||||
_stack__validate_utf8_fast = 24
|
||||
_stack__value = 352
|
||||
_stack__vnumber = 264
|
||||
_stack__atof_eisel_lemire64 = 40
|
||||
_stack__atof_native = 144
|
||||
_stack__decimal_to_f64 = 88
|
||||
_stack__left_shift = 32
|
||||
_stack__right_shift = 16
|
||||
_stack__value = 328
|
||||
_stack__vnumber = 240
|
||||
_stack__atof_eisel_lemire64 = 32
|
||||
_stack__atof_native = 136
|
||||
_stack__decimal_to_f64 = 80
|
||||
_stack__right_shift = 8
|
||||
_stack__left_shift = 24
|
||||
_stack__vsigned = 16
|
||||
_stack__vstring = 128
|
||||
_stack__vunsigned = 24
|
||||
_stack__vstring = 120
|
||||
_stack__vunsigned = 8
|
||||
)
|
||||
|
||||
const (
|
||||
_size__f32toa = 3792
|
||||
_size__f64toa = 3248
|
||||
_size__format_significand = 480
|
||||
_size__f32toa = 3392
|
||||
_size__f64toa = 2848
|
||||
_size__format_significand = 464
|
||||
_size__format_integer = 432
|
||||
_size__fsm_exec = 1656
|
||||
_size__advance_string = 1264
|
||||
_size__advance_string_default = 912
|
||||
_size__do_skip_number = 876
|
||||
_size__get_by_path = 3312
|
||||
_size__get_by_path = 4208
|
||||
_size__fsm_exec = 1692
|
||||
_size__advance_string = 1280
|
||||
_size__advance_string_default = 944
|
||||
_size__do_skip_number = 924
|
||||
_size__skip_one_fast = 3016
|
||||
_size__unescape = 704
|
||||
_size__unhex16_is = 128
|
||||
_size__html_escape = 1280
|
||||
_size__i64toa = 272
|
||||
_size__u64toa = 1376
|
||||
_size__lspace = 112
|
||||
_size__quote = 1728
|
||||
_size__html_escape = 1248
|
||||
_size__i64toa = 48
|
||||
_size__u64toa = 1232
|
||||
_size__lspace = 144
|
||||
_size__quote = 1696
|
||||
_size__skip_array = 48
|
||||
_size__skip_number = 160
|
||||
_size__skip_object = 48
|
||||
_size__skip_one = 48
|
||||
_size__unquote = 2336
|
||||
_size__unquote = 2272
|
||||
_size__validate_one = 48
|
||||
_size__validate_utf8 = 688
|
||||
_size__validate_utf8 = 672
|
||||
_size__validate_utf8_fast = 560
|
||||
_size__value = 1268
|
||||
_size__vnumber = 1648
|
||||
_size__atof_eisel_lemire64 = 400
|
||||
_size__value = 1308
|
||||
_size__vnumber = 1552
|
||||
_size__atof_eisel_lemire64 = 368
|
||||
_size__atof_native = 608
|
||||
_size__decimal_to_f64 = 992
|
||||
_size__left_shift = 544
|
||||
_size__right_shift = 480
|
||||
_size__vsigned = 368
|
||||
_size__decimal_to_f64 = 1184
|
||||
_size__right_shift = 400
|
||||
_size__left_shift = 496
|
||||
_size__vsigned = 320
|
||||
_size__vstring = 128
|
||||
_size__vunsigned = 368
|
||||
_size__vunsigned = 336
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -129,16 +123,14 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3734, 64},
|
||||
{3738, 48},
|
||||
{3739, 40},
|
||||
{3741, 32},
|
||||
{3743, 24},
|
||||
{3745, 16},
|
||||
{3747, 8},
|
||||
{3751, 0},
|
||||
{3781, 64},
|
||||
{3350, 48},
|
||||
{3351, 40},
|
||||
{3353, 32},
|
||||
{3355, 24},
|
||||
{3357, 16},
|
||||
{3359, 8},
|
||||
{3363, 0},
|
||||
{3385, 48},
|
||||
}
|
||||
_pcsp__f64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -148,24 +140,24 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3124, 56},
|
||||
{3128, 48},
|
||||
{3129, 40},
|
||||
{3131, 32},
|
||||
{3133, 24},
|
||||
{3135, 16},
|
||||
{3137, 8},
|
||||
{3141, 0},
|
||||
{3234, 56},
|
||||
{2788, 56},
|
||||
{2792, 48},
|
||||
{2793, 40},
|
||||
{2795, 32},
|
||||
{2797, 24},
|
||||
{2799, 16},
|
||||
{2801, 8},
|
||||
{2805, 0},
|
||||
{2843, 56},
|
||||
}
|
||||
_pcsp__format_significand = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{468, 24},
|
||||
{469, 16},
|
||||
{471, 8},
|
||||
{473, 0},
|
||||
{452, 24},
|
||||
{453, 16},
|
||||
{455, 8},
|
||||
{457, 0},
|
||||
}
|
||||
_pcsp__format_integer = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -177,6 +169,24 @@ var (
|
|||
{424, 8},
|
||||
{426, 0},
|
||||
}
|
||||
_pcsp__get_by_path = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{4012, 104},
|
||||
{4016, 48},
|
||||
{4017, 40},
|
||||
{4019, 32},
|
||||
{4021, 24},
|
||||
{4023, 16},
|
||||
{4025, 8},
|
||||
{4026, 0},
|
||||
{4194, 104},
|
||||
}
|
||||
_pcsp__fsm_exec = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
|
|
@ -185,15 +195,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1317, 88},
|
||||
{1321, 48},
|
||||
{1322, 40},
|
||||
{1324, 32},
|
||||
{1326, 24},
|
||||
{1328, 16},
|
||||
{1330, 8},
|
||||
{1331, 0},
|
||||
{1656, 88},
|
||||
{1342, 104},
|
||||
{1346, 48},
|
||||
{1347, 40},
|
||||
{1349, 32},
|
||||
{1351, 24},
|
||||
{1353, 16},
|
||||
{1355, 8},
|
||||
{1356, 0},
|
||||
{1692, 104},
|
||||
}
|
||||
_pcsp__advance_string = [][2]uint32{
|
||||
{14, 0},
|
||||
|
|
@ -203,15 +213,15 @@ var (
|
|||
{24, 32},
|
||||
{26, 40},
|
||||
{27, 48},
|
||||
{529, 72},
|
||||
{533, 48},
|
||||
{534, 40},
|
||||
{536, 32},
|
||||
{538, 24},
|
||||
{540, 16},
|
||||
{542, 8},
|
||||
{543, 0},
|
||||
{1253, 72},
|
||||
{557, 56},
|
||||
{561, 48},
|
||||
{562, 40},
|
||||
{564, 32},
|
||||
{566, 24},
|
||||
{568, 16},
|
||||
{570, 8},
|
||||
{571, 0},
|
||||
{1268, 56},
|
||||
}
|
||||
_pcsp__advance_string_default = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -221,45 +231,31 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{381, 56},
|
||||
{385, 48},
|
||||
{386, 40},
|
||||
{388, 32},
|
||||
{390, 24},
|
||||
{392, 16},
|
||||
{394, 8},
|
||||
{395, 0},
|
||||
{911, 56},
|
||||
{552, 64},
|
||||
{556, 48},
|
||||
{557, 40},
|
||||
{559, 32},
|
||||
{561, 24},
|
||||
{563, 16},
|
||||
{565, 8},
|
||||
{566, 0},
|
||||
{931, 64},
|
||||
}
|
||||
_pcsp__do_skip_number = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{739, 32},
|
||||
{740, 24},
|
||||
{742, 16},
|
||||
{744, 8},
|
||||
{745, 0},
|
||||
{876, 32},
|
||||
}
|
||||
_pcsp__get_by_path = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3262, 104},
|
||||
{3266, 48},
|
||||
{3267, 40},
|
||||
{3269, 32},
|
||||
{3271, 24},
|
||||
{3273, 16},
|
||||
{3275, 8},
|
||||
{3276, 0},
|
||||
{3301, 104},
|
||||
{849, 48},
|
||||
{850, 40},
|
||||
{852, 32},
|
||||
{854, 24},
|
||||
{856, 16},
|
||||
{858, 8},
|
||||
{859, 0},
|
||||
{924, 48},
|
||||
}
|
||||
_pcsp__skip_one_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -269,44 +265,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{613, 176},
|
||||
{614, 168},
|
||||
{616, 160},
|
||||
{618, 152},
|
||||
{620, 144},
|
||||
{622, 136},
|
||||
{626, 128},
|
||||
{658, 176},
|
||||
{659, 168},
|
||||
{661, 160},
|
||||
{663, 152},
|
||||
{665, 144},
|
||||
{667, 136},
|
||||
{671, 128},
|
||||
{3016, 176},
|
||||
}
|
||||
_pcsp__unescape = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{246, 56},
|
||||
{250, 48},
|
||||
{251, 40},
|
||||
{253, 32},
|
||||
{255, 24},
|
||||
{257, 16},
|
||||
{259, 8},
|
||||
{260, 0},
|
||||
{695, 56},
|
||||
}
|
||||
_pcsp__unhex16_is = [][2]uint32{
|
||||
{1, 0},
|
||||
{35, 8},
|
||||
{36, 0},
|
||||
{62, 8},
|
||||
{63, 0},
|
||||
{97, 8},
|
||||
{98, 0},
|
||||
{121, 8},
|
||||
{123, 0},
|
||||
}
|
||||
_pcsp__html_escape = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
|
|
@ -315,47 +282,39 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1265, 64},
|
||||
{1269, 48},
|
||||
{1270, 40},
|
||||
{1272, 32},
|
||||
{1274, 24},
|
||||
{1276, 16},
|
||||
{1278, 8},
|
||||
{1280, 0},
|
||||
{1224, 72},
|
||||
{1228, 48},
|
||||
{1229, 40},
|
||||
{1231, 32},
|
||||
{1233, 24},
|
||||
{1235, 16},
|
||||
{1237, 8},
|
||||
{1239, 0},
|
||||
}
|
||||
_pcsp__i64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
{171, 8},
|
||||
{172, 0},
|
||||
{207, 8},
|
||||
{208, 0},
|
||||
{222, 8},
|
||||
{223, 0},
|
||||
{247, 8},
|
||||
{248, 0},
|
||||
{253, 8},
|
||||
{259, 0},
|
||||
{14, 0},
|
||||
{34, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__u64toa = [][2]uint32{
|
||||
{13, 0},
|
||||
{162, 8},
|
||||
{163, 0},
|
||||
{175, 8},
|
||||
{240, 0},
|
||||
{498, 8},
|
||||
{499, 0},
|
||||
{519, 8},
|
||||
{592, 0},
|
||||
{850, 8},
|
||||
{928, 0},
|
||||
{1374, 8},
|
||||
{1376, 0},
|
||||
{1, 0},
|
||||
{161, 8},
|
||||
{162, 0},
|
||||
{457, 8},
|
||||
{458, 0},
|
||||
{756, 8},
|
||||
{757, 0},
|
||||
{1221, 8},
|
||||
{1223, 0},
|
||||
}
|
||||
_pcsp__lspace = [][2]uint32{
|
||||
{1, 0},
|
||||
{85, 8},
|
||||
{87, 0},
|
||||
{89, 8},
|
||||
{90, 0},
|
||||
{103, 8},
|
||||
{104, 0},
|
||||
{111, 8},
|
||||
{113, 0},
|
||||
}
|
||||
_pcsp__quote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -365,15 +324,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1669, 80},
|
||||
{1673, 48},
|
||||
{1674, 40},
|
||||
{1676, 32},
|
||||
{1678, 24},
|
||||
{1680, 16},
|
||||
{1682, 8},
|
||||
{1683, 0},
|
||||
{1718, 80},
|
||||
{1649, 56},
|
||||
{1653, 48},
|
||||
{1654, 40},
|
||||
{1656, 32},
|
||||
{1658, 24},
|
||||
{1660, 16},
|
||||
{1662, 8},
|
||||
{1663, 0},
|
||||
{1690, 56},
|
||||
}
|
||||
_pcsp__skip_array = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -405,8 +364,8 @@ var (
|
|||
}
|
||||
_pcsp__skip_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{28, 8},
|
||||
{34, 0},
|
||||
{30, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__unquote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -416,20 +375,20 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1614, 104},
|
||||
{1618, 48},
|
||||
{1619, 40},
|
||||
{1621, 32},
|
||||
{1623, 24},
|
||||
{1625, 16},
|
||||
{1627, 8},
|
||||
{1628, 0},
|
||||
{2329, 104},
|
||||
{1684, 88},
|
||||
{1688, 48},
|
||||
{1689, 40},
|
||||
{1691, 32},
|
||||
{1693, 24},
|
||||
{1695, 16},
|
||||
{1697, 8},
|
||||
{1698, 0},
|
||||
{2270, 88},
|
||||
}
|
||||
_pcsp__validate_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{33, 8},
|
||||
{39, 0},
|
||||
{35, 8},
|
||||
{41, 0},
|
||||
}
|
||||
_pcsp__validate_utf8 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -438,14 +397,14 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{11, 40},
|
||||
{639, 48},
|
||||
{643, 40},
|
||||
{644, 32},
|
||||
{646, 24},
|
||||
{648, 16},
|
||||
{650, 8},
|
||||
{651, 0},
|
||||
{682, 48},
|
||||
{623, 48},
|
||||
{627, 40},
|
||||
{628, 32},
|
||||
{630, 24},
|
||||
{632, 16},
|
||||
{634, 8},
|
||||
{635, 0},
|
||||
{666, 48},
|
||||
}
|
||||
_pcsp__validate_utf8_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -468,15 +427,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{439, 88},
|
||||
{443, 48},
|
||||
{444, 40},
|
||||
{446, 32},
|
||||
{448, 24},
|
||||
{450, 16},
|
||||
{452, 8},
|
||||
{453, 0},
|
||||
{1268, 88},
|
||||
{495, 88},
|
||||
{499, 48},
|
||||
{500, 40},
|
||||
{502, 32},
|
||||
{504, 24},
|
||||
{506, 16},
|
||||
{508, 8},
|
||||
{509, 0},
|
||||
{1308, 88},
|
||||
}
|
||||
_pcsp__vnumber = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -486,36 +445,34 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{150, 120},
|
||||
{154, 48},
|
||||
{155, 40},
|
||||
{157, 32},
|
||||
{159, 24},
|
||||
{161, 16},
|
||||
{163, 8},
|
||||
{164, 0},
|
||||
{1638, 120},
|
||||
{803, 104},
|
||||
{807, 48},
|
||||
{808, 40},
|
||||
{810, 32},
|
||||
{812, 24},
|
||||
{814, 16},
|
||||
{816, 8},
|
||||
{817, 0},
|
||||
{1547, 104},
|
||||
}
|
||||
_pcsp__atof_eisel_lemire64 = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{315, 40},
|
||||
{316, 32},
|
||||
{318, 24},
|
||||
{320, 16},
|
||||
{322, 8},
|
||||
{323, 0},
|
||||
{387, 40},
|
||||
{292, 32},
|
||||
{293, 24},
|
||||
{295, 16},
|
||||
{297, 8},
|
||||
{298, 0},
|
||||
{362, 32},
|
||||
}
|
||||
_pcsp__atof_native = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{596, 56},
|
||||
{600, 8},
|
||||
{602, 0},
|
||||
{587, 56},
|
||||
{591, 8},
|
||||
{593, 0},
|
||||
}
|
||||
_pcsp__decimal_to_f64 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -525,62 +482,60 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{951, 56},
|
||||
{955, 48},
|
||||
{956, 40},
|
||||
{958, 32},
|
||||
{960, 24},
|
||||
{962, 16},
|
||||
{964, 8},
|
||||
{965, 0},
|
||||
{977, 56},
|
||||
{1144, 56},
|
||||
{1148, 48},
|
||||
{1149, 40},
|
||||
{1151, 32},
|
||||
{1153, 24},
|
||||
{1155, 16},
|
||||
{1157, 8},
|
||||
{1158, 0},
|
||||
{1169, 56},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{318, 8},
|
||||
{319, 0},
|
||||
{387, 8},
|
||||
{388, 0},
|
||||
{396, 8},
|
||||
{398, 0},
|
||||
}
|
||||
_pcsp__left_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{418, 32},
|
||||
{419, 24},
|
||||
{421, 16},
|
||||
{423, 8},
|
||||
{424, 0},
|
||||
{539, 32},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{452, 16},
|
||||
{453, 8},
|
||||
{454, 0},
|
||||
{462, 16},
|
||||
{463, 8},
|
||||
{464, 0},
|
||||
{472, 16},
|
||||
{363, 24},
|
||||
{364, 16},
|
||||
{366, 8},
|
||||
{367, 0},
|
||||
{470, 24},
|
||||
{471, 16},
|
||||
{473, 8},
|
||||
{475, 0},
|
||||
{474, 0},
|
||||
{486, 24},
|
||||
}
|
||||
_pcsp__vsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{113, 16},
|
||||
{114, 8},
|
||||
{115, 0},
|
||||
{126, 16},
|
||||
{127, 8},
|
||||
{128, 0},
|
||||
{278, 16},
|
||||
{279, 8},
|
||||
{280, 0},
|
||||
{284, 16},
|
||||
{285, 8},
|
||||
{286, 0},
|
||||
{340, 16},
|
||||
{341, 8},
|
||||
{342, 0},
|
||||
{353, 16},
|
||||
{354, 8},
|
||||
{356, 0},
|
||||
{112, 16},
|
||||
{113, 8},
|
||||
{114, 0},
|
||||
{125, 16},
|
||||
{126, 8},
|
||||
{127, 0},
|
||||
{260, 16},
|
||||
{261, 8},
|
||||
{262, 0},
|
||||
{266, 16},
|
||||
{267, 8},
|
||||
{268, 0},
|
||||
{306, 16},
|
||||
{307, 8},
|
||||
{308, 0},
|
||||
{316, 16},
|
||||
{317, 8},
|
||||
{319, 0},
|
||||
}
|
||||
_pcsp__vstring = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -599,32 +554,18 @@ var (
|
|||
}
|
||||
_pcsp__vunsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{74, 24},
|
||||
{75, 16},
|
||||
{77, 8},
|
||||
{78, 0},
|
||||
{89, 24},
|
||||
{90, 16},
|
||||
{92, 8},
|
||||
{93, 0},
|
||||
{116, 24},
|
||||
{117, 16},
|
||||
{119, 8},
|
||||
{120, 0},
|
||||
{281, 24},
|
||||
{282, 16},
|
||||
{284, 8},
|
||||
{285, 0},
|
||||
{336, 24},
|
||||
{337, 16},
|
||||
{339, 8},
|
||||
{340, 0},
|
||||
{348, 24},
|
||||
{349, 16},
|
||||
{351, 8},
|
||||
{353, 0},
|
||||
{71, 8},
|
||||
{72, 0},
|
||||
{83, 8},
|
||||
{84, 0},
|
||||
{107, 8},
|
||||
{108, 0},
|
||||
{273, 8},
|
||||
{274, 0},
|
||||
{312, 8},
|
||||
{313, 0},
|
||||
{320, 8},
|
||||
{322, 0},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -634,14 +575,12 @@ var Funcs = []loader.CFunc{
|
|||
{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
|
||||
{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
|
||||
{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
|
||||
{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
|
||||
{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
|
||||
{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
|
||||
{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
|
||||
{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
|
||||
{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
|
||||
{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
|
||||
{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
|
||||
|
|
@ -660,8 +599,8 @@ var Funcs = []loader.CFunc{
|
|||
{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
|
||||
{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
|
||||
{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
|
||||
{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
|
||||
{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
|
||||
|
|
|
|||
27196
vendor/github.com/bytedance/sonic/internal/native/avx/native_text_amd64.go
generated
vendored
27196
vendor/github.com/bytedance/sonic/internal/native/avx/native_text_amd64.go
generated
vendored
File diff suppressed because it is too large
Load diff
9
vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.go
generated
vendored
9
vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.go
generated
vendored
|
|
@ -1,3 +1,6 @@
|
|||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
|
@ -71,8 +74,6 @@ var (
|
|||
__validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
|
||||
|
||||
__validate_utf8_fast func(s unsafe.Pointer) (ret int)
|
||||
|
||||
__fsm_exec func(m unsafe.Pointer, s unsafe.Pointer, p unsafe.Pointer, flags uint64) (ret int)
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
|
|
@ -185,7 +186,3 @@ func validate_utf8_fast(s *string) (ret int) {
|
|||
return __validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s)))
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func fsm_exec(m *types.StateMachine, s *string, p *int, flags uint64) (ret int) {
|
||||
return __fsm_exec(rt.NoEscape(unsafe.Pointer(m)), rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), flags)
|
||||
}
|
||||
|
|
|
|||
745
vendor/github.com/bytedance/sonic/internal/native/avx2/native_subr_amd64.go
generated
vendored
745
vendor/github.com/bytedance/sonic/internal/native/avx2/native_subr_amd64.go
generated
vendored
|
|
@ -8,120 +8,114 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
_entry__f32toa = 34640
|
||||
_entry__f64toa = 368
|
||||
_entry__format_significand = 39440
|
||||
_entry__format_integer = 3616
|
||||
_entry__fsm_exec = 22128
|
||||
_entry__advance_ns = 17856
|
||||
_entry__advance_string = 18592
|
||||
_entry__advance_string_default = 41024
|
||||
_entry__do_skip_number = 24624
|
||||
_entry__get_by_path = 29616
|
||||
_entry__skip_one_fast = 26736
|
||||
_entry__unescape = 41824
|
||||
_entry__unhex16_is = 11376
|
||||
_entry__html_escape = 11712
|
||||
_entry__i64toa = 4048
|
||||
_entry__u64toa = 4320
|
||||
_entry__f32toa = 34656
|
||||
_entry__f64toa = 320
|
||||
_entry__format_significand = 38880
|
||||
_entry__format_integer = 3168
|
||||
_entry__get_by_path = 28896
|
||||
_entry__fsm_exec = 21072
|
||||
_entry__advance_ns = 16928
|
||||
_entry__advance_string = 17664
|
||||
_entry__advance_string_default = 40320
|
||||
_entry__do_skip_number = 23696
|
||||
_entry__skip_one_fast = 25968
|
||||
_entry__html_escape = 10560
|
||||
_entry__i64toa = 3600
|
||||
_entry__u64toa = 3712
|
||||
_entry__lspace = 64
|
||||
_entry__quote = 5872
|
||||
_entry__skip_array = 22080
|
||||
_entry__skip_number = 26128
|
||||
_entry__skip_object = 24048
|
||||
_entry__skip_one = 26304
|
||||
_entry__unquote = 8816
|
||||
_entry__validate_one = 26368
|
||||
_entry__validate_utf8 = 30960
|
||||
_entry__validate_utf8_fast = 31920
|
||||
_entry__value = 16320
|
||||
_entry__vnumber = 19680
|
||||
_entry__atof_eisel_lemire64 = 13760
|
||||
_entry__atof_native = 15712
|
||||
_entry__decimal_to_f64 = 14240
|
||||
_entry__left_shift = 39920
|
||||
_entry__right_shift = 40464
|
||||
_entry__vsigned = 21328
|
||||
_entry__vstring = 18352
|
||||
_entry__vunsigned = 21696
|
||||
_entry__quote = 5104
|
||||
_entry__skip_array = 21024
|
||||
_entry__skip_number = 25392
|
||||
_entry__skip_object = 23088
|
||||
_entry__skip_one = 25552
|
||||
_entry__unquote = 7888
|
||||
_entry__validate_one = 25600
|
||||
_entry__validate_utf8 = 31072
|
||||
_entry__validate_utf8_fast = 32016
|
||||
_entry__value = 15376
|
||||
_entry__vnumber = 18800
|
||||
_entry__atof_eisel_lemire64 = 12624
|
||||
_entry__atof_native = 14768
|
||||
_entry__decimal_to_f64 = 13056
|
||||
_entry__right_shift = 39840
|
||||
_entry__left_shift = 39344
|
||||
_entry__vsigned = 20352
|
||||
_entry__vstring = 17424
|
||||
_entry__vunsigned = 20672
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__f32toa = 64
|
||||
_stack__f32toa = 48
|
||||
_stack__f64toa = 80
|
||||
_stack__format_significand = 24
|
||||
_stack__format_integer = 16
|
||||
_stack__fsm_exec = 136
|
||||
_stack__get_by_path = 272
|
||||
_stack__fsm_exec = 144
|
||||
_stack__advance_ns = 8
|
||||
_stack__advance_string = 48
|
||||
_stack__advance_string = 56
|
||||
_stack__advance_string_default = 48
|
||||
_stack__do_skip_number = 40
|
||||
_stack__get_by_path = 304
|
||||
_stack__do_skip_number = 48
|
||||
_stack__skip_one_fast = 184
|
||||
_stack__unescape = 64
|
||||
_stack__unhex16_is = 8
|
||||
_stack__html_escape = 72
|
||||
_stack__i64toa = 16
|
||||
_stack__u64toa = 8
|
||||
_stack__lspace = 8
|
||||
_stack__quote = 72
|
||||
_stack__skip_array = 144
|
||||
_stack__skip_number = 96
|
||||
_stack__skip_object = 144
|
||||
_stack__skip_one = 144
|
||||
_stack__unquote = 112
|
||||
_stack__validate_one = 144
|
||||
_stack__quote = 56
|
||||
_stack__skip_array = 152
|
||||
_stack__skip_number = 104
|
||||
_stack__skip_object = 152
|
||||
_stack__skip_one = 152
|
||||
_stack__unquote = 72
|
||||
_stack__validate_one = 152
|
||||
_stack__validate_utf8 = 48
|
||||
_stack__validate_utf8_fast = 176
|
||||
_stack__value = 352
|
||||
_stack__vnumber = 264
|
||||
_stack__atof_eisel_lemire64 = 40
|
||||
_stack__atof_native = 144
|
||||
_stack__decimal_to_f64 = 88
|
||||
_stack__left_shift = 32
|
||||
_stack__right_shift = 16
|
||||
_stack__value = 328
|
||||
_stack__vnumber = 240
|
||||
_stack__atof_eisel_lemire64 = 32
|
||||
_stack__atof_native = 136
|
||||
_stack__decimal_to_f64 = 80
|
||||
_stack__right_shift = 8
|
||||
_stack__left_shift = 24
|
||||
_stack__vsigned = 16
|
||||
_stack__vstring = 104
|
||||
_stack__vunsigned = 24
|
||||
_stack__vstring = 112
|
||||
_stack__vunsigned = 8
|
||||
)
|
||||
|
||||
const (
|
||||
_size__f32toa = 3792
|
||||
_size__f64toa = 3248
|
||||
_size__format_significand = 480
|
||||
_size__f32toa = 3392
|
||||
_size__f64toa = 2848
|
||||
_size__format_significand = 464
|
||||
_size__format_integer = 432
|
||||
_size__fsm_exec = 1380
|
||||
_size__get_by_path = 2176
|
||||
_size__fsm_exec = 1468
|
||||
_size__advance_ns = 496
|
||||
_size__advance_string = 1040
|
||||
_size__advance_string_default = 800
|
||||
_size__do_skip_number = 1300
|
||||
_size__get_by_path = 1344
|
||||
_size__skip_one_fast = 2360
|
||||
_size__unescape = 704
|
||||
_size__unhex16_is = 144
|
||||
_size__html_escape = 2048
|
||||
_size__i64toa = 272
|
||||
_size__u64toa = 1408
|
||||
_size__lspace = 256
|
||||
_size__quote = 2896
|
||||
_size__advance_string = 1088
|
||||
_size__advance_string_default = 768
|
||||
_size__do_skip_number = 1360
|
||||
_size__skip_one_fast = 2428
|
||||
_size__html_escape = 2064
|
||||
_size__i64toa = 48
|
||||
_size__u64toa = 1248
|
||||
_size__lspace = 224
|
||||
_size__quote = 2736
|
||||
_size__skip_array = 48
|
||||
_size__skip_number = 160
|
||||
_size__skip_object = 48
|
||||
_size__skip_one = 48
|
||||
_size__unquote = 2560
|
||||
_size__unquote = 2480
|
||||
_size__validate_one = 64
|
||||
_size__validate_utf8 = 688
|
||||
_size__validate_utf8_fast = 2672
|
||||
_size__value = 992
|
||||
_size__vnumber = 1648
|
||||
_size__atof_eisel_lemire64 = 416
|
||||
_size__validate_utf8 = 672
|
||||
_size__validate_utf8_fast = 2608
|
||||
_size__value = 1000
|
||||
_size__vnumber = 1552
|
||||
_size__atof_eisel_lemire64 = 368
|
||||
_size__atof_native = 608
|
||||
_size__decimal_to_f64 = 1472
|
||||
_size__left_shift = 544
|
||||
_size__right_shift = 496
|
||||
_size__vsigned = 368
|
||||
_size__decimal_to_f64 = 1712
|
||||
_size__right_shift = 416
|
||||
_size__left_shift = 496
|
||||
_size__vsigned = 320
|
||||
_size__vstring = 144
|
||||
_size__vunsigned = 368
|
||||
_size__vunsigned = 336
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -132,16 +126,14 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3734, 64},
|
||||
{3738, 48},
|
||||
{3739, 40},
|
||||
{3741, 32},
|
||||
{3743, 24},
|
||||
{3745, 16},
|
||||
{3747, 8},
|
||||
{3751, 0},
|
||||
{3781, 64},
|
||||
{3350, 48},
|
||||
{3351, 40},
|
||||
{3353, 32},
|
||||
{3355, 24},
|
||||
{3357, 16},
|
||||
{3359, 8},
|
||||
{3363, 0},
|
||||
{3385, 48},
|
||||
}
|
||||
_pcsp__f64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -151,24 +143,24 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3124, 56},
|
||||
{3128, 48},
|
||||
{3129, 40},
|
||||
{3131, 32},
|
||||
{3133, 24},
|
||||
{3135, 16},
|
||||
{3137, 8},
|
||||
{3141, 0},
|
||||
{3234, 56},
|
||||
{2788, 56},
|
||||
{2792, 48},
|
||||
{2793, 40},
|
||||
{2795, 32},
|
||||
{2797, 24},
|
||||
{2799, 16},
|
||||
{2801, 8},
|
||||
{2805, 0},
|
||||
{2843, 56},
|
||||
}
|
||||
_pcsp__format_significand = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{468, 24},
|
||||
{469, 16},
|
||||
{471, 8},
|
||||
{473, 0},
|
||||
{452, 24},
|
||||
{453, 16},
|
||||
{455, 8},
|
||||
{457, 0},
|
||||
}
|
||||
_pcsp__format_integer = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -180,78 +172,6 @@ var (
|
|||
{424, 8},
|
||||
{426, 0},
|
||||
}
|
||||
_pcsp__fsm_exec = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1017, 88},
|
||||
{1021, 48},
|
||||
{1022, 40},
|
||||
{1024, 32},
|
||||
{1026, 24},
|
||||
{1028, 16},
|
||||
{1030, 8},
|
||||
{1031, 0},
|
||||
{1380, 88},
|
||||
}
|
||||
_pcsp__advance_ns = [][2]uint32{
|
||||
{1, 0},
|
||||
{442, 8},
|
||||
{446, 0},
|
||||
{467, 8},
|
||||
{471, 0},
|
||||
{489, 8},
|
||||
}
|
||||
_pcsp__advance_string = [][2]uint32{
|
||||
{14, 0},
|
||||
{18, 8},
|
||||
{20, 16},
|
||||
{22, 24},
|
||||
{24, 32},
|
||||
{26, 40},
|
||||
{396, 48},
|
||||
{397, 40},
|
||||
{399, 32},
|
||||
{401, 24},
|
||||
{403, 16},
|
||||
{405, 8},
|
||||
{409, 0},
|
||||
{1031, 48},
|
||||
}
|
||||
_pcsp__advance_string_default = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{314, 48},
|
||||
{315, 40},
|
||||
{317, 32},
|
||||
{319, 24},
|
||||
{321, 16},
|
||||
{323, 8},
|
||||
{327, 0},
|
||||
{786, 48},
|
||||
}
|
||||
_pcsp__do_skip_number = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{1253, 40},
|
||||
{1254, 32},
|
||||
{1256, 24},
|
||||
{1258, 16},
|
||||
{1260, 8},
|
||||
{1264, 0},
|
||||
{1300, 40},
|
||||
}
|
||||
_pcsp__get_by_path = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
|
|
@ -260,15 +180,90 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1293, 120},
|
||||
{1297, 48},
|
||||
{1298, 40},
|
||||
{1300, 32},
|
||||
{1302, 24},
|
||||
{1304, 16},
|
||||
{1306, 8},
|
||||
{1307, 0},
|
||||
{1344, 120},
|
||||
{2049, 88},
|
||||
{2053, 48},
|
||||
{2054, 40},
|
||||
{2056, 32},
|
||||
{2058, 24},
|
||||
{2060, 16},
|
||||
{2062, 8},
|
||||
{2063, 0},
|
||||
{2170, 88},
|
||||
}
|
||||
_pcsp__fsm_exec = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1157, 88},
|
||||
{1161, 48},
|
||||
{1162, 40},
|
||||
{1164, 32},
|
||||
{1166, 24},
|
||||
{1168, 16},
|
||||
{1170, 8},
|
||||
{1171, 0},
|
||||
{1468, 88},
|
||||
}
|
||||
_pcsp__advance_ns = [][2]uint32{
|
||||
{1, 0},
|
||||
{453, 8},
|
||||
{457, 0},
|
||||
{481, 8},
|
||||
{486, 0},
|
||||
}
|
||||
_pcsp__advance_string = [][2]uint32{
|
||||
{14, 0},
|
||||
{18, 8},
|
||||
{20, 16},
|
||||
{22, 24},
|
||||
{24, 32},
|
||||
{26, 40},
|
||||
{27, 48},
|
||||
{433, 56},
|
||||
{437, 48},
|
||||
{438, 40},
|
||||
{440, 32},
|
||||
{442, 24},
|
||||
{444, 16},
|
||||
{446, 8},
|
||||
{450, 0},
|
||||
{1078, 56},
|
||||
}
|
||||
_pcsp__advance_string_default = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{332, 48},
|
||||
{333, 40},
|
||||
{335, 32},
|
||||
{337, 24},
|
||||
{339, 16},
|
||||
{341, 8},
|
||||
{345, 0},
|
||||
{757, 48},
|
||||
}
|
||||
_pcsp__do_skip_number = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{1274, 48},
|
||||
{1275, 40},
|
||||
{1277, 32},
|
||||
{1279, 24},
|
||||
{1281, 16},
|
||||
{1283, 8},
|
||||
{1287, 0},
|
||||
{1360, 48},
|
||||
}
|
||||
_pcsp__skip_one_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -278,43 +273,14 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{396, 176},
|
||||
{397, 168},
|
||||
{399, 160},
|
||||
{401, 152},
|
||||
{403, 144},
|
||||
{405, 136},
|
||||
{409, 128},
|
||||
{2360, 176},
|
||||
}
|
||||
_pcsp__unescape = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{246, 56},
|
||||
{250, 48},
|
||||
{251, 40},
|
||||
{253, 32},
|
||||
{255, 24},
|
||||
{257, 16},
|
||||
{259, 8},
|
||||
{260, 0},
|
||||
{695, 56},
|
||||
}
|
||||
_pcsp__unhex16_is = [][2]uint32{
|
||||
{1, 0},
|
||||
{35, 8},
|
||||
{36, 0},
|
||||
{62, 8},
|
||||
{63, 0},
|
||||
{97, 8},
|
||||
{98, 0},
|
||||
{121, 8},
|
||||
{123, 0},
|
||||
{418, 176},
|
||||
{419, 168},
|
||||
{421, 160},
|
||||
{423, 152},
|
||||
{425, 144},
|
||||
{427, 136},
|
||||
{431, 128},
|
||||
{2428, 176},
|
||||
}
|
||||
_pcsp__html_escape = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -324,52 +290,39 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{2017, 72},
|
||||
{2021, 48},
|
||||
{2022, 40},
|
||||
{2024, 32},
|
||||
{2026, 24},
|
||||
{2028, 16},
|
||||
{2030, 8},
|
||||
{2035, 0},
|
||||
{2045, 72},
|
||||
{2049, 48},
|
||||
{2050, 40},
|
||||
{2052, 32},
|
||||
{2054, 24},
|
||||
{2056, 16},
|
||||
{2058, 8},
|
||||
{2063, 0},
|
||||
}
|
||||
_pcsp__i64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
{171, 8},
|
||||
{172, 0},
|
||||
{207, 8},
|
||||
{208, 0},
|
||||
{222, 8},
|
||||
{223, 0},
|
||||
{247, 8},
|
||||
{248, 0},
|
||||
{253, 8},
|
||||
{259, 0},
|
||||
{14, 0},
|
||||
{34, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__u64toa = [][2]uint32{
|
||||
{13, 0},
|
||||
{162, 8},
|
||||
{163, 0},
|
||||
{175, 8},
|
||||
{240, 0},
|
||||
{498, 8},
|
||||
{499, 0},
|
||||
{519, 8},
|
||||
{592, 0},
|
||||
{852, 8},
|
||||
{928, 0},
|
||||
{1376, 8},
|
||||
{1378, 0},
|
||||
{1, 0},
|
||||
{161, 8},
|
||||
{162, 0},
|
||||
{457, 8},
|
||||
{458, 0},
|
||||
{758, 8},
|
||||
{759, 0},
|
||||
{1225, 8},
|
||||
{1227, 0},
|
||||
}
|
||||
_pcsp__lspace = [][2]uint32{
|
||||
{1, 0},
|
||||
{186, 8},
|
||||
{190, 0},
|
||||
{199, 8},
|
||||
{203, 0},
|
||||
{210, 8},
|
||||
{214, 0},
|
||||
{232, 8},
|
||||
{184, 8},
|
||||
{188, 0},
|
||||
{204, 8},
|
||||
{208, 0},
|
||||
{215, 8},
|
||||
{220, 0},
|
||||
}
|
||||
_pcsp__quote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -379,15 +332,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{2828, 72},
|
||||
{2832, 48},
|
||||
{2833, 40},
|
||||
{2835, 32},
|
||||
{2837, 24},
|
||||
{2839, 16},
|
||||
{2841, 8},
|
||||
{2845, 0},
|
||||
{2876, 72},
|
||||
{2687, 56},
|
||||
{2691, 48},
|
||||
{2692, 40},
|
||||
{2694, 32},
|
||||
{2696, 24},
|
||||
{2698, 16},
|
||||
{2700, 8},
|
||||
{2704, 0},
|
||||
{2731, 56},
|
||||
}
|
||||
_pcsp__skip_array = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -419,8 +372,8 @@ var (
|
|||
}
|
||||
_pcsp__skip_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{28, 8},
|
||||
{34, 0},
|
||||
{30, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__unquote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -430,20 +383,20 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1836, 104},
|
||||
{1840, 48},
|
||||
{1841, 40},
|
||||
{1843, 32},
|
||||
{1845, 24},
|
||||
{1847, 16},
|
||||
{1849, 8},
|
||||
{1853, 0},
|
||||
{2554, 104},
|
||||
{79, 72},
|
||||
{83, 48},
|
||||
{84, 40},
|
||||
{86, 32},
|
||||
{88, 24},
|
||||
{90, 16},
|
||||
{92, 8},
|
||||
{96, 0},
|
||||
{2464, 72},
|
||||
}
|
||||
_pcsp__validate_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{33, 8},
|
||||
{39, 0},
|
||||
{35, 8},
|
||||
{41, 0},
|
||||
}
|
||||
_pcsp__validate_utf8 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -452,26 +405,26 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{11, 40},
|
||||
{639, 48},
|
||||
{643, 40},
|
||||
{644, 32},
|
||||
{646, 24},
|
||||
{648, 16},
|
||||
{650, 8},
|
||||
{651, 0},
|
||||
{682, 48},
|
||||
{623, 48},
|
||||
{627, 40},
|
||||
{628, 32},
|
||||
{630, 24},
|
||||
{632, 16},
|
||||
{634, 8},
|
||||
{635, 0},
|
||||
{666, 48},
|
||||
}
|
||||
_pcsp__validate_utf8_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{5, 16},
|
||||
{1706, 176},
|
||||
{1707, 168},
|
||||
{1711, 160},
|
||||
{2003, 176},
|
||||
{2004, 168},
|
||||
{2008, 160},
|
||||
{2656, 176},
|
||||
{1738, 176},
|
||||
{1739, 168},
|
||||
{1743, 160},
|
||||
{2018, 176},
|
||||
{2019, 168},
|
||||
{2023, 160},
|
||||
{2600, 176},
|
||||
}
|
||||
_pcsp__value = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -481,14 +434,14 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{974, 88},
|
||||
{978, 48},
|
||||
{979, 40},
|
||||
{981, 32},
|
||||
{983, 24},
|
||||
{985, 16},
|
||||
{987, 8},
|
||||
{992, 0},
|
||||
{982, 88},
|
||||
{986, 48},
|
||||
{987, 40},
|
||||
{989, 32},
|
||||
{991, 24},
|
||||
{993, 16},
|
||||
{995, 8},
|
||||
{1000, 0},
|
||||
}
|
||||
_pcsp__vnumber = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -498,36 +451,34 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{150, 120},
|
||||
{154, 48},
|
||||
{155, 40},
|
||||
{157, 32},
|
||||
{159, 24},
|
||||
{161, 16},
|
||||
{163, 8},
|
||||
{164, 0},
|
||||
{1638, 120},
|
||||
{803, 104},
|
||||
{807, 48},
|
||||
{808, 40},
|
||||
{810, 32},
|
||||
{812, 24},
|
||||
{814, 16},
|
||||
{816, 8},
|
||||
{817, 0},
|
||||
{1547, 104},
|
||||
}
|
||||
_pcsp__atof_eisel_lemire64 = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{315, 40},
|
||||
{316, 32},
|
||||
{318, 24},
|
||||
{320, 16},
|
||||
{322, 8},
|
||||
{323, 0},
|
||||
{387, 40},
|
||||
{292, 32},
|
||||
{293, 24},
|
||||
{295, 16},
|
||||
{297, 8},
|
||||
{298, 0},
|
||||
{362, 32},
|
||||
}
|
||||
_pcsp__atof_native = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{596, 56},
|
||||
{600, 8},
|
||||
{602, 0},
|
||||
{587, 56},
|
||||
{591, 8},
|
||||
{593, 0},
|
||||
}
|
||||
_pcsp__decimal_to_f64 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -537,62 +488,60 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1431, 56},
|
||||
{1435, 48},
|
||||
{1436, 40},
|
||||
{1438, 32},
|
||||
{1440, 24},
|
||||
{1442, 16},
|
||||
{1444, 8},
|
||||
{1448, 0},
|
||||
{1460, 56},
|
||||
{1673, 56},
|
||||
{1677, 48},
|
||||
{1678, 40},
|
||||
{1680, 32},
|
||||
{1682, 24},
|
||||
{1684, 16},
|
||||
{1686, 8},
|
||||
{1690, 0},
|
||||
{1702, 56},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{318, 8},
|
||||
{319, 0},
|
||||
{387, 8},
|
||||
{388, 0},
|
||||
{396, 8},
|
||||
{398, 0},
|
||||
}
|
||||
_pcsp__left_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{418, 32},
|
||||
{419, 24},
|
||||
{421, 16},
|
||||
{423, 8},
|
||||
{424, 0},
|
||||
{539, 32},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{452, 16},
|
||||
{453, 8},
|
||||
{454, 0},
|
||||
{462, 16},
|
||||
{463, 8},
|
||||
{464, 0},
|
||||
{472, 16},
|
||||
{363, 24},
|
||||
{364, 16},
|
||||
{366, 8},
|
||||
{367, 0},
|
||||
{470, 24},
|
||||
{471, 16},
|
||||
{473, 8},
|
||||
{475, 0},
|
||||
{474, 0},
|
||||
{486, 24},
|
||||
}
|
||||
_pcsp__vsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{113, 16},
|
||||
{114, 8},
|
||||
{115, 0},
|
||||
{126, 16},
|
||||
{127, 8},
|
||||
{128, 0},
|
||||
{278, 16},
|
||||
{279, 8},
|
||||
{280, 0},
|
||||
{284, 16},
|
||||
{285, 8},
|
||||
{286, 0},
|
||||
{340, 16},
|
||||
{341, 8},
|
||||
{342, 0},
|
||||
{353, 16},
|
||||
{354, 8},
|
||||
{356, 0},
|
||||
{112, 16},
|
||||
{113, 8},
|
||||
{114, 0},
|
||||
{125, 16},
|
||||
{126, 8},
|
||||
{127, 0},
|
||||
{260, 16},
|
||||
{261, 8},
|
||||
{262, 0},
|
||||
{266, 16},
|
||||
{267, 8},
|
||||
{268, 0},
|
||||
{306, 16},
|
||||
{307, 8},
|
||||
{308, 0},
|
||||
{316, 16},
|
||||
{317, 8},
|
||||
{319, 0},
|
||||
}
|
||||
_pcsp__vstring = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -611,32 +560,18 @@ var (
|
|||
}
|
||||
_pcsp__vunsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{74, 24},
|
||||
{75, 16},
|
||||
{77, 8},
|
||||
{78, 0},
|
||||
{89, 24},
|
||||
{90, 16},
|
||||
{92, 8},
|
||||
{93, 0},
|
||||
{116, 24},
|
||||
{117, 16},
|
||||
{119, 8},
|
||||
{120, 0},
|
||||
{281, 24},
|
||||
{282, 16},
|
||||
{284, 8},
|
||||
{285, 0},
|
||||
{336, 24},
|
||||
{337, 16},
|
||||
{339, 8},
|
||||
{340, 0},
|
||||
{348, 24},
|
||||
{349, 16},
|
||||
{351, 8},
|
||||
{353, 0},
|
||||
{71, 8},
|
||||
{72, 0},
|
||||
{83, 8},
|
||||
{84, 0},
|
||||
{107, 8},
|
||||
{108, 0},
|
||||
{273, 8},
|
||||
{274, 0},
|
||||
{312, 8},
|
||||
{313, 0},
|
||||
{320, 8},
|
||||
{322, 0},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -646,15 +581,13 @@ var Funcs = []loader.CFunc{
|
|||
{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
|
||||
{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
|
||||
{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
|
||||
{"_advance_ns", _entry__advance_ns, _size__advance_ns, _stack__advance_ns, _pcsp__advance_ns},
|
||||
{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
|
||||
{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
|
||||
{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
|
||||
{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
|
||||
{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
|
||||
{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
|
||||
{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
|
||||
{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
|
||||
|
|
@ -673,8 +606,8 @@ var Funcs = []loader.CFunc{
|
|||
{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
|
||||
{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
|
||||
{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
|
||||
{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
|
||||
{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
|
||||
|
|
|
|||
28564
vendor/github.com/bytedance/sonic/internal/native/avx2/native_text_amd64.go
generated
vendored
28564
vendor/github.com/bytedance/sonic/internal/native/avx2/native_text_amd64.go
generated
vendored
File diff suppressed because it is too large
Load diff
9
vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
generated
vendored
9
vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
generated
vendored
|
|
@ -93,6 +93,8 @@ var (
|
|||
|
||||
__F64toa func(out unsafe.Pointer, val float64) (ret int)
|
||||
|
||||
__F32toa func(out unsafe.Pointer, val float32) (ret int)
|
||||
|
||||
__ValidateUTF8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
|
||||
|
||||
__ValidateUTF8Fast func(s unsafe.Pointer) (ret int)
|
||||
|
|
@ -153,6 +155,11 @@ func F64toa(out *byte, val float64) (ret int) {
|
|||
return __F64toa(rt.NoEscape(unsafe.Pointer(out)), val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func F32toa(out *byte, val float32) (ret int) {
|
||||
return __F32toa(rt.NoEscape(unsafe.Pointer(out)), val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int) {
|
||||
return __ValidateUTF8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)))
|
||||
|
|
@ -165,7 +172,7 @@ func ValidateUTF8Fast(s *string) (ret int) {
|
|||
|
||||
var stubs = []loader.GoC{
|
||||
{"_f64toa", &S_f64toa, &__F64toa},
|
||||
{"_f32toa", &S_f32toa, nil},
|
||||
{"_f32toa", &S_f32toa, &__F32toa},
|
||||
{"_i64toa", &S_i64toa, &__I64toa},
|
||||
{"_u64toa", &S_u64toa, &__U64toa},
|
||||
{"_lspace", &S_lspace, nil},
|
||||
|
|
|
|||
154
vendor/github.com/bytedance/sonic/internal/native/dispatch_arm64.go
generated
vendored
Normal file
154
vendor/github.com/bytedance/sonic/internal/native/dispatch_arm64.go
generated
vendored
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
* 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 native
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
neon `github.com/bytedance/sonic/internal/native/neon`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
const (
|
||||
MaxFrameSize uintptr = 200
|
||||
BufPaddingSize int = 64
|
||||
)
|
||||
|
||||
var (
|
||||
S_f64toa uintptr
|
||||
S_f32toa uintptr
|
||||
S_i64toa uintptr
|
||||
S_u64toa uintptr
|
||||
S_lspace uintptr
|
||||
)
|
||||
|
||||
var (
|
||||
S_quote uintptr
|
||||
S_unquote uintptr
|
||||
)
|
||||
|
||||
var (
|
||||
S_value uintptr
|
||||
S_vstring uintptr
|
||||
S_vnumber uintptr
|
||||
S_vsigned uintptr
|
||||
S_vunsigned uintptr
|
||||
)
|
||||
|
||||
var (
|
||||
S_skip_one uintptr
|
||||
S_skip_one_fast uintptr
|
||||
S_get_by_path uintptr
|
||||
S_skip_array uintptr
|
||||
S_skip_object uintptr
|
||||
S_skip_number uintptr
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname Quote github.com/bytedance/sonic/internal/native/neon.__quote
|
||||
func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname Unquote github.com/bytedance/sonic/internal/native/neon.__unquote
|
||||
func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname HTMLEscape github.com/bytedance/sonic/internal/native/neon.__html_escape
|
||||
func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname Value github.com/bytedance/sonic/internal/native/neon.__value
|
||||
func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname SkipOne github.com/bytedance/sonic/internal/native/neon.__skip_one
|
||||
func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname SkipOneFast github.com/bytedance/sonic/internal/native/neon.__skip_one_fast
|
||||
func SkipOneFast(s *string, p *int) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname GetByPath github.com/bytedance/sonic/internal/native/neon.__get_by_path
|
||||
func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname ValidateOne github.com/bytedance/sonic/internal/native/neon.__validate_one
|
||||
func ValidateOne(s *string, p *int, m *types.StateMachine) int
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname I64toa github.com/bytedance/sonic/internal/native/neon.__i64toa
|
||||
func I64toa(out *byte, val int64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname U64toa github.com/bytedance/sonic/internal/native/neon.__u64toa
|
||||
func U64toa(out *byte, val uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname F64toa github.com/bytedance/sonic/internal/native/neon.__f64toa
|
||||
func F64toa(out *byte, val float64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname F32toa github.com/bytedance/sonic/internal/native/neon.__f32toa
|
||||
func F32toa(out *byte, val float32) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname ValidateUTF8 github.com/bytedance/sonic/internal/native/neon.__validate_utf8
|
||||
func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//go:linkname ValidateUTF8Fast github.com/bytedance/sonic/internal/native/neon.__validate_utf8_fast
|
||||
func ValidateUTF8Fast(s *string) (ret int)
|
||||
|
||||
func useNeon() {
|
||||
S_f64toa = neon.S_f64toa
|
||||
S_f32toa = neon.S_f32toa
|
||||
S_i64toa = neon.S_i64toa
|
||||
S_u64toa = neon.S_u64toa
|
||||
S_lspace = neon.S_lspace
|
||||
S_quote = neon.S_quote
|
||||
S_unquote = neon.S_unquote
|
||||
S_value = neon.S_value
|
||||
S_vstring = neon.S_vstring
|
||||
S_vnumber = neon.S_vnumber
|
||||
S_vsigned = neon.S_vsigned
|
||||
S_vunsigned = neon.S_vunsigned
|
||||
S_skip_one = neon.S_skip_one
|
||||
S_skip_one_fast = neon.S_skip_one_fast
|
||||
S_skip_array = neon.S_skip_array
|
||||
S_skip_object = neon.S_skip_object
|
||||
S_skip_number = neon.S_skip_number
|
||||
S_get_by_path = neon.S_get_by_path
|
||||
}
|
||||
|
||||
func init() {
|
||||
useNeon()
|
||||
}
|
||||
6
vendor/github.com/bytedance/sonic/internal/native/native_amd64.tmpl
generated
vendored
6
vendor/github.com/bytedance/sonic/internal/native/native_amd64.tmpl
generated
vendored
|
|
@ -69,8 +69,6 @@ var (
|
|||
__validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
|
||||
|
||||
__validate_utf8_fast func(s unsafe.Pointer) (ret int)
|
||||
|
||||
__fsm_exec func(m unsafe.Pointer, s unsafe.Pointer, p unsafe.Pointer, flags uint64) (ret int)
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
|
|
@ -183,7 +181,3 @@ func validate_utf8_fast(s *string) (ret int) {
|
|||
return __validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s)))
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func fsm_exec(m *types.StateMachine, s *string, p *int, flags uint64) (ret int) {
|
||||
return __fsm_exec(rt.NoEscape(unsafe.Pointer(m)), rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), flags)
|
||||
}
|
||||
|
|
|
|||
246
vendor/github.com/bytedance/sonic/internal/native/native_arm64.tmpl
generated
vendored
Normal file
246
vendor/github.com/bytedance/sonic/internal/native/native_arm64.tmpl
generated
vendored
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
// 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 {{PACKAGE}}
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
)
|
||||
|
||||
|
||||
//go:nosplit
|
||||
func i64toa(out *byte, val int64) (ret int) {
|
||||
return __i64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func u64toa(out *byte, val uint64) (ret int) {
|
||||
return __u64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func f64toa(out *byte, val float64) (ret int) {
|
||||
return __f64toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func f32toa(out *byte, val float32) (ret int) {
|
||||
return __f32toa(out, val)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func lspace(sp unsafe.Pointer, nb int, off int) (ret int) {
|
||||
return __lspace(sp, nb, off)
|
||||
}
|
||||
|
||||
//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
|
||||
func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) {
|
||||
return __html_escape(sp, nb, dp, dn)
|
||||
}
|
||||
|
||||
//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
|
||||
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
|
||||
func vstring(s *string, p *int, v *types.JsonState, flags uint64) {
|
||||
__vstring(s, p, v, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func vnumber(s *string, p *int, v *types.JsonState) {
|
||||
__vnumber(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func vsigned(s *string, p *int, v *types.JsonState) {
|
||||
__vsigned(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func vunsigned(s *string, p *int, v *types.JsonState) {
|
||||
__vunsigned(s, p, v)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
|
||||
return __skip_one(s, p, m, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func skip_one_fast(s *string, p *int) (ret int) {
|
||||
return __skip_one_fast(s, p)
|
||||
}
|
||||
|
||||
//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
|
||||
func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
|
||||
return __skip_object(s, p, m, flags)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func skip_number(s *string, p *int) (ret int) {
|
||||
return __skip_number(s, p)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func validate_one(s *string, p *int, m *types.StateMachine) (ret int) {
|
||||
return __validate_one(s, p, m)
|
||||
}
|
||||
|
||||
//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
|
||||
func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) {
|
||||
return __validate_utf8(s, p, m)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func validate_utf8_fast(s *string) (ret int) {
|
||||
return __validate_utf8_fast(s)
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __i64toa(out *byte, val int64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __u64toa(out *byte, val uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __f64toa(out *byte, val float64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __f32toa(out *byte, val float32) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __lspace(sp unsafe.Pointer, nb int, off int) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vstring(s *string, p *int, v *types.JsonState, flags uint64)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vnumber(s *string, p *int, v *types.JsonState)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vsigned(s *string, p *int, v *types.JsonState)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __vunsigned(s *string, p *int, v *types.JsonState)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_one_fast(s *string, p *int) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __skip_number(s *string, p *int) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_one(s *string, p *int, m *types.StateMachine) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int)
|
||||
|
||||
//go:nosplit
|
||||
//go:noescape
|
||||
//goland:noinspection GoUnusedParameter
|
||||
func __validate_utf8_fast(s *string) (ret int)
|
||||
47
vendor/github.com/bytedance/sonic/internal/native/native_export_arm64.tmpl
generated
vendored
Normal file
47
vendor/github.com/bytedance/sonic/internal/native/native_export_arm64.tmpl
generated
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* 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 {{PACKAGE}}
|
||||
|
||||
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
|
||||
)
|
||||
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)
|
||||
4579
vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s
generated
vendored
Normal file
4579
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)
|
||||
1860
vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s
generated
vendored
Normal file
1860
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
|
||||
)
|
||||
|
|
@ -35,7 +35,6 @@ var (
|
|||
var stubs = []loader.GoC{
|
||||
{"_f32toa", nil, &__f32toa},
|
||||
{"_f64toa", nil, &__f64toa},
|
||||
{"_fsm_exec", nil, &__fsm_exec},
|
||||
{"_get_by_path", nil, &__get_by_path},
|
||||
{"_html_escape", nil, &__html_escape},
|
||||
{"_i64toa", nil, &__i64toa},
|
||||
9
vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.go
generated
vendored
9
vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.go
generated
vendored
|
|
@ -1,3 +1,6 @@
|
|||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
|
|
@ -71,8 +74,6 @@ var (
|
|||
__validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
|
||||
|
||||
__validate_utf8_fast func(s unsafe.Pointer) (ret int)
|
||||
|
||||
__fsm_exec func(m unsafe.Pointer, s unsafe.Pointer, p unsafe.Pointer, flags uint64) (ret int)
|
||||
)
|
||||
|
||||
//go:nosplit
|
||||
|
|
@ -185,7 +186,3 @@ func validate_utf8_fast(s *string) (ret int) {
|
|||
return __validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s)))
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func fsm_exec(m *types.StateMachine, s *string, p *int, flags uint64) (ret int) {
|
||||
return __fsm_exec(rt.NoEscape(unsafe.Pointer(m)), rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), flags)
|
||||
}
|
||||
|
|
|
|||
665
vendor/github.com/bytedance/sonic/internal/native/sse/native_subr_amd64.go
generated
vendored
665
vendor/github.com/bytedance/sonic/internal/native/sse/native_subr_amd64.go
generated
vendored
|
|
@ -8,117 +8,111 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
_entry__f32toa = 31344
|
||||
_entry__f64toa = 128
|
||||
_entry__format_significand = 36272
|
||||
_entry__format_integer = 3280
|
||||
_entry__fsm_exec = 18832
|
||||
_entry__advance_string = 15024
|
||||
_entry__advance_string_default = 37808
|
||||
_entry__do_skip_number = 21376
|
||||
_entry__get_by_path = 26768
|
||||
_entry__skip_one_fast = 22896
|
||||
_entry__unescape = 38752
|
||||
_entry__unhex16_is = 9584
|
||||
_entry__html_escape = 9776
|
||||
_entry__i64toa = 3712
|
||||
_entry__u64toa = 3984
|
||||
_entry__f32toa = 31632
|
||||
_entry__f64toa = 160
|
||||
_entry__format_significand = 35968
|
||||
_entry__format_integer = 2960
|
||||
_entry__get_by_path = 26192
|
||||
_entry__fsm_exec = 18016
|
||||
_entry__advance_string = 14352
|
||||
_entry__advance_string_default = 37360
|
||||
_entry__do_skip_number = 20608
|
||||
_entry__skip_one_fast = 22288
|
||||
_entry__html_escape = 8912
|
||||
_entry__i64toa = 3392
|
||||
_entry__u64toa = 3520
|
||||
_entry__lspace = 16
|
||||
_entry__quote = 5472
|
||||
_entry__skip_array = 18800
|
||||
_entry__skip_number = 22496
|
||||
_entry__skip_object = 21024
|
||||
_entry__skip_one = 22672
|
||||
_entry__unquote = 7248
|
||||
_entry__validate_one = 22720
|
||||
_entry__validate_utf8 = 30096
|
||||
_entry__validate_utf8_fast = 30784
|
||||
_entry__value = 13072
|
||||
_entry__vnumber = 16400
|
||||
_entry__atof_eisel_lemire64 = 11072
|
||||
_entry__atof_native = 12464
|
||||
_entry__decimal_to_f64 = 11472
|
||||
_entry__left_shift = 36752
|
||||
_entry__right_shift = 37296
|
||||
_entry__vsigned = 18048
|
||||
_entry__vstring = 14848
|
||||
_entry__vunsigned = 18416
|
||||
_entry__quote = 4832
|
||||
_entry__skip_array = 17984
|
||||
_entry__skip_number = 21904
|
||||
_entry__skip_object = 20256
|
||||
_entry__skip_one = 22064
|
||||
_entry__unquote = 6576
|
||||
_entry__validate_one = 22112
|
||||
_entry__validate_utf8 = 30400
|
||||
_entry__validate_utf8_fast = 31072
|
||||
_entry__value = 12352
|
||||
_entry__vnumber = 15744
|
||||
_entry__atof_eisel_lemire64 = 10192
|
||||
_entry__atof_native = 11744
|
||||
_entry__decimal_to_f64 = 10560
|
||||
_entry__right_shift = 36928
|
||||
_entry__left_shift = 36432
|
||||
_entry__vsigned = 17296
|
||||
_entry__vstring = 14176
|
||||
_entry__vunsigned = 17632
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__f32toa = 64
|
||||
_stack__f32toa = 48
|
||||
_stack__f64toa = 80
|
||||
_stack__format_significand = 24
|
||||
_stack__format_integer = 16
|
||||
_stack__fsm_exec = 160
|
||||
_stack__advance_string = 72
|
||||
_stack__advance_string_default = 56
|
||||
_stack__do_skip_number = 32
|
||||
_stack__get_by_path = 264
|
||||
_stack__get_by_path = 272
|
||||
_stack__fsm_exec = 168
|
||||
_stack__advance_string = 64
|
||||
_stack__advance_string_default = 64
|
||||
_stack__do_skip_number = 48
|
||||
_stack__skip_one_fast = 136
|
||||
_stack__unescape = 64
|
||||
_stack__unhex16_is = 8
|
||||
_stack__html_escape = 64
|
||||
_stack__html_escape = 72
|
||||
_stack__i64toa = 16
|
||||
_stack__u64toa = 8
|
||||
_stack__lspace = 8
|
||||
_stack__quote = 80
|
||||
_stack__skip_array = 168
|
||||
_stack__skip_number = 88
|
||||
_stack__skip_object = 168
|
||||
_stack__skip_one = 168
|
||||
_stack__unquote = 112
|
||||
_stack__validate_one = 168
|
||||
_stack__quote = 64
|
||||
_stack__skip_array = 176
|
||||
_stack__skip_number = 104
|
||||
_stack__skip_object = 176
|
||||
_stack__skip_one = 176
|
||||
_stack__unquote = 88
|
||||
_stack__validate_one = 176
|
||||
_stack__validate_utf8 = 48
|
||||
_stack__validate_utf8_fast = 24
|
||||
_stack__value = 352
|
||||
_stack__vnumber = 264
|
||||
_stack__atof_eisel_lemire64 = 40
|
||||
_stack__atof_native = 144
|
||||
_stack__decimal_to_f64 = 88
|
||||
_stack__left_shift = 32
|
||||
_stack__right_shift = 16
|
||||
_stack__value = 328
|
||||
_stack__vnumber = 240
|
||||
_stack__atof_eisel_lemire64 = 32
|
||||
_stack__atof_native = 136
|
||||
_stack__decimal_to_f64 = 80
|
||||
_stack__right_shift = 8
|
||||
_stack__left_shift = 24
|
||||
_stack__vsigned = 16
|
||||
_stack__vstring = 128
|
||||
_stack__vunsigned = 24
|
||||
_stack__vstring = 120
|
||||
_stack__vunsigned = 8
|
||||
)
|
||||
|
||||
const (
|
||||
_size__f32toa = 3696
|
||||
_size__f64toa = 3152
|
||||
_size__format_significand = 480
|
||||
_size__f32toa = 3328
|
||||
_size__f64toa = 2800
|
||||
_size__format_significand = 464
|
||||
_size__format_integer = 432
|
||||
_size__fsm_exec = 1656
|
||||
_size__advance_string = 1328
|
||||
_size__advance_string_default = 944
|
||||
_size__do_skip_number = 908
|
||||
_size__get_by_path = 3328
|
||||
_size__skip_one_fast = 3348
|
||||
_size__unescape = 704
|
||||
_size__unhex16_is = 128
|
||||
_size__html_escape = 1296
|
||||
_size__i64toa = 272
|
||||
_size__u64toa = 1440
|
||||
_size__lspace = 96
|
||||
_size__quote = 1760
|
||||
_size__get_by_path = 4208
|
||||
_size__fsm_exec = 1692
|
||||
_size__advance_string = 1344
|
||||
_size__advance_string_default = 960
|
||||
_size__do_skip_number = 956
|
||||
_size__skip_one_fast = 3404
|
||||
_size__html_escape = 1280
|
||||
_size__i64toa = 48
|
||||
_size__u64toa = 1264
|
||||
_size__lspace = 128
|
||||
_size__quote = 1728
|
||||
_size__skip_array = 32
|
||||
_size__skip_number = 160
|
||||
_size__skip_object = 32
|
||||
_size__skip_one = 32
|
||||
_size__unquote = 2336
|
||||
_size__skip_one = 48
|
||||
_size__unquote = 2272
|
||||
_size__validate_one = 48
|
||||
_size__validate_utf8 = 688
|
||||
_size__validate_utf8 = 672
|
||||
_size__validate_utf8_fast = 544
|
||||
_size__value = 1268
|
||||
_size__vnumber = 1648
|
||||
_size__atof_eisel_lemire64 = 400
|
||||
_size__value = 1308
|
||||
_size__vnumber = 1552
|
||||
_size__atof_eisel_lemire64 = 368
|
||||
_size__atof_native = 608
|
||||
_size__decimal_to_f64 = 992
|
||||
_size__left_shift = 544
|
||||
_size__right_shift = 480
|
||||
_size__vsigned = 368
|
||||
_size__decimal_to_f64 = 1184
|
||||
_size__right_shift = 400
|
||||
_size__left_shift = 496
|
||||
_size__vsigned = 336
|
||||
_size__vstring = 128
|
||||
_size__vunsigned = 368
|
||||
_size__vunsigned = 336
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -129,16 +123,14 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3638, 64},
|
||||
{3642, 48},
|
||||
{3643, 40},
|
||||
{3645, 32},
|
||||
{3647, 24},
|
||||
{3649, 16},
|
||||
{3651, 8},
|
||||
{3652, 0},
|
||||
{3682, 64},
|
||||
{3286, 48},
|
||||
{3287, 40},
|
||||
{3289, 32},
|
||||
{3291, 24},
|
||||
{3293, 16},
|
||||
{3295, 8},
|
||||
{3296, 0},
|
||||
{3318, 48},
|
||||
}
|
||||
_pcsp__f64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -148,24 +140,24 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3033, 56},
|
||||
{3037, 48},
|
||||
{3038, 40},
|
||||
{3040, 32},
|
||||
{3042, 24},
|
||||
{3044, 16},
|
||||
{3046, 8},
|
||||
{3047, 0},
|
||||
{3138, 56},
|
||||
{2740, 56},
|
||||
{2744, 48},
|
||||
{2745, 40},
|
||||
{2747, 32},
|
||||
{2749, 24},
|
||||
{2751, 16},
|
||||
{2753, 8},
|
||||
{2754, 0},
|
||||
{2792, 56},
|
||||
}
|
||||
_pcsp__format_significand = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{468, 24},
|
||||
{469, 16},
|
||||
{471, 8},
|
||||
{473, 0},
|
||||
{452, 24},
|
||||
{453, 16},
|
||||
{455, 8},
|
||||
{457, 0},
|
||||
}
|
||||
_pcsp__format_integer = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -177,6 +169,24 @@ var (
|
|||
{424, 8},
|
||||
{426, 0},
|
||||
}
|
||||
_pcsp__get_by_path = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{4012, 104},
|
||||
{4016, 48},
|
||||
{4017, 40},
|
||||
{4019, 32},
|
||||
{4021, 24},
|
||||
{4023, 16},
|
||||
{4025, 8},
|
||||
{4026, 0},
|
||||
{4194, 104},
|
||||
}
|
||||
_pcsp__fsm_exec = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
|
|
@ -185,15 +195,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1317, 88},
|
||||
{1321, 48},
|
||||
{1322, 40},
|
||||
{1324, 32},
|
||||
{1326, 24},
|
||||
{1328, 16},
|
||||
{1330, 8},
|
||||
{1331, 0},
|
||||
{1656, 88},
|
||||
{1342, 104},
|
||||
{1346, 48},
|
||||
{1347, 40},
|
||||
{1349, 32},
|
||||
{1351, 24},
|
||||
{1353, 16},
|
||||
{1355, 8},
|
||||
{1356, 0},
|
||||
{1692, 104},
|
||||
}
|
||||
_pcsp__advance_string = [][2]uint32{
|
||||
{14, 0},
|
||||
|
|
@ -203,15 +213,15 @@ var (
|
|||
{24, 32},
|
||||
{26, 40},
|
||||
{27, 48},
|
||||
{587, 72},
|
||||
{591, 48},
|
||||
{592, 40},
|
||||
{594, 32},
|
||||
{596, 24},
|
||||
{598, 16},
|
||||
{600, 8},
|
||||
{601, 0},
|
||||
{1325, 72},
|
||||
{614, 56},
|
||||
{618, 48},
|
||||
{619, 40},
|
||||
{621, 32},
|
||||
{623, 24},
|
||||
{625, 16},
|
||||
{627, 8},
|
||||
{628, 0},
|
||||
{1339, 56},
|
||||
}
|
||||
_pcsp__advance_string_default = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -221,45 +231,31 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{402, 56},
|
||||
{406, 48},
|
||||
{407, 40},
|
||||
{409, 32},
|
||||
{411, 24},
|
||||
{413, 16},
|
||||
{415, 8},
|
||||
{416, 0},
|
||||
{936, 56},
|
||||
{576, 64},
|
||||
{580, 48},
|
||||
{581, 40},
|
||||
{583, 32},
|
||||
{585, 24},
|
||||
{587, 16},
|
||||
{589, 8},
|
||||
{590, 0},
|
||||
{955, 64},
|
||||
}
|
||||
_pcsp__do_skip_number = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{771, 32},
|
||||
{772, 24},
|
||||
{774, 16},
|
||||
{776, 8},
|
||||
{777, 0},
|
||||
{908, 32},
|
||||
}
|
||||
_pcsp__get_by_path = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{3278, 104},
|
||||
{3282, 48},
|
||||
{3283, 40},
|
||||
{3285, 32},
|
||||
{3287, 24},
|
||||
{3289, 16},
|
||||
{3291, 8},
|
||||
{3292, 0},
|
||||
{3317, 104},
|
||||
{881, 48},
|
||||
{882, 40},
|
||||
{884, 32},
|
||||
{886, 24},
|
||||
{888, 16},
|
||||
{890, 8},
|
||||
{891, 0},
|
||||
{956, 48},
|
||||
}
|
||||
_pcsp__skip_one_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -269,44 +265,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{600, 136},
|
||||
{604, 48},
|
||||
{605, 40},
|
||||
{607, 32},
|
||||
{609, 24},
|
||||
{611, 16},
|
||||
{613, 8},
|
||||
{614, 0},
|
||||
{3348, 136},
|
||||
}
|
||||
_pcsp__unescape = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{246, 56},
|
||||
{250, 48},
|
||||
{251, 40},
|
||||
{253, 32},
|
||||
{255, 24},
|
||||
{257, 16},
|
||||
{259, 8},
|
||||
{260, 0},
|
||||
{695, 56},
|
||||
}
|
||||
_pcsp__unhex16_is = [][2]uint32{
|
||||
{1, 0},
|
||||
{35, 8},
|
||||
{36, 0},
|
||||
{62, 8},
|
||||
{63, 0},
|
||||
{97, 8},
|
||||
{98, 0},
|
||||
{121, 8},
|
||||
{123, 0},
|
||||
{658, 136},
|
||||
{662, 48},
|
||||
{663, 40},
|
||||
{665, 32},
|
||||
{667, 24},
|
||||
{669, 16},
|
||||
{671, 8},
|
||||
{672, 0},
|
||||
{3404, 136},
|
||||
}
|
||||
_pcsp__html_escape = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -316,47 +283,39 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1281, 64},
|
||||
{1285, 48},
|
||||
{1286, 40},
|
||||
{1288, 32},
|
||||
{1290, 24},
|
||||
{1292, 16},
|
||||
{1294, 8},
|
||||
{1296, 0},
|
||||
{1256, 72},
|
||||
{1260, 48},
|
||||
{1261, 40},
|
||||
{1263, 32},
|
||||
{1265, 24},
|
||||
{1267, 16},
|
||||
{1269, 8},
|
||||
{1271, 0},
|
||||
}
|
||||
_pcsp__i64toa = [][2]uint32{
|
||||
{1, 0},
|
||||
{171, 8},
|
||||
{172, 0},
|
||||
{207, 8},
|
||||
{208, 0},
|
||||
{222, 8},
|
||||
{223, 0},
|
||||
{247, 8},
|
||||
{248, 0},
|
||||
{253, 8},
|
||||
{259, 0},
|
||||
{14, 0},
|
||||
{34, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__u64toa = [][2]uint32{
|
||||
{13, 0},
|
||||
{162, 8},
|
||||
{163, 0},
|
||||
{175, 8},
|
||||
{240, 0},
|
||||
{498, 8},
|
||||
{499, 0},
|
||||
{519, 8},
|
||||
{608, 0},
|
||||
{882, 8},
|
||||
{976, 0},
|
||||
{1434, 8},
|
||||
{1436, 0},
|
||||
{1, 0},
|
||||
{161, 8},
|
||||
{162, 0},
|
||||
{457, 8},
|
||||
{458, 0},
|
||||
{772, 8},
|
||||
{773, 0},
|
||||
{1249, 8},
|
||||
{1251, 0},
|
||||
}
|
||||
_pcsp__lspace = [][2]uint32{
|
||||
{1, 0},
|
||||
{85, 8},
|
||||
{87, 0},
|
||||
{89, 8},
|
||||
{90, 0},
|
||||
{103, 8},
|
||||
{104, 0},
|
||||
{111, 8},
|
||||
{113, 0},
|
||||
}
|
||||
_pcsp__quote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -366,15 +325,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1701, 80},
|
||||
{1705, 48},
|
||||
{1706, 40},
|
||||
{1708, 32},
|
||||
{1710, 24},
|
||||
{1712, 16},
|
||||
{1714, 8},
|
||||
{1715, 0},
|
||||
{1750, 80},
|
||||
{1681, 64},
|
||||
{1685, 48},
|
||||
{1686, 40},
|
||||
{1688, 32},
|
||||
{1690, 24},
|
||||
{1692, 16},
|
||||
{1694, 8},
|
||||
{1695, 0},
|
||||
{1722, 64},
|
||||
}
|
||||
_pcsp__skip_array = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -406,8 +365,8 @@ var (
|
|||
}
|
||||
_pcsp__skip_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{26, 8},
|
||||
{32, 0},
|
||||
{30, 8},
|
||||
{36, 0},
|
||||
}
|
||||
_pcsp__unquote = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -417,20 +376,20 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{1614, 104},
|
||||
{1618, 48},
|
||||
{1619, 40},
|
||||
{1621, 32},
|
||||
{1623, 24},
|
||||
{1625, 16},
|
||||
{1627, 8},
|
||||
{1628, 0},
|
||||
{2329, 104},
|
||||
{1684, 88},
|
||||
{1688, 48},
|
||||
{1689, 40},
|
||||
{1691, 32},
|
||||
{1693, 24},
|
||||
{1695, 16},
|
||||
{1697, 8},
|
||||
{1698, 0},
|
||||
{2270, 88},
|
||||
}
|
||||
_pcsp__validate_one = [][2]uint32{
|
||||
{1, 0},
|
||||
{31, 8},
|
||||
{37, 0},
|
||||
{35, 8},
|
||||
{41, 0},
|
||||
}
|
||||
_pcsp__validate_utf8 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -439,14 +398,14 @@ var (
|
|||
{8, 24},
|
||||
{10, 32},
|
||||
{11, 40},
|
||||
{639, 48},
|
||||
{643, 40},
|
||||
{644, 32},
|
||||
{646, 24},
|
||||
{648, 16},
|
||||
{650, 8},
|
||||
{651, 0},
|
||||
{682, 48},
|
||||
{623, 48},
|
||||
{627, 40},
|
||||
{628, 32},
|
||||
{630, 24},
|
||||
{632, 16},
|
||||
{634, 8},
|
||||
{635, 0},
|
||||
{666, 48},
|
||||
}
|
||||
_pcsp__validate_utf8_fast = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -469,15 +428,15 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{439, 88},
|
||||
{443, 48},
|
||||
{444, 40},
|
||||
{446, 32},
|
||||
{448, 24},
|
||||
{450, 16},
|
||||
{452, 8},
|
||||
{453, 0},
|
||||
{1268, 88},
|
||||
{495, 88},
|
||||
{499, 48},
|
||||
{500, 40},
|
||||
{502, 32},
|
||||
{504, 24},
|
||||
{506, 16},
|
||||
{508, 8},
|
||||
{509, 0},
|
||||
{1308, 88},
|
||||
}
|
||||
_pcsp__vnumber = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -487,36 +446,34 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{150, 120},
|
||||
{154, 48},
|
||||
{155, 40},
|
||||
{157, 32},
|
||||
{159, 24},
|
||||
{161, 16},
|
||||
{163, 8},
|
||||
{164, 0},
|
||||
{1642, 120},
|
||||
{803, 104},
|
||||
{807, 48},
|
||||
{808, 40},
|
||||
{810, 32},
|
||||
{812, 24},
|
||||
{814, 16},
|
||||
{816, 8},
|
||||
{817, 0},
|
||||
{1551, 104},
|
||||
}
|
||||
_pcsp__atof_eisel_lemire64 = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{10, 32},
|
||||
{315, 40},
|
||||
{316, 32},
|
||||
{318, 24},
|
||||
{320, 16},
|
||||
{322, 8},
|
||||
{323, 0},
|
||||
{387, 40},
|
||||
{292, 32},
|
||||
{293, 24},
|
||||
{295, 16},
|
||||
{297, 8},
|
||||
{298, 0},
|
||||
{362, 32},
|
||||
}
|
||||
_pcsp__atof_native = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{596, 56},
|
||||
{600, 8},
|
||||
{602, 0},
|
||||
{587, 56},
|
||||
{591, 8},
|
||||
{593, 0},
|
||||
}
|
||||
_pcsp__decimal_to_f64 = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -526,62 +483,60 @@ var (
|
|||
{10, 32},
|
||||
{12, 40},
|
||||
{13, 48},
|
||||
{951, 56},
|
||||
{955, 48},
|
||||
{956, 40},
|
||||
{958, 32},
|
||||
{960, 24},
|
||||
{962, 16},
|
||||
{964, 8},
|
||||
{965, 0},
|
||||
{977, 56},
|
||||
{1144, 56},
|
||||
{1148, 48},
|
||||
{1149, 40},
|
||||
{1151, 32},
|
||||
{1153, 24},
|
||||
{1155, 16},
|
||||
{1157, 8},
|
||||
{1158, 0},
|
||||
{1169, 56},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{318, 8},
|
||||
{319, 0},
|
||||
{387, 8},
|
||||
{388, 0},
|
||||
{396, 8},
|
||||
{398, 0},
|
||||
}
|
||||
_pcsp__left_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{8, 24},
|
||||
{418, 32},
|
||||
{419, 24},
|
||||
{421, 16},
|
||||
{423, 8},
|
||||
{424, 0},
|
||||
{539, 32},
|
||||
}
|
||||
_pcsp__right_shift = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{452, 16},
|
||||
{453, 8},
|
||||
{454, 0},
|
||||
{462, 16},
|
||||
{463, 8},
|
||||
{464, 0},
|
||||
{472, 16},
|
||||
{363, 24},
|
||||
{364, 16},
|
||||
{366, 8},
|
||||
{367, 0},
|
||||
{470, 24},
|
||||
{471, 16},
|
||||
{473, 8},
|
||||
{475, 0},
|
||||
{474, 0},
|
||||
{486, 24},
|
||||
}
|
||||
_pcsp__vsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{111, 16},
|
||||
{112, 8},
|
||||
{113, 0},
|
||||
{124, 16},
|
||||
{125, 8},
|
||||
{126, 0},
|
||||
{278, 16},
|
||||
{279, 8},
|
||||
{280, 0},
|
||||
{284, 16},
|
||||
{285, 8},
|
||||
{286, 0},
|
||||
{340, 16},
|
||||
{341, 8},
|
||||
{342, 0},
|
||||
{353, 16},
|
||||
{354, 8},
|
||||
{356, 0},
|
||||
{119, 16},
|
||||
{120, 8},
|
||||
{121, 0},
|
||||
{132, 16},
|
||||
{133, 8},
|
||||
{134, 0},
|
||||
{276, 16},
|
||||
{277, 8},
|
||||
{278, 0},
|
||||
{282, 16},
|
||||
{283, 8},
|
||||
{284, 0},
|
||||
{322, 16},
|
||||
{323, 8},
|
||||
{324, 0},
|
||||
{332, 16},
|
||||
{333, 8},
|
||||
{335, 0},
|
||||
}
|
||||
_pcsp__vstring = [][2]uint32{
|
||||
{1, 0},
|
||||
|
|
@ -600,32 +555,18 @@ var (
|
|||
}
|
||||
_pcsp__vunsigned = [][2]uint32{
|
||||
{1, 0},
|
||||
{4, 8},
|
||||
{6, 16},
|
||||
{72, 24},
|
||||
{73, 16},
|
||||
{75, 8},
|
||||
{76, 0},
|
||||
{87, 24},
|
||||
{88, 16},
|
||||
{78, 8},
|
||||
{79, 0},
|
||||
{90, 8},
|
||||
{91, 0},
|
||||
{114, 24},
|
||||
{115, 16},
|
||||
{117, 8},
|
||||
{118, 0},
|
||||
{281, 24},
|
||||
{282, 16},
|
||||
{284, 8},
|
||||
{285, 0},
|
||||
{336, 24},
|
||||
{337, 16},
|
||||
{339, 8},
|
||||
{340, 0},
|
||||
{348, 24},
|
||||
{349, 16},
|
||||
{351, 8},
|
||||
{353, 0},
|
||||
{114, 8},
|
||||
{115, 0},
|
||||
{273, 8},
|
||||
{274, 0},
|
||||
{312, 8},
|
||||
{313, 0},
|
||||
{320, 8},
|
||||
{322, 0},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -635,14 +576,12 @@ var Funcs = []loader.CFunc{
|
|||
{"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa},
|
||||
{"_format_significand", _entry__format_significand, _size__format_significand, _stack__format_significand, _pcsp__format_significand},
|
||||
{"_format_integer", _entry__format_integer, _size__format_integer, _stack__format_integer, _pcsp__format_integer},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_fsm_exec", _entry__fsm_exec, _size__fsm_exec, _stack__fsm_exec, _pcsp__fsm_exec},
|
||||
{"_advance_string", _entry__advance_string, _size__advance_string, _stack__advance_string, _pcsp__advance_string},
|
||||
{"_advance_string_default", _entry__advance_string_default, _size__advance_string_default, _stack__advance_string_default, _pcsp__advance_string_default},
|
||||
{"_do_skip_number", _entry__do_skip_number, _size__do_skip_number, _stack__do_skip_number, _pcsp__do_skip_number},
|
||||
{"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path},
|
||||
{"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast},
|
||||
{"_unescape", _entry__unescape, _size__unescape, _stack__unescape, _pcsp__unescape},
|
||||
{"_unhex16_is", _entry__unhex16_is, _size__unhex16_is, _stack__unhex16_is, _pcsp__unhex16_is},
|
||||
{"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape},
|
||||
{"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa},
|
||||
{"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa},
|
||||
|
|
@ -661,8 +600,8 @@ var Funcs = []loader.CFunc{
|
|||
{"_atof_eisel_lemire64", _entry__atof_eisel_lemire64, _size__atof_eisel_lemire64, _stack__atof_eisel_lemire64, _pcsp__atof_eisel_lemire64},
|
||||
{"_atof_native", _entry__atof_native, _size__atof_native, _stack__atof_native, _pcsp__atof_native},
|
||||
{"_decimal_to_f64", _entry__decimal_to_f64, _size__decimal_to_f64, _stack__decimal_to_f64, _pcsp__decimal_to_f64},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_right_shift", _entry__right_shift, _size__right_shift, _stack__right_shift, _pcsp__right_shift},
|
||||
{"_left_shift", _entry__left_shift, _size__left_shift, _stack__left_shift, _pcsp__left_shift},
|
||||
{"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned},
|
||||
{"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring},
|
||||
{"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned},
|
||||
|
|
|
|||
27807
vendor/github.com/bytedance/sonic/internal/native/sse/native_text_amd64.go
generated
vendored
27807
vendor/github.com/bytedance/sonic/internal/native/sse/native_text_amd64.go
generated
vendored
File diff suppressed because it is too large
Load diff
2
vendor/github.com/bytedance/sonic/internal/native/types/types.go
generated
vendored
2
vendor/github.com/bytedance/sonic/internal/native/types/types.go
generated
vendored
|
|
@ -159,4 +159,4 @@ func NewDbuf() *byte {
|
|||
|
||||
func FreeDbuf(p *byte) {
|
||||
digitPool.Put(p)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue