Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
dd72b1d2
R
runtime
项目概览
dotNET Platform
/
runtime
大约 1 年 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
dd72b1d2
编写于
6月 11, 2021
作者:
Z
Zoltan Varga
提交者:
GitHub
6月 11, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[mono][llvm] Remove some dead code. (#53920)
上级
e492dc7e
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
1 addition
and
147 deletion
+1
-147
src/mono/mono/mini/mini-llvm.c
src/mono/mono/mini/mini-llvm.c
+1
-147
未找到文件。
src/mono/mono/mini/mini-llvm.c
浏览文件 @
dd72b1d2
...
...
@@ -1097,56 +1097,6 @@ simd_ins_to_intrins (int opcode)
{
switch
(
opcode
)
{
#if defined(TARGET_X86) || defined(TARGET_AMD64)
case
OP_MINPD
:
return
INTRINS_SSE_MINPD
;
case
OP_MINPS
:
return
INTRINS_SSE_MINPS
;
case
OP_MAXPD
:
return
INTRINS_SSE_MAXPD
;
case
OP_MAXPS
:
return
INTRINS_SSE_MAXPS
;
case
OP_HADDPD
:
return
INTRINS_SSE_HADDPD
;
case
OP_HADDPS
:
return
INTRINS_SSE_HADDPS
;
case
OP_HSUBPD
:
return
INTRINS_SSE_HSUBPD
;
case
OP_HSUBPS
:
return
INTRINS_SSE_HSUBPS
;
case
OP_ADDSUBPS
:
return
INTRINS_SSE_ADDSUBPS
;
case
OP_ADDSUBPD
:
return
INTRINS_SSE_ADDSUBPD
;
case
OP_EXTRACT_MASK
:
return
INTRINS_SSE_PMOVMSKB
;
case
OP_PSHRW
:
case
OP_PSHRW_REG
:
return
INTRINS_SSE_PSRLI_W
;
case
OP_PSHRD
:
case
OP_PSHRD_REG
:
return
INTRINS_SSE_PSRLI_D
;
case
OP_PSHRQ
:
case
OP_PSHRQ_REG
:
return
INTRINS_SSE_PSRLI_Q
;
case
OP_PSHLW
:
case
OP_PSHLW_REG
:
return
INTRINS_SSE_PSLLI_W
;
case
OP_PSHLD
:
case
OP_PSHLD_REG
:
return
INTRINS_SSE_PSLLI_D
;
case
OP_PSHLQ
:
case
OP_PSHLQ_REG
:
return
INTRINS_SSE_PSLLI_Q
;
case
OP_PSARW
:
case
OP_PSARW_REG
:
return
INTRINS_SSE_PSRAI_W
;
case
OP_PSARD
:
case
OP_PSARD_REG
:
return
INTRINS_SSE_PSRAI_D
;
case
OP_RSQRTPS
:
return
INTRINS_SSE_RSQRT_PS
;
case
OP_RCPPS
:
return
INTRINS_SSE_RCP_PS
;
case
OP_CVTPD2DQ
:
return
INTRINS_SSE_CVTPD2DQ
;
case
OP_CVTPS2DQ
:
...
...
@@ -1157,28 +1107,10 @@ simd_ins_to_intrins (int opcode)
return
INTRINS_SSE_CVTTPD2DQ
;
case
OP_CVTTPS2DQ
:
return
INTRINS_SSE_CVTTPS2DQ
;
case
OP_PACKW
:
return
INTRINS_SSE_PACKSSWB
;
case
OP_PACKD
:
return
INTRINS_SSE_PACKSSDW
;
case
OP_PACKW_UN
:
return
INTRINS_SSE_PACKUSWB
;
case
OP_PACKD_UN
:
return
INTRINS_SSE_PACKUSDW
;
case
OP_PMULW_HIGH
:
return
INTRINS_SSE_PMULHW
;
case
OP_PMULW_HIGH_UN
:
return
INTRINS_SSE_PMULHU
;
case
OP_DPPS
:
return
INTRINS_SSE_DPPS
;
case
OP_SSE_SQRTSS
:
return
INTRINS_SSE_SQRT_SS
;
case
OP_SSE2_SQRTSD
:
return
INTRINS_SSE_SQRT_SD
;
case
OP_SQRTPS
:
return
INTRINS_SSE_SQRT_PS
;
case
OP_SQRTPD
:
return
INTRINS_SSE_SQRT_PD
;
#endif
default:
g_assert_not_reached
();
...
...
@@ -1219,11 +1151,8 @@ simd_op_to_llvm_type (int opcode)
case
OP_CVTPS2DQ
:
case
OP_CVTTPS2DQ
:
return
sse_r4_t
;
case
OP_EXTRACT_MASK
:
return
sse_i1_t
;
case
OP_SQRTPS
:
case
OP_RSQRTPS
:
case
OP_RCPPS
:
case
OP_DUPPS_LOW
:
case
OP_DUPPS_HIGH
:
return
sse_r4_t
;
...
...
@@ -7740,30 +7669,6 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
values
[
ins
->
dreg
]
=
LLVMBuildSelect
(
builder
,
cmp
,
lhs
,
rhs
,
""
);
break
;
}
case
OP_MINPD
:
case
OP_MINPS
:
case
OP_MAXPD
:
case
OP_MAXPS
:
case
OP_ADDSUBPD
:
case
OP_ADDSUBPS
:
case
OP_HADDPD
:
case
OP_HADDPS
:
case
OP_HSUBPD
:
case
OP_HSUBPS
:
case
OP_PACKW
:
case
OP_PACKD
:
case
OP_PACKW_UN
:
case
OP_PACKD_UN
:
case
OP_PMULW_HIGH
:
case
OP_PMULW_HIGH_UN
:
{
LLVMValueRef
args
[
2
];
args
[
0
]
=
lhs
;
args
[
1
]
=
rhs
;
values
[
ins
->
dreg
]
=
call_intrins
(
ctx
,
simd_ins_to_intrins
(
ins
->
opcode
),
args
,
""
);
break
;
}
case
OP_PAVGB_UN
:
case
OP_PAVGW_UN
:
{
LLVMValueRef
ones_vec
;
...
...
@@ -7931,12 +7836,7 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
case
OP_CVTPD2DQ
:
case
OP_CVTPS2DQ
:
case
OP_CVTPD2PS
:
case
OP_CVTTPD2DQ
:
case
OP_EXTRACT_MASK
:
case
OP_SQRTPS
:
case
OP_SQRTPD
:
case
OP_RSQRTPS
:
case
OP_RCPPS
:
{
case
OP_CVTTPD2DQ
:
{
LLVMValueRef
v
;
v
=
convert
(
ctx
,
values
[
ins
->
sreg1
],
simd_op_to_llvm_type
(
ins
->
opcode
));
...
...
@@ -7989,40 +7889,6 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
values
[
ins
->
dreg
]
=
lhs
;
break
;
case
OP_PSHRW
:
case
OP_PSHRD
:
case
OP_PSHRQ
:
case
OP_PSARW
:
case
OP_PSARD
:
case
OP_PSHLW
:
case
OP_PSHLD
:
case
OP_PSHLQ
:
{
LLVMValueRef
args
[
3
];
args
[
0
]
=
lhs
;
args
[
1
]
=
LLVMConstInt
(
LLVMInt32Type
(),
ins
->
inst_imm
,
FALSE
);
values
[
ins
->
dreg
]
=
call_intrins
(
ctx
,
simd_ins_to_intrins
(
ins
->
opcode
),
args
,
dname
);
break
;
}
case
OP_PSHRW_REG
:
case
OP_PSHRD_REG
:
case
OP_PSHRQ_REG
:
case
OP_PSARW_REG
:
case
OP_PSARD_REG
:
case
OP_PSHLW_REG
:
case
OP_PSHLD_REG
:
case
OP_PSHLQ_REG
:
{
LLVMValueRef
args
[
3
];
args
[
0
]
=
lhs
;
args
[
1
]
=
values
[
ins
->
sreg2
];
values
[
ins
->
dreg
]
=
call_intrins
(
ctx
,
simd_ins_to_intrins
(
ins
->
opcode
),
args
,
dname
);
break
;
}
case
OP_SHUFPS
:
case
OP_SHUFPD
:
case
OP_PSHUFLED
:
...
...
@@ -8208,18 +8074,6 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
break
;
}
case
OP_DPPS
:
{
LLVMValueRef
args
[
3
];
args
[
0
]
=
lhs
;
args
[
1
]
=
rhs
;
/* 0xf1 == multiply all 4 elements, add them together, and store the result to the lowest element */
args
[
2
]
=
LLVMConstInt
(
LLVMInt8Type
(),
0xf1
,
FALSE
);
values
[
ins
->
dreg
]
=
call_intrins
(
ctx
,
simd_ins_to_intrins
(
ins
->
opcode
),
args
,
dname
);
break
;
}
case
OP_FCONV_TO_R8_X
:
{
values
[
ins
->
dreg
]
=
LLVMBuildInsertElement
(
builder
,
LLVMConstNull
(
sse_r8_t
),
lhs
,
LLVMConstInt
(
LLVMInt32Type
(),
0
,
FALSE
),
""
);
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录