我正在使用-O3和msse2选项运行linpack基准测试。我想计算汇编文件中生成的SIMD指令的总数。有没有办法自动化该过程或者我必须查找SSE2指令集中定义的每个指令? SSE2指令有很多指针(例如xmm寄存器,但它们的计数可能是实际SSE2指令的两倍)。示例汇编代码。
.L12:
movss -4(%rcx), %xmm1
addq $16, %rax
addq $16, %rcx
mulss %xmm0, %xmm1
addss -20(%rax), %xmm1
movss %xmm1, -20(%rax)
movss -16(%rcx), %xmm1
mulss %xmm0, %xmm1
addss -16(%rax), %xmm1
movss %xmm1, -16(%rax)
movss -12(%rcx), %xmm1
mulss %xmm0, %xmm1
addss -12(%rax), %xmm1
movss %xmm1, -12(%rax)
movss -8(%rcx), %xmm1
mulss %xmm0, %xmm1
addss -8(%rax), %xmm1
movss %xmm1, -8(%rax)
cmpq %rdx, %rax
jne .L12
rep ret
.cfi_endproc