Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
c96f5047
R
runtime
项目概览
dotNET Platform
/
runtime
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
未验证
提交
c96f5047
编写于
8月 30, 2022
作者:
W
Will Smith
提交者:
GitHub
8月 30, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARM64 - Disasm is consistent with values of zero and commas (#74717)
上级
a17dcda9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
18 deletion
+34
-18
src/coreclr/jit/emitarm64.cpp
src/coreclr/jit/emitarm64.cpp
+33
-18
src/coreclr/jit/emitarm64.h
src/coreclr/jit/emitarm64.h
+1
-0
未找到文件。
src/coreclr/jit/emitarm64.cpp
浏览文件 @
c96f5047
...
...
@@ -11763,6 +11763,15 @@ size_t emitter::emitOutputInstr(insGroup* ig, instrDesc* id, BYTE** dp)
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************
*
* Display a comma
*/
void emitter::emitDispComma()
{
printf(", ");
}
/*****************************************************************************
*
* Display the instruction name
...
...
@@ -11796,6 +11805,12 @@ void emitter::emitDispImm(ssize_t imm, bool addComma, bool alwaysHex /* =false *
{
alwaysHex = true;
}
else if (imm == 0)
{
// Non-offset values of zero are never displayed as hex.
alwaysHex = false;
}
if (strictArmAsm)
{
printf("#");
...
...
@@ -11841,7 +11856,7 @@ void emitter::emitDispImm(ssize_t imm, bool addComma, bool alwaysHex /* =false *
}
if (addComma)
printf(", "
);
emitDispComma(
);
}
/*****************************************************************************
...
...
@@ -12010,7 +12025,7 @@ void emitter::emitDispReg(regNumber reg, emitAttr attr, bool addComma)
printf(emitRegName(reg, size));
if (addComma)
printf(", "
);
emitDispComma(
);
}
//------------------------------------------------------------------------
...
...
@@ -12023,7 +12038,7 @@ void emitter::emitDispVectorReg(regNumber reg, insOpts opt, bool addComma)
emitDispArrangement(opt);
if (addComma)
printf(", "
);
emitDispComma(
);
}
//------------------------------------------------------------------------
...
...
@@ -12037,7 +12052,7 @@ void emitter::emitDispVectorRegIndex(regNumber reg, emitAttr elemsize, ssize_t i
printf("[%d]", (int)index);
if (addComma)
printf(", "
);
emitDispComma(
);
}
//------------------------------------------------------------------------
...
...
@@ -12060,7 +12075,7 @@ void emitter::emitDispVectorRegList(regNumber firstReg, unsigned listSize, insOp
if (addComma)
{
printf(", "
);
emitDispComma(
);
}
}
...
...
@@ -12082,7 +12097,7 @@ void emitter::emitDispVectorElemList(
const bool notLastRegister = (i != listSize - 1);
if (notLastRegister)
{
printf(", "
);
emitDispComma(
);
}
currReg = (currReg == REG_V31) ? REG_V0 : REG_NEXT(currReg);
}
...
...
@@ -12091,7 +12106,7 @@ void emitter::emitDispVectorElemList(
if (addComma)
{
printf(", "
);
emitDispComma(
);
}
}
...
...
@@ -12181,7 +12196,7 @@ void emitter::emitDispShiftedReg(regNumber reg, insOpts opt, ssize_t imm, emitAt
{
if (strictArmAsm)
{
printf(","
);
emitDispComma(
);
}
emitDispShiftOpts(opt);
emitDispImm(imm, false);
...
...
@@ -12263,7 +12278,7 @@ void emitter::emitDispAddrRI(regNumber reg, insOpts opt, ssize_t imm)
if (!insOptsPostIndex(opt) && (imm != 0))
{
printf(","
);
emitDispComma(
);
emitDispImm(imm, false, true, true);
}
printf("]");
...
...
@@ -12274,7 +12289,7 @@ void emitter::emitDispAddrRI(regNumber reg, insOpts opt, ssize_t imm)
}
else if (insOptsPostIndex(opt))
{
printf(","
);
emitDispComma(
);
emitDispImm(imm, false, true, true);
}
}
...
...
@@ -12303,7 +12318,7 @@ void emitter::emitDispAddrRI(regNumber reg, insOpts opt, ssize_t imm)
if (insOptsIndexed(opt))
{
printf(", "
);
emitDispComma(
);
}
else
{
...
...
@@ -13004,7 +13019,7 @@ void emitter::emitDispInsHelp(
cfi.immCFVal = (unsigned)emitGetInsSC(id);
emitDispImm(cfi.imm5, true);
emitDispFlags(cfi.flags);
printf(", "
);
emitDispComma(
);
emitDispCond(cfi.cond);
break;
...
...
@@ -13074,7 +13089,7 @@ void emitter::emitDispInsHelp(
emitDispReg(id->idReg2(), size, true);
cfi.immCFVal = (unsigned)emitGetInsSC(id);
emitDispFlags(cfi.flags);
printf(", "
);
emitDispComma(
);
emitDispCond(cfi.cond);
break;
...
...
@@ -13241,8 +13256,8 @@ void emitter::emitDispInsHelp(
}
if (ins == INS_fcmeq || ins == INS_fcmge || ins == INS_fcmgt || ins == INS_fcmle || ins == INS_fcmlt)
{
printf(", "
);
emitDisp
Imm(0, false
);
emitDispComma(
);
emitDisp
FloatZero(
);
}
break;
...
...
@@ -13265,7 +13280,7 @@ void emitter::emitDispInsHelp(
}
if (ins == INS_cmeq || ins == INS_cmge || ins == INS_cmgt || ins == INS_cmle || ins == INS_cmlt)
{
printf(", "
);
emitDispComma(
);
emitDispImm(0, false);
}
break;
...
...
@@ -13392,7 +13407,7 @@ void emitter::emitDispInsHelp(
{
emitDispReg(id->idReg1(), size, true);
emitDispReg(id->idReg2(), size, true);
emitDisp
Imm(0, false
);
emitDisp
FloatZero(
);
}
else if (emitInsIsVectorNarrow(ins))
{
...
...
@@ -13407,7 +13422,7 @@ void emitter::emitDispInsHelp(
if (fmt == IF_DV_2L &&
(ins == INS_cmeq || ins == INS_cmge || ins == INS_cmgt || ins == INS_cmle || ins == INS_cmlt))
{
printf(", "
);
emitDispComma(
);
emitDispImm(0, false);
}
break;
...
...
src/coreclr/jit/emitarm64.h
浏览文件 @
c96f5047
...
...
@@ -25,6 +25,7 @@ void emitDispInsHelp(
instrDesc
*
id
,
bool
isNew
,
bool
doffs
,
bool
asmfm
,
unsigned
offset
,
BYTE
*
pCode
,
size_t
sz
,
insGroup
*
ig
);
void
emitDispLargeJmp
(
instrDesc
*
id
,
bool
isNew
,
bool
doffs
,
bool
asmfm
,
unsigned
offset
,
BYTE
*
pCode
,
size_t
sz
,
insGroup
*
ig
);
void
emitDispComma
();
void
emitDispInst
(
instruction
ins
);
void
emitDispImm
(
ssize_t
imm
,
bool
addComma
,
bool
alwaysHex
=
false
,
bool
isAddrOffset
=
false
);
void
emitDispFloatZero
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录