[X86][CodeGen]Fix extract f16 from big vectors
authorWang, Xin10 <xin10.wang@intel.com>
Tue, 10 Jan 2023 14:02:49 +0000 (06:02 -0800)
committerPhoebe Wang <phoebe.wang@intel.com>
Wed, 11 Jan 2023 02:18:50 +0000 (18:18 -0800)
commitd0742ac2e531e3dc38ca22b200059cfaef85d838
tree063208b0233f7658b4d4f62e4e2a7367f662ec2b
parent4bb635f90c9e47ff65a2d58d1c77db80dc8ea273
[X86][CodeGen]Fix extract f16 from big vectors

When use llc -mattr=+avx512fp16, it will crash.

```
define half @test(<64 x half> %x, i64 %idx){
   %res = extractelement <64 x half> %x, i64 %idx
   ret half %res
}
```
The root cause is when we enable avx512fp16 we lose custom handler
for extract f16 from big vectors which is not loaded from pointer.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D141348
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx512fp16-mov.ll