[X86] combineMOVMSK - fold movmsk(logic(X,C)) -> logic(movmsk(X),C)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 29 Mar 2023 11:19:36 +0000 (12:19 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 29 Mar 2023 11:22:14 +0000 (12:22 +0100)
commit9385996ec6d18ec6c52991b40489bd3cd8766594
tree2197c546eca5c6912b216e8ead540f80276d2a58
parent6ce272b3f4ceb54e31cac660371a1a9af94b70d7
[X86] combineMOVMSK - fold movmsk(logic(X,C)) -> logic(movmsk(X),C)

Avoid a vector mask load for something that is likely to be able to fold into a scalar logic op + EFLAGS comparison result
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/masked_store.ll
llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll