[X86][SSE] combineMulToPMADDWD - replace sext(v8i16) -> zext(v8i16)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 24 Sep 2021 14:30:04 +0000 (15:30 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 24 Sep 2021 15:42:01 +0000 (16:42 +0100)
commitd8fc9f87270146e271eddd551ea98580bef15e82
tree7994dfb32b2301c56ae40d5975a8a764c9b0b570
parentf881776175e97f7667ad2d32cfea0ba6f4254181
[X86][SSE] combineMulToPMADDWD - replace sext(v8i16) -> zext(v8i16)

As suggested on D108522, if we're sign extending a v4i16 source before multiplying as a v4i32, then we can replace that with a zero extension and rely on the implicit sign-extension of PMADDWD.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/madd.ll