[X86] combineConcatVectorOps - fold concat(movddup(x),movddup(y)) -> movddup(concat...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 14 Jan 2022 14:38:45 +0000 (14:38 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 14 Jan 2022 14:49:57 +0000 (14:49 +0000)
commit7d0ea3f41aa729ce70a413a94867836b73881d2b
treec6dabb418637cd26517d30f2191c68c15e9d794b
parent92ba979c28357ec6db1ad4990d341bd862d38a9f
[X86] combineConcatVectorOps - fold concat(movddup(x),movddup(y)) -> movddup(concat(x,y))

For AVX2+ targets this requires us to also recognise v4f64 concat(broadcast(x),broadcast(y)) -> movddup(concat(x,y))
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll