InstructionCountCI: add bytemark stringsort blocks

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig 2024-08-19 13:16:10 -04:00
parent 689b461d7b
commit 9c8df79dfb

View File

@ -428,6 +428,198 @@
"mov x11, x26"
]
},
"glibc AVX memcpy block 1": {
"ExpectedInstructionCount": 43,
"x86Insts": [
"vmovdqu ymm5,yword [rsi+0x20]",
"vmovdqu ymm6,yword [rsi+0x40]",
"lea rcx,[rdi+rdx*1-0x81]",
"vmovdqu ymm7,yword [rsi+0x60]",
"vmovdqu ymm8,yword [rsi+rdx*1-0x20]",
"sub rsi,rdi",
"and rcx,0xffffffffffffffe0",
"add rsi,rcx",
"nop dword [rax+0x0]",
"vmovdqu ymm1,yword [rsi+0x60]",
"vmovdqu ymm2,yword [rsi+0x40]",
"vmovdqu ymm3,yword [rsi+0x20]",
"vmovdqu ymm4,yword [rsi]",
"add rsi,0xffffffffffffff80",
"vmovdqa yword [rcx+0x60],ymm1",
"vmovdqa yword [rcx+0x40],ymm2",
"vmovdqa yword [rcx+0x20],ymm3",
"vmovdqa yword [rcx],ymm4",
"add rcx,0xffffffffffffff80",
"cmp rdi,rcx"
],
"ExpectedArm64ASM": [
"ldr q21, [x10, #32]",
"ldr q2, [x10, #48]",
"ldr q22, [x10, #64]",
"ldr q3, [x10, #80]",
"sub x20, x11, #0x81 (129)",
"add x5, x20, x6",
"ldr q23, [x10, #96]",
"ldr q4, [x10, #112]",
"add x20, x10, x6",
"ldur q24, [x20, #-32]",
"add x20, x10, x6",
"ldur q5, [x20, #-16]",
"sub x10, x10, x11",
"and x5, x5, #0xffffffffffffffe0",
"add x10, x10, x5",
"ldr q17, [x10, #96]",
"ldr q6, [x10, #112]",
"ldr q18, [x10, #64]",
"ldr q7, [x10, #80]",
"ldr q19, [x10, #32]",
"ldr q8, [x10, #48]",
"ldr q20, [x10]",
"ldr q9, [x10, #16]",
"sub x10, x10, #0x80 (128)",
"str q17, [x5, #96]",
"str q6, [x5, #112]",
"str q18, [x5, #64]",
"str q7, [x5, #80]",
"str q19, [x5, #32]",
"str q8, [x5, #48]",
"str q20, [x5]",
"str q9, [x5, #16]",
"sub x5, x5, #0x80 (128)",
"eor w27, w11, w5",
"subs x26, x11, x5",
"str q5, [x28, #144]",
"str q4, [x28, #128]",
"str q3, [x28, #112]",
"str q2, [x28, #96]",
"str q9, [x28, #80]",
"str q8, [x28, #64]",
"str q7, [x28, #48]",
"str q6, [x28, #32]"
]
},
"glibc AVX memcpy block 2": {
"ExpectedInstructionCount": 51,
"x86Insts": [
"vmovdqu ymm5,yword [rsi+rdx*1-0x20]",
"vmovdqu ymm6,yword [rsi+rdx*1-0x40]",
"mov rcx,rdi",
"or rdi,0x1f",
"vmovdqu ymm7,yword [rsi+rdx*1-0x60]",
"vmovdqu ymm8,yword [rsi+rdx*1-0x80]",
"sub rsi,rcx",
"inc rdi",
"add rsi,rdi",
"lea rdx,[rcx+rdx*1-0x80]",
"nop dword [rax+rax*1+0x0]",
"vmovdqu ymm1,yword [rsi]",
"vmovdqu ymm2,yword [rsi+0x20]",
"vmovdqu ymm3,yword [rsi+0x40]",
"vmovdqu ymm4,yword [rsi+0x60]",
"sub rsi,0xffffffffffffff80",
"vmovdqa yword [rdi],ymm1",
"vmovdqa yword [rdi+0x20],ymm2",
"vmovdqa yword [rdi+0x40],ymm3",
"vmovdqa yword [rdi+0x60],ymm4",
"sub rdi,0xffffffffffffff80",
"cmp rdx,rdi"
],
"ExpectedArm64ASM": [
"add x20, x10, x6",
"ldur q21, [x20, #-32]",
"add x20, x10, x6",
"ldur q2, [x20, #-16]",
"add x20, x10, x6",
"ldur q22, [x20, #-64]",
"add x20, x10, x6",
"ldur q3, [x20, #-48]",
"mov x5, x11",
"orr x11, x11, #0x1f",
"add x20, x10, x6",
"ldur q23, [x20, #-96]",
"add x20, x10, x6",
"ldur q4, [x20, #-80]",
"add x20, x10, x6",
"ldur q24, [x20, #-128]",
"add x20, x10, x6",
"ldur q5, [x20, #-112]",
"sub x10, x10, x5",
"add x11, x11, #0x1 (1)",
"add x10, x10, x11",
"sub x20, x5, #0x80 (128)",
"add x6, x20, x6",
"ldr q17, [x10]",
"ldr q6, [x10, #16]",
"ldr q18, [x10, #32]",
"ldr q7, [x10, #48]",
"ldr q19, [x10, #64]",
"ldr q8, [x10, #80]",
"ldr q20, [x10, #96]",
"ldr q9, [x10, #112]",
"add x10, x10, #0x80 (128)",
"str q17, [x11]",
"str q6, [x11, #16]",
"str q18, [x11, #32]",
"str q7, [x11, #48]",
"str q19, [x11, #64]",
"str q8, [x11, #80]",
"str q20, [x11, #96]",
"str q9, [x11, #112]",
"add x11, x11, #0x80 (128)",
"eor w27, w6, w11",
"subs x26, x6, x11",
"str q5, [x28, #144]",
"str q4, [x28, #128]",
"str q3, [x28, #112]",
"str q2, [x28, #96]",
"str q9, [x28, #80]",
"str q8, [x28, #64]",
"str q7, [x28, #48]",
"str q6, [x28, #32]"
]
},
"bytemark strsift": {
"ExpectedInstructionCount": 20,
"x86Insts": [
"mov rsi,rdx",
"and rsi,0xfffffffffffffffc",
"movq xmm0,rcx",
"pshufd xmm0,xmm0,0x44",
"mov rdi,qword [rsp+0x20]",
"lea rdi,[rdi+r13*8]",
"xor r8d,r8d",
"movdqu xmm1,oword [rdi+r8*8-0x10]",
"movdqu xmm2,oword [rdi+r8*8]",
"paddq xmm1,xmm0",
"paddq xmm2,xmm0",
"movdqu oword [rdi+r8*8-0x10],xmm1",
"movdqu oword [rdi+r8*8],xmm2",
"add r8,0x4",
"cmp rsi,r8"
],
"ExpectedArm64ASM": [
"mov x10, x6",
"and x10, x10, #0xfffffffffffffffc",
"fmov d16, x5",
"dup v16.2d, v16.d[0]",
"ldr x11, [x8, #32]",
"add x11, x11, x17, lsl #3",
"mov w12, #0x0",
"add x20, x11, x12, lsl #3",
"ldur q17, [x20, #-16]",
"add x20, x11, x12, lsl #3",
"ldr q18, [x20]",
"add v17.2d, v17.2d, v16.2d",
"add v18.2d, v18.2d, v16.2d",
"add x20, x11, x12, lsl #3",
"stur q17, [x20, #-16]",
"add x20, x11, x12, lsl #3",
"str q18, [x20]",
"add x12, x12, #0x4 (4)",
"eor w27, w10, w12",
"subs x26, x10, x12"
]
},
"pcmpistri xmm0, xmm1, 0_0_00_11_01b": {
"ExpectedInstructionCount": 41,
"Comment": [