[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
6
go.mod
6
go.mod
|
@ -28,7 +28,7 @@ require (
|
|||
github.com/coreos/go-oidc/v3 v3.9.0
|
||||
github.com/disintegration/imaging v1.6.2
|
||||
github.com/gin-contrib/cors v1.7.0
|
||||
github.com/gin-contrib/gzip v0.0.6
|
||||
github.com/gin-contrib/gzip v1.0.0
|
||||
github.com/gin-contrib/sessions v0.0.5
|
||||
github.com/gin-gonic/gin v1.9.1
|
||||
github.com/go-playground/form/v4 v4.2.1
|
||||
|
@ -91,7 +91,7 @@ require (
|
|||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bytedance/sonic v1.11.2 // indirect
|
||||
github.com/bytedance/sonic v1.11.3 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
|
||||
|
@ -173,7 +173,7 @@ require (
|
|||
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||
github.com/opencontainers/runtime-spec v1.0.2 // indirect
|
||||
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.0 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/prometheus/client_model v0.6.0 // indirect
|
||||
|
|
30
go.sum
30
go.sum
|
@ -105,8 +105,8 @@ github.com/buckket/go-blurhash v1.1.0 h1:X5M6r0LIvwdvKiUtiNcRL2YlmOfMzYobI3VCKCZ
|
|||
github.com/buckket/go-blurhash v1.1.0/go.mod h1:aT2iqo5W9vu9GpyoLErKfTHwgODsZp3bQfXjXJUxNb8=
|
||||
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
|
||||
github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
|
||||
github.com/bytedance/sonic v1.11.2 h1:ywfwo0a/3j9HR8wsYGWsIWl2mvRsI950HyoxiBERw5A=
|
||||
github.com/bytedance/sonic v1.11.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4=
|
||||
github.com/bytedance/sonic v1.11.3 h1:jRN+yEjakWh8aK5FzrciUHG8OFXK+4/KrAX/ysEtHAA=
|
||||
github.com/bytedance/sonic v1.11.3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4=
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
|
||||
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
|
@ -185,13 +185,12 @@ github.com/gavv/httpexpect v2.0.0+incompatible h1:1X9kcRshkSKEjNJJxX9Y9mQ5BRfbxU
|
|||
github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
|
||||
github.com/gin-contrib/cors v1.7.0 h1:wZX2wuZ0o7rV2/1i7gb4Jn+gW7HBqaP91fizJkBUJOA=
|
||||
github.com/gin-contrib/cors v1.7.0/go.mod h1:cI+h6iOAyxKRtUtC6iF/Si1KSFvGm/gK+kshxlCi8ro=
|
||||
github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4=
|
||||
github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk=
|
||||
github.com/gin-contrib/gzip v1.0.0 h1:UKN586Po/92IDX6ie5CWLgMI81obiIp5nSP85T3wlTk=
|
||||
github.com/gin-contrib/gzip v1.0.0/go.mod h1:CtG7tQrPB3vIBo6Gat9FVUsis+1emjvQqd66ME5TdnE=
|
||||
github.com/gin-contrib/sessions v0.0.5 h1:CATtfHmLMQrMNpJRgzjWXD7worTh7g7ritsQfmF+0jE=
|
||||
github.com/gin-contrib/sessions v0.0.5/go.mod h1:vYAuaUPqie3WUSsft6HUlCjlwwoJQs97miaG2+7neKY=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk=
|
||||
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
|
||||
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
|
||||
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
|
||||
|
@ -256,13 +255,10 @@ github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lY
|
|||
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/form/v4 v4.2.1 h1:HjdRDKO0fftVMU5epjPW2SOREcZ6/wLUzEobqUGJuPw=
|
||||
github.com/go-playground/form/v4 v4.2.1/go.mod h1:q1a2BY+AQUUzhl6xA/6hBetay6dEIhMHjgvJiGo6K7U=
|
||||
github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
|
||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||
github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
|
||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
||||
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
|
||||
github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
|
||||
github.com/go-playground/validator/v10 v10.19.0 h1:ol+5Fu+cSq9JD7SoSqe04GMI92cbn0+wvQ3bZ8b/AU4=
|
||||
github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
|
||||
github.com/go-session/session v3.1.2+incompatible/go.mod h1:8B3iivBQjrz/JtC68Np2T1yBBLxTan3mn/3OM0CyRt0=
|
||||
|
@ -299,7 +295,6 @@ github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWe
|
|||
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
||||
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
||||
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||
github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
|
||||
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||
github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA=
|
||||
|
@ -458,7 +453,6 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv
|
|||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
|
@ -466,7 +460,6 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
|||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
|
||||
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
|
||||
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
|
||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||
|
@ -480,7 +473,6 @@ github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsI
|
|||
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||
github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U=
|
||||
|
@ -533,9 +525,8 @@ github.com/orcaman/writerseeker v0.0.0-20200621085525-1d3f536ff85e/go.mod h1:nBd
|
|||
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
|
||||
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
|
||||
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
||||
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
|
||||
github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI=
|
||||
github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
|
||||
github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo=
|
||||
github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
|
@ -562,8 +553,6 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qq
|
|||
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
|
@ -607,6 +596,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
|
|||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
|
@ -667,8 +657,6 @@ github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9r
|
|||
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
|
||||
github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
|
||||
github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY=
|
||||
github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE=
|
||||
github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
|
||||
github.com/ulule/limiter/v3 v3.11.2 h1:P4yOrxoEMJbOTfRJR2OzjL90oflzYPPmWg+dvwN2tHA=
|
||||
|
@ -771,7 +759,6 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
|
|||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
|
@ -918,8 +905,6 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
|
@ -1093,7 +1078,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
|
|||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
|
|
@ -23,9 +23,9 @@ CPU_avx := amd64
|
|||
CPU_avx2 := amd64
|
||||
CPU_sse := amd64
|
||||
|
||||
TMPL_avx := fastint_amd64_test fastfloat_amd64_test native_amd64_test recover_amd64_test
|
||||
TMPL_avx2 := fastint_amd64_test fastfloat_amd64_test native_amd64_test recover_amd64_test
|
||||
TMPL_sse := fastint_amd64_test fastfloat_amd64_test native_amd64_test recover_amd64_test
|
||||
TMPL_avx := native_test fastint_test fastfloat_test native_amd64 recover_test
|
||||
TMPL_avx2 := native_test fastint_test fastfloat_test native_amd64 recover_test
|
||||
TMPL_sse := native_test fastint_test fastfloat_test native_amd64 recover_test
|
||||
|
||||
CFLAGS_avx := -msse -mno-sse4 -mavx -mpclmul -mno-avx2 -mstack-alignment=0 -DUSE_AVX=1 -DUSE_AVX2=0
|
||||
CFLAGS_avx2 := -msse -mno-sse4 -mavx -mpclmul -mavx2 -mstack-alignment=0 -DUSE_AVX=1 -DUSE_AVX2=1
|
||||
|
@ -54,10 +54,14 @@ define build_tmpl
|
|||
$(eval @arch := $(1))
|
||||
$(eval @tmpl := $(2))
|
||||
$(eval @dest := $(3))
|
||||
$(eval @cpu := $(4))
|
||||
|
||||
${@dest}: ${@tmpl}
|
||||
mkdir -p $(dir ${@dest})
|
||||
echo '// Code generated by Makefile, DO NOT EDIT.' > ${@dest}
|
||||
echo '// +build ${@cpu}' > ${@dest}
|
||||
echo >> ${@dest}
|
||||
echo >> ${@dest}
|
||||
echo '// Code generated by Makefile, DO NOT EDIT.' >> ${@dest}
|
||||
echo >> ${@dest}
|
||||
sed -e 's/{{PACKAGE}}/${@arch}/g' ${@tmpl} >> ${@dest}
|
||||
endef
|
||||
|
@ -91,7 +95,8 @@ $(foreach \
|
|||
build_tmpl, \
|
||||
$(1), \
|
||||
${OUT_DIR}/${tmpl}.tmpl, \
|
||||
${OUT_DIR}/$(1)/${tmpl}.go \
|
||||
${OUT_DIR}/$(1)/${tmpl}.go, \
|
||||
$(value CPU_$(1)) \
|
||||
)) \
|
||||
)
|
||||
endef
|
||||
|
|
|
@ -413,7 +413,7 @@ func init() {
|
|||
|
||||
When decoding **string values without any escaped characters**, sonic references them from the origin JSON buffer instead of mallocing a new buffer to copy. This helps a lot for CPU performance but may leave the whole JSON buffer in memory as long as the decoded objects are being used. In practice, we found the extra memory introduced by referring JSON buffer is usually 20% ~ 80% of decoded objects. Once an application holds these objects for a long time (for example, cache the decoded objects for reusing), its in-use memory on the server may go up. - `Config.CopyString`/`decoder.CopyString()`: We provide the option for `Decode()` / `Unmarshal()` users to choose not to reference the JSON buffer, which may cause a decline in CPU performance to some degree.
|
||||
|
||||
- `GetFromStringNoCopy()`: For memory safty, `sonic.Get()` / `sonic.GetFromString()` now copies return JSON. If users want to get json more quickly and not care about memory usage, you can use `GetFromStringNoCopy()` to return a JSON direclty referenced from source.
|
||||
- `GetFromStringNoCopy()`: For memory safety, `sonic.Get()` / `sonic.GetFromString()` now copies return JSON. If users want to get json more quickly and not care about memory usage, you can use `GetFromStringNoCopy()` to return a JSON directly referenced from source.
|
||||
|
||||
### Pass string or []byte?
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ type Config struct {
|
|||
}
|
||||
|
||||
var (
|
||||
// ConfigDefault is the default config of APIs, aiming at efficiency and safty.
|
||||
// ConfigDefault is the default config of APIs, aiming at efficiency and safety.
|
||||
ConfigDefault = Config{}.Froze()
|
||||
|
||||
// ConfigStd is the standard config of APIs, aiming at being compatible with encoding/json.
|
||||
|
@ -118,7 +118,7 @@ type API interface {
|
|||
NewEncoder(writer io.Writer) Encoder
|
||||
// NewDecoder create a Decoder holding reader
|
||||
NewDecoder(reader io.Reader) Decoder
|
||||
// Valid validates the JSON-encoded bytes and reportes if it is valid
|
||||
// Valid validates the JSON-encoded bytes and reports if it is valid
|
||||
Valid(data []byte) bool
|
||||
}
|
||||
|
||||
|
@ -184,7 +184,7 @@ func UnmarshalString(buf string, val interface{}) error {
|
|||
//
|
||||
// Notice: It expects the src json is **Well-formed** and **Immutable** when calling,
|
||||
// otherwise it may return unexpected result.
|
||||
// Considering memory safty, the returned JSON is **Copied** from the input
|
||||
// Considering memory safety, the returned JSON is **Copied** from the input
|
||||
func Get(src []byte, path ...interface{}) (ast.Node, error) {
|
||||
return GetCopyFromString(rt.Mem2Str(src), path...)
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// +build amd64,go1.16,!go1.23
|
||||
// +build amd64,go1.16,!go1.23 arm64,go1.20,!go1.23
|
||||
|
||||
/*
|
||||
* Copyright 2022 ByteDance Inc.
|
||||
|
@ -27,7 +27,6 @@ import (
|
|||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
uq `github.com/bytedance/sonic/unquote`
|
||||
`github.com/chenzhuoyu/base64x`
|
||||
)
|
||||
|
||||
var typeByte = rt.UnpackEface(byte(0)).Type
|
||||
|
@ -77,14 +76,6 @@ func unquote(src string) (string, types.ParsingError) {
|
|||
return uq.String(src)
|
||||
}
|
||||
|
||||
func decodeBase64(src string) ([]byte, error) {
|
||||
return base64x.StdEncoding.DecodeString(src)
|
||||
}
|
||||
|
||||
func encodeBase64(src []byte) string {
|
||||
return base64x.StdEncoding.EncodeToString(src)
|
||||
}
|
||||
|
||||
func (self *Parser) decodeValue() (val types.JsonState) {
|
||||
sv := (*rt.GoString)(unsafe.Pointer(&self.s))
|
||||
flag := types.F_USE_NUMBER
|
|
@ -1,111 +1,105 @@
|
|||
// +build !amd64 !go1.16 go1.23
|
||||
// +build !amd64,!arm64 go1.23 !go1.16 arm64,!go1.20
|
||||
|
||||
/*
|
||||
* Copyright 2022 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.
|
||||
*/
|
||||
* Copyright 2022 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 ast
|
||||
|
||||
import (
|
||||
`encoding/base64`
|
||||
`encoding/json`
|
||||
`encoding/json`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
)
|
||||
|
||||
func init() {
|
||||
println("WARNING: sonic only supports Go1.16~1.22 && CPU amd64, but your environment is not suitable")
|
||||
println("WARNING:(ast) sonic only supports Go1.16~1.22, but your environment is not suitable")
|
||||
}
|
||||
|
||||
func quote(buf *[]byte, val string) {
|
||||
quoteString(buf, val)
|
||||
quoteString(buf, val)
|
||||
}
|
||||
|
||||
func unquote(src string) (string, types.ParsingError) {
|
||||
sp := rt.IndexChar(src, -1)
|
||||
out, ok := unquoteBytes(rt.BytesFrom(sp, len(src)+2, len(src)+2))
|
||||
if !ok {
|
||||
return "", types.ERR_INVALID_ESCAPE
|
||||
}
|
||||
return rt.Mem2Str(out), 0
|
||||
sp := rt.IndexChar(src, -1)
|
||||
out, ok := unquoteBytes(rt.BytesFrom(sp, len(src)+2, len(src)+2))
|
||||
if !ok {
|
||||
return "", types.ERR_INVALID_ESCAPE
|
||||
}
|
||||
return rt.Mem2Str(out), 0
|
||||
}
|
||||
|
||||
func decodeBase64(src string) ([]byte, error) {
|
||||
return base64.StdEncoding.DecodeString(src)
|
||||
}
|
||||
|
||||
func encodeBase64(src []byte) string {
|
||||
return base64.StdEncoding.EncodeToString(src)
|
||||
}
|
||||
|
||||
func (self *Parser) decodeValue() (val types.JsonState) {
|
||||
e, v := decodeValue(self.s, self.p, self.dbuf == nil)
|
||||
if e < 0 {
|
||||
return v
|
||||
}
|
||||
self.p = e
|
||||
return v
|
||||
e, v := decodeValue(self.s, self.p, self.dbuf == nil)
|
||||
if e < 0 {
|
||||
return v
|
||||
}
|
||||
self.p = e
|
||||
return v
|
||||
}
|
||||
|
||||
func (self *Parser) skip() (int, types.ParsingError) {
|
||||
e, s := skipValue(self.s, self.p)
|
||||
if e < 0 {
|
||||
return self.p, types.ParsingError(-e)
|
||||
}
|
||||
self.p = e
|
||||
return s, 0
|
||||
e, s := skipValue(self.s, self.p)
|
||||
if e < 0 {
|
||||
return self.p, types.ParsingError(-e)
|
||||
}
|
||||
self.p = e
|
||||
return s, 0
|
||||
}
|
||||
|
||||
func (self *Parser) skipFast() (int, types.ParsingError) {
|
||||
e, s := skipValueFast(self.s, self.p)
|
||||
if e < 0 {
|
||||
return self.p, types.ParsingError(-e)
|
||||
}
|
||||
self.p = e
|
||||
return s, 0
|
||||
e, s := skipValueFast(self.s, self.p)
|
||||
if e < 0 {
|
||||
return self.p, types.ParsingError(-e)
|
||||
}
|
||||
self.p = e
|
||||
return s, 0
|
||||
}
|
||||
|
||||
func (self *Node) encodeInterface(buf *[]byte) error {
|
||||
out, err := json.Marshal(self.packAny())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*buf = append(*buf, out...)
|
||||
return nil
|
||||
out, err := json.Marshal(self.packAny())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*buf = append(*buf, out...)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *Parser) getByPath(path ...interface{}) (int, types.ParsingError) {
|
||||
var err types.ParsingError
|
||||
for _, p := range path {
|
||||
if idx, ok := p.(int); ok && idx >= 0 {
|
||||
if err = self.searchIndex(idx); err != 0 {
|
||||
return -1, err
|
||||
if err := self.searchIndex(idx); err != 0 {
|
||||
return self.p, err
|
||||
}
|
||||
} else if key, ok := p.(string); ok {
|
||||
if err = self.searchKey(key); err != 0 {
|
||||
return -1, err
|
||||
if err := self.searchKey(key); err != 0 {
|
||||
return self.p, err
|
||||
}
|
||||
} else {
|
||||
panic("path must be either int(>=0) or string")
|
||||
}
|
||||
}
|
||||
|
||||
var start int
|
||||
if start, err = self.skip(); err != 0 {
|
||||
return -1, err
|
||||
start, e := self.skip()
|
||||
if e != 0 {
|
||||
return self.p, e
|
||||
}
|
||||
// t := switchRawType(self.s[start])
|
||||
// if t == _V_NUMBER {
|
||||
// self.p = 1 + backward(self.s, self.p-1)
|
||||
// }
|
||||
return start, 0
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
// +build amd64,go1.16
|
||||
|
||||
/**
|
||||
* Copyright 2023 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 ast
|
||||
|
||||
import (
|
||||
`github.com/chenzhuoyu/base64x`
|
||||
)
|
||||
|
||||
func decodeBase64(src string) ([]byte, error) {
|
||||
return base64x.StdEncoding.DecodeString(src)
|
||||
}
|
||||
|
||||
func encodeBase64(src []byte) string {
|
||||
return base64x.StdEncoding.EncodeToString(src)
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// +build !amd64 !go1.16
|
||||
|
||||
/*
|
||||
* Copyright 2022 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 ast
|
||||
|
||||
import (
|
||||
`encoding/base64`
|
||||
)
|
||||
|
||||
func decodeBase64(src string) ([]byte, error) {
|
||||
return base64.StdEncoding.DecodeString(src)
|
||||
}
|
||||
|
||||
func encodeBase64(src []byte) string {
|
||||
return base64.StdEncoding.EncodeToString(src)
|
||||
}
|
|
@ -25,7 +25,7 @@ import (
|
|||
// Visitor handles the callbacks during preorder traversal of a JSON AST.
|
||||
//
|
||||
// According to the JSON RFC8259, a JSON AST can be defined by
|
||||
// the following rules without seperator / whitespace tokens.
|
||||
// the following rules without separator / whitespace tokens.
|
||||
//
|
||||
// JSON-AST = value
|
||||
// value = false / null / true / object / array / number / string
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
@ -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()
|
||||
}
|
|
@ -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},
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -159,4 +159,4 @@ func NewDbuf() *byte {
|
|||
|
||||
func FreeDbuf(p *byte) {
|
||||
digitPool.Put(p)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,6 @@ linters:
|
|||
fast: false
|
||||
enable:
|
||||
- bodyclose
|
||||
- deadcode
|
||||
- depguard
|
||||
- dogsled
|
||||
- dupl
|
||||
- errcheck
|
||||
|
@ -29,20 +27,12 @@ linters:
|
|||
- nolintlint
|
||||
- rowserrcheck
|
||||
- staticcheck
|
||||
- structcheck
|
||||
- stylecheck
|
||||
- typecheck
|
||||
- unconvert
|
||||
- unparam
|
||||
- unused
|
||||
- varcheck
|
||||
- whitespace
|
||||
- gofumpt
|
||||
|
||||
run:
|
||||
timeout: 3m
|
||||
|
||||
linters-settings:
|
||||
dupl:
|
||||
# tokens count to trigger issue, 150 by default
|
||||
threshold: 200
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
project_name: queue
|
||||
|
||||
builds:
|
||||
-
|
||||
# If true, skip the build.
|
||||
# Useful for library projects.
|
||||
# Default is false
|
||||
skip: true
|
||||
|
||||
changelog:
|
||||
# Set it to true if you wish to skip the changelog generation.
|
||||
# This may result in an empty release notes on GitHub/GitLab/Gitea.
|
||||
skip: false
|
||||
|
||||
# Changelog generation implementation to use.
|
||||
#
|
||||
# Valid options are:
|
||||
# - `git`: uses `git log`;
|
||||
# - `github`: uses the compare GitHub API, appending the author login to the changelog.
|
||||
# - `gitlab`: uses the compare GitLab API, appending the author name and email to the changelog.
|
||||
# - `github-native`: uses the GitHub release notes generation API, disables the groups feature.
|
||||
#
|
||||
# Defaults to `git`.
|
||||
use: git
|
||||
|
||||
# Sorts the changelog by the commit's messages.
|
||||
# Could either be asc, desc or empty
|
||||
# Default is empty
|
||||
sort: asc
|
||||
|
||||
# Group commits messages by given regex and title.
|
||||
# Order value defines the order of the groups.
|
||||
# Proving no regex means all commits will be grouped under the default group.
|
||||
# Groups are disabled when using github-native, as it already groups things by itself.
|
||||
#
|
||||
# Default is no groups.
|
||||
groups:
|
||||
- title: Features
|
||||
regexp: "^.*feat[(\\w)]*:+.*$"
|
||||
order: 0
|
||||
- title: 'Bug fixes'
|
||||
regexp: "^.*fix[(\\w)]*:+.*$"
|
||||
order: 1
|
||||
- title: 'Enhancements'
|
||||
regexp: "^.*chore[(\\w)]*:+.*$"
|
||||
order: 2
|
||||
- title: Others
|
||||
order: 999
|
||||
|
||||
filters:
|
||||
# Commit messages matching the regexp listed here will be removed from
|
||||
# the changelog
|
||||
# Default is empty
|
||||
exclude:
|
||||
- '^docs'
|
||||
- 'CICD'
|
||||
- typo
|
|
@ -165,25 +165,22 @@ Checklist:
|
|||
|
||||
### New release
|
||||
|
||||
1. Decide on the next version number. Use semver.
|
||||
2. Generate release notes using [`gh`][gh]. Example:
|
||||
1. Decide on the next version number. Use semver. Review commits since last
|
||||
version to assess.
|
||||
2. Tag release. For example:
|
||||
```
|
||||
$ gh api -X POST \
|
||||
-F tag_name='v2.0.0-beta.5' \
|
||||
-F target_commitish='v2' \
|
||||
-F previous_tag_name='v2.0.0-beta.4' \
|
||||
--jq '.body' \
|
||||
repos/pelletier/go-toml/releases/generate-notes
|
||||
git checkout v2
|
||||
git pull
|
||||
git tag v2.2.0
|
||||
git push --tags
|
||||
```
|
||||
3. Look for "Other changes". That would indicate a pull request not labeled
|
||||
properly. Tweak labels and pull request titles until changelog looks good for
|
||||
users.
|
||||
4. [Draft new release][new-release].
|
||||
5. Fill tag and target with the same value used to generate the changelog.
|
||||
6. Set title to the new tag value.
|
||||
7. Paste the generated changelog.
|
||||
8. Check "create discussion", in the "Releases" category.
|
||||
9. Check pre-release if new version is an alpha or beta.
|
||||
3. CI automatically builds a draft Github release. Review it and edit as
|
||||
necessary. Look for "Other changes". That would indicate a pull request not
|
||||
labeled properly. Tweak labels and pull request titles until changelog looks
|
||||
good for users.
|
||||
4. Check "create discussion" box, in the "Releases" category.
|
||||
5. If new version is an alpha or beta only, check pre-release box.
|
||||
|
||||
|
||||
[issues-tracker]: https://github.com/pelletier/go-toml/issues
|
||||
[bug-report]: https://github.com/pelletier/go-toml/issues/new?template=bug_report.md
|
||||
|
|
|
@ -98,9 +98,9 @@ Given the following struct, let's see how to read it and write it as TOML:
|
|||
|
||||
```go
|
||||
type MyConfig struct {
|
||||
Version int
|
||||
Name string
|
||||
Tags []string
|
||||
Version int
|
||||
Name string
|
||||
Tags []string
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -119,7 +119,7 @@ tags = ["go", "toml"]
|
|||
var cfg MyConfig
|
||||
err := toml.Unmarshal([]byte(doc), &cfg)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println("version:", cfg.Version)
|
||||
fmt.Println("name:", cfg.Name)
|
||||
|
@ -140,14 +140,14 @@ as a TOML document:
|
|||
|
||||
```go
|
||||
cfg := MyConfig{
|
||||
Version: 2,
|
||||
Name: "go-toml",
|
||||
Tags: []string{"go", "toml"},
|
||||
Version: 2,
|
||||
Name: "go-toml",
|
||||
Tags: []string{"go", "toml"},
|
||||
}
|
||||
|
||||
b, err := toml.Marshal(cfg)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(string(b))
|
||||
|
||||
|
@ -175,17 +175,17 @@ the AST level. See https://pkg.go.dev/github.com/pelletier/go-toml/v2/unstable.
|
|||
Execution time speedup compared to other Go TOML libraries:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Benchmark</th><th>go-toml v1</th><th>BurntSushi/toml</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Marshal/HugoFrontMatter-2</td><td>1.9x</td><td>2.2x</td></tr>
|
||||
<tr><td>Marshal/ReferenceFile/map-2</td><td>1.7x</td><td>2.1x</td></tr>
|
||||
<tr><td>Marshal/ReferenceFile/struct-2</td><td>2.2x</td><td>3.0x</td></tr>
|
||||
<tr><td>Unmarshal/HugoFrontMatter-2</td><td>2.9x</td><td>2.7x</td></tr>
|
||||
<tr><td>Unmarshal/ReferenceFile/map-2</td><td>2.6x</td><td>2.7x</td></tr>
|
||||
<tr><td>Unmarshal/ReferenceFile/struct-2</td><td>4.6x</td><td>5.1x</td></tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr><th>Benchmark</th><th>go-toml v1</th><th>BurntSushi/toml</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Marshal/HugoFrontMatter-2</td><td>1.9x</td><td>2.2x</td></tr>
|
||||
<tr><td>Marshal/ReferenceFile/map-2</td><td>1.7x</td><td>2.1x</td></tr>
|
||||
<tr><td>Marshal/ReferenceFile/struct-2</td><td>2.2x</td><td>3.0x</td></tr>
|
||||
<tr><td>Unmarshal/HugoFrontMatter-2</td><td>2.9x</td><td>2.7x</td></tr>
|
||||
<tr><td>Unmarshal/ReferenceFile/map-2</td><td>2.6x</td><td>2.7x</td></tr>
|
||||
<tr><td>Unmarshal/ReferenceFile/struct-2</td><td>4.6x</td><td>5.1x</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<details><summary>See more</summary>
|
||||
<p>The table above has the results of the most common use-cases. The table below
|
||||
|
@ -193,22 +193,22 @@ contains the results of all benchmarks, including unrealistic ones. It is
|
|||
provided for completeness.</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Benchmark</th><th>go-toml v1</th><th>BurntSushi/toml</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Marshal/SimpleDocument/map-2</td><td>1.8x</td><td>2.7x</td></tr>
|
||||
<tr><td>Marshal/SimpleDocument/struct-2</td><td>2.7x</td><td>3.8x</td></tr>
|
||||
<tr><td>Unmarshal/SimpleDocument/map-2</td><td>3.8x</td><td>3.0x</td></tr>
|
||||
<tr><td>Unmarshal/SimpleDocument/struct-2</td><td>5.6x</td><td>4.1x</td></tr>
|
||||
<tr><td>UnmarshalDataset/example-2</td><td>3.0x</td><td>3.2x</td></tr>
|
||||
<tr><td>UnmarshalDataset/code-2</td><td>2.3x</td><td>2.9x</td></tr>
|
||||
<tr><td>UnmarshalDataset/twitter-2</td><td>2.6x</td><td>2.7x</td></tr>
|
||||
<tr><td>UnmarshalDataset/citm_catalog-2</td><td>2.2x</td><td>2.3x</td></tr>
|
||||
<tr><td>UnmarshalDataset/canada-2</td><td>1.8x</td><td>1.5x</td></tr>
|
||||
<tr><td>UnmarshalDataset/config-2</td><td>4.1x</td><td>2.9x</td></tr>
|
||||
<tr><td>geomean</td><td>2.7x</td><td>2.8x</td></tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr><th>Benchmark</th><th>go-toml v1</th><th>BurntSushi/toml</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Marshal/SimpleDocument/map-2</td><td>1.8x</td><td>2.7x</td></tr>
|
||||
<tr><td>Marshal/SimpleDocument/struct-2</td><td>2.7x</td><td>3.8x</td></tr>
|
||||
<tr><td>Unmarshal/SimpleDocument/map-2</td><td>3.8x</td><td>3.0x</td></tr>
|
||||
<tr><td>Unmarshal/SimpleDocument/struct-2</td><td>5.6x</td><td>4.1x</td></tr>
|
||||
<tr><td>UnmarshalDataset/example-2</td><td>3.0x</td><td>3.2x</td></tr>
|
||||
<tr><td>UnmarshalDataset/code-2</td><td>2.3x</td><td>2.9x</td></tr>
|
||||
<tr><td>UnmarshalDataset/twitter-2</td><td>2.6x</td><td>2.7x</td></tr>
|
||||
<tr><td>UnmarshalDataset/citm_catalog-2</td><td>2.2x</td><td>2.3x</td></tr>
|
||||
<tr><td>UnmarshalDataset/canada-2</td><td>1.8x</td><td>1.5x</td></tr>
|
||||
<tr><td>UnmarshalDataset/config-2</td><td>4.1x</td><td>2.9x</td></tr>
|
||||
<tr><td>geomean</td><td>2.7x</td><td>2.8x</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>This table can be generated with <code>./ci.sh benchmark -a -html</code>.</p>
|
||||
</details>
|
||||
|
@ -233,24 +233,24 @@ Go-toml provides three handy command line tools:
|
|||
|
||||
* `tomljson`: Reads a TOML file and outputs its JSON representation.
|
||||
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/tomljson@latest
|
||||
$ tomljson --help
|
||||
```
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/tomljson@latest
|
||||
$ tomljson --help
|
||||
```
|
||||
|
||||
* `jsontoml`: Reads a JSON file and outputs a TOML representation.
|
||||
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/jsontoml@latest
|
||||
$ jsontoml --help
|
||||
```
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/jsontoml@latest
|
||||
$ jsontoml --help
|
||||
```
|
||||
|
||||
* `tomll`: Lints and reformats a TOML file.
|
||||
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/tomll@latest
|
||||
$ tomll --help
|
||||
```
|
||||
```
|
||||
$ go install github.com/pelletier/go-toml/v2/cmd/tomll@latest
|
||||
$ tomll --help
|
||||
```
|
||||
|
||||
### Docker image
|
||||
|
||||
|
@ -261,7 +261,7 @@ Those tools are also available as a [Docker image][docker]. For example, to use
|
|||
docker run -i ghcr.io/pelletier/go-toml:v2 tomljson < example.toml
|
||||
```
|
||||
|
||||
Multiple versions are availble on [ghcr.io][docker].
|
||||
Multiple versions are available on [ghcr.io][docker].
|
||||
|
||||
[docker]: https://github.com/pelletier/go-toml/pkgs/container/go-toml
|
||||
|
||||
|
@ -293,16 +293,16 @@ element in the interface to decode the object. For example:
|
|||
|
||||
```go
|
||||
type inner struct {
|
||||
B interface{}
|
||||
B interface{}
|
||||
}
|
||||
type doc struct {
|
||||
A interface{}
|
||||
A interface{}
|
||||
}
|
||||
|
||||
d := doc{
|
||||
A: inner{
|
||||
B: "Before",
|
||||
},
|
||||
A: inner{
|
||||
B: "Before",
|
||||
},
|
||||
}
|
||||
|
||||
data := `
|
||||
|
@ -341,7 +341,7 @@ contained in the doc is superior to the capacity of the array. For example:
|
|||
|
||||
```go
|
||||
type doc struct {
|
||||
A [2]string
|
||||
A [2]string
|
||||
}
|
||||
d := doc{}
|
||||
err := toml.Unmarshal([]byte(`A = ["one", "two", "many"]`), &d)
|
||||
|
@ -565,10 +565,11 @@ complete solutions exist out there.
|
|||
|
||||
## Versioning
|
||||
|
||||
Go-toml follows [Semantic Versioning](https://semver.org). The supported version
|
||||
of [TOML](https://github.com/toml-lang/toml) is indicated at the beginning of
|
||||
this document. The last two major versions of Go are supported
|
||||
(see [Go Release Policy](https://golang.org/doc/devel/release.html#policy)).
|
||||
Expect for parts explicitely marked otherwise, go-toml follows [Semantic
|
||||
Versioning](https://semver.org). The supported version of
|
||||
[TOML](https://github.com/toml-lang/toml) is indicated at the beginning of this
|
||||
document. The last two major versions of Go are supported (see [Go Release
|
||||
Policy](https://golang.org/doc/devel/release.html#policy)).
|
||||
|
||||
## License
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue