diff --git a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json index c6670619c..4f9434c43 100644 --- a/unittests/InstructionCountCI/FlagM/SecondaryGroup.json +++ b/unittests/InstructionCountCI/FlagM/SecondaryGroup.json @@ -1530,6 +1530,81 @@ "str x20, [x4, #512]" ] }, + "xsaveopt [rax]": { + "ExpectedInstructionCount": 69, + "Comment": "GROUP15 0x0F 0xAE /6", + "ExpectedArm64ASM": [ + "ubfx x20, x4, #0, #1", + "cbnz x20, #+0x8", + "b #+0x70", + "ldrh w20, [x28, #1296]", + "strh w20, [x4]", + "ldrb w20, [x28, #1019]", + "lsl x20, x20, #11", + "ldrb w21, [x28, #1016]", + "orr x20, x20, x21, lsl #8", + "ldrb w21, [x28, #1017]", + "orr x20, x20, x21, lsl #9", + "ldrb w21, [x28, #1018]", + "orr x20, x20, x21, lsl #10", + "ldrb w21, [x28, #1022]", + "orr x20, x20, x21, lsl #14", + "strh w20, [x4, #2]", + "ldrb w20, [x28, #1298]", + "strb w20, [x4, #4]", + "ldr q2, [x28, #1040]", + "ldr q3, [x28, #1056]", + "stp q2, q3, [x4, #32]", + "ldr q2, [x28, #1072]", + "ldr q3, [x28, #1088]", + "stp q2, q3, [x4, #64]", + "ldr q2, [x28, #1104]", + "ldr q3, [x28, #1120]", + "stp q2, q3, [x4, #96]", + "ldr q2, [x28, #1136]", + "ldr q3, [x28, #1152]", + "stp q2, q3, [x4, #128]", + "ubfx x20, x4, #1, #1", + "cbnz x20, #+0x8", + "b #+0x24", + "stp q16, q17, [x4, #160]", + "stp q18, q19, [x4, #192]", + "stp q20, q21, [x4, #224]", + "stp q22, q23, [x4, #256]", + "stp q24, q25, [x4, #288]", + "stp q26, q27, [x4, #320]", + "stp q28, q29, [x4, #352]", + "stp q30, q31, [x4, #384]", + "ubfx x20, x4, #2, #1", + "cbnz x20, #+0x8", + "b #+0x44", + "ldp q2, q3, [x28, #32]", + "stp q2, q3, [x4, #576]", + "ldp q2, q3, [x28, #64]", + "stp q2, q3, [x4, #608]", + "ldp q2, q3, [x28, #96]", + "stp q2, q3, [x4, #640]", + "ldp q2, q3, [x28, #128]", + "stp q2, q3, [x4, #672]", + "ldp q2, q3, [x28, #160]", + "stp q2, q3, [x4, #704]", + "ldp q2, q3, [x28, #192]", + "stp q2, q3, [x4, #736]", + "ldp q2, q3, [x28, #224]", + "stp q2, q3, [x4, #768]", + "ldp q2, q3, [x28, #256]", + "stp q2, q3, [x4, #800]", + "ubfx x20, x4, #1, #2", + "cbnz x20, #+0x8", + "b #+0x14", + "ldr w20, [x28, #940]", + "and w20, w20, #0xffc0", + "mov w21, #0xffff", + "stp w20, w21, [x4, #24]", + "ubfx x20, x4, #0, #3", + "str x20, [x4, #512]" + ] + }, "lfence": { "ExpectedInstructionCount": 1, "Comment": "GROUP15 0x0F 0xAE /5",