forked from OSchip/llvm-project
[X86] Add AVX-512 VTs to findRepresentativeClass as well as v16i16 which was also missing. Change register class to include the extra 16 AVX512 registers.
I'm not completely sure what this method does or why all the 256-bit VTs returned VR128RegClass when the comments on the method definiton say it should return the largest super register class. I just figured AVX-512 should be similar. llvm-svn: 282836
This commit is contained in:
parent
bc6e97b8f4
commit
de03ff7063
|
@ -1943,9 +1943,11 @@ X86TargetLowering::findRepresentativeClass(const TargetRegisterInfo *TRI,
|
|||
case MVT::f32: case MVT::f64:
|
||||
case MVT::v16i8: case MVT::v8i16: case MVT::v4i32: case MVT::v2i64:
|
||||
case MVT::v4f32: case MVT::v2f64:
|
||||
case MVT::v32i8: case MVT::v8i32: case MVT::v4i64: case MVT::v8f32:
|
||||
case MVT::v4f64:
|
||||
RRC = &X86::VR128RegClass;
|
||||
case MVT::v32i8: case MVT::v16i16: case MVT::v8i32: case MVT::v4i64:
|
||||
case MVT::v8f32: case MVT::v4f64:
|
||||
case MVT::v64i8: case MVT::v32i16: case MVT::v16i32: case MVT::v8i64:
|
||||
case MVT::v16f32: case MVT::v8f64:
|
||||
RRC = &X86::VR128XRegClass;
|
||||
break;
|
||||
}
|
||||
return std::make_pair(RRC, Cost);
|
||||
|
|
Loading…
Reference in New Issue