@McHenry Yes, XCP sees and uses all threads (8 core + SMT x2 threads = 16 logical cores). So you can assign all of them to a VM as long as the VM can use them.
XO shows 16 "cores" (total threads) and 1 socket. It also shows hyperthreading is enabled. XCP/XO does not differentiate between cores, threads, E-Cores or P-Cores.....a thread is an assignable core resource.
You can assign 16 logical vCPU that includes real cores and SMT threads.
Some programs do not work well with hyperthreading in a VM environment. So you may wish to disable SMT depending on the workload.