diff --git a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json index 41d983a98..d58f7c7e3 100644 --- a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json +++ b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json @@ -1336,7 +1336,7 @@ ] }, "fxrstor [rax]": { - "ExpectedInstructionCount": 46, + "ExpectedInstructionCount": 48, "Comment": "GROUP15 0x0F 0xAE /1", "ExpectedArm64ASM": [ "ldrh w20, [x4]", @@ -1347,11 +1347,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldrb w20, [x4, #4]", "ldp q2, q3, [x4, #32]", "ldp q4, q5, [x4, #64]", @@ -1619,14 +1621,14 @@ ] }, "xrstor [rax]": { - "ExpectedInstructionCount": 130, + "ExpectedInstructionCount": 133, "Comment": "GROUP15 0x0F 0xAE /5", "ExpectedArm64ASM": [ "sub sp, sp, #0x40 (64)", "ldr x20, [x4, #512]", "ubfx x20, x20, #0, #1", "cbnz x20, #+0x8", - "b #+0x74", + "b #+0x7c", "ldrh w20, [x4]", "strh w20, [x28, #1184]", "ldrh w20, [x4, #2]", @@ -1635,11 +1637,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldrb w20, [x4, #4]", "ldp q2, q3, [x4, #32]", "ldp q4, q5, [x4, #64]", @@ -1654,7 +1658,7 @@ "str q4, [x28, #1072]", "str q3, [x28, #1056]", "str q2, [x28, #1040]", - "b #+0x48", + "b #+0x4c", "mov w20, #0x37f", "strh w20, [x28, #1184]", "strb wzr, [x28, #1019]", @@ -1662,6 +1666,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "movi v2.2d, #0x0", "strb wzr, [x28, #1186]", "str q2, [x28, #1152]", diff --git a/unittests/InstructionCountCI/FlagM/x87.json b/unittests/InstructionCountCI/FlagM/x87.json index e693fd5e7..a21069ca7 100644 --- a/unittests/InstructionCountCI/FlagM/x87.json +++ b/unittests/InstructionCountCI/FlagM/x87.json @@ -2101,7 +2101,7 @@ ] }, "fldenv [rax]": { - "ExpectedInstructionCount": 25, + "ExpectedInstructionCount": 27, "Comment": [ "0xd9 !11b /4" ], @@ -2115,11 +2115,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "add x20, x4, #0x8 (8)", "ldr w20, [x20]", "and w20, w20, w20, lsr #1", @@ -4948,7 +4950,7 @@ ] }, "fninit": { - "ExpectedInstructionCount": 8, + "ExpectedInstructionCount": 9, "Comment": [ "0xdb 11b 0xe3 /4" ], @@ -4960,6 +4962,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, @@ -7026,7 +7029,7 @@ ] }, "frstor [rax]": { - "ExpectedInstructionCount": 74, + "ExpectedInstructionCount": 76, "Comment": [ "0xdd !11b /4" ], @@ -7039,11 +7042,13 @@ "ubfx w22, w20, #8, #1", "ubfx w23, w20, #9, #1", "ubfx w24, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w30, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w22, [x28, #1016]", "strb w23, [x28, #1017]", "strb w24, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w30, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w22, #0x55555555", @@ -7108,7 +7113,7 @@ ] }, "fnsave [rax]": { - "ExpectedInstructionCount": 78, + "ExpectedInstructionCount": 79, "Comment": [ "0xdd !11b /6" ], @@ -7190,6 +7195,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, diff --git a/unittests/InstructionCountCI/FlagM/x87_f64.json b/unittests/InstructionCountCI/FlagM/x87_f64.json index 5c3f2225b..b9751de2f 100644 --- a/unittests/InstructionCountCI/FlagM/x87_f64.json +++ b/unittests/InstructionCountCI/FlagM/x87_f64.json @@ -1551,7 +1551,7 @@ ] }, "fldenv [rax]": { - "ExpectedInstructionCount": 31, + "ExpectedInstructionCount": 33, "Comment": [ "0xd9 !11b /4" ], @@ -1572,11 +1572,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w21, #0x55555555", @@ -4277,7 +4279,7 @@ ] }, "fninit": { - "ExpectedInstructionCount": 16, + "ExpectedInstructionCount": 17, "Comment": [ "0xdb 11b 0xe3 /4" ], @@ -4297,6 +4299,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, @@ -5666,7 +5669,7 @@ ] }, "frstor [rax]": { - "ExpectedInstructionCount": 139, + "ExpectedInstructionCount": 141, "Comment": [ "0xdd !11b /4" ], @@ -5688,11 +5691,13 @@ "ubfx w22, w20, #8, #1", "ubfx w23, w20, #9, #1", "ubfx w24, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w30, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w22, [x28, #1016]", "strb w23, [x28, #1017]", "strb w24, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w30, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w22, #0x55555555", @@ -5813,7 +5818,7 @@ ] }, "fnsave [rax]": { - "ExpectedInstructionCount": 142, + "ExpectedInstructionCount": 143, "Comment": [ "0xdd !11b /6" ], @@ -5959,6 +5964,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, diff --git a/unittests/InstructionCountCI/SecondaryGroup.json b/unittests/InstructionCountCI/SecondaryGroup.json index beb1a7b8b..fcf0d8e13 100644 --- a/unittests/InstructionCountCI/SecondaryGroup.json +++ b/unittests/InstructionCountCI/SecondaryGroup.json @@ -1608,7 +1608,7 @@ ] }, "fxrstor [rax]": { - "ExpectedInstructionCount": 46, + "ExpectedInstructionCount": 48, "Comment": "GROUP15 0x0F 0xAE /1", "ExpectedArm64ASM": [ "ldrh w20, [x4]", @@ -1619,11 +1619,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldrb w20, [x4, #4]", "ldp q2, q3, [x4, #32]", "ldp q4, q5, [x4, #64]", @@ -1814,14 +1816,14 @@ ] }, "xrstor [rax]": { - "ExpectedInstructionCount": 130, + "ExpectedInstructionCount": 133, "Comment": "GROUP15 0x0F 0xAE /5", "ExpectedArm64ASM": [ "sub sp, sp, #0x40 (64)", "ldr x20, [x4, #512]", "ubfx x20, x20, #0, #1", "cbnz x20, #+0x8", - "b #+0x74", + "b #+0x7c", "ldrh w20, [x4]", "strh w20, [x28, #1184]", "ldrh w20, [x4, #2]", @@ -1830,11 +1832,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldrb w20, [x4, #4]", "ldp q2, q3, [x4, #32]", "ldp q4, q5, [x4, #64]", @@ -1849,7 +1853,7 @@ "str q4, [x28, #1072]", "str q3, [x28, #1056]", "str q2, [x28, #1040]", - "b #+0x48", + "b #+0x4c", "mov w20, #0x37f", "strh w20, [x28, #1184]", "strb wzr, [x28, #1019]", @@ -1857,6 +1861,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "movi v2.2d, #0x0", "strb wzr, [x28, #1186]", "str q2, [x28, #1152]", diff --git a/unittests/InstructionCountCI/x87.json b/unittests/InstructionCountCI/x87.json index e5b4671ce..480cd00e2 100644 --- a/unittests/InstructionCountCI/x87.json +++ b/unittests/InstructionCountCI/x87.json @@ -2100,7 +2100,7 @@ ] }, "fldenv [rax]": { - "ExpectedInstructionCount": 25, + "ExpectedInstructionCount": 27, "Comment": [ "0xd9 !11b /4" ], @@ -2114,11 +2114,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "add x20, x4, #0x8 (8)", "ldr w20, [x20]", "and w20, w20, w20, lsr #1", @@ -4947,7 +4949,7 @@ ] }, "fninit": { - "ExpectedInstructionCount": 8, + "ExpectedInstructionCount": 9, "Comment": [ "0xdb 11b 0xe3 /4" ], @@ -4959,6 +4961,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, @@ -7057,7 +7060,7 @@ ] }, "frstor [rax]": { - "ExpectedInstructionCount": 74, + "ExpectedInstructionCount": 76, "Comment": [ "0xdd !11b /4" ], @@ -7070,11 +7073,13 @@ "ubfx w22, w20, #8, #1", "ubfx w23, w20, #9, #1", "ubfx w24, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w30, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w22, [x28, #1016]", "strb w23, [x28, #1017]", "strb w24, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w30, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w22, #0x55555555", @@ -7139,7 +7144,7 @@ ] }, "fnsave [rax]": { - "ExpectedInstructionCount": 78, + "ExpectedInstructionCount": 79, "Comment": [ "0xdd !11b /6" ], @@ -7221,6 +7226,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, diff --git a/unittests/InstructionCountCI/x87_f64.json b/unittests/InstructionCountCI/x87_f64.json index a8da662dc..efee1caa5 100644 --- a/unittests/InstructionCountCI/x87_f64.json +++ b/unittests/InstructionCountCI/x87_f64.json @@ -1568,7 +1568,7 @@ ] }, "fldenv [rax]": { - "ExpectedInstructionCount": 31, + "ExpectedInstructionCount": 33, "Comment": [ "0xd9 !11b /4" ], @@ -1589,11 +1589,13 @@ "ubfx w21, w20, #8, #1", "ubfx w22, w20, #9, #1", "ubfx w23, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w24, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w21, [x28, #1016]", "strb w22, [x28, #1017]", "strb w23, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w24, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w21, #0x55555555", @@ -4298,7 +4300,7 @@ ] }, "fninit": { - "ExpectedInstructionCount": 16, + "ExpectedInstructionCount": 17, "Comment": [ "0xdb 11b 0xe3 /4" ], @@ -4318,6 +4320,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] }, @@ -5705,7 +5708,7 @@ ] }, "frstor [rax]": { - "ExpectedInstructionCount": 139, + "ExpectedInstructionCount": 141, "Comment": [ "0xdd !11b /4" ], @@ -5727,11 +5730,13 @@ "ubfx w22, w20, #8, #1", "ubfx w23, w20, #9, #1", "ubfx w24, w20, #10, #1", - "ubfx w20, w20, #14, #1", + "ubfx w30, w20, #14, #1", + "ubfx w20, w20, #0, #1", "strb w22, [x28, #1016]", "strb w23, [x28, #1017]", "strb w24, [x28, #1018]", - "strb w20, [x28, #1022]", + "strb w30, [x28, #1022]", + "strb w20, [x28, #1008]", "ldr w20, [x4, #8]", "and w20, w20, w20, lsr #1", "mov w22, #0x55555555", @@ -5852,7 +5857,7 @@ ] }, "fnsave [rax]": { - "ExpectedInstructionCount": 142, + "ExpectedInstructionCount": 143, "Comment": [ "0xdd !11b /6" ], @@ -5998,6 +6003,7 @@ "strb wzr, [x28, #1017]", "strb wzr, [x28, #1018]", "strb wzr, [x28, #1022]", + "strb wzr, [x28, #1008]", "strb wzr, [x28, #1186]" ] },