dispatch_amd64.s (6809B)
1 // 2 // Copyright 2021 ByteDance Inc. 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 #include "go_asm.h" 18 #include "funcdata.h" 19 #include "textflag.h" 20 21 TEXT ·Quote(SB), NOSPLIT, $0 - 48 22 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 23 JE 2(PC) 24 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__quote(SB) 25 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 26 JE 2(PC) 27 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__quote(SB) 28 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__quote(SB) 29 30 TEXT ·Unquote(SB), NOSPLIT, $0 - 48 31 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 32 JE 2(PC) 33 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__unquote(SB) 34 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 35 JE 2(PC) 36 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__unquote(SB) 37 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__unquote(SB) 38 39 TEXT ·HTMLEscape(SB), NOSPLIT, $0 - 40 40 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 41 JE 2(PC) 42 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__html_escape(SB) 43 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 44 JE 2(PC) 45 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__html_escape(SB) 46 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__html_escape(SB) 47 48 TEXT ·Value(SB), NOSPLIT, $0 - 48 49 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 50 JE 2(PC) 51 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__value(SB) 52 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 53 JE 2(PC) 54 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__value(SB) 55 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__value(SB) 56 57 TEXT ·SkipOne(SB), NOSPLIT, $0 - 40 58 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 59 JE 2(PC) 60 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one(SB) 61 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 62 JE 2(PC) 63 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one(SB) 64 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one(SB) 65 66 TEXT ·SkipOneFast(SB), NOSPLIT, $0 - 24 67 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 68 JE 2(PC) 69 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one_fast(SB) 70 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 71 JE 2(PC) 72 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one_fast(SB) 73 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one_fast(SB) 74 75 TEXT ·GetByPath(SB), NOSPLIT, $0 - 40 76 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 77 JE 2(PC) 78 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__get_by_path(SB) 79 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 80 JE 2(PC) 81 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__get_by_path(SB) 82 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__get_by_path(SB) 83 84 TEXT ·ValidateOne(SB), NOSPLIT, $0 - 32 85 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 86 JE 2(PC) 87 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_one(SB) 88 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 89 JE 2(PC) 90 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_one(SB) 91 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_one(SB) 92 93 TEXT ·ValidateUTF8(SB), NOSPLIT, $0 - 40 94 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 95 JE 2(PC) 96 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8(SB) 97 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 98 JE 2(PC) 99 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8(SB) 100 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8(SB) 101 102 TEXT ·ValidateUTF8Fast(SB), NOSPLIT, $0 - 16 103 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 104 JE 2(PC) 105 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8_fast(SB) 106 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 107 JE 2(PC) 108 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8_fast(SB) 109 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8_fast(SB) 110 111 TEXT ·I64toa(SB), NOSPLIT, $0 - 32 112 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 113 JE 2(PC) 114 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__i64toa(SB) 115 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 116 JE 2(PC) 117 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__i64toa(SB) 118 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__i64toa(SB) 119 120 TEXT ·U64toa(SB), NOSPLIT, $0 - 32 121 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 122 JE 2(PC) 123 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__u64toa(SB) 124 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 125 JE 2(PC) 126 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__u64toa(SB) 127 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__u64toa(SB) 128 129 TEXT ·F64toa(SB), NOSPLIT, $0 - 32 130 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 131 JE 2(PC) 132 JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__f64toa(SB) 133 CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 134 JE 2(PC) 135 JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__f64toa(SB) 136 JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__f64toa(SB) 137