[x86] add movddup specialization for build vector lowering (PR37502)

Description

[x86] add movddup specialization for build vector lowering (PR37502)

This is admittedly a narrow fix for the problem:https://bugs.llvm.org/show_bug.cgi?id=37502
...but as the XOP restriction shows, it's a maze to get this right.
In the motivating example, note that we have movddup before SSE4.1 and
again with AVX2. That's because insertps isn't available pre-SSE41 and
vbroadcast is (more generally) available with AVX2 (and the splat is
reduced to movddup via isel pattern).