From 27c8bf30215c7331ed46ae2f7005ccc5041a9dae Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 18 Jun 2024 11:30:22 -0400 Subject: [PATCH] InstCountCI: explicitly disable AFP everywhere (except for when we explicitly enable AFP). Since AFP gets saved/restored, we get `msr fpcr` garbage in random instructions when AFP is enabled. Explicitly disable everywhere since it's not worth our time to triage which files might hit that path. Fixes instcountci on AFP-supporting hosts now that we have AFP enabled. Signed-off-by: Alyssa Rosenzweig --- unittests/InstructionCountCI/Atomics.json | 1 + unittests/InstructionCountCI/DDD.json | 1 + unittests/InstructionCountCI/FlagM/Atomics.json | 3 ++- unittests/InstructionCountCI/FlagM/FlagOpts.json | 3 ++- unittests/InstructionCountCI/FlagM/H0F38.json | 3 ++- unittests/InstructionCountCI/FlagM/HotBlocks_32Bit.json | 3 ++- unittests/InstructionCountCI/FlagM/Primary.json | 3 ++- unittests/InstructionCountCI/FlagM/PrimaryGroup.json | 3 ++- unittests/InstructionCountCI/FlagM/Primary_32Bit.json | 3 ++- unittests/InstructionCountCI/FlagM/SecondaryGroup.json | 3 ++- unittests/InstructionCountCI/FlagM/Secondary_OpSize.json | 1 + unittests/InstructionCountCI/FlagM/VEX_map_group.json | 4 +++- unittests/InstructionCountCI/H0F38.json | 1 + unittests/InstructionCountCI/Primary.json | 1 + unittests/InstructionCountCI/PrimaryGroup.json | 1 + unittests/InstructionCountCI/Primary_32Bit.json | 1 + unittests/InstructionCountCI/SSE42_Strings.json | 1 + unittests/InstructionCountCI/SecondaryGroup.json | 1 + unittests/InstructionCountCI/Secondary_32Bit.json | 3 ++- unittests/InstructionCountCI/Secondary_OpSize.json | 1 + unittests/InstructionCountCI/Secondary_OpSize_FCMA.json | 3 ++- unittests/InstructionCountCI/Secondary_OpSize_SVE128.json | 3 ++- unittests/InstructionCountCI/Secondary_OpSize_SVE256.json | 3 ++- unittests/InstructionCountCI/Secondary_REPNE_FCMA.json | 3 ++- unittests/InstructionCountCI/Secondary_SVE128.json | 3 ++- unittests/InstructionCountCI/VEX_map1_FCMA.json | 1 + unittests/InstructionCountCI/VEX_map_group.json | 1 + 27 files changed, 43 insertions(+), 15 deletions(-) diff --git a/unittests/InstructionCountCI/Atomics.json b/unittests/InstructionCountCI/Atomics.json index c3abb79d90..214eb55082 100644 --- a/unittests/InstructionCountCI/Atomics.json +++ b/unittests/InstructionCountCI/Atomics.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2" ] diff --git a/unittests/InstructionCountCI/DDD.json b/unittests/InstructionCountCI/DDD.json index d73d5630a6..c4f252daac 100644 --- a/unittests/InstructionCountCI/DDD.json +++ b/unittests/InstructionCountCI/DDD.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "RPRES" ] }, diff --git a/unittests/InstructionCountCI/FlagM/Atomics.json b/unittests/InstructionCountCI/FlagM/Atomics.json index 55f4557c7f..8a82e9b60f 100644 --- a/unittests/InstructionCountCI/FlagM/Atomics.json +++ b/unittests/InstructionCountCI/FlagM/Atomics.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/FlagOpts.json b/unittests/InstructionCountCI/FlagM/FlagOpts.json index 117de49ac0..653b3e9d4d 100644 --- a/unittests/InstructionCountCI/FlagM/FlagOpts.json +++ b/unittests/InstructionCountCI/FlagM/FlagOpts.json @@ -6,7 +6,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/H0F38.json b/unittests/InstructionCountCI/FlagM/H0F38.json index fe2d76bb42..b81f7e4225 100644 --- a/unittests/InstructionCountCI/FlagM/H0F38.json +++ b/unittests/InstructionCountCI/FlagM/H0F38.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/HotBlocks_32Bit.json b/unittests/InstructionCountCI/FlagM/HotBlocks_32Bit.json index 83866442e7..591fbae3df 100644 --- a/unittests/InstructionCountCI/FlagM/HotBlocks_32Bit.json +++ b/unittests/InstructionCountCI/FlagM/HotBlocks_32Bit.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/Primary.json b/unittests/InstructionCountCI/FlagM/Primary.json index 66eae54d5f..9c79b17a2e 100644 --- a/unittests/InstructionCountCI/FlagM/Primary.json +++ b/unittests/InstructionCountCI/FlagM/Primary.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/PrimaryGroup.json b/unittests/InstructionCountCI/FlagM/PrimaryGroup.json index 7d1131edab..44a94f9710 100644 --- a/unittests/InstructionCountCI/FlagM/PrimaryGroup.json +++ b/unittests/InstructionCountCI/FlagM/PrimaryGroup.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/Primary_32Bit.json b/unittests/InstructionCountCI/FlagM/Primary_32Bit.json index 0b80c363b8..6b6a2974a5 100644 --- a/unittests/InstructionCountCI/FlagM/Primary_32Bit.json +++ b/unittests/InstructionCountCI/FlagM/Primary_32Bit.json @@ -7,7 +7,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json index 91e2f4f7c5..d1051cf642 100644 --- a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json +++ b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json @@ -8,7 +8,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/FlagM/Secondary_OpSize.json b/unittests/InstructionCountCI/FlagM/Secondary_OpSize.json index 2317ea463e..72aa222899 100644 --- a/unittests/InstructionCountCI/FlagM/Secondary_OpSize.json +++ b/unittests/InstructionCountCI/FlagM/Secondary_OpSize.json @@ -8,6 +8,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FCMA" ] }, diff --git a/unittests/InstructionCountCI/FlagM/VEX_map_group.json b/unittests/InstructionCountCI/FlagM/VEX_map_group.json index 277bfad731..a26c2bad38 100644 --- a/unittests/InstructionCountCI/FlagM/VEX_map_group.json +++ b/unittests/InstructionCountCI/FlagM/VEX_map_group.json @@ -6,7 +6,9 @@ "FLAGM", "FLAGM2" ], - "DisabledHostFeatures": [] + "DisabledHostFeatures": [ + "AFP" + ] }, "Instructions": { "blsr eax, ebx": { diff --git a/unittests/InstructionCountCI/H0F38.json b/unittests/InstructionCountCI/H0F38.json index 23bd273168..38bbde2d61 100644 --- a/unittests/InstructionCountCI/H0F38.json +++ b/unittests/InstructionCountCI/H0F38.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2", "CRYPTO" diff --git a/unittests/InstructionCountCI/Primary.json b/unittests/InstructionCountCI/Primary.json index cdada83deb..482247cf94 100644 --- a/unittests/InstructionCountCI/Primary.json +++ b/unittests/InstructionCountCI/Primary.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2" ] diff --git a/unittests/InstructionCountCI/PrimaryGroup.json b/unittests/InstructionCountCI/PrimaryGroup.json index 7ab863de01..986497762b 100644 --- a/unittests/InstructionCountCI/PrimaryGroup.json +++ b/unittests/InstructionCountCI/PrimaryGroup.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2" ] diff --git a/unittests/InstructionCountCI/Primary_32Bit.json b/unittests/InstructionCountCI/Primary_32Bit.json index 0af0d22cd0..6d6a19b128 100644 --- a/unittests/InstructionCountCI/Primary_32Bit.json +++ b/unittests/InstructionCountCI/Primary_32Bit.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FlagM", "FlagM2" ] diff --git a/unittests/InstructionCountCI/SSE42_Strings.json b/unittests/InstructionCountCI/SSE42_Strings.json index 4987a5ac14..ae0a2d2b99 100644 --- a/unittests/InstructionCountCI/SSE42_Strings.json +++ b/unittests/InstructionCountCI/SSE42_Strings.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2", "CRYPTO" diff --git a/unittests/InstructionCountCI/SecondaryGroup.json b/unittests/InstructionCountCI/SecondaryGroup.json index 23ef022c79..395847d7db 100644 --- a/unittests/InstructionCountCI/SecondaryGroup.json +++ b/unittests/InstructionCountCI/SecondaryGroup.json @@ -7,6 +7,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FLAGM", "FLAGM2" ] diff --git a/unittests/InstructionCountCI/Secondary_32Bit.json b/unittests/InstructionCountCI/Secondary_32Bit.json index 740ca1cc5c..8452578cb4 100644 --- a/unittests/InstructionCountCI/Secondary_32Bit.json +++ b/unittests/InstructionCountCI/Secondary_32Bit.json @@ -4,7 +4,8 @@ "EnabledHostFeatures": [], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/Secondary_OpSize.json b/unittests/InstructionCountCI/Secondary_OpSize.json index c0d6596e82..65649b0d77 100644 --- a/unittests/InstructionCountCI/Secondary_OpSize.json +++ b/unittests/InstructionCountCI/Secondary_OpSize.json @@ -5,6 +5,7 @@ "DisabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FCMA", "FLAGM", "FLAGM2" diff --git a/unittests/InstructionCountCI/Secondary_OpSize_FCMA.json b/unittests/InstructionCountCI/Secondary_OpSize_FCMA.json index e4353bb3cf..10242b16ea 100644 --- a/unittests/InstructionCountCI/Secondary_OpSize_FCMA.json +++ b/unittests/InstructionCountCI/Secondary_OpSize_FCMA.json @@ -6,7 +6,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/Secondary_OpSize_SVE128.json b/unittests/InstructionCountCI/Secondary_OpSize_SVE128.json index 2ab3ee916b..26073daff8 100644 --- a/unittests/InstructionCountCI/Secondary_OpSize_SVE128.json +++ b/unittests/InstructionCountCI/Secondary_OpSize_SVE128.json @@ -5,7 +5,8 @@ "SVE128" ], "DisabledHostFeatures": [ - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/Secondary_OpSize_SVE256.json b/unittests/InstructionCountCI/Secondary_OpSize_SVE256.json index 768bcf23c5..8a08e5d2e1 100644 --- a/unittests/InstructionCountCI/Secondary_OpSize_SVE256.json +++ b/unittests/InstructionCountCI/Secondary_OpSize_SVE256.json @@ -3,7 +3,8 @@ "Bitness": 64, "EnabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ], "DisabledHostFeatures": [] }, diff --git a/unittests/InstructionCountCI/Secondary_REPNE_FCMA.json b/unittests/InstructionCountCI/Secondary_REPNE_FCMA.json index c3cb468848..09db2e0fd3 100644 --- a/unittests/InstructionCountCI/Secondary_REPNE_FCMA.json +++ b/unittests/InstructionCountCI/Secondary_REPNE_FCMA.json @@ -6,7 +6,8 @@ ], "DisabledHostFeatures": [ "SVE128", - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/Secondary_SVE128.json b/unittests/InstructionCountCI/Secondary_SVE128.json index e7dc32671c..e529572614 100644 --- a/unittests/InstructionCountCI/Secondary_SVE128.json +++ b/unittests/InstructionCountCI/Secondary_SVE128.json @@ -5,7 +5,8 @@ "SVE128" ], "DisabledHostFeatures": [ - "SVE256" + "SVE256", + "AFP" ] }, "Instructions": { diff --git a/unittests/InstructionCountCI/VEX_map1_FCMA.json b/unittests/InstructionCountCI/VEX_map1_FCMA.json index b4aca96368..9faceb39f1 100644 --- a/unittests/InstructionCountCI/VEX_map1_FCMA.json +++ b/unittests/InstructionCountCI/VEX_map1_FCMA.json @@ -4,6 +4,7 @@ "EnabledHostFeatures": [ "SVE128", "SVE256", + "AFP", "FCMA" ], "DisabledHostFeatures": [] diff --git a/unittests/InstructionCountCI/VEX_map_group.json b/unittests/InstructionCountCI/VEX_map_group.json index 21859ec7f2..46835254ff 100644 --- a/unittests/InstructionCountCI/VEX_map_group.json +++ b/unittests/InstructionCountCI/VEX_map_group.json @@ -5,6 +5,7 @@ "SVE256" ], "DisabledHostFeatures": [ + "AFP", "FLAGM", "FLAGM2" ]