[LLDB] How to Show zmm register? Help

My computer(Intel Xein Gold) support AVX512-family intrinsic

I wonder why lldb cannot show zmm register debug-info? I’m sure that I had enabled --copt=-mavx512f

(lldb) register read --all
General Purpose Registers:
       rax = 0x00000000000000a4
       rbx = 0x00007ffff5c20c98
       rcx = 0x00000000000000a3
       rdx = 0x00007ffff5e008c0
       rdi = 0x00007ffff7e23898
       rsi = 0x00007ffff7e237a8
       rbp = 0x00007fffffffdba0
       rsp = 0x00007fffffffdaa0
        r8 = 0x0000000000000000
        r9 = 0x00007fffffffd9c6
       r10 = 0xcccccccccccccccd
       r11 = 0x0000000000000246
       r12 = 0x00007ffff5c51200
       r13 = 0x00007ffff5c511c0
       r14 = 0x00007ffff5c6be38
       r15 = 0x0000000000000004
       rip = 0x0000555555563aac  int8`hbst::INT16QuantTest_batch_cvt_fp32_int16_Test::TestBody() + 11276 [inlined] hbst::int8_gemm_int32(signed char const*, signed char const*, unsigned long) + 424 at int8.h:57:14
  int8`hbst::INT16QuantTest_batch_cvt_fp32_int16_Test::TestBody() + 10852 at int8_test.cc:79:22
    rflags = 0x0000000000000202
        cs = 0x0000000000000033
        fs = 0x0000000000000000
        gs = 0x0000000000000000
        ss = 0x000000000000002b
        ds = 0x0000000000000000
        es = 0x0000000000000000
       eax = 0x000000a4
       ebx = 0xf5c20c98
       ecx = 0x000000a3
       edx = 0xf5e008c0
       edi = 0xf7e23898
       esi = 0xf7e237a8
       ebp = 0xffffdba0
       esp = 0xffffdaa0
       r8d = 0x00000000
       r9d = 0xffffd9c6
      r10d = 0xcccccccd
      r11d = 0x00000246
      r12d = 0xf5c51200
      r13d = 0xf5c511c0
      r14d = 0xf5c6be38
      r15d = 0x00000004
        ax = 0x00a4
        bx = 0x0c98
        cx = 0x00a3
        dx = 0x08c0
        di = 0x3898
        si = 0x37a8
        bp = 0xdba0
        sp = 0xdaa0
       r8w = 0x0000
       r9w = 0xd9c6
      r10w = 0xcccd
      r11w = 0x0246
      r12w = 0x1200
      r13w = 0x11c0
      r14w = 0xbe38
      r15w = 0x0004
        ah = 0x00
        bh = 0x0c
        ch = 0x00
        dh = 0x08
        al = 0xa4
        bl = 0x98
        cl = 0xa3
        dl = 0xc0
       dil = 0x98
       sil = 0xa8
       bpl = 0xa0
       spl = 0xa0
       r8l = 0x00
       r9l = 0xc6
      r10l = 0xcd
      r11l = 0x46
      r12l = 0x00
      r13l = 0xc0
      r14l = 0x38
      r15l = 0x04

Floating Point Registers:
     fctrl = 0x037f
     fstat = 0x0000
      ftag = 0xffff
       fop = 0x0000
     fiseg = 0x00007fff
     fioff = 0xf6ade6fb
       fip = 0x00007ffff6ade6fb  libstdc++.so.6`std::__detail::_Prime_rehash_policy::_M_next_bkt(unsigned long) const + 123 at hashtable_c++0x.cc:79:16
     foseg = 0x00000000
     fooff = 0x00000000
       fdp = 0x0000000000000000
     mxcsr = 0x00001fa0
  mxcsrmask = 0x0000ffff
       st0 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
       st1 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
       st2 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
       st3 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
       st4 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
       st5 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xb0 0x02 0x40}
       st6 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xb0 0x02 0x40}
       st7 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xb8 0x03 0x40}
       mm0 = 0x0000000000000000
       mm1 = 0x0000000000000000
       mm2 = 0x0000000000000000
       mm3 = 0x0000000000000000
       mm4 = 0x0000000000000000
       mm5 = 0xb000000000000000
       mm6 = 0xb000000000000000
       mm7 = 0xb800000000000000
      xmm0 = {0x37 0xeb 0x03 0x07 0xf2 0x07 0xe3 0x0c 0xec 0xe5 0xee 0x0a 0x06 0xff 0x15 0x00}
      xmm1 = {0x69 0x6e 0x74 0x38 0x2e 0x68 0x00 0x6c 0x65 0x6e 0x00 0x62 0x61 0x73 0x69 0x63}
      xmm2 = {0x4e 0x53 0x74 0x36 0x6c 0x6f 0x63 0x61 0x6c 0x65 0x35 0x66 0x61 0x63 0x65 0x74}
      xmm3 = {0x00 0x00 0x00 0x00 0xff 0x00 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0xff}
      xmm4 = {0x19 0x31 0x08 0x37 0x00 0x00 0x00 0x00 0x19 0x31 0x08 0x37 0x00 0x00 0x00 0x00}
      xmm5 = {0x67 0xae 0x19 0x3e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      xmm6 = {0x56 0x64 0x1e 0x3f 0xe5 0x86 0x53 0x3e 0x67 0x56 0xcf 0x3d 0xd0 0x76 0x19 0xbf}
      xmm7 = {0xa7 0x1a 0xd6 0x3f 0xc4 0x2b 0x3a 0xbf 0xef 0xab 0x80 0x3e 0x8c 0x1e 0x2f
      xmm8 = {0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30}
      xmm9 = {0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm10 = {0x00 0x00 0x4c 0x50 0x6c 0x7b 0xd1 0x3e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm11 = {0x30 0x67 0xc7 0x93 0x57 0xf3 0x2e 0xbd 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm12 = {0x00 0x00 0x00 0x00 0x00 0x00 0x90 0xbc 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm13 = {0x00 0x00 0x00 0x00 0x00 0x00 0x69 0x3c 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm14 = {0x42 0x30 0xf4 0x41 0x60 0x27 0x42 0xbc 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     xmm15 = {0x00 0x38 0xfa 0xfe 0x42 0x2e 0xe6 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}

Advanced Vector Extensions:
      ymm0 = {0x37 0xeb 0x03 0x07 0xf2 0x07 0xe3 0x0c 0xec 0xe5 0xee 0x0a 0x06 0xff 0x15 0x00 0x01 0xe9 0x10 0xf6 0xf4 0xeb 0xd6 0x1c 0xf1 0xf6 0x1c 0xf2 0xfe 0x32 0x03 0xf5}
      ymm1 = {0x69 0x6e 0x74 0x38 0x2e 0x68 0x00 0x6c 0x65 0x6e 0x00 0x62 0x61 0x73 0x69 0x63 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm2 = {0x4e 0x53 0x74 0x36 0x6c 0x6f 0x63 0x61 0x6c 0x65 0x35 0x66 0x61 0x63 0x65 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm3 = {0x00 0x00 0x00 0x00 0xff 0x00 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm4 = {0x19 0x31 0x08 0x37 0x00 0x00 0x00 0x00 0x19 0x31 0x08 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm5 = {0x67 0xae 0x19 0x3e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm6 = {0x56 0x64 0x1e 0x3f 0xe5 0x86 0x53 0x3e 0x67 0x56 0xcf 0x3d 0xd0 0x76 0x19 0xbf 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm7 = {0xa7 0x1a 0xd6 0x3f 0xc4 0x2b 0x3a 0xbf 0xef 0xab 0x80 0x3e 0x8c 0x1e 0x2f 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm8 = {0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
      ymm9 = {0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm10 = {0x00 0x00 0x4c 0x50 0x6c 0x7b 0xd1 0x3e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm11 = {0x30 0x67 0xc7 0x93 0x57 0xf3 0x2e 0xbd 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm12 = {0x00 0x00 0x00 0x00 0x00 0x00 0x90 0xbc 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm13 = {0x00 0x00 0x00 0x00 0x00 0x00 0x69 0x3c 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm14 = {0x42 0x30 0xf4 0x41 0x60 0x27 0x42 0xbc 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
     ymm15 = {0x00 0x38 0xfa 0xfe 0x42 0x2e 0xe6 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}

Memory Protection Extensions:
      bnd0 = {0x0000000000000000 0x0000000000000000}
      bnd1 = {0x0000000000000000 0x0000000000000000}
      bnd2 = {0x0000000000000000 0x0000000000000000}
      bnd3 = {0x0000000000000000 0x0000000000000000}
   bndcfgu = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}
  bndstatus = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00}

(lldb) po $zmm0
error: expression failed to parse:
error: <user expression 3>:1:1: use of undeclared identifier '$zmm0'
$zmm0
^
(lldb) po $ymm0
(0x37, 0xeb, 0x03, 0x07, 0xf2, 0x07, 0xe3, 0x0c, 0xec, 0xe5, 0xee, 0x0a, 0x06, 0xff, 0x15, 0x00, 0x01, 0xe9, 0x10, 0xf6, 0xf4, 0xeb, 0xd6, 0x1c, 0xf1, 0xf6, 0x1c, 0xf2, 0xfe, 0x32, 0x03, 0xf5)
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    2
Core(s) per socket:    16
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
Stepping:              7
CPU MHz:               2799.869
CPU max MHz:           2301.0000
CPU min MHz:           1000.0000
BogoMIPS:              4600.00
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              22528K
NUMA node0 CPU(s):     0-15,32-47
NUMA node1 CPU(s):     16-31,48-63
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts pku ospke avx512_vnni md_clear flush_l1d arch_capabilities

I’m not familiar with X86 registers but lldb does have tests for reading and writing zmm. Such as lldb/test/Shell/Register/x86-64-ymm16-read.test.

I would try replicating the steps from that test and see what you get.

Also try GDB, just to make sure you didn’t miss some call in the program itself that was supposed to enable the registers (again, no idea specifically what that would be).