• Arnaldo Carvalho de Melo's avatar
    perf annotate: Calculate the max instruction name, align column to that · bc3bb795
    Arnaldo Carvalho de Melo authored
    We were hardcoding '6' as the max instruction name, and we have lots
    that are longer than that, see the diff from two 'P' printed TUI
    annotations for a libc function that uses instructions with long names,
    such as 'vpmovmskb' with its 9 chars:
    
      --- __strcmp_avx2.annotation.before	2019-03-06 16:31:39.368020425 -0300
      +++ __strcmp_avx2.annotation	2019-03-06 16:32:12.079450508 -0300
      @@ -2,284 +2,284 @@
       Event: cycles:ppp
    
       Percent        endbr64
      -  0.10         mov    %edi,%eax
      +  0.10         mov        %edi,%eax
      -               xor    %edx,%edx
      +               xor        %edx,%edx
      -  3.54         vpxor  %ymm7,%ymm7,%ymm7
      +  3.54         vpxor      %ymm7,%ymm7,%ymm7
      -               or     %esi,%eax
      +               or         %esi,%eax
      -               and    $0xfff,%eax
      +               and        $0xfff,%eax
      -               cmp    $0xf80,%eax
      +               cmp        $0xf80,%eax
      -             ↓ jg     370
      +             ↓ jg         370
      - 27.07         vmovdqu (%rdi),%ymm1
      + 27.07         vmovdqu    (%rdi),%ymm1
      -  7.97         vpcmpeqb (%rsi),%ymm1,%ymm0
      +  7.97         vpcmpeqb   (%rsi),%ymm1,%ymm0
      -  2.15         vpminub %ymm1,%ymm0,%ymm0
      +  2.15         vpminub    %ymm1,%ymm0,%ymm0
      -  4.09         vpcmpeqb %ymm7,%ymm0,%ymm0
      +  4.09         vpcmpeqb   %ymm7,%ymm0,%ymm0
      -  0.43         vpmovmskb %ymm0,%ecx
      +  0.43         vpmovmskb  %ymm0,%ecx
      -  1.53         test   %ecx,%ecx
      +  1.53         test       %ecx,%ecx
      -             ↓ je     b0
      +             ↓ je         b0
      -  5.26         tzcnt  %ecx,%edx
      +  5.26         tzcnt      %ecx,%edx
      - 18.40         movzbl (%rdi,%rdx,1),%eax
      + 18.40         movzbl     (%rdi,%rdx,1),%eax
      -  7.09         movzbl (%rsi,%rdx,1),%edx
      +  7.09         movzbl     (%rsi,%rdx,1),%edx
      -  3.34         sub    %edx,%eax
      +  3.34         sub        %edx,%eax
         2.37         vzeroupper
                    ← retq
                      nop
      -         50:   tzcnt  %ecx,%edx
      +         50:   tzcnt      %ecx,%edx
      -               movzbl 0x20(%rdi,%rdx,1),%eax
      +               movzbl     0x20(%rdi,%rdx,1),%eax
      -               movzbl 0x20(%rsi,%rdx,1),%edx
      +               movzbl     0x20(%rsi,%rdx,1),%edx
      -               sub    %edx,%eax
      +               sub        %edx,%eax
                      vzeroupper
                    ← retq
      -               data16 nopw %cs:0x0(%rax,%rax,1)
      +               data16     nopw %cs:0x0(%rax,%rax,1)
    Reported-by: default avatarTravis Downs <travis.downs@gmail.com>
    LPU-Reference: CAOBGo4z1KfmWeOm6Et0cnX5Z6DWsG2PQbAvRn1MhVPJmXHrc5g@mail.gmail.com
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-89wsdd9h9g6bvq52sgp6d0u4@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    bc3bb795
instructions.c 2.52 KB