Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
6b885884
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6b885884
编写于
8月 10, 2020
作者:
L
lixian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix kernel parameter for int8 conv kernel
上级
d46a0e4d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
401 addition
and
398 deletion
+401
-398
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/ConvDwInt8Center.S
...untime/kernel/arm/nnacl/assembly/arm64/ConvDwInt8Center.S
+150
-150
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/IndirectGemmFp32_8x8.S
...me/kernel/arm/nnacl/assembly/arm64/IndirectGemmFp32_8x8.S
+48
-48
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/IndirectGemmInt8_4x4.S
...me/kernel/arm/nnacl/assembly/arm64/IndirectGemmInt8_4x4.S
+53
-52
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/opt/IndirectGemmInt8_24x4_dp.S
.../kernel/arm/nnacl/assembly/opt/IndirectGemmInt8_24x4_dp.S
+144
-144
mindspore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.cc
...spore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.cc
+6
-4
未找到文件。
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/ConvDwInt8Center.S
浏览文件 @
6b885884
...
...
@@ -127,102 +127,102 @@ ConvDwInt8Center:
subs
x20
,
x20
,
#
1
bne
LoopKh16
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqshl
v1
.4
s
,
v1
.4
s
,
v26
.4
s
sqshl
v2
.4
s
,
v2
.4
s
,
v26
.4
s
sqshl
v3
.4
s
,
v3
.4
s
,
v26
.4
s
sqshl
v4
.4
s
,
v4
.4
s
,
v26
.4
s
sqshl
v5
.4
s
,
v5
.4
s
,
v26
.4
s
sqshl
v6
.4
s
,
v6
.4
s
,
v26
.4
s
sqshl
v7
.4
s
,
v7
.4
s
,
v26
.4
s
sqshl
v8
.4
s
,
v8
.4
s
,
v26
.4
s
sqshl
v9
.4
s
,
v9
.4
s
,
v26
.4
s
sqshl
v10
.4
s
,
v10
.4
s
,
v26
.4
s
sqshl
v11
.4
s
,
v11
.4
s
,
v26
.4
s
sqshl
v12
.4
s
,
v12
.4
s
,
v26
.4
s
sqshl
v13
.4
s
,
v13
.4
s
,
v26
.4
s
sqshl
v14
.4
s
,
v14
.4
s
,
v26
.4
s
sqshl
v15
.4
s
,
v15
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrdmulh
v1
.4
s
,
v1
.4
s
,
v27
.4
s
sqrdmulh
v2
.4
s
,
v2
.4
s
,
v27
.4
s
sqrdmulh
v3
.4
s
,
v3
.4
s
,
v27
.4
s
sqrdmulh
v4
.4
s
,
v4
.4
s
,
v27
.4
s
sqrdmulh
v5
.4
s
,
v5
.4
s
,
v27
.4
s
sqrdmulh
v6
.4
s
,
v6
.4
s
,
v27
.4
s
sqrdmulh
v7
.4
s
,
v7
.4
s
,
v27
.4
s
sqrdmulh
v8
.4
s
,
v8
.4
s
,
v27
.4
s
sqrdmulh
v9
.4
s
,
v9
.4
s
,
v27
.4
s
sqrdmulh
v10
.4
s
,
v10
.4
s
,
v27
.4
s
sqrdmulh
v11
.4
s
,
v11
.4
s
,
v27
.4
s
sqrdmulh
v12
.4
s
,
v12
.4
s
,
v27
.4
s
sqrdmulh
v13
.4
s
,
v13
.4
s
,
v27
.4
s
sqrdmulh
v14
.4
s
,
v14
.4
s
,
v27
.4
s
sqrdmulh
v15
.4
s
,
v15
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
sqrshl
v1
.4
s
,
v1
.4
s
,
v28
.4
s
sqrshl
v2
.4
s
,
v2
.4
s
,
v28
.4
s
sqrshl
v3
.4
s
,
v3
.4
s
,
v28
.4
s
sqrshl
v4
.4
s
,
v4
.4
s
,
v28
.4
s
sqrshl
v5
.4
s
,
v5
.4
s
,
v28
.4
s
sqrshl
v6
.4
s
,
v6
.4
s
,
v28
.4
s
sqrshl
v7
.4
s
,
v7
.4
s
,
v28
.4
s
sqrshl
v8
.4
s
,
v8
.4
s
,
v28
.4
s
sqrshl
v9
.4
s
,
v9
.4
s
,
v28
.4
s
sqrshl
v10
.4
s
,
v10
.4
s
,
v28
.4
s
sqrshl
v11
.4
s
,
v11
.4
s
,
v28
.4
s
sqrshl
v12
.4
s
,
v12
.4
s
,
v28
.4
s
sqrshl
v13
.4
s
,
v13
.4
s
,
v28
.4
s
sqrshl
v14
.4
s
,
v14
.4
s
,
v28
.4
s
sqrshl
v15
.4
s
,
v15
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
add
v1
.4
s
,
v1
.4
s
,
v29
.4
s
add
v2
.4
s
,
v2
.4
s
,
v29
.4
s
add
v3
.4
s
,
v3
.4
s
,
v29
.4
s
add
v4
.4
s
,
v4
.4
s
,
v29
.4
s
add
v5
.4
s
,
v5
.4
s
,
v29
.4
s
add
v6
.4
s
,
v6
.4
s
,
v29
.4
s
add
v7
.4
s
,
v7
.4
s
,
v29
.4
s
add
v8
.4
s
,
v8
.4
s
,
v29
.4
s
add
v9
.4
s
,
v9
.4
s
,
v29
.4
s
add
v10
.4
s
,
v10
.4
s
,
v29
.4
s
add
v11
.4
s
,
v11
.4
s
,
v29
.4
s
add
v12
.4
s
,
v12
.4
s
,
v29
.4
s
add
v13
.4
s
,
v13
.4
s
,
v29
.4
s
add
v14
.4
s
,
v14
.4
s
,
v29
.4
s
add
v15
.4
s
,
v15
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smax
v1
.4
s
,
v1
.4
s
,
v30
.4
s
smax
v2
.4
s
,
v2
.4
s
,
v30
.4
s
smax
v3
.4
s
,
v3
.4
s
,
v30
.4
s
smax
v4
.4
s
,
v4
.4
s
,
v30
.4
s
smax
v5
.4
s
,
v5
.4
s
,
v30
.4
s
smax
v6
.4
s
,
v6
.4
s
,
v30
.4
s
smax
v7
.4
s
,
v7
.4
s
,
v30
.4
s
smax
v8
.4
s
,
v8
.4
s
,
v30
.4
s
smax
v9
.4
s
,
v9
.4
s
,
v30
.4
s
smax
v10
.4
s
,
v10
.4
s
,
v30
.4
s
smax
v11
.4
s
,
v11
.4
s
,
v30
.4
s
smax
v12
.4
s
,
v12
.4
s
,
v30
.4
s
smax
v13
.4
s
,
v13
.4
s
,
v30
.4
s
smax
v14
.4
s
,
v14
.4
s
,
v30
.4
s
smax
v15
.4
s
,
v15
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
smin
v1
.4
s
,
v1
.4
s
,
v31
.4
s
smin
v2
.4
s
,
v2
.4
s
,
v31
.4
s
smin
v3
.4
s
,
v3
.4
s
,
v31
.4
s
smin
v4
.4
s
,
v4
.4
s
,
v31
.4
s
smin
v5
.4
s
,
v5
.4
s
,
v31
.4
s
smin
v6
.4
s
,
v6
.4
s
,
v31
.4
s
smin
v7
.4
s
,
v7
.4
s
,
v31
.4
s
smin
v8
.4
s
,
v8
.4
s
,
v31
.4
s
smin
v9
.4
s
,
v9
.4
s
,
v31
.4
s
smin
v10
.4
s
,
v10
.4
s
,
v31
.4
s
smin
v11
.4
s
,
v11
.4
s
,
v31
.4
s
smin
v12
.4
s
,
v12
.4
s
,
v31
.4
s
smin
v13
.4
s
,
v13
.4
s
,
v31
.4
s
smin
v14
.4
s
,
v14
.4
s
,
v31
.4
s
smin
v15
.4
s
,
v15
.4
s
,
v31
.4
s
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqshl
v1
.4
s
,
v1
.4
s
,
v26
.4
s
sqshl
v2
.4
s
,
v2
.4
s
,
v26
.4
s
sqshl
v3
.4
s
,
v3
.4
s
,
v26
.4
s
sqshl
v4
.4
s
,
v4
.4
s
,
v26
.4
s
sqshl
v5
.4
s
,
v5
.4
s
,
v26
.4
s
sqshl
v6
.4
s
,
v6
.4
s
,
v26
.4
s
sqshl
v7
.4
s
,
v7
.4
s
,
v26
.4
s
sqshl
v8
.4
s
,
v8
.4
s
,
v26
.4
s
sqshl
v9
.4
s
,
v9
.4
s
,
v26
.4
s
sqshl
v10
.4
s
,
v10
.4
s
,
v26
.4
s
sqshl
v11
.4
s
,
v11
.4
s
,
v26
.4
s
sqshl
v12
.4
s
,
v12
.4
s
,
v26
.4
s
sqshl
v13
.4
s
,
v13
.4
s
,
v26
.4
s
sqshl
v14
.4
s
,
v14
.4
s
,
v26
.4
s
sqshl
v15
.4
s
,
v15
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrdmulh
v1
.4
s
,
v1
.4
s
,
v27
.4
s
sqrdmulh
v2
.4
s
,
v2
.4
s
,
v27
.4
s
sqrdmulh
v3
.4
s
,
v3
.4
s
,
v27
.4
s
sqrdmulh
v4
.4
s
,
v4
.4
s
,
v27
.4
s
sqrdmulh
v5
.4
s
,
v5
.4
s
,
v27
.4
s
sqrdmulh
v6
.4
s
,
v6
.4
s
,
v27
.4
s
sqrdmulh
v7
.4
s
,
v7
.4
s
,
v27
.4
s
sqrdmulh
v8
.4
s
,
v8
.4
s
,
v27
.4
s
sqrdmulh
v9
.4
s
,
v9
.4
s
,
v27
.4
s
sqrdmulh
v10
.4
s
,
v10
.4
s
,
v27
.4
s
sqrdmulh
v11
.4
s
,
v11
.4
s
,
v27
.4
s
sqrdmulh
v12
.4
s
,
v12
.4
s
,
v27
.4
s
sqrdmulh
v13
.4
s
,
v13
.4
s
,
v27
.4
s
sqrdmulh
v14
.4
s
,
v14
.4
s
,
v27
.4
s
sqrdmulh
v15
.4
s
,
v15
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
sqrshl
v1
.4
s
,
v1
.4
s
,
v28
.4
s
sqrshl
v2
.4
s
,
v2
.4
s
,
v28
.4
s
sqrshl
v3
.4
s
,
v3
.4
s
,
v28
.4
s
sqrshl
v4
.4
s
,
v4
.4
s
,
v28
.4
s
sqrshl
v5
.4
s
,
v5
.4
s
,
v28
.4
s
sqrshl
v6
.4
s
,
v6
.4
s
,
v28
.4
s
sqrshl
v7
.4
s
,
v7
.4
s
,
v28
.4
s
sqrshl
v8
.4
s
,
v8
.4
s
,
v28
.4
s
sqrshl
v9
.4
s
,
v9
.4
s
,
v28
.4
s
sqrshl
v10
.4
s
,
v10
.4
s
,
v28
.4
s
sqrshl
v11
.4
s
,
v11
.4
s
,
v28
.4
s
sqrshl
v12
.4
s
,
v12
.4
s
,
v28
.4
s
sqrshl
v13
.4
s
,
v13
.4
s
,
v28
.4
s
sqrshl
v14
.4
s
,
v14
.4
s
,
v28
.4
s
sqrshl
v15
.4
s
,
v15
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
add
v1
.4
s
,
v1
.4
s
,
v29
.4
s
add
v2
.4
s
,
v2
.4
s
,
v29
.4
s
add
v3
.4
s
,
v3
.4
s
,
v29
.4
s
add
v4
.4
s
,
v4
.4
s
,
v29
.4
s
add
v5
.4
s
,
v5
.4
s
,
v29
.4
s
add
v6
.4
s
,
v6
.4
s
,
v29
.4
s
add
v7
.4
s
,
v7
.4
s
,
v29
.4
s
add
v8
.4
s
,
v8
.4
s
,
v29
.4
s
add
v9
.4
s
,
v9
.4
s
,
v29
.4
s
add
v10
.4
s
,
v10
.4
s
,
v29
.4
s
add
v11
.4
s
,
v11
.4
s
,
v29
.4
s
add
v12
.4
s
,
v12
.4
s
,
v29
.4
s
add
v13
.4
s
,
v13
.4
s
,
v29
.4
s
add
v14
.4
s
,
v14
.4
s
,
v29
.4
s
add
v15
.4
s
,
v15
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smax
v1
.4
s
,
v1
.4
s
,
v30
.4
s
smax
v2
.4
s
,
v2
.4
s
,
v30
.4
s
smax
v3
.4
s
,
v3
.4
s
,
v30
.4
s
smax
v4
.4
s
,
v4
.4
s
,
v30
.4
s
smax
v5
.4
s
,
v5
.4
s
,
v30
.4
s
smax
v6
.4
s
,
v6
.4
s
,
v30
.4
s
smax
v7
.4
s
,
v7
.4
s
,
v30
.4
s
smax
v8
.4
s
,
v8
.4
s
,
v30
.4
s
smax
v9
.4
s
,
v9
.4
s
,
v30
.4
s
smax
v10
.4
s
,
v10
.4
s
,
v30
.4
s
smax
v11
.4
s
,
v11
.4
s
,
v30
.4
s
smax
v12
.4
s
,
v12
.4
s
,
v30
.4
s
smax
v13
.4
s
,
v13
.4
s
,
v30
.4
s
smax
v14
.4
s
,
v14
.4
s
,
v30
.4
s
smax
v15
.4
s
,
v15
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
smin
v1
.4
s
,
v1
.4
s
,
v31
.4
s
smin
v2
.4
s
,
v2
.4
s
,
v31
.4
s
smin
v3
.4
s
,
v3
.4
s
,
v31
.4
s
smin
v4
.4
s
,
v4
.4
s
,
v31
.4
s
smin
v5
.4
s
,
v5
.4
s
,
v31
.4
s
smin
v6
.4
s
,
v6
.4
s
,
v31
.4
s
smin
v7
.4
s
,
v7
.4
s
,
v31
.4
s
smin
v8
.4
s
,
v8
.4
s
,
v31
.4
s
smin
v9
.4
s
,
v9
.4
s
,
v31
.4
s
smin
v10
.4
s
,
v10
.4
s
,
v31
.4
s
smin
v11
.4
s
,
v11
.4
s
,
v31
.4
s
smin
v12
.4
s
,
v12
.4
s
,
v31
.4
s
smin
v13
.4
s
,
v13
.4
s
,
v31
.4
s
smin
v14
.4
s
,
v14
.4
s
,
v31
.4
s
smin
v15
.4
s
,
v15
.4
s
,
v31
.4
s
sqxtn
v0
.4
h
,
v0
.4
s
sqxtn
v1
.4
h
,
v1
.4
s
...
...
@@ -391,54 +391,54 @@ ConvDwInt8Center:
subs
x20
,
x20
,
#
1
bne
LoopKh8
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqshl
v1
.4
s
,
v1
.4
s
,
v26
.4
s
sqshl
v2
.4
s
,
v2
.4
s
,
v26
.4
s
sqshl
v3
.4
s
,
v3
.4
s
,
v26
.4
s
sqshl
v4
.4
s
,
v4
.4
s
,
v26
.4
s
sqshl
v5
.4
s
,
v5
.4
s
,
v26
.4
s
sqshl
v6
.4
s
,
v6
.4
s
,
v26
.4
s
sqshl
v7
.4
s
,
v7
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrdmulh
v1
.4
s
,
v1
.4
s
,
v27
.4
s
sqrdmulh
v2
.4
s
,
v2
.4
s
,
v27
.4
s
sqrdmulh
v3
.4
s
,
v3
.4
s
,
v27
.4
s
sqrdmulh
v4
.4
s
,
v4
.4
s
,
v27
.4
s
sqrdmulh
v5
.4
s
,
v5
.4
s
,
v27
.4
s
sqrdmulh
v6
.4
s
,
v6
.4
s
,
v27
.4
s
sqrdmulh
v7
.4
s
,
v7
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
sqrshl
v1
.4
s
,
v1
.4
s
,
v28
.4
s
sqrshl
v2
.4
s
,
v2
.4
s
,
v28
.4
s
sqrshl
v3
.4
s
,
v3
.4
s
,
v28
.4
s
sqrshl
v4
.4
s
,
v4
.4
s
,
v28
.4
s
sqrshl
v5
.4
s
,
v5
.4
s
,
v28
.4
s
sqrshl
v6
.4
s
,
v6
.4
s
,
v28
.4
s
sqrshl
v7
.4
s
,
v7
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
add
v1
.4
s
,
v1
.4
s
,
v29
.4
s
add
v2
.4
s
,
v2
.4
s
,
v29
.4
s
add
v3
.4
s
,
v3
.4
s
,
v29
.4
s
add
v4
.4
s
,
v4
.4
s
,
v29
.4
s
add
v5
.4
s
,
v5
.4
s
,
v29
.4
s
add
v6
.4
s
,
v6
.4
s
,
v29
.4
s
add
v7
.4
s
,
v7
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smax
v1
.4
s
,
v1
.4
s
,
v30
.4
s
smax
v2
.4
s
,
v2
.4
s
,
v30
.4
s
smax
v3
.4
s
,
v3
.4
s
,
v30
.4
s
smax
v4
.4
s
,
v4
.4
s
,
v30
.4
s
smax
v5
.4
s
,
v5
.4
s
,
v30
.4
s
smax
v6
.4
s
,
v6
.4
s
,
v30
.4
s
smax
v7
.4
s
,
v7
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
smin
v1
.4
s
,
v1
.4
s
,
v31
.4
s
smin
v2
.4
s
,
v2
.4
s
,
v31
.4
s
smin
v3
.4
s
,
v3
.4
s
,
v31
.4
s
smin
v4
.4
s
,
v4
.4
s
,
v31
.4
s
smin
v5
.4
s
,
v5
.4
s
,
v31
.4
s
smin
v6
.4
s
,
v6
.4
s
,
v31
.4
s
smin
v7
.4
s
,
v7
.4
s
,
v31
.4
s
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqshl
v1
.4
s
,
v1
.4
s
,
v26
.4
s
sqshl
v2
.4
s
,
v2
.4
s
,
v26
.4
s
sqshl
v3
.4
s
,
v3
.4
s
,
v26
.4
s
sqshl
v4
.4
s
,
v4
.4
s
,
v26
.4
s
sqshl
v5
.4
s
,
v5
.4
s
,
v26
.4
s
sqshl
v6
.4
s
,
v6
.4
s
,
v26
.4
s
sqshl
v7
.4
s
,
v7
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrdmulh
v1
.4
s
,
v1
.4
s
,
v27
.4
s
sqrdmulh
v2
.4
s
,
v2
.4
s
,
v27
.4
s
sqrdmulh
v3
.4
s
,
v3
.4
s
,
v27
.4
s
sqrdmulh
v4
.4
s
,
v4
.4
s
,
v27
.4
s
sqrdmulh
v5
.4
s
,
v5
.4
s
,
v27
.4
s
sqrdmulh
v6
.4
s
,
v6
.4
s
,
v27
.4
s
sqrdmulh
v7
.4
s
,
v7
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
sqrshl
v1
.4
s
,
v1
.4
s
,
v28
.4
s
sqrshl
v2
.4
s
,
v2
.4
s
,
v28
.4
s
sqrshl
v3
.4
s
,
v3
.4
s
,
v28
.4
s
sqrshl
v4
.4
s
,
v4
.4
s
,
v28
.4
s
sqrshl
v5
.4
s
,
v5
.4
s
,
v28
.4
s
sqrshl
v6
.4
s
,
v6
.4
s
,
v28
.4
s
sqrshl
v7
.4
s
,
v7
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
add
v1
.4
s
,
v1
.4
s
,
v29
.4
s
add
v2
.4
s
,
v2
.4
s
,
v29
.4
s
add
v3
.4
s
,
v3
.4
s
,
v29
.4
s
add
v4
.4
s
,
v4
.4
s
,
v29
.4
s
add
v5
.4
s
,
v5
.4
s
,
v29
.4
s
add
v6
.4
s
,
v6
.4
s
,
v29
.4
s
add
v7
.4
s
,
v7
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smax
v1
.4
s
,
v1
.4
s
,
v30
.4
s
smax
v2
.4
s
,
v2
.4
s
,
v30
.4
s
smax
v3
.4
s
,
v3
.4
s
,
v30
.4
s
smax
v4
.4
s
,
v4
.4
s
,
v30
.4
s
smax
v5
.4
s
,
v5
.4
s
,
v30
.4
s
smax
v6
.4
s
,
v6
.4
s
,
v30
.4
s
smax
v7
.4
s
,
v7
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
smin
v1
.4
s
,
v1
.4
s
,
v31
.4
s
smin
v2
.4
s
,
v2
.4
s
,
v31
.4
s
smin
v3
.4
s
,
v3
.4
s
,
v31
.4
s
smin
v4
.4
s
,
v4
.4
s
,
v31
.4
s
smin
v5
.4
s
,
v5
.4
s
,
v31
.4
s
smin
v6
.4
s
,
v6
.4
s
,
v31
.4
s
smin
v7
.4
s
,
v7
.4
s
,
v31
.4
s
sqxtn
v0
.4
h
,
v0
.4
s
sqxtn
v1
.4
h
,
v1
.4
s
...
...
@@ -524,12 +524,12 @@ ConvDwInt8Center:
subs
x20
,
x20
,
#
1
bne
LoopKh
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
sqshl
v0
.4
s
,
v0
.4
s
,
v26
.4
s
sqrdmulh
v0
.4
s
,
v0
.4
s
,
v27
.4
s
sqrshl
v0
.4
s
,
v0
.4
s
,
v28
.4
s
add
v0
.4
s
,
v0
.4
s
,
v29
.4
s
smax
v0
.4
s
,
v0
.4
s
,
v30
.4
s
smin
v0
.4
s
,
v0
.4
s
,
v31
.4
s
sqxtn
v0
.4
h
,
v0
.4
s
sqxtn
v0
.8
b
,
v0
.8
h
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/IndirectGemmFp32_8x8.S
浏览文件 @
6b885884
...
...
@@ -268,40 +268,40 @@ IndirectGemmStart:
Relu6
:
movi
v1
.4
s
,
#
6
scvtf
v1
.4
s
,
v1
.4
s
fmin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
fmin
v17
.4
s
,
v17
.4
s
,
v1
.4
s
fmin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
fmin
v19
.4
s
,
v19
.4
s
,
v1
.4
s
fmin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
fmin
v21
.4
s
,
v21
.4
s
,
v1
.4
s
fmin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
fmin
v23
.4
s
,
v23
.4
s
,
v1
.4
s
fmin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
fmin
v25
.4
s
,
v25
.4
s
,
v1
.4
s
fmin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
fmin
v27
.4
s
,
v27
.4
s
,
v1
.4
s
fmin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
fmin
v29
.4
s
,
v29
.4
s
,
v1
.4
s
fmin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
fmin
v31
.4
s
,
v31
.4
s
,
v1
.4
s
fmin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
fmin
v17
.4
s
,
v17
.4
s
,
v1
.4
s
fmin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
fmin
v19
.4
s
,
v19
.4
s
,
v1
.4
s
fmin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
fmin
v21
.4
s
,
v21
.4
s
,
v1
.4
s
fmin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
fmin
v23
.4
s
,
v23
.4
s
,
v1
.4
s
fmin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
fmin
v25
.4
s
,
v25
.4
s
,
v1
.4
s
fmin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
fmin
v27
.4
s
,
v27
.4
s
,
v1
.4
s
fmin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
fmin
v29
.4
s
,
v29
.4
s
,
v1
.4
s
fmin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
fmin
v31
.4
s
,
v31
.4
s
,
v1
.4
s
Relu
:
dup
v0
.4
s
,
wzr
fmax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
fmax
v17
.4
s
,
v17
.4
s
,
v0
.4
s
fmax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
fmax
v19
.4
s
,
v19
.4
s
,
v0
.4
s
fmax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
fmax
v21
.4
s
,
v21
.4
s
,
v0
.4
s
fmax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
fmax
v23
.4
s
,
v23
.4
s
,
v0
.4
s
fmax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
fmax
v25
.4
s
,
v25
.4
s
,
v0
.4
s
fmax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
fmax
v27
.4
s
,
v27
.4
s
,
v0
.4
s
fmax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
fmax
v29
.4
s
,
v29
.4
s
,
v0
.4
s
fmax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
fmax
v31
.4
s
,
v31
.4
s
,
v0
.4
s
fmax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
fmax
v17
.4
s
,
v17
.4
s
,
v0
.4
s
fmax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
fmax
v19
.4
s
,
v19
.4
s
,
v0
.4
s
fmax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
fmax
v21
.4
s
,
v21
.4
s
,
v0
.4
s
fmax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
fmax
v23
.4
s
,
v23
.4
s
,
v0
.4
s
fmax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
fmax
v25
.4
s
,
v25
.4
s
,
v0
.4
s
fmax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
fmax
v27
.4
s
,
v27
.4
s
,
v0
.4
s
fmax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
fmax
v29
.4
s
,
v29
.4
s
,
v0
.4
s
fmax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
fmax
v31
.4
s
,
v31
.4
s
,
v0
.4
s
WriteStart
:
cbnz
x9
,
WriteC4
...
...
@@ -595,24 +595,24 @@ IndirectGemmStart:
Relu6Half
:
movi
v1
.4
s
,
#
6
scvtf
v1
.4
s
,
v1
.4
s
fmin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
fmin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
fmin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
fmin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
fmin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
fmin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
fmin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
fmin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
fmin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
fmin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
fmin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
fmin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
fmin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
fmin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
fmin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
fmin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
ReluHalf
:
dup
v0
.4
s
,
wzr
fmax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
fmax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
fmax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
fmax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
fmax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
fmax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
fmax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
fmax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
fmax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
fmax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
fmax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
fmax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
fmax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
fmax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
fmax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
fmax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
WriteStartHalf
:
cbnz
x9
,
Write4
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/arm64/IndirectGemmInt8_4x4.S
浏览文件 @
6b885884
...
...
@@ -87,14 +87,15 @@ IndirectGemmInt8_4x4:
ld1
{
v2
.16
b
,
v3
.16
b
},
[
x12
],
#
32
smull
v10
.8
h
,
v0
.8
b
,
v6
.8
b
smull
v11
.8
h
,
v0
.8
b
,
v7
.8
b
saddlp
v16
.4
s
,
v8
.8
h
smlal2
v10
.8
h
,
v0
.16
b
,
v6
.16
b
smlal2
v11
.8
h
,
v0
.16
b
,
v7
.16
b
saddlp
v1
6
.4
s
,
v8
.8
h
saddlp
v1
7
.4
s
,
v9
.8
h
smull
v14
.8
h
,
v1
.8
b
,
v6
.8
b
smull
v15
.8
h
,
v1
.8
b
,
v7
.8
b
saddlp
v18
.4
s
,
v10
.8
h
smlal2
v14
.8
h
,
v1
.16
b
,
v6
.16
b
smlal2
v15
.8
h
,
v1
.16
b
,
v7
.16
b
saddlp
v17
.4
s
,
v9
.8
h
subs
x13
,
x5
,
#
1
beq
LoopIcEnd
...
...
@@ -102,55 +103,55 @@ IndirectGemmInt8_4x4:
LoopIc
:
//
load
input
for
output
1
-
8
ld1
{
v0
.16
b
,
v1
.16
b
},
[
x12
],
#
32
sadalp
v1
8
.4
s
,
v10
.8
h
sadalp
v1
9
.4
s
,
v11
.8
h
smull
v8
.8
h
,
v2
.8
b
,
v4
.8
b
smull
v9
.8
h
,
v2
.8
b
,
v5
.8
b
sadalp
v
19
.4
s
,
v11
.8
h
sadalp
v
20
.4
s
,
v12
.8
h
smlal2
v8
.8
h
,
v2
.16
b
,
v4
.16
b
smlal2
v9
.8
h
,
v2
.16
b
,
v5
.16
b
sadalp
v2
0
.4
s
,
v12
.8
h
sadalp
v2
1
.4
s
,
v13
.8
h
smull
v10
.8
h
,
v2
.8
b
,
v6
.8
b
smull
v11
.8
h
,
v2
.8
b
,
v7
.8
b
sadalp
v2
1
.4
s
,
v13
.8
h
sadalp
v2
2
.4
s
,
v14
.8
h
smlal2
v10
.8
h
,
v2
.16
b
,
v6
.16
b
smlal2
v11
.8
h
,
v2
.16
b
,
v7
.16
b
sadalp
v2
2
.4
s
,
v14
.8
h
sadalp
v2
3
.4
s
,
v15
.8
h
smull
v12
.8
h
,
v3
.8
b
,
v4
.8
b
smull
v13
.8
h
,
v3
.8
b
,
v5
.8
b
sadalp
v2
3
.4
s
,
v15
.8
h
sadalp
v2
4
.4
s
,
v8
.8
h
smlal2
v12
.8
h
,
v3
.16
b
,
v4
.16
b
smlal2
v13
.8
h
,
v3
.16
b
,
v5
.16
b
sadalp
v24
.4
s
,
v8
.8
h
ld1
{
v4
.16
b
,
v5
.16
b
},
[
x2
],
#
32
sadalp
v25
.4
s
,
v9
.8
h
smull
v14
.8
h
,
v3
.8
b
,
v6
.8
b
smull
v15
.8
h
,
v3
.8
b
,
v7
.8
b
sadalp
v2
5
.4
s
,
v9
.8
h
sadalp
v2
6
.4
s
,
v10
.8
h
smlal2
v14
.8
h
,
v3
.16
b
,
v6
.16
b
smlal2
v15
.8
h
,
v3
.16
b
,
v7
.16
b
sadalp
v26
.4
s
,
v10
.8
h
ld1
{
v6
.16
b
,
v7
.16
b
},
[
x2
],
#
32
sadalp
v27
.4
s
,
v11
.8
h
smull
v8
.8
h
,
v0
.8
b
,
v4
.8
b
smull
v9
.8
h
,
v0
.8
b
,
v5
.8
b
sadalp
v2
7
.4
s
,
v11
.8
h
sadalp
v2
8
.4
s
,
v12
.8
h
smlal2
v8
.8
h
,
v0
.16
b
,
v4
.16
b
smlal2
v9
.8
h
,
v0
.16
b
,
v5
.16
b
sadalp
v28
.4
s
,
v12
.8
h
ld1
{
v2
.16
b
,
v3
.16
b
},
[
x12
],
#
32
sadalp
v29
.4
s
,
v13
.8
h
smull
v12
.8
h
,
v1
.8
b
,
v4
.8
b
smull
v13
.8
h
,
v1
.8
b
,
v5
.8
b
sadalp
v
29
.4
s
,
v13
.8
h
sadalp
v
30
.4
s
,
v14
.8
h
smlal2
v12
.8
h
,
v1
.16
b
,
v4
.16
b
smlal2
v13
.8
h
,
v1
.16
b
,
v5
.16
b
sadalp
v3
0
.4
s
,
v14
.8
h
sadalp
v3
1
.4
s
,
v15
.8
h
smull
v10
.8
h
,
v0
.8
b
,
v6
.8
b
smull
v11
.8
h
,
v0
.8
b
,
v7
.8
b
sadalp
v
31
.4
s
,
v15
.8
h
sadalp
v
16
.4
s
,
v8
.8
h
smlal2
v10
.8
h
,
v0
.16
b
,
v6
.16
b
smlal2
v11
.8
h
,
v0
.16
b
,
v7
.16
b
sadalp
v1
6
.4
s
,
v8
.8
h
sadalp
v1
7
.4
s
,
v9
.8
h
smull
v14
.8
h
,
v1
.8
b
,
v6
.8
b
smull
v15
.8
h
,
v1
.8
b
,
v7
.8
b
sad
alp
v17
.4
s
,
v9
.8
h
sad
dlp
v18
.4
s
,
v10
.8
h
smlal2
v14
.8
h
,
v1
.16
b
,
v6
.16
b
smlal2
v15
.8
h
,
v1
.16
b
,
v7
.16
b
...
...
@@ -158,33 +159,32 @@ IndirectGemmInt8_4x4:
bne
LoopIc
LoopIcEnd
:
sadalp
v1
8
.4
s
,
v10
.8
h
sadalp
v1
9
.4
s
,
v11
.8
h
smull
v8
.8
h
,
v2
.8
b
,
v4
.8
b
smull
v9
.8
h
,
v2
.8
b
,
v5
.8
b
sadalp
v
19
.4
s
,
v11
.8
h
sadalp
v
20
.4
s
,
v12
.8
h
smlal2
v8
.8
h
,
v2
.16
b
,
v4
.16
b
smlal2
v9
.8
h
,
v2
.16
b
,
v5
.16
b
sadalp
v2
0
.4
s
,
v12
.8
h
sadalp
v2
1
.4
s
,
v13
.8
h
smull
v10
.8
h
,
v2
.8
b
,
v6
.8
b
smull
v11
.8
h
,
v2
.8
b
,
v7
.8
b
sadalp
v2
1
.4
s
,
v13
.8
h
sadalp
v2
2
.4
s
,
v14
.8
h
smlal2
v10
.8
h
,
v2
.16
b
,
v6
.16
b
smlal2
v11
.8
h
,
v2
.16
b
,
v7
.16
b
sadalp
v2
2
.4
s
,
v14
.8
h
sadalp
v2
3
.4
s
,
v15
.8
h
smull
v12
.8
h
,
v3
.8
b
,
v4
.8
b
smull
v13
.8
h
,
v3
.8
b
,
v5
.8
b
sadalp
v2
3
.4
s
,
v15
.8
h
sadalp
v2
4
.4
s
,
v8
.8
h
smlal2
v12
.8
h
,
v3
.16
b
,
v4
.16
b
smlal2
v13
.8
h
,
v3
.16
b
,
v5
.16
b
sadalp
v2
4
.4
s
,
v8
.8
h
sadalp
v2
5
.4
s
,
v9
.8
h
smull
v14
.8
h
,
v3
.8
b
,
v6
.8
b
smull
v15
.8
h
,
v3
.8
b
,
v7
.8
b
sadalp
v2
5
.4
s
,
v9
.8
h
sadalp
v2
6
.4
s
,
v10
.8
h
smlal2
v14
.8
h
,
v3
.16
b
,
v6
.16
b
smlal2
v15
.8
h
,
v3
.16
b
,
v7
.16
b
sadalp
v26
.4
s
,
v10
.8
h
sadalp
v27
.4
s
,
v11
.8
h
sadalp
v28
.4
s
,
v12
.8
h
sadalp
v28
.4
s
,
v12
.8
h
sadalp
v29
.4
s
,
v13
.8
h
sadalp
v30
.4
s
,
v14
.8
h
sadalp
v31
.4
s
,
v15
.8
h
...
...
@@ -204,6 +204,7 @@ IndirectGemmInt8_4x4:
addp
v26
.4
s
,
v26
.4
s
,
v27
.4
s
addp
v28
.4
s
,
v28
.4
s
,
v29
.4
s
addp
v30
.4
s
,
v30
.4
s
,
v31
.4
s
dup
v12
.4
s
,
wzr
cbz
x3
,
NoReadBias
ld1
{
v12
.4
s
},
[
x3
]
NoReadBias
:
...
...
@@ -221,40 +222,40 @@ IndirectGemmInt8_4x4:
add
v28
.4
s
,
v28
.4
s
,
v12
.4
s
dup
v2
.4
s
,
w18
sqshl
v16
.4
s
,
v16
.4
s
,
v2
.4
s
sqshl
v20
.4
s
,
v20
.4
s
,
v2
.4
s
sqshl
v24
.4
s
,
v24
.4
s
,
v2
.4
s
sqshl
v28
.4
s
,
v28
.4
s
,
v2
.4
s
sqshl
v16
.4
s
,
v16
.4
s
,
v2
.4
s
sqshl
v20
.4
s
,
v20
.4
s
,
v2
.4
s
sqshl
v24
.4
s
,
v24
.4
s
,
v2
.4
s
sqshl
v28
.4
s
,
v28
.4
s
,
v2
.4
s
dup
v3
.4
s
,
w17
sqrdmulh
v16
.4
s
,
v16
.4
s
,
v3
.4
s
sqrdmulh
v20
.4
s
,
v20
.4
s
,
v3
.4
s
sqrdmulh
v24
.4
s
,
v24
.4
s
,
v3
.4
s
sqrdmulh
v28
.4
s
,
v28
.4
s
,
v3
.4
s
sqrdmulh
v16
.4
s
,
v16
.4
s
,
v3
.4
s
sqrdmulh
v20
.4
s
,
v20
.4
s
,
v3
.4
s
sqrdmulh
v24
.4
s
,
v24
.4
s
,
v3
.4
s
sqrdmulh
v28
.4
s
,
v28
.4
s
,
v3
.4
s
dup
v4
.4
s
,
w19
sqrshl
v16
.4
s
,
v16
.4
s
,
v4
.4
s
sqrshl
v20
.4
s
,
v20
.4
s
,
v4
.4
s
sqrshl
v24
.4
s
,
v24
.4
s
,
v4
.4
s
sqrshl
v28
.4
s
,
v28
.4
s
,
v4
.4
s
sqrshl
v16
.4
s
,
v16
.4
s
,
v4
.4
s
sqrshl
v20
.4
s
,
v20
.4
s
,
v4
.4
s
sqrshl
v24
.4
s
,
v24
.4
s
,
v4
.4
s
sqrshl
v28
.4
s
,
v28
.4
s
,
v4
.4
s
dup
v5
.4
s
,
w16
add
v16
.4
s
,
v16
.4
s
,
v5
.4
s
add
v20
.4
s
,
v20
.4
s
,
v5
.4
s
add
v24
.4
s
,
v24
.4
s
,
v5
.4
s
add
v28
.4
s
,
v28
.4
s
,
v5
.4
s
add
v16
.4
s
,
v16
.4
s
,
v5
.4
s
add
v20
.4
s
,
v20
.4
s
,
v5
.4
s
add
v24
.4
s
,
v24
.4
s
,
v5
.4
s
add
v28
.4
s
,
v28
.4
s
,
v5
.4
s
dup
v0
.4
s
,
w8
smax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
smax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
smax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
smax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
smax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
smax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
smax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
smax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
dup
v1
.4
s
,
w9
smin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
smin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
smin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
smin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
smin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
smin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
smin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
smin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
sqxtn
v13
.4
h
,
v16
.4
s
sqxtn2
v13
.8
h
,
v20
.4
s
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/assembly/opt/IndirectGemmInt8_24x4_dp.S
浏览文件 @
6b885884
...
...
@@ -277,160 +277,160 @@ IndirectGemmInt8_24x4_dp:
Quantization
:
dup
v2
.4
s
,
w18
sqshl
v8
.4
s
,
v8
.4
s
,
v2
.4
s
sqshl
v9
.4
s
,
v9
.4
s
,
v2
.4
s
sqshl
v10
.4
s
,
v10
.4
s
,
v2
.4
s
sqshl
v11
.4
s
,
v11
.4
s
,
v2
.4
s
sqshl
v12
.4
s
,
v12
.4
s
,
v2
.4
s
sqshl
v13
.4
s
,
v13
.4
s
,
v2
.4
s
sqshl
v14
.4
s
,
v14
.4
s
,
v2
.4
s
sqshl
v15
.4
s
,
v15
.4
s
,
v2
.4
s
sqshl
v16
.4
s
,
v16
.4
s
,
v2
.4
s
sqshl
v17
.4
s
,
v17
.4
s
,
v2
.4
s
sqshl
v18
.4
s
,
v18
.4
s
,
v2
.4
s
sqshl
v19
.4
s
,
v19
.4
s
,
v2
.4
s
sqshl
v20
.4
s
,
v20
.4
s
,
v2
.4
s
sqshl
v21
.4
s
,
v21
.4
s
,
v2
.4
s
sqshl
v22
.4
s
,
v22
.4
s
,
v2
.4
s
sqshl
v23
.4
s
,
v23
.4
s
,
v2
.4
s
sqshl
v24
.4
s
,
v24
.4
s
,
v2
.4
s
sqshl
v25
.4
s
,
v25
.4
s
,
v2
.4
s
sqshl
v26
.4
s
,
v26
.4
s
,
v2
.4
s
sqshl
v27
.4
s
,
v27
.4
s
,
v2
.4
s
sqshl
v28
.4
s
,
v28
.4
s
,
v2
.4
s
sqshl
v29
.4
s
,
v29
.4
s
,
v2
.4
s
sqshl
v30
.4
s
,
v30
.4
s
,
v2
.4
s
sqshl
v31
.4
s
,
v31
.4
s
,
v2
.4
s
sqshl
v8
.4
s
,
v8
.4
s
,
v2
.4
s
sqshl
v9
.4
s
,
v9
.4
s
,
v2
.4
s
sqshl
v10
.4
s
,
v10
.4
s
,
v2
.4
s
sqshl
v11
.4
s
,
v11
.4
s
,
v2
.4
s
sqshl
v12
.4
s
,
v12
.4
s
,
v2
.4
s
sqshl
v13
.4
s
,
v13
.4
s
,
v2
.4
s
sqshl
v14
.4
s
,
v14
.4
s
,
v2
.4
s
sqshl
v15
.4
s
,
v15
.4
s
,
v2
.4
s
sqshl
v16
.4
s
,
v16
.4
s
,
v2
.4
s
sqshl
v17
.4
s
,
v17
.4
s
,
v2
.4
s
sqshl
v18
.4
s
,
v18
.4
s
,
v2
.4
s
sqshl
v19
.4
s
,
v19
.4
s
,
v2
.4
s
sqshl
v20
.4
s
,
v20
.4
s
,
v2
.4
s
sqshl
v21
.4
s
,
v21
.4
s
,
v2
.4
s
sqshl
v22
.4
s
,
v22
.4
s
,
v2
.4
s
sqshl
v23
.4
s
,
v23
.4
s
,
v2
.4
s
sqshl
v24
.4
s
,
v24
.4
s
,
v2
.4
s
sqshl
v25
.4
s
,
v25
.4
s
,
v2
.4
s
sqshl
v26
.4
s
,
v26
.4
s
,
v2
.4
s
sqshl
v27
.4
s
,
v27
.4
s
,
v2
.4
s
sqshl
v28
.4
s
,
v28
.4
s
,
v2
.4
s
sqshl
v29
.4
s
,
v29
.4
s
,
v2
.4
s
sqshl
v30
.4
s
,
v30
.4
s
,
v2
.4
s
sqshl
v31
.4
s
,
v31
.4
s
,
v2
.4
s
dup
v3
.4
s
,
w17
sqrdmulh
v8
.4
s
,
v8
.4
s
,
v3
.4
s
sqrdmulh
v9
.4
s
,
v9
.4
s
,
v3
.4
s
sqrdmulh
v10
.4
s
,
v10
.4
s
,
v3
.4
s
sqrdmulh
v11
.4
s
,
v11
.4
s
,
v3
.4
s
sqrdmulh
v12
.4
s
,
v12
.4
s
,
v3
.4
s
sqrdmulh
v13
.4
s
,
v13
.4
s
,
v3
.4
s
sqrdmulh
v14
.4
s
,
v14
.4
s
,
v3
.4
s
sqrdmulh
v15
.4
s
,
v15
.4
s
,
v3
.4
s
sqrdmulh
v16
.4
s
,
v16
.4
s
,
v3
.4
s
sqrdmulh
v17
.4
s
,
v17
.4
s
,
v3
.4
s
sqrdmulh
v18
.4
s
,
v18
.4
s
,
v3
.4
s
sqrdmulh
v19
.4
s
,
v19
.4
s
,
v3
.4
s
sqrdmulh
v20
.4
s
,
v20
.4
s
,
v3
.4
s
sqrdmulh
v21
.4
s
,
v21
.4
s
,
v3
.4
s
sqrdmulh
v22
.4
s
,
v22
.4
s
,
v3
.4
s
sqrdmulh
v23
.4
s
,
v23
.4
s
,
v3
.4
s
sqrdmulh
v24
.4
s
,
v24
.4
s
,
v3
.4
s
sqrdmulh
v25
.4
s
,
v25
.4
s
,
v3
.4
s
sqrdmulh
v26
.4
s
,
v26
.4
s
,
v3
.4
s
sqrdmulh
v27
.4
s
,
v27
.4
s
,
v3
.4
s
sqrdmulh
v28
.4
s
,
v28
.4
s
,
v3
.4
s
sqrdmulh
v29
.4
s
,
v29
.4
s
,
v3
.4
s
sqrdmulh
v30
.4
s
,
v30
.4
s
,
v3
.4
s
sqrdmulh
v31
.4
s
,
v31
.4
s
,
v3
.4
s
sqrdmulh
v8
.4
s
,
v8
.4
s
,
v3
.4
s
sqrdmulh
v9
.4
s
,
v9
.4
s
,
v3
.4
s
sqrdmulh
v10
.4
s
,
v10
.4
s
,
v3
.4
s
sqrdmulh
v11
.4
s
,
v11
.4
s
,
v3
.4
s
sqrdmulh
v12
.4
s
,
v12
.4
s
,
v3
.4
s
sqrdmulh
v13
.4
s
,
v13
.4
s
,
v3
.4
s
sqrdmulh
v14
.4
s
,
v14
.4
s
,
v3
.4
s
sqrdmulh
v15
.4
s
,
v15
.4
s
,
v3
.4
s
sqrdmulh
v16
.4
s
,
v16
.4
s
,
v3
.4
s
sqrdmulh
v17
.4
s
,
v17
.4
s
,
v3
.4
s
sqrdmulh
v18
.4
s
,
v18
.4
s
,
v3
.4
s
sqrdmulh
v19
.4
s
,
v19
.4
s
,
v3
.4
s
sqrdmulh
v20
.4
s
,
v20
.4
s
,
v3
.4
s
sqrdmulh
v21
.4
s
,
v21
.4
s
,
v3
.4
s
sqrdmulh
v22
.4
s
,
v22
.4
s
,
v3
.4
s
sqrdmulh
v23
.4
s
,
v23
.4
s
,
v3
.4
s
sqrdmulh
v24
.4
s
,
v24
.4
s
,
v3
.4
s
sqrdmulh
v25
.4
s
,
v25
.4
s
,
v3
.4
s
sqrdmulh
v26
.4
s
,
v26
.4
s
,
v3
.4
s
sqrdmulh
v27
.4
s
,
v27
.4
s
,
v3
.4
s
sqrdmulh
v28
.4
s
,
v28
.4
s
,
v3
.4
s
sqrdmulh
v29
.4
s
,
v29
.4
s
,
v3
.4
s
sqrdmulh
v30
.4
s
,
v30
.4
s
,
v3
.4
s
sqrdmulh
v31
.4
s
,
v31
.4
s
,
v3
.4
s
dup
v4
.4
s
,
w19
sqrshl
v8
.4
s
,
v8
.4
s
,
v4
.4
s
sqrshl
v9
.4
s
,
v9
.4
s
,
v4
.4
s
sqrshl
v10
.4
s
,
v10
.4
s
,
v4
.4
s
sqrshl
v11
.4
s
,
v11
.4
s
,
v4
.4
s
sqrshl
v12
.4
s
,
v12
.4
s
,
v4
.4
s
sqrshl
v13
.4
s
,
v13
.4
s
,
v4
.4
s
sqrshl
v14
.4
s
,
v14
.4
s
,
v4
.4
s
sqrshl
v15
.4
s
,
v15
.4
s
,
v4
.4
s
sqrshl
v16
.4
s
,
v16
.4
s
,
v4
.4
s
sqrshl
v17
.4
s
,
v17
.4
s
,
v4
.4
s
sqrshl
v18
.4
s
,
v18
.4
s
,
v4
.4
s
sqrshl
v19
.4
s
,
v19
.4
s
,
v4
.4
s
sqrshl
v20
.4
s
,
v20
.4
s
,
v4
.4
s
sqrshl
v21
.4
s
,
v21
.4
s
,
v4
.4
s
sqrshl
v22
.4
s
,
v22
.4
s
,
v4
.4
s
sqrshl
v23
.4
s
,
v23
.4
s
,
v4
.4
s
sqrshl
v24
.4
s
,
v24
.4
s
,
v4
.4
s
sqrshl
v25
.4
s
,
v25
.4
s
,
v4
.4
s
sqrshl
v26
.4
s
,
v26
.4
s
,
v4
.4
s
sqrshl
v27
.4
s
,
v27
.4
s
,
v4
.4
s
sqrshl
v28
.4
s
,
v28
.4
s
,
v4
.4
s
sqrshl
v29
.4
s
,
v29
.4
s
,
v4
.4
s
sqrshl
v30
.4
s
,
v30
.4
s
,
v4
.4
s
sqrshl
v31
.4
s
,
v31
.4
s
,
v4
.4
s
sqrshl
v8
.4
s
,
v8
.4
s
,
v4
.4
s
sqrshl
v9
.4
s
,
v9
.4
s
,
v4
.4
s
sqrshl
v10
.4
s
,
v10
.4
s
,
v4
.4
s
sqrshl
v11
.4
s
,
v11
.4
s
,
v4
.4
s
sqrshl
v12
.4
s
,
v12
.4
s
,
v4
.4
s
sqrshl
v13
.4
s
,
v13
.4
s
,
v4
.4
s
sqrshl
v14
.4
s
,
v14
.4
s
,
v4
.4
s
sqrshl
v15
.4
s
,
v15
.4
s
,
v4
.4
s
sqrshl
v16
.4
s
,
v16
.4
s
,
v4
.4
s
sqrshl
v17
.4
s
,
v17
.4
s
,
v4
.4
s
sqrshl
v18
.4
s
,
v18
.4
s
,
v4
.4
s
sqrshl
v19
.4
s
,
v19
.4
s
,
v4
.4
s
sqrshl
v20
.4
s
,
v20
.4
s
,
v4
.4
s
sqrshl
v21
.4
s
,
v21
.4
s
,
v4
.4
s
sqrshl
v22
.4
s
,
v22
.4
s
,
v4
.4
s
sqrshl
v23
.4
s
,
v23
.4
s
,
v4
.4
s
sqrshl
v24
.4
s
,
v24
.4
s
,
v4
.4
s
sqrshl
v25
.4
s
,
v25
.4
s
,
v4
.4
s
sqrshl
v26
.4
s
,
v26
.4
s
,
v4
.4
s
sqrshl
v27
.4
s
,
v27
.4
s
,
v4
.4
s
sqrshl
v28
.4
s
,
v28
.4
s
,
v4
.4
s
sqrshl
v29
.4
s
,
v29
.4
s
,
v4
.4
s
sqrshl
v30
.4
s
,
v30
.4
s
,
v4
.4
s
sqrshl
v31
.4
s
,
v31
.4
s
,
v4
.4
s
dup
v5
.4
s
,
w16
add
v8
.4
s
,
v8
.4
s
,
v5
.4
s
add
v9
.4
s
,
v9
.4
s
,
v5
.4
s
add
v10
.4
s
,
v10
.4
s
,
v5
.4
s
add
v11
.4
s
,
v11
.4
s
,
v5
.4
s
add
v12
.4
s
,
v12
.4
s
,
v5
.4
s
add
v13
.4
s
,
v13
.4
s
,
v5
.4
s
add
v14
.4
s
,
v14
.4
s
,
v5
.4
s
add
v15
.4
s
,
v15
.4
s
,
v5
.4
s
add
v16
.4
s
,
v16
.4
s
,
v5
.4
s
add
v17
.4
s
,
v17
.4
s
,
v5
.4
s
add
v18
.4
s
,
v18
.4
s
,
v5
.4
s
add
v19
.4
s
,
v19
.4
s
,
v5
.4
s
add
v20
.4
s
,
v20
.4
s
,
v5
.4
s
add
v21
.4
s
,
v21
.4
s
,
v5
.4
s
add
v22
.4
s
,
v22
.4
s
,
v5
.4
s
add
v23
.4
s
,
v23
.4
s
,
v5
.4
s
add
v24
.4
s
,
v24
.4
s
,
v5
.4
s
add
v25
.4
s
,
v25
.4
s
,
v5
.4
s
add
v26
.4
s
,
v26
.4
s
,
v5
.4
s
add
v27
.4
s
,
v27
.4
s
,
v5
.4
s
add
v28
.4
s
,
v28
.4
s
,
v5
.4
s
add
v29
.4
s
,
v29
.4
s
,
v5
.4
s
add
v30
.4
s
,
v30
.4
s
,
v5
.4
s
add
v31
.4
s
,
v31
.4
s
,
v5
.4
s
add
v8
.4
s
,
v8
.4
s
,
v5
.4
s
add
v9
.4
s
,
v9
.4
s
,
v5
.4
s
add
v10
.4
s
,
v10
.4
s
,
v5
.4
s
add
v11
.4
s
,
v11
.4
s
,
v5
.4
s
add
v12
.4
s
,
v12
.4
s
,
v5
.4
s
add
v13
.4
s
,
v13
.4
s
,
v5
.4
s
add
v14
.4
s
,
v14
.4
s
,
v5
.4
s
add
v15
.4
s
,
v15
.4
s
,
v5
.4
s
add
v16
.4
s
,
v16
.4
s
,
v5
.4
s
add
v17
.4
s
,
v17
.4
s
,
v5
.4
s
add
v18
.4
s
,
v18
.4
s
,
v5
.4
s
add
v19
.4
s
,
v19
.4
s
,
v5
.4
s
add
v20
.4
s
,
v20
.4
s
,
v5
.4
s
add
v21
.4
s
,
v21
.4
s
,
v5
.4
s
add
v22
.4
s
,
v22
.4
s
,
v5
.4
s
add
v23
.4
s
,
v23
.4
s
,
v5
.4
s
add
v24
.4
s
,
v24
.4
s
,
v5
.4
s
add
v25
.4
s
,
v25
.4
s
,
v5
.4
s
add
v26
.4
s
,
v26
.4
s
,
v5
.4
s
add
v27
.4
s
,
v27
.4
s
,
v5
.4
s
add
v28
.4
s
,
v28
.4
s
,
v5
.4
s
add
v29
.4
s
,
v29
.4
s
,
v5
.4
s
add
v30
.4
s
,
v30
.4
s
,
v5
.4
s
add
v31
.4
s
,
v31
.4
s
,
v5
.4
s
dup
v0
.4
s
,
w8
smax
v8
.4
s
,
v8
.4
s
,
v0
.4
s
smax
v9
.4
s
,
v9
.4
s
,
v0
.4
s
smax
v10
.4
s
,
v10
.4
s
,
v0
.4
s
smax
v11
.4
s
,
v11
.4
s
,
v0
.4
s
smax
v12
.4
s
,
v12
.4
s
,
v0
.4
s
smax
v13
.4
s
,
v13
.4
s
,
v0
.4
s
smax
v14
.4
s
,
v14
.4
s
,
v0
.4
s
smax
v15
.4
s
,
v15
.4
s
,
v0
.4
s
smax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
smax
v17
.4
s
,
v17
.4
s
,
v0
.4
s
smax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
smax
v19
.4
s
,
v19
.4
s
,
v0
.4
s
smax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
smax
v21
.4
s
,
v21
.4
s
,
v0
.4
s
smax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
smax
v23
.4
s
,
v23
.4
s
,
v0
.4
s
smax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
smax
v25
.4
s
,
v25
.4
s
,
v0
.4
s
smax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
smax
v27
.4
s
,
v27
.4
s
,
v0
.4
s
smax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
smax
v29
.4
s
,
v29
.4
s
,
v0
.4
s
smax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
smax
v31
.4
s
,
v31
.4
s
,
v0
.4
s
smax
v8
.4
s
,
v8
.4
s
,
v0
.4
s
smax
v9
.4
s
,
v9
.4
s
,
v0
.4
s
smax
v10
.4
s
,
v10
.4
s
,
v0
.4
s
smax
v11
.4
s
,
v11
.4
s
,
v0
.4
s
smax
v12
.4
s
,
v12
.4
s
,
v0
.4
s
smax
v13
.4
s
,
v13
.4
s
,
v0
.4
s
smax
v14
.4
s
,
v14
.4
s
,
v0
.4
s
smax
v15
.4
s
,
v15
.4
s
,
v0
.4
s
smax
v16
.4
s
,
v16
.4
s
,
v0
.4
s
smax
v17
.4
s
,
v17
.4
s
,
v0
.4
s
smax
v18
.4
s
,
v18
.4
s
,
v0
.4
s
smax
v19
.4
s
,
v19
.4
s
,
v0
.4
s
smax
v20
.4
s
,
v20
.4
s
,
v0
.4
s
smax
v21
.4
s
,
v21
.4
s
,
v0
.4
s
smax
v22
.4
s
,
v22
.4
s
,
v0
.4
s
smax
v23
.4
s
,
v23
.4
s
,
v0
.4
s
smax
v24
.4
s
,
v24
.4
s
,
v0
.4
s
smax
v25
.4
s
,
v25
.4
s
,
v0
.4
s
smax
v26
.4
s
,
v26
.4
s
,
v0
.4
s
smax
v27
.4
s
,
v27
.4
s
,
v0
.4
s
smax
v28
.4
s
,
v28
.4
s
,
v0
.4
s
smax
v29
.4
s
,
v29
.4
s
,
v0
.4
s
smax
v30
.4
s
,
v30
.4
s
,
v0
.4
s
smax
v31
.4
s
,
v31
.4
s
,
v0
.4
s
dup
v1
.4
s
,
w9
smin
v8
.4
s
,
v8
.4
s
,
v1
.4
s
smin
v9
.4
s
,
v9
.4
s
,
v1
.4
s
smin
v10
.4
s
,
v10
.4
s
,
v1
.4
s
smin
v11
.4
s
,
v11
.4
s
,
v1
.4
s
smin
v12
.4
s
,
v12
.4
s
,
v1
.4
s
smin
v13
.4
s
,
v13
.4
s
,
v1
.4
s
smin
v14
.4
s
,
v14
.4
s
,
v1
.4
s
smin
v15
.4
s
,
v15
.4
s
,
v1
.4
s
smin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
smin
v17
.4
s
,
v17
.4
s
,
v1
.4
s
smin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
smin
v19
.4
s
,
v19
.4
s
,
v1
.4
s
smin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
smin
v21
.4
s
,
v21
.4
s
,
v1
.4
s
smin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
smin
v23
.4
s
,
v23
.4
s
,
v1
.4
s
smin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
smin
v25
.4
s
,
v25
.4
s
,
v1
.4
s
smin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
smin
v27
.4
s
,
v27
.4
s
,
v1
.4
s
smin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
smin
v29
.4
s
,
v29
.4
s
,
v1
.4
s
smin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
smin
v31
.4
s
,
v31
.4
s
,
v1
.4
s
smin
v8
.4
s
,
v8
.4
s
,
v1
.4
s
smin
v9
.4
s
,
v9
.4
s
,
v1
.4
s
smin
v10
.4
s
,
v10
.4
s
,
v1
.4
s
smin
v11
.4
s
,
v11
.4
s
,
v1
.4
s
smin
v12
.4
s
,
v12
.4
s
,
v1
.4
s
smin
v13
.4
s
,
v13
.4
s
,
v1
.4
s
smin
v14
.4
s
,
v14
.4
s
,
v1
.4
s
smin
v15
.4
s
,
v15
.4
s
,
v1
.4
s
smin
v16
.4
s
,
v16
.4
s
,
v1
.4
s
smin
v17
.4
s
,
v17
.4
s
,
v1
.4
s
smin
v18
.4
s
,
v18
.4
s
,
v1
.4
s
smin
v19
.4
s
,
v19
.4
s
,
v1
.4
s
smin
v20
.4
s
,
v20
.4
s
,
v1
.4
s
smin
v21
.4
s
,
v21
.4
s
,
v1
.4
s
smin
v22
.4
s
,
v22
.4
s
,
v1
.4
s
smin
v23
.4
s
,
v23
.4
s
,
v1
.4
s
smin
v24
.4
s
,
v24
.4
s
,
v1
.4
s
smin
v25
.4
s
,
v25
.4
s
,
v1
.4
s
smin
v26
.4
s
,
v26
.4
s
,
v1
.4
s
smin
v27
.4
s
,
v27
.4
s
,
v1
.4
s
smin
v28
.4
s
,
v28
.4
s
,
v1
.4
s
smin
v29
.4
s
,
v29
.4
s
,
v1
.4
s
smin
v30
.4
s
,
v30
.4
s
,
v1
.4
s
smin
v31
.4
s
,
v31
.4
s
,
v1
.4
s
sqxtn
v6
.4
h
,
v8
.4
s
sqxtn2
v6
.8
h
,
v9
.4
s
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.cc
浏览文件 @
6b885884
...
...
@@ -29,11 +29,13 @@ void IndirectGemmInt8(int8_t *dst, int32_t *tmp_dst, const int8_t *src, const in
int32_t
act_min
=
conv_param
->
conv_quant_arg_
.
out_act_min_
[
0
];
int32_t
act_max
=
conv_param
->
conv_quant_arg_
.
out_act_max_
[
0
];
#ifdef __aarch64__
IndirectGemmInt8_4x4
(
dst
,
src
,
weight
,
bias
,
kernel_plane
,
ic4
,
output_channel
,
output_channel
*
sizeof
(
int8_t
),
input_sum
,
act_min
,
act_max
,
out_zp
,
out_multiplier
,
shift_before
,
shift_after
);
IndirectGemmInt8_4x4
(
dst
,
src
,
weight
,
bias
,
UP_DIV
(
kernel_plane
,
C4NUM
),
ic4
,
output_channel
,
output_channel
*
sizeof
(
int8_t
),
input_sum
,
act_min
,
act_max
,
out_zp
,
out_multiplier
,
shift_before
,
shift_after
);
#elif defined(ENABLE_ARM32)
IndirectGemmInt8_2x4
(
dst
,
src
,
weight
,
bias
,
kernel_plane
,
ic4
,
output_channel
,
output_channel
*
sizeof
(
int8_t
),
input_sum
,
act_min
,
act_max
,
out_zp
,
out_multiplier
,
shift_before
,
shift_after
);
IndirectGemmInt8_2x4
(
dst
,
src
,
weight
,
bias
,
UP_DIV
(
kernel_plane
,
C4NUM
),
ic4
,
output_channel
,
output_channel
*
sizeof
(
int8_t
),
input_sum
,
act_min
,
act_max
,
out_zp
,
out_multiplier
,
shift_before
,
shift_after
);
#else
int
tile_num
=
conv_param
->
tile_num_
;
int
plane_c4
=
UP_DIV
(
kernel_plane
,
C4NUM
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录