diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-04-08 13:17:51 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-04-08 13:17:51 +0000 |
commit | b4f1bfa65982804d0e34beffea2753783c9878c2 (patch) | |
tree | fe13b4ecf802051b0a5ea4688d3cf3fa2f1f3e5f /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 91f60b44958fbcaf6450e82ef40965e92aedda5f (diff) | |
download | llvm-b4f1bfa65982804d0e34beffea2753783c9878c2.zip llvm-b4f1bfa65982804d0e34beffea2753783c9878c2.tar.gz llvm-b4f1bfa65982804d0e34beffea2753783c9878c2.tar.bz2 |
[InstCombine][X86] Expand MOVMSK to generic IR (PR39927)
First step towards removing the MOVMSK intrinsics completely - this patch expands MOVMSK to the pattern:
e.g. PMOVMSKB(v16i8 x):
%cmp = icmp slt <16 x i8> %x, zeroinitializer
%int = bitcast <16 x i8> %cmp to i16
%res = zext i16 %int to i32
Which is correctly handled by ISel and FastIsel (give or take an annoying movzx move....): https://godbolt.org/z/rkrSFW
Differential Revision: https://reviews.llvm.org/D60256
llvm-svn: 357909
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions