Update InstCountCI

This commit is contained in:
Billy Laws 2024-03-20 21:08:59 +00:00
parent d490cb1b79
commit 12fb26f9c0
2 changed files with 152 additions and 152 deletions

View File

@ -216,7 +216,7 @@
]
},
"positive rep movsb": {
"ExpectedInstructionCount": 42,
"ExpectedInstructionCount": 44,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -232,10 +232,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x20 (32)",
@ -271,7 +273,7 @@
]
},
"positive rep movsw": {
"ExpectedInstructionCount": 42,
"ExpectedInstructionCount": 44,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -287,10 +289,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x10 (16)",
@ -326,7 +330,7 @@
]
},
"positive rep movsd": {
"ExpectedInstructionCount": 42,
"ExpectedInstructionCount": 44,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -342,10 +346,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x8 (8)",
@ -381,7 +387,7 @@
]
},
"positive rep movsq": {
"ExpectedInstructionCount": 42,
"ExpectedInstructionCount": 44,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -397,10 +403,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x4 (4)",
@ -436,7 +444,7 @@
]
},
"negative rep movsb": {
"ExpectedInstructionCount": 45,
"ExpectedInstructionCount": 47,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -451,10 +459,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1f (31)",
"sub x2, x2, #0x1f (31)",
"sub x0, x0, #0x20 (32)",
@ -494,7 +504,7 @@
]
},
"negative rep movsw": {
"ExpectedInstructionCount": 45,
"ExpectedInstructionCount": 47,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -509,10 +519,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1e (30)",
"sub x2, x2, #0x1e (30)",
"sub x0, x0, #0x10 (16)",
@ -552,7 +564,7 @@
]
},
"negative rep movsd": {
"ExpectedInstructionCount": 45,
"ExpectedInstructionCount": 47,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -567,10 +579,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1c (28)",
"sub x2, x2, #0x1c (28)",
"sub x0, x0, #0x8 (8)",
@ -610,7 +624,7 @@
]
},
"negative rep movsq": {
"ExpectedInstructionCount": 45,
"ExpectedInstructionCount": 47,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -625,10 +639,12 @@
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x18 (24)",
"sub x2, x2, #0x18 (24)",
"sub x0, x0, #0x4 (4)",
@ -668,7 +684,7 @@
]
},
"positive rep stosb": {
"ExpectedInstructionCount": 32,
"ExpectedInstructionCount": 30,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -684,9 +700,7 @@
"uxtb w21, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"cbz x0, #+0x58",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x3c",
"dup v1.16b, w21",
@ -713,7 +727,7 @@
]
},
"positive rep stosw": {
"ExpectedInstructionCount": 32,
"ExpectedInstructionCount": 30,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -729,9 +743,7 @@
"uxth w21, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"cbz x0, #+0x58",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x3c",
"dup v1.8h, w21",
@ -758,7 +770,7 @@
]
},
"positive rep stosd": {
"ExpectedInstructionCount": 32,
"ExpectedInstructionCount": 30,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -774,9 +786,7 @@
"mov w21, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"cbz x0, #+0x58",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x3c",
"dup v1.4s, w21",
@ -803,7 +813,7 @@
]
},
"positive rep stosq": {
"ExpectedInstructionCount": 31,
"ExpectedInstructionCount": 29,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -818,9 +828,7 @@
"strb w21, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"cbz x0, #+0x58",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x3c",
"dup v1.2d, x4",
@ -847,7 +855,7 @@
]
},
"negative rep stosb": {
"ExpectedInstructionCount": 33,
"ExpectedInstructionCount": 31,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -862,9 +870,7 @@
"uxtb w20, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x60",
"sub x1, x1, #0x1f (31)",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x3c",
@ -893,7 +899,7 @@
]
},
"negative rep stosw": {
"ExpectedInstructionCount": 33,
"ExpectedInstructionCount": 31,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -908,9 +914,7 @@
"uxth w20, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x60",
"sub x1, x1, #0x1e (30)",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x3c",
@ -939,7 +943,7 @@
]
},
"negative rep stosd": {
"ExpectedInstructionCount": 33,
"ExpectedInstructionCount": 31,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -954,9 +958,7 @@
"mov w20, w4",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x60",
"sub x1, x1, #0x1c (28)",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x3c",
@ -985,7 +987,7 @@
]
},
"negative rep stosq": {
"ExpectedInstructionCount": 32,
"ExpectedInstructionCount": 30,
"Comment": [
"When direction flag is a compile time constant we can optimize",
"loads and stores can turn in to post-increment when known"
@ -999,9 +1001,7 @@
"strb w20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"cbz x0, #+0x60",
"sub x1, x1, #0x18 (24)",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x3c",

View File

@ -2860,18 +2860,20 @@
]
},
"rep movsb": {
"ExpectedInstructionCount": 79,
"ExpectedInstructionCount": 83,
"Comment": "0xa4",
"ExpectedArm64ASM": [
"ldrsb x20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"tbnz w20, #1, #+0x8c",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"tbnz w20, #1, #+0x94",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x20 (32)",
@ -2901,11 +2903,13 @@
"mov x2, x5",
"add x20, x0, x2",
"add x21, x1, x2",
"b #+0x98",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"b #+0xa0",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1f (31)",
"sub x2, x2, #0x1f (31)",
"sub x0, x0, #0x20 (32)",
@ -2945,18 +2949,20 @@
]
},
"rep movsw": {
"ExpectedInstructionCount": 79,
"ExpectedInstructionCount": 83,
"Comment": "0xa5",
"ExpectedArm64ASM": [
"ldrsb x20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"tbnz w20, #1, #+0x8c",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"tbnz w20, #1, #+0x94",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x10 (16)",
@ -2986,11 +2992,13 @@
"mov x2, x5",
"add x20, x0, x2, lsl #1",
"add x21, x1, x2, lsl #1",
"b #+0x98",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"b #+0xa0",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1e (30)",
"sub x2, x2, #0x1e (30)",
"sub x0, x0, #0x10 (16)",
@ -3030,18 +3038,20 @@
]
},
"rep movsd": {
"ExpectedInstructionCount": 79,
"ExpectedInstructionCount": 83,
"Comment": "0xa5",
"ExpectedArm64ASM": [
"ldrsb x20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"tbnz w20, #1, #+0x8c",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"tbnz w20, #1, #+0x94",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x8 (8)",
@ -3071,11 +3081,13 @@
"mov x2, x5",
"add x20, x0, x2, lsl #2",
"add x21, x1, x2, lsl #2",
"b #+0x98",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"b #+0xa0",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x1c (28)",
"sub x2, x2, #0x1c (28)",
"sub x0, x0, #0x8 (8)",
@ -3115,18 +3127,20 @@
]
},
"rep movsq": {
"ExpectedInstructionCount": 79,
"ExpectedInstructionCount": 83,
"Comment": "0xa5",
"ExpectedArm64ASM": [
"ldrsb x20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"mov x2, x10",
"tbnz w20, #1, #+0x8c",
"cbz x0, #+0x70",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x54",
"tbnz w20, #1, #+0x94",
"cbz x0, #+0x78",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x54",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x44",
"sub x0, x0, #0x4 (4)",
@ -3156,11 +3170,13 @@
"mov x2, x5",
"add x20, x0, x2, lsl #3",
"add x21, x1, x2, lsl #3",
"b #+0x98",
"cbz x0, #+0x80",
"orr x3, x1, x2",
"and x3, x3, #0x3",
"cbnz x3, #+0x64",
"b #+0xa0",
"cbz x0, #+0x88",
"sub x3, x1, x2",
"tbz x3, #63, #+0x8",
"neg x3, x3",
"sub x3, x3, #0x20 (32)",
"tbnz x3, #63, #+0x64",
"sub x1, x1, #0x18 (24)",
"sub x2, x2, #0x18 (24)",
"sub x0, x0, #0x4 (4)",
@ -3541,17 +3557,15 @@
]
},
"rep stosb": {
"ExpectedInstructionCount": 59,
"ExpectedInstructionCount": 55,
"Comment": "0xaa",
"ExpectedArm64ASM": [
"uxtb w20, w4",
"ldrsb x21, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"tbnz w21, #1, #+0x6c",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"tbnz w21, #1, #+0x64",
"cbz x0, #+0x58",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x3c",
"dup v1.16b, w20",
@ -3574,10 +3588,8 @@
"sub x0, x0, #0x1 (1)",
"cbnz x0, #-0x8",
"add x11, x11, x5",
"b #+0x70",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"b #+0x68",
"cbz x0, #+0x60",
"sub x1, x1, #0x1f (31)",
"sub x0, x0, #0x20 (32)",
"tbnz x0, #63, #+0x3c",
@ -3606,17 +3618,15 @@
]
},
"rep stosw": {
"ExpectedInstructionCount": 59,
"ExpectedInstructionCount": 55,
"Comment": "0xab",
"ExpectedArm64ASM": [
"uxth w20, w4",
"ldrsb x21, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"tbnz w21, #1, #+0x6c",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"tbnz w21, #1, #+0x64",
"cbz x0, #+0x58",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x3c",
"dup v1.8h, w20",
@ -3639,10 +3649,8 @@
"sub x0, x0, #0x1 (1)",
"cbnz x0, #-0x8",
"add x11, x11, x5, lsl #1",
"b #+0x70",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"b #+0x68",
"cbz x0, #+0x60",
"sub x1, x1, #0x1e (30)",
"sub x0, x0, #0x10 (16)",
"tbnz x0, #63, #+0x3c",
@ -3671,17 +3679,15 @@
]
},
"rep stosd": {
"ExpectedInstructionCount": 59,
"ExpectedInstructionCount": 55,
"Comment": "0xab",
"ExpectedArm64ASM": [
"mov w20, w4",
"ldrsb x21, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"tbnz w21, #1, #+0x6c",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"tbnz w21, #1, #+0x64",
"cbz x0, #+0x58",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x3c",
"dup v1.4s, w20",
@ -3704,10 +3710,8 @@
"sub x0, x0, #0x1 (1)",
"cbnz x0, #-0x8",
"add x11, x11, x5, lsl #2",
"b #+0x70",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"b #+0x68",
"cbz x0, #+0x60",
"sub x1, x1, #0x1c (28)",
"sub x0, x0, #0x8 (8)",
"tbnz x0, #63, #+0x3c",
@ -3736,7 +3740,7 @@
]
},
"rep stosq": {
"ExpectedInstructionCount": 58,
"ExpectedInstructionCount": 54,
"Comment": [
"Unrolling the loop for faster memset can be done.",
"Taking advantage of ARM MOPs instructions can be done",
@ -3746,10 +3750,8 @@
"ldrsb x20, [x28, #714]",
"mov x0, x5",
"mov x1, x11",
"tbnz w20, #1, #+0x6c",
"cbz x0, #+0x60",
"and x3, x1, #0x3",
"cbnz x3, #+0x4c",
"tbnz w20, #1, #+0x64",
"cbz x0, #+0x58",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x3c",
"dup v1.2d, x4",
@ -3772,10 +3774,8 @@
"sub x0, x0, #0x1 (1)",
"cbnz x0, #-0x8",
"add x11, x11, x5, lsl #3",
"b #+0x70",
"cbz x0, #+0x68",
"and x3, x1, #0x3",
"cbnz x3, #+0x54",
"b #+0x68",
"cbz x0, #+0x60",
"sub x1, x1, #0x18 (24)",
"sub x0, x0, #0x4 (4)",
"tbnz x0, #63, #+0x3c",