summaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-06-15 17:57:03 +0200
committerAlexander Graf <agraf@suse.de>2015-06-17 12:40:50 +0200
commit06e3c077daa08c0a616e9507eb737401883ab645 (patch)
treeaa01f1429c19acba3756868ae1e2a8708bbae0de /target-s390x
parenta499973ff32bc58f2db7b88ad5597ffdbc2becd7 (diff)
downloadqemu-06e3c077daa08c0a616e9507eb737401883ab645.zip
target-s390x: fix setcc in TCG mode
In TCG mode we should store the CC value in env->cc_op. However do it inconditionnaly because: - the tcg_enabled function is not inlined - it's probably faster to always store the value, especially given it is likely in the same cache line than env->psw.mask. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/cpu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index c20ef05136..66bd63900a 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -709,6 +709,7 @@ static inline void setcc(S390CPU *cpu, uint64_t cc)
env->psw.mask &= ~(3ull << 44);
env->psw.mask |= (cc & 3) << 44;
+ env->cc_op = cc;
}
typedef struct LowCore