[X86] Add AVX-512 VTs to findRepresentativeClass as well as v16i16 which was also...
authorCraig Topper <craig.topper@gmail.com>
Fri, 30 Sep 2016 04:31:37 +0000 (04:31 +0000)
committerCraig Topper <craig.topper@gmail.com>
Fri, 30 Sep 2016 04:31:37 +0000 (04:31 +0000)
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

llvm/lib/Target/X86/X86ISelLowering.cpp

index 7b3f2f2..b6ab9c3 100644 (file)
@@ -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);