aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-06-20 19:46:07 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-06-28 14:44:52 +0200
commite36b976da4f6f4c0d434e6bb811f60b7b445e8ea (patch)
treedfe0bbbfc8b7f780bfce26e52dea7cfb208642d2 /target
parenteb350d1d01d9b9df0ce174e2e1681699b071bab3 (diff)
downloadqemu-e36b976da4f6f4c0d434e6bb811f60b7b445e8ea.zip
qemu-e36b976da4f6f4c0d434e6bb811f60b7b445e8ea.tar.gz
qemu-e36b976da4f6f4c0d434e6bb811f60b7b445e8ea.tar.bz2
target/i386: fix CC_OP dump
POPCNT was missing, and the entries were all out of order after ADCX/ADOX/ADCOX were moved close to EFLAGS. Just use designated initializers. Fixes: 4885c3c4953 ("target-i386: Use ctpop helper", 2017-01-10) Fixes: cc155f19717 ("target/i386: rewrite flags writeback for ADCX/ADOX", 2024-06-11) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/i386/cpu-dump.c127
1 files changed, 64 insertions, 63 deletions
diff --git a/target/i386/cpu-dump.c b/target/i386/cpu-dump.c
index 4069706..3bb8e44 100644
--- a/target/i386/cpu-dump.c
+++ b/target/i386/cpu-dump.c
@@ -28,69 +28,70 @@
/* x86 debug */
static const char *cc_op_str[CC_OP_NB] = {
- "DYNAMIC",
- "EFLAGS",
-
- "MULB",
- "MULW",
- "MULL",
- "MULQ",
-
- "ADDB",
- "ADDW",
- "ADDL",
- "ADDQ",
-
- "ADCB",
- "ADCW",
- "ADCL",
- "ADCQ",
-
- "SUBB",
- "SUBW",
- "SUBL",
- "SUBQ",
-
- "SBBB",
- "SBBW",
- "SBBL",
- "SBBQ",
-
- "LOGICB",
- "LOGICW",
- "LOGICL",
- "LOGICQ",
-
- "INCB",
- "INCW",
- "INCL",
- "INCQ",
-
- "DECB",
- "DECW",
- "DECL",
- "DECQ",
-
- "SHLB",
- "SHLW",
- "SHLL",
- "SHLQ",
-
- "SARB",
- "SARW",
- "SARL",
- "SARQ",
-
- "BMILGB",
- "BMILGW",
- "BMILGL",
- "BMILGQ",
-
- "ADCX",
- "ADOX",
- "ADCOX",
-
- "CLR",
+ [CC_OP_DYNAMIC] = "DYNAMIC",
+
+ [CC_OP_EFLAGS] = "EFLAGS",
+ [CC_OP_ADCX] = "ADCX",
+ [CC_OP_ADOX] = "ADOX",
+ [CC_OP_ADCOX] = "ADCOX",
+
+ [CC_OP_MULB] = "MULB",
+ [CC_OP_MULW] = "MULW",
+ [CC_OP_MULL] = "MULL",
+ [CC_OP_MULQ] = "MULQ",
+
+ [CC_OP_ADDB] = "ADDB",
+ [CC_OP_ADDW] = "ADDW",
+ [CC_OP_ADDL] = "ADDL",
+ [CC_OP_ADDQ] = "ADDQ",
+
+ [CC_OP_ADCB] = "ADCB",
+ [CC_OP_ADCW] = "ADCW",
+ [CC_OP_ADCL] = "ADCL",
+ [CC_OP_ADCQ] = "ADCQ",
+
+ [CC_OP_SUBB] = "SUBB",
+ [CC_OP_SUBW] = "SUBW",
+ [CC_OP_SUBL] = "SUBL",
+ [CC_OP_SUBQ] = "SUBQ",
+
+ [CC_OP_SBBB] = "SBBB",
+ [CC_OP_SBBW] = "SBBW",
+ [CC_OP_SBBL] = "SBBL",
+ [CC_OP_SBBQ] = "SBBQ",
+
+ [CC_OP_LOGICB] = "LOGICB",
+ [CC_OP_LOGICW] = "LOGICW",
+ [CC_OP_LOGICL] = "LOGICL",
+ [CC_OP_LOGICQ] = "LOGICQ",
+
+ [CC_OP_INCB] = "INCB",
+ [CC_OP_INCW] = "INCW",
+ [CC_OP_INCL] = "INCL",
+ [CC_OP_INCQ] = "INCQ",
+
+ [CC_OP_DECB] = "DECB",
+ [CC_OP_DECW] = "DECW",
+ [CC_OP_DECL] = "DECL",
+ [CC_OP_DECQ] = "DECQ",
+
+ [CC_OP_SHLB] = "SHLB",
+ [CC_OP_SHLW] = "SHLW",
+ [CC_OP_SHLL] = "SHLL",
+ [CC_OP_SHLQ] = "SHLQ",
+
+ [CC_OP_SARB] = "SARB",
+ [CC_OP_SARW] = "SARW",
+ [CC_OP_SARL] = "SARL",
+ [CC_OP_SARQ] = "SARQ",
+
+ [CC_OP_BMILGB] = "BMILGB",
+ [CC_OP_BMILGW] = "BMILGW",
+ [CC_OP_BMILGL] = "BMILGL",
+ [CC_OP_BMILGQ] = "BMILGQ",
+
+ [CC_OP_POPCNT] = "POPCNT",
+ [CC_OP_CLR] = "CLR",
};
static void