Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
d987963a
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d987963a
编写于
6月 22, 2008
作者:
B
blueswir1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Eliminate cpu_T[0]
git-svn-id:
svn://svn.savannah.nongnu.org/qemu/trunk@4776
c046a42c-6fe2-441c-8c8c-71466251a162
上级
3f0436fe
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
9 deletion
+9
-9
target-sparc/translate.c
target-sparc/translate.c
+9
-9
未找到文件。
target-sparc/translate.c
浏览文件 @
d987963a
...
...
@@ -38,7 +38,7 @@
according to jump_pc[T2] */
/* global register indexes */
static
TCGv
cpu_env
,
cpu_
T
[
2
],
cpu_
regwptr
;
static
TCGv
cpu_env
,
cpu_regwptr
;
static
TCGv
cpu_cc_src
,
cpu_cc_src2
,
cpu_cc_dst
;
static
TCGv
cpu_psr
,
cpu_fsr
,
cpu_pc
,
cpu_npc
,
cpu_gregs
[
8
];
static
TCGv
cpu_cond
,
cpu_src1
,
cpu_src2
,
cpu_dst
,
cpu_addr
,
cpu_val
;
...
...
@@ -1912,13 +1912,9 @@ static void disas_sparc_insn(DisasContext * dc)
rd
=
GET_FIELD
(
insn
,
2
,
6
);
cpu_dst
=
cpu_T
[
0
];
cpu_src1
=
tcg_temp_new
(
TCG_TYPE_TL
);
// const
cpu_src2
=
tcg_temp_new
(
TCG_TYPE_TL
);
// const
// loads and stores
cpu_addr
=
cpu_T
[
0
];
switch
(
opc
)
{
case
0
:
/* branches/sethi */
{
...
...
@@ -4220,7 +4216,7 @@ static void disas_sparc_insn(DisasContext * dc)
save_state
(
dc
,
cpu_cond
);
r_const
=
tcg_const_i32
(
7
);
tcg_gen_helper_0_2
(
helper_check_align
,
cpu_
dst
,
tcg_gen_helper_0_2
(
helper_check_align
,
cpu_
addr
,
r_const
);
// XXX remove
tcg_temp_free
(
r_const
);
ABI32_MASK
(
cpu_addr
);
...
...
@@ -4744,7 +4740,12 @@ static inline int gen_intermediate_code_internal(TranslationBlock * tb,
cpu_tmp0
=
tcg_temp_new
(
TCG_TYPE_TL
);
cpu_tmp32
=
tcg_temp_new
(
TCG_TYPE_I32
);
cpu_tmp64
=
tcg_temp_new
(
TCG_TYPE_I64
);
cpu_dst
=
tcg_temp_local_new
(
TCG_TYPE_TL
);
// loads and stores
cpu_val
=
tcg_temp_local_new
(
TCG_TYPE_TL
);
cpu_addr
=
tcg_temp_local_new
(
TCG_TYPE_TL
);
do
{
if
(
env
->
nb_breakpoints
>
0
)
{
...
...
@@ -4795,7 +4796,9 @@ static inline int gen_intermediate_code_internal(TranslationBlock * tb,
(
dc
->
pc
-
pc_start
)
<
(
TARGET_PAGE_SIZE
-
32
));
exit_gen_loop:
tcg_temp_free
(
cpu_addr
);
tcg_temp_free
(
cpu_val
);
tcg_temp_free
(
cpu_dst
);
tcg_temp_free
(
cpu_tmp64
);
tcg_temp_free
(
cpu_tmp32
);
tcg_temp_free
(
cpu_tmp0
);
...
...
@@ -4876,9 +4879,6 @@ void gen_intermediate_code_init(CPUSPARCState *env)
TCG_AREG0
,
offsetof
(
CPUState
,
xcc
),
"xcc"
);
#endif
/* XXX: T0 should be a temporary */
cpu_T
[
0
]
=
tcg_global_mem_new
(
TCG_TYPE_TL
,
TCG_AREG0
,
offsetof
(
CPUState
,
t0
),
"T0"
);
cpu_cond
=
tcg_global_mem_new
(
TCG_TYPE_TL
,
TCG_AREG0
,
offsetof
(
CPUState
,
cond
),
"cond"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录