TL;DR This is not an issue with BPF, neither uprobes nor kprobes can access AVX registers such as xmm registers.
uprobe programs are actually loaded in the kernel as kprobe programs (i.e., BPF_PROG_TYPE_KPROBE).
Contrary to most BPF programs, kprobe programs have access to an unmodified, unrestricted context argument at the hook point. What I mean is that the argument of BPF programs is often a mirror of the actual object given at the hook point, with accesses rewritten by the verifier. For example, several BPF programs take struct __sk_buff as argument, which is actually a mirror of sk_buff (see this other StackOverflow answer for more details). kprobe program, on the contrary, have access to the raw struct pt_regs object (the convert_ctx_access field of struct bpf_verifier_ops is null).
From this we can conclude that kprobes (which receive struct pt_regs) don't have access to the AVX registers. So it's a limitation of kprobes and not of BPF. One reason for this might simply be the low support for AVX registers in the kernel. Please see this StackOverflow answer for further information.