target/i386: clean up cpu_cc_compute_all

cpu_cc_compute_all() has an argument that is always equal to CC_OP for historical
reasons (dating back to commit a7812ae4123, "TCG variable type checking.", 2008-11-17,
which added the argument to helper_cc_compute_all).  It does not make sense for the
argument to have any other value, so remove it and clean up some lines that are not
too long anymore.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2023-10-26 00:24:46 +02:00
parent 8cc746525c
commit 2455e9cf5a
6 changed files with 18 additions and 20 deletions

View File

@ -2344,13 +2344,13 @@ void cpu_x86_inject_mce(Monitor *mon, X86CPU *cpu, int bank,
uint64_t status, uint64_t mcg_status, uint64_t addr, uint64_t status, uint64_t mcg_status, uint64_t addr,
uint64_t misc, int flags); uint64_t misc, int flags);
uint32_t cpu_cc_compute_all(CPUX86State *env1, int op); uint32_t cpu_cc_compute_all(CPUX86State *env1);
static inline uint32_t cpu_compute_eflags(CPUX86State *env) static inline uint32_t cpu_compute_eflags(CPUX86State *env)
{ {
uint32_t eflags = env->eflags; uint32_t eflags = env->eflags;
if (tcg_enabled()) { if (tcg_enabled()) {
eflags |= cpu_cc_compute_all(env, CC_OP) | (env->df & DF_MASK); eflags |= cpu_cc_compute_all(env) | (env->df & DF_MASK);
} }
return eflags; return eflags;
} }

View File

@ -220,9 +220,9 @@ target_ulong helper_cc_compute_all(target_ulong dst, target_ulong src1,
} }
} }
uint32_t cpu_cc_compute_all(CPUX86State *env, int op) uint32_t cpu_cc_compute_all(CPUX86State *env)
{ {
return helper_cc_compute_all(CC_DST, CC_SRC, CC_SRC2, op); return helper_cc_compute_all(CC_DST, CC_SRC, CC_SRC2, CC_OP);
} }
target_ulong helper_cc_compute_c(target_ulong dst, target_ulong src1, target_ulong helper_cc_compute_c(target_ulong dst, target_ulong src1,
@ -335,7 +335,7 @@ target_ulong helper_read_eflags(CPUX86State *env)
{ {
uint32_t eflags; uint32_t eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
eflags |= (env->df & DF_MASK); eflags |= (env->df & DF_MASK);
eflags |= env->eflags & ~(VM_MASK | RF_MASK); eflags |= env->eflags & ~(VM_MASK | RF_MASK);
return eflags; return eflags;

View File

@ -484,9 +484,8 @@ void helper_fcomi_ST0_FT0(CPUX86State *env)
FloatRelation ret; FloatRelation ret;
ret = floatx80_compare(ST0, FT0, &env->fp_status); ret = floatx80_compare(ST0, FT0, &env->fp_status);
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env) & ~(CC_Z | CC_P | CC_C);
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1]; CC_SRC = eflags | fcomi_ccval[ret + 1];
CC_SRC = eflags;
merge_exception_flags(env, old_flags); merge_exception_flags(env, old_flags);
} }
@ -497,9 +496,8 @@ void helper_fucomi_ST0_FT0(CPUX86State *env)
FloatRelation ret; FloatRelation ret;
ret = floatx80_compare_quiet(ST0, FT0, &env->fp_status); ret = floatx80_compare_quiet(ST0, FT0, &env->fp_status);
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env) & ~(CC_Z | CC_P | CC_C);
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1]; CC_SRC = eflags | fcomi_ccval[ret + 1];
CC_SRC = eflags;
merge_exception_flags(env, old_flags); merge_exception_flags(env, old_flags);
} }

View File

@ -190,7 +190,7 @@ void helper_aaa(CPUX86State *env)
int al, ah, af; int al, ah, af;
int eflags; int eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
af = eflags & CC_A; af = eflags & CC_A;
al = env->regs[R_EAX] & 0xff; al = env->regs[R_EAX] & 0xff;
ah = (env->regs[R_EAX] >> 8) & 0xff; ah = (env->regs[R_EAX] >> 8) & 0xff;
@ -214,7 +214,7 @@ void helper_aas(CPUX86State *env)
int al, ah, af; int al, ah, af;
int eflags; int eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
af = eflags & CC_A; af = eflags & CC_A;
al = env->regs[R_EAX] & 0xff; al = env->regs[R_EAX] & 0xff;
ah = (env->regs[R_EAX] >> 8) & 0xff; ah = (env->regs[R_EAX] >> 8) & 0xff;
@ -237,7 +237,7 @@ void helper_daa(CPUX86State *env)
int old_al, al, af, cf; int old_al, al, af, cf;
int eflags; int eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
cf = eflags & CC_C; cf = eflags & CC_C;
af = eflags & CC_A; af = eflags & CC_A;
old_al = al = env->regs[R_EAX] & 0xff; old_al = al = env->regs[R_EAX] & 0xff;
@ -264,7 +264,7 @@ void helper_das(CPUX86State *env)
int al, al1, af, cf; int al, al1, af, cf;
int eflags; int eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
cf = eflags & CC_C; cf = eflags & CC_C;
af = eflags & CC_A; af = eflags & CC_A;
al = env->regs[R_EAX] & 0xff; al = env->regs[R_EAX] & 0xff;

View File

@ -41,7 +41,7 @@ void helper_into(CPUX86State *env, int next_eip_addend)
{ {
int eflags; int eflags;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
if (eflags & CC_O) { if (eflags & CC_O) {
raise_interrupt(env, EXCP04_INTO, next_eip_addend); raise_interrupt(env, EXCP04_INTO, next_eip_addend);
} }

View File

@ -2230,7 +2230,7 @@ target_ulong helper_lsl(CPUX86State *env, target_ulong selector1)
int rpl, dpl, cpl, type; int rpl, dpl, cpl, type;
selector = selector1 & 0xffff; selector = selector1 & 0xffff;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
if ((selector & 0xfffc) == 0) { if ((selector & 0xfffc) == 0) {
goto fail; goto fail;
} }
@ -2277,7 +2277,7 @@ target_ulong helper_lar(CPUX86State *env, target_ulong selector1)
int rpl, dpl, cpl, type; int rpl, dpl, cpl, type;
selector = selector1 & 0xffff; selector = selector1 & 0xffff;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
if ((selector & 0xfffc) == 0) { if ((selector & 0xfffc) == 0) {
goto fail; goto fail;
} }
@ -2326,7 +2326,7 @@ void helper_verr(CPUX86State *env, target_ulong selector1)
int rpl, dpl, cpl; int rpl, dpl, cpl;
selector = selector1 & 0xffff; selector = selector1 & 0xffff;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
if ((selector & 0xfffc) == 0) { if ((selector & 0xfffc) == 0) {
goto fail; goto fail;
} }
@ -2364,7 +2364,7 @@ void helper_verw(CPUX86State *env, target_ulong selector1)
int rpl, dpl, cpl; int rpl, dpl, cpl;
selector = selector1 & 0xffff; selector = selector1 & 0xffff;
eflags = cpu_cc_compute_all(env, CC_OP); eflags = cpu_cc_compute_all(env);
if ((selector & 0xfffc) == 0) { if ((selector & 0xfffc) == 0) {
goto fail; goto fail;
} }