summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s137
1 files changed, 137 insertions, 0 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s
new file mode 100644
index 000000000..858fe0212
--- /dev/null
+++ b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s
@@ -0,0 +1,137 @@
+//
+// 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.
+//
+
+#include "go_asm.h"
+#include "funcdata.h"
+#include "textflag.h"
+
+TEXT ·Quote(SB), NOSPLIT, $0 - 48
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__quote(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__quote(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__quote(SB)
+
+TEXT ·Unquote(SB), NOSPLIT, $0 - 48
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__unquote(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__unquote(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__unquote(SB)
+
+TEXT ·HTMLEscape(SB), NOSPLIT, $0 - 40
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__html_escape(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__html_escape(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__html_escape(SB)
+
+TEXT ·Value(SB), NOSPLIT, $0 - 48
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__value(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__value(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__value(SB)
+
+TEXT ·SkipOne(SB), NOSPLIT, $0 - 40
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one(SB)
+
+TEXT ·SkipOneFast(SB), NOSPLIT, $0 - 24
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one_fast(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one_fast(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one_fast(SB)
+
+TEXT ·GetByPath(SB), NOSPLIT, $0 - 32
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__get_by_path(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__get_by_path(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__get_by_path(SB)
+
+TEXT ·ValidateOne(SB), NOSPLIT, $0 - 32
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_one(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_one(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_one(SB)
+
+TEXT ·ValidateUTF8(SB), NOSPLIT, $0 - 40
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8(SB)
+
+TEXT ·ValidateUTF8Fast(SB), NOSPLIT, $0 - 16
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8_fast(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8_fast(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8_fast(SB)
+
+TEXT ·I64toa(SB), NOSPLIT, $0 - 32
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__i64toa(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__i64toa(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__i64toa(SB)
+
+TEXT ·U64toa(SB), NOSPLIT, $0 - 32
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__u64toa(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__u64toa(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__u64toa(SB)
+
+TEXT ·F64toa(SB), NOSPLIT, $0 - 32
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__f64toa(SB)
+ CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0
+ JE 2(PC)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__f64toa(SB)
+ JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__f64toa(SB)
+