Changeset 4851
- Timestamp:
- Oct 21, 2015, 6:57:05 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
parabix-LLVM/diff-r209855
r4580 r4851 1 diff -r -bparabix-llvm/include/llvm/CodeGen/ISDOpcodes.h r209855/include/llvm/CodeGen/ISDOpcodes.h1 diff -r parabix-llvm/include/llvm/CodeGen/ISDOpcodes.h r209855/include/llvm/CodeGen/ISDOpcodes.h 2 2 220,222d219 3 3 < // llvm.uadd.with.overflow.carryin intrinsics. 4 4 < UADDE, 5 5 < 6 diff -r -b parabix-llvm/include/llvm/CodeGen/MachineValueType.h r209855/include/llvm/CodeGen/MachineValueType.h 6 460c457 7 < 8 --- 9 > 10 diff -r parabix-llvm/include/llvm/CodeGen/MachineValueType.h r209855/include/llvm/CodeGen/MachineValueType.h 7 11 38,49c38,43 8 12 < i1 = 1, … … 43 47 > f128 = 11, // This is a 128 bit floating point value 44 48 > ppcf128 = 12, // This is a PPC 128-bit floating point value 45 64,1 59c58,10949 64,169c58,119 46 50 < v1i1 = 18, 47 51 < v2i1 = 19, … … 140 144 < FIRST_VECTOR_VALUETYPE = v1i1, 141 145 < LAST_VECTOR_VALUETYPE = v16f64, 146 < 147 < x86mmx = 102, // This is an X86 MMX value 148 < 149 < Glue = 103, // This glues nodes together during pre-RA sched 150 < 151 < isVoid = 104, // This has no value 152 < 153 < Untyped = 105, // This value takes a register, but has 154 < // unspecified type. The register class 155 < // will be determined by the opcode. 142 156 --- 143 157 > v2i1 = 13, // 2 x i1 … … 193 207 > FIRST_VECTOR_VALUETYPE = v2i1, 194 208 > LAST_VECTOR_VALUETYPE = v8f64, 195 161c111 196 < x86mmx = 102, // This is an X86 MMX value 197 --- 209 > 198 210 > x86mmx = 54, // This is an X86 MMX value 199 163c113 200 < Glue = 103, // This glues nodes together during pre-RA sched 201 --- 211 > 202 212 > Glue = 55, // This glues nodes together during pre-RA sched 203 165c115 204 < isVoid = 104, // This has no value 205 --- 213 > 206 214 > isVoid = 56, // This has no value 207 167c117 208 < Untyped = 105, // This value takes a register, but has 209 --- 215 > 210 216 > Untyped = 57, // This value takes a register, but has 217 > // unspecified type. The register class 218 > // will be determined by the opcode. 211 219 171c121 212 220 < LAST_VALUETYPE = 106, // This always remains at the end of the list. … … 365 373 410d263 366 374 < 367 415,429c268,308 375 412,429c265,308 376 < switch (SimpleTy) { 377 < default: 378 < llvm_unreachable("Not a vector MVT!"); 368 379 < case v1i1: case v2i1: case v4i1: case v8i1: case v16i1: case v32i1: case v64i1: case v128i1: case v256i1: case v512i1: case v1024i1: return i1; 369 380 < case v1i2: case v2i2: case v4i2: case v8i2: case v16i2: case v32i2: case v64i2: case v128i2: case v256i2: case v512i2: return i2; … … 382 393 < 383 394 --- 395 > switch (SimpleTy) { 396 > default: 397 > llvm_unreachable("Not a vector MVT!"); 384 398 > case v2i1 : 385 399 > case v4i1 : … … 486 500 < 487 501 < 502 459c361 503 < switch (SimpleTy) { 504 --- 505 > switch (SimpleTy) { 488 506 473,485c375,404 489 507 < case i1: case v1i1: return 1; … … 561 579 548d485 562 580 < 581 553c490 582 < case 1: 583 --- 584 > case 1: 563 585 555,558d491 564 586 < case 2: … … 579 601 586d509 580 602 < if (NumElements == 1) return MVT::v1i1; 581 593,619d515 603 590,619c513,515 604 < if (NumElements == 16) return MVT::v16i1; 605 < if (NumElements == 32) return MVT::v32i1; 606 < if (NumElements == 64) return MVT::v64i1; 582 607 < if (NumElements == 128) return MVT::v128i1; 583 608 < if (NumElements == 256) return MVT::v256i1; … … 607 632 < if (NumElements == 128) return MVT::v128i4; 608 633 < if (NumElements == 256) return MVT::v256i4; 609 629d524 634 --- 635 > if (NumElements == 16) return MVT::v16i1; 636 > if (NumElements == 32) return MVT::v32i1; 637 > if (NumElements == 64) return MVT::v64i1; 638 626,629c522,524 639 < if (NumElements == 16) return MVT::v16i8; 640 < if (NumElements == 32) return MVT::v32i8; 641 < if (NumElements == 64) return MVT::v64i8; 610 642 < if (NumElements == 128) return MVT::v128i8; 611 638d532 643 --- 644 > if (NumElements == 16) return MVT::v16i8; 645 > if (NumElements == 32) return MVT::v32i8; 646 > if (NumElements == 64) return MVT::v64i8; 647 636,638c531,532 648 < if (NumElements == 16) return MVT::v16i16; 649 < if (NumElements == 32) return MVT::v32i16; 612 650 < if (NumElements == 64) return MVT::v64i16; 613 646d539 651 --- 652 > if (NumElements == 16) return MVT::v16i16; 653 > if (NumElements == 32) return MVT::v32i16; 654 645,646c539 655 < if (NumElements == 16) return MVT::v16i32; 614 656 < if (NumElements == 32) return MVT::v32i32; 615 655,672d547 657 --- 658 > if (NumElements == 16) return MVT::v16i32; 659 653,671c546 660 < if (NumElements == 16) return MVT::v16i64; 661 < break; 616 662 < case MVT::i128: 617 663 < if (NumElements == 1) return MVT::v1i128; … … 631 677 < case MVT::i1024: 632 678 < if (NumElements == 1) return MVT::v1i1024; 633 < break; 679 --- 680 > if (NumElements == 16) return MVT::v16i64; 634 681 674d548 635 682 < if (NumElements == 1) return MVT::v1f16; … … 638 685 < if (NumElements == 32) return MVT::v32f16; 639 686 < if (NumElements == 64) return MVT::v64f16; 640 688d558 687 687,688c558 688 < if (NumElements == 16) return MVT::v16f32; 641 689 < if (NumElements == 32) return MVT::v32f32; 690 --- 691 > if (NumElements == 16) return MVT::v16f32; 642 692 695d564 643 693 < if (NumElements == 16) return MVT::v16f64; … … 646 696 701d568 647 697 < 648 diff -r -bparabix-llvm/include/llvm/CodeGen/ValueTypes.h r209855/include/llvm/CodeGen/ValueTypes.h698 diff -r parabix-llvm/include/llvm/CodeGen/ValueTypes.h r209855/include/llvm/CodeGen/ValueTypes.h 649 699 120,124d119 650 700 < /// isParabixVector - Return true if this is a parabix vector. … … 653 703 < } 654 704 < 655 diff -r -bparabix-llvm/include/llvm/CodeGen/ValueTypes.td r209855/include/llvm/CodeGen/ValueTypes.td705 diff -r parabix-llvm/include/llvm/CodeGen/ValueTypes.td r209855/include/llvm/CodeGen/ValueTypes.td 656 706 23,134c23,83 657 707 < def i1 : ValueType<1 , 1>; … … 829 879 > def isVoid : ValueType<0 , 56>; // Produces no value 830 880 > def untyped: ValueType<8 , 57>; // Produces an untyped value 831 diff -r -bparabix-llvm/include/llvm/IR/Intrinsics.td r209855/include/llvm/IR/Intrinsics.td881 diff -r parabix-llvm/include/llvm/IR/Intrinsics.td r209855/include/llvm/IR/Intrinsics.td 832 882 437,440d436 833 883 < def int_uadd_with_overflow_carryin : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], … … 835 885 < [IntrNoMem]>; 836 886 < 837 diff -r -bparabix-llvm/include/llvm/IR/IntrinsicsX86.td r209855/include/llvm/IR/IntrinsicsX86.td887 diff -r parabix-llvm/include/llvm/IR/IntrinsicsX86.td r209855/include/llvm/IR/IntrinsicsX86.td 838 888 1306a1307,1315 839 889 > def int_x86_avx_vbroadcast_ss : … … 846 896 > GCCBuiltin<"__builtin_ia32_vbroadcastss256">, 847 897 > Intrinsic<[llvm_v8f32_ty], [llvm_ptr_ty], [IntrReadArgMem]>; 848 diff -r -bparabix-llvm/include/llvm/Target/TargetLowering.h r209855/include/llvm/Target/TargetLowering.h898 diff -r parabix-llvm/include/llvm/Target/TargetLowering.h r209855/include/llvm/Target/TargetLowering.h 849 899 465,470d464 850 900 < //FIXME: Parabix hack here, i2/i4 is not extended now, but it … … 890 940 < typedef std::pair<MVT, ISD::NodeType> Operand0ActionsKeyTy; 891 941 < std::map<Operand0ActionsKeyTy, LegalizeAction> Operand0Actions; 892 diff -r -bparabix-llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp r209855/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp893 1292,129 7d1291942 diff -r parabix-llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp r209855/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp 943 1292,1298c1292 894 944 < // Parabix: test if we want to custom it with operand0 action. 895 945 < if (Node->getNumOperands() > 0) { … … 898 948 < Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0)); 899 949 < } else 950 < Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0)); 951 --- 952 > Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0)); 900 953 1389,1390d1382 901 954 < 902 955 < 903 diff -r -b parabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 956 1868c1860 957 < 958 --- 959 > 960 diff -r parabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 904 961 5326,5334d5325 905 962 < case Intrinsic::uadd_with_overflow_carryin: { … … 912 969 < return nullptr; 913 970 < } 914 diff -r -bparabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp971 diff -r parabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp 915 972 208d207 916 973 < case ISD::UADDE: return "uadde"; 917 diff -r -bparabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp974 diff -r parabix-llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp r209855/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 918 975 2468c2468 919 976 < NodeToMatch->dumprFull(CurDAG); 920 977 --- 921 978 > NodeToMatch->dump(CurDAG); 922 diff -r -b parabix-llvm/lib/CodeGen/TargetLoweringBase.cpp r209855/lib/CodeGen/TargetLoweringBase.cpp 979 diff -r parabix-llvm/lib/CodeGen/TargetLoweringBase.cpp r209855/lib/CodeGen/TargetLoweringBase.cpp 980 386c386 981 < 982 --- 983 > 923 984 1100,1101c1100 924 985 < isTypeLegal(SVT) && SVT.getScalarType().isInteger() && … … 930 991 --- 931 992 > isTypeLegal(SVT)) { 932 diff -r -bparabix-llvm/lib/IR/AutoUpgrade.cpp r209855/lib/IR/AutoUpgrade.cpp993 diff -r parabix-llvm/lib/IR/AutoUpgrade.cpp r209855/lib/IR/AutoUpgrade.cpp 933 994 117,119d116 934 995 < Name == "x86.avx.vbroadcast.ss" || … … 949 1010 < Rep = Builder.CreateInsertElement(Rep, Load, 950 1011 < ConstantInt::get(I32Ty, I)); 951 diff -r -b parabix-llvm/lib/IR/ValueTypes.cpp r209855/lib/IR/ValueTypes.cpp 1012 diff -r parabix-llvm/lib/IR/LLVMContextImpl.cpp r209855/lib/IR/LLVMContextImpl.cpp 1013 74c74 1014 < 1015 --- 1016 > 1017 95c95 1018 < 1019 --- 1020 > 1021 diff -r parabix-llvm/lib/IR/LLVMContextImpl.h r209855/lib/IR/LLVMContextImpl.h 1022 10c10 1023 < // This file declares LLVMContextImpl, the opaque implementation 1024 --- 1025 > // This file declares LLVMContextImpl, the opaque implementation 1026 86c86 1027 < static inline KeyTy getEmptyKey() { 1028 --- 1029 > static inline KeyTy getEmptyKey() { 1030 89,90c89,90 1031 < static inline KeyTy getTombstoneKey() { 1032 < return KeyTy(APFloat(APFloat::Bogus,2)); 1033 --- 1034 > static inline KeyTy getTombstoneKey() { 1035 > return KeyTy(APFloat(APFloat::Bogus,2)); 1036 218c218 1037 < 1038 --- 1039 > 1040 227c227 1041 < 1042 --- 1043 > 1044 235c235 1045 < 1046 --- 1047 > 1048 241c241 1049 < 1050 --- 1051 > 1052 254,255c254,255 1053 < 1054 < typedef DenseMap<DenseMapAPFloatKeyInfo::KeyTy, ConstantFP*, 1055 --- 1056 > 1057 > typedef DenseMap<DenseMapAPFloatKeyInfo::KeyTy, ConstantFP*, 1058 272c272 1059 < 1060 --- 1061 > 1062 277c277 1063 < 1064 --- 1065 > 1066 280c280 1067 < 1068 --- 1069 > 1070 283c283 1071 < 1072 --- 1073 > 1074 287c287 1075 < 1076 --- 1077 > 1078 297c297 1079 < 1080 --- 1081 > 1082 300c300 1083 < 1084 --- 1085 > 1086 302c302 1087 < 1088 --- 1089 > 1090 308c308 1091 < 1092 --- 1093 > 1094 312c312 1095 < 1096 --- 1097 > 1098 314c314 1099 < 1100 --- 1101 > 1102 321c321 1103 < 1104 --- 1105 > 1106 333c333 1107 < 1108 --- 1109 > 1110 336c336 1111 < 1112 --- 1113 > 1114 343c343 1115 < 1116 --- 1117 > 1118 347c347 1119 < 1120 --- 1121 > 1122 352c352 1123 < 1124 --- 1125 > 1126 356c356 1127 < 1128 --- 1129 > 1130 379c379 1131 < 1132 --- 1133 > 1134 diff -r parabix-llvm/lib/IR/Type.cpp r209855/lib/IR/Type.cpp 1135 67c67 1136 < if (this == Ty) 1137 --- 1138 > if (this == Ty) 1139 69c69 1140 < 1141 --- 1142 > 1143 302c302 1144 < 1145 --- 1146 > 1147 310c310 1148 < default: 1149 --- 1150 > default: 1151 313c313 1152 < 1153 --- 1154 > 1155 318c318 1156 < 1157 --- 1158 > 1159 399c399 1160 < StructType *StructType::get(LLVMContext &Context, ArrayRef<Type*> ETypes, 1161 --- 1162 > StructType *StructType::get(LLVMContext &Context, ArrayRef<Type*> ETypes, 1163 422c422 1164 < 1165 --- 1166 > 1167 430c430 1168 < 1169 --- 1170 > 1171 455c455 1172 < 1173 --- 1174 > 1175 458c458 1176 < 1177 --- 1178 > 1179 465c465 1180 < 1181 --- 1182 > 1183 470c470 1184 < 1185 --- 1186 > 1187 605c605 1188 < 1189 --- 1190 > 1191 609c609 1192 < 1193 --- 1194 > 1195 639c639 1196 < 1197 --- 1198 > 1199 679c679 1200 < 1201 --- 1202 > 1203 681c681 1204 < ArrayType *&Entry = 1205 --- 1206 > ArrayType *&Entry = 1207 708c708 1208 < 1209 --- 1210 > 1211 730c730 1212 < 1213 --- 1214 > 1215 732c732 1216 < 1217 --- 1218 > 1219 diff -r parabix-llvm/lib/IR/ValueTypes.cpp r209855/lib/IR/ValueTypes.cpp 952 1220 20d19 953 1221 < #include "llvm/Support/Debug.h" … … 961 1229 < case MVT::i512: return IntegerType::get(Context, 512); 962 1230 < case MVT::i1024: return IntegerType::get(Context, 1024); 963 206,2 07d1981231 206,216c199,201 964 1232 < 965 1233 < case MVT::v1i1: return VectorType::get(Type::getInt1Ty(Context), 1); 966 209d199 1234 < case MVT::v2i1: return VectorType::get(Type::getInt1Ty(Context), 2); 967 1235 < case MVT::v1i2: return VectorType::get(Type::getIntNTy(Context, 2), 1); 968 211,212d200 1236 < case MVT::v4i1: return VectorType::get(Type::getInt1Ty(Context), 4); 969 1237 < case MVT::v2i2: return VectorType::get(Type::getIntNTy(Context, 2), 2); 970 1238 < case MVT::v1i4: return VectorType::get(Type::getIntNTy(Context, 4), 1); 971 214,216d201 1239 < case MVT::v8i1: return VectorType::get(Type::getInt1Ty(Context), 8); 972 1240 < case MVT::v4i2: return VectorType::get(Type::getIntNTy(Context, 2), 4); 973 1241 < case MVT::v2i4: return VectorType::get(Type::getIntNTy(Context, 4), 2); 974 1242 < case MVT::v1i8: return VectorType::get(Type::getInt8Ty(Context), 1); 1243 --- 1244 > case MVT::v2i1: return VectorType::get(Type::getInt1Ty(Context), 2); 1245 > case MVT::v4i1: return VectorType::get(Type::getInt1Ty(Context), 4); 1246 > case MVT::v8i1: return VectorType::get(Type::getInt1Ty(Context), 8); 975 1247 218,221d202 976 1248 < case MVT::v8i2: return VectorType::get(Type::getIntNTy(Context, 2), 8); … … 984 1256 < case MVT::v2i16: return VectorType::get(Type::getInt16Ty(Context), 2); 985 1257 < case MVT::v1i32: return VectorType::get(Type::getInt32Ty(Context), 1); 986 229,23 0c205,2071258 229,237c205,208 987 1259 < case MVT::v32i2: return VectorType::get(Type::getIntNTy(Context, 2), 32); 988 1260 < case MVT::v16i4: return VectorType::get(Type::getIntNTy(Context, 4), 16); 989 --- 990 > case MVT::v1i8: return VectorType::get(Type::getInt8Ty(Context), 1); 991 > case MVT::v2i8: return VectorType::get(Type::getInt8Ty(Context), 2); 992 > case MVT::v4i8: return VectorType::get(Type::getInt8Ty(Context), 4); 993 232,237d208 1261 < case MVT::v8i8: return VectorType::get(Type::getInt8Ty(Context), 8); 994 1262 < case MVT::v4i16: return VectorType::get(Type::getInt16Ty(Context), 4); 995 1263 < case MVT::v2i32: return VectorType::get(Type::getInt32Ty(Context), 2); … … 998 1266 < case MVT::v64i2: return VectorType::get(Type::getIntNTy(Context, 2), 64); 999 1267 < case MVT::v32i4: return VectorType::get(Type::getIntNTy(Context, 4), 32); 1000 239,245d209 1001 < case MVT::v8i16: return VectorType::get(Type::getInt16Ty(Context), 8); 1002 < case MVT::v4i32: return VectorType::get(Type::getInt32Ty(Context), 4); 1268 --- 1269 > case MVT::v1i8: return VectorType::get(Type::getInt8Ty(Context), 1); 1270 > case MVT::v2i8: return VectorType::get(Type::getInt8Ty(Context), 2); 1271 > case MVT::v4i8: return VectorType::get(Type::getInt8Ty(Context), 4); 1272 > case MVT::v8i8: return VectorType::get(Type::getInt8Ty(Context), 8); 1273 238a210,214 1274 > case MVT::v32i8: return VectorType::get(Type::getInt8Ty(Context), 32); 1275 > case MVT::v64i8: return VectorType::get(Type::getInt8Ty(Context), 64); 1276 > case MVT::v1i16: return VectorType::get(Type::getInt16Ty(Context), 1); 1277 > case MVT::v2i16: return VectorType::get(Type::getInt16Ty(Context), 2); 1278 > case MVT::v4i16: return VectorType::get(Type::getInt16Ty(Context), 4); 1279 239a216,219 1280 > case MVT::v16i16: return VectorType::get(Type::getInt16Ty(Context), 16); 1281 > case MVT::v32i16: return VectorType::get(Type::getInt16Ty(Context), 32); 1282 > case MVT::v1i32: return VectorType::get(Type::getInt32Ty(Context), 1); 1283 > case MVT::v2i32: return VectorType::get(Type::getInt32Ty(Context), 2); 1284 241,247d220 1003 1285 < case MVT::v2i64: return VectorType::get(Type::getInt64Ty(Context), 2); 1004 1286 < case MVT::v1i128: return VectorType::get(Type::getIntNTy(Context, 128), 1); … … 1006 1288 < case MVT::v128i2: return VectorType::get(Type::getIntNTy(Context, 2), 128); 1007 1289 < case MVT::v64i4: return VectorType::get(Type::getIntNTy(Context, 4), 64); 1008 247,254d210 1290 < case MVT::v32i8: return VectorType::get(Type::getInt8Ty(Context), 32); 1009 1291 < case MVT::v16i16: return VectorType::get(Type::getInt16Ty(Context), 16); 1010 < case MVT::v8i32: return VectorType::get(Type::getInt32Ty(Context), 8); 1011 < case MVT::v4i64: return VectorType::get(Type::getInt64Ty(Context), 4); 1292 248a222,224 1293 > case MVT::v16i32: return VectorType::get(Type::getInt32Ty(Context), 16); 1294 > case MVT::v1i64: return VectorType::get(Type::getInt64Ty(Context), 1); 1295 > case MVT::v2i64: return VectorType::get(Type::getInt64Ty(Context), 2); 1296 250,257d225 1012 1297 < case MVT::v2i128: return VectorType::get(Type::getIntNTy(Context, 128), 2); 1013 1298 < case MVT::v1i256: return VectorType::get(Type::getIntNTy(Context, 256), 1); … … 1015 1300 < case MVT::v256i2: return VectorType::get(Type::getIntNTy(Context, 2), 256); 1016 1301 < case MVT::v128i4: return VectorType::get(Type::getIntNTy(Context, 4), 128); 1017 255a212,216 1018 > case MVT::v1i16: return VectorType::get(Type::getInt16Ty(Context), 1); 1019 > case MVT::v2i16: return VectorType::get(Type::getInt16Ty(Context), 2); 1020 > case MVT::v4i16: return VectorType::get(Type::getInt16Ty(Context), 4); 1021 > case MVT::v8i16: return VectorType::get(Type::getInt16Ty(Context), 8); 1022 > case MVT::v16i16: return VectorType::get(Type::getInt16Ty(Context), 16); 1023 256a218,221 1024 > case MVT::v1i32: return VectorType::get(Type::getInt32Ty(Context), 1); 1025 > case MVT::v2i32: return VectorType::get(Type::getInt32Ty(Context), 2); 1026 > case MVT::v4i32: return VectorType::get(Type::getInt32Ty(Context), 4); 1027 > case MVT::v8i32: return VectorType::get(Type::getInt32Ty(Context), 8); 1028 257a223,225 1029 > case MVT::v1i64: return VectorType::get(Type::getInt64Ty(Context), 1); 1030 > case MVT::v2i64: return VectorType::get(Type::getInt64Ty(Context), 2); 1031 > case MVT::v4i64: return VectorType::get(Type::getInt64Ty(Context), 4); 1032 259,267d226 1302 < case MVT::v64i8: return VectorType::get(Type::getInt8Ty(Context), 64); 1303 < case MVT::v32i16: return VectorType::get(Type::getInt16Ty(Context), 32); 1304 < case MVT::v16i32: return VectorType::get(Type::getInt32Ty(Context), 16); 1305 259,274c227 1033 1306 < case MVT::v4i128: return VectorType::get(Type::getIntNTy(Context, 128), 4); 1034 1307 < case MVT::v2i256: return VectorType::get(Type::getIntNTy(Context, 256), 2); … … 1040 1313 < case MVT::v64i16: return VectorType::get(Type::getInt16Ty(Context), 64); 1041 1314 < case MVT::v32i32: return VectorType::get(Type::getInt32Ty(Context), 32); 1042 269,274d227 1315 < case MVT::v16i64: return VectorType::get(Type::getInt64Ty(Context), 16); 1043 1316 < case MVT::v8i128: return VectorType::get(Type::getIntNTy(Context, 128), 8); 1044 1317 < case MVT::v4i256: return VectorType::get(Type::getIntNTy(Context, 256), 4); … … 1047 1320 < 1048 1321 < case MVT::v1f16: return VectorType::get(Type::getHalfTy(Context), 1); 1322 --- 1323 > case MVT::v16i64: return VectorType::get(Type::getInt64Ty(Context), 16); 1049 1324 276d228 1050 1325 < case MVT::v1f32: return VectorType::get(Type::getFloatTy(Context), 1); … … 1061 1336 < case MVT::v4f64: return VectorType::get(Type::getDoubleTy(Context), 4); 1062 1337 < case MVT::v32f16: return VectorType::get(Type::getHalfTy(Context), 32); 1063 287a236,238 1338 288,293c236,239 1339 < case MVT::v8f64: return VectorType::get(Type::getDoubleTy(Context), 8); 1340 < case MVT::v64f16: return VectorType::get(Type::getHalfTy(Context), 64); 1341 < case MVT::v32f32: return VectorType::get(Type::getFloatTy(Context), 32); 1342 < case MVT::v16f64: return VectorType::get(Type::getDoubleTy(Context), 16); 1343 < 1344 < 1345 --- 1064 1346 > case MVT::v1f64: return VectorType::get(Type::getDoubleTy(Context), 1); 1065 1347 > case MVT::v2f64: return VectorType::get(Type::getDoubleTy(Context), 2); 1066 1348 > case MVT::v4f64: return VectorType::get(Type::getDoubleTy(Context), 4); 1067 289,293d239 1068 < case MVT::v64f16: return VectorType::get(Type::getHalfTy(Context), 64); 1069 < case MVT::v32f32: return VectorType::get(Type::getFloatTy(Context), 32); 1070 < case MVT::v16f64: return VectorType::get(Type::getDoubleTy(Context), 16); 1071 < 1072 < 1073 diff -r -b parabix-llvm/lib/Target/X86/CMakeLists.txt r209855/lib/Target/X86/CMakeLists.txt 1349 > case MVT::v8f64: return VectorType::get(Type::getDoubleTy(Context), 8); 1350 diff -r parabix-llvm/lib/Target/X86/CMakeLists.txt r209855/lib/Target/X86/CMakeLists.txt 1074 1351 23d22 1075 1352 < X86ParabixISelLowering.cpp 1076 1353 Only in parabix-llvm/lib/Target/X86: ParabixGeneratedFuncs.h 1077 diff -r -bparabix-llvm/lib/Target/X86/X86CallingConv.td r209855/lib/Target/X86/X86CallingConv.td1354 diff -r parabix-llvm/lib/Target/X86/X86CallingConv.td r209855/lib/Target/X86/X86CallingConv.td 1078 1355 40,43d39 1079 1356 < //Parabix … … 1135 1412 --- 1136 1413 > CCIfType<[v16i8, v8i16, v4i32, v2i64, v4f32, v2f64], CCAssignToStack<16, 16>>, 1137 diff -r -bparabix-llvm/lib/Target/X86/X86InstrFragmentsSIMD.td r209855/lib/Target/X86/X86InstrFragmentsSIMD.td1414 diff -r parabix-llvm/lib/Target/X86/X86InstrFragmentsSIMD.td r209855/lib/Target/X86/X86InstrFragmentsSIMD.td 1138 1415 227,230d226 1139 1416 < def SDTPack : SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>, SDTCisSameAs<2, 1>]>; … … 1141 1418 < def X86Packus : SDNode<"X86ISD::PACKUS", SDTPack>; 1142 1419 < 1143 diff -r -bparabix-llvm/lib/Target/X86/X86InstrInfo.cpp r209855/lib/Target/X86/X86InstrInfo.cpp1420 diff -r parabix-llvm/lib/Target/X86/X86InstrInfo.cpp r209855/lib/Target/X86/X86InstrInfo.cpp 1144 1421 1614d1613 1145 1422 < { 1146 1423 1618d1616 1147 1424 < } 1148 diff -r -b parabix-llvm/lib/Target/X86/X86InstrInfo.td r209855/lib/Target/X86/X86InstrInfo.td 1425 3998c3996 1426 < case X86::KSET0B: 1427 --- 1428 > case X86::KSET0B: 1429 diff -r parabix-llvm/lib/Target/X86/X86InstrInfo.td r209855/lib/Target/X86/X86InstrInfo.td 1430 2007c2007 1431 < (X86cmp GR16:$src, (i16 0))), 1432 --- 1433 > (X86cmp GR16:$src, (i16 0))), 1434 2026c2026 1435 < (X86cmp (loadi16 addr:$src), (i16 0))), 1436 --- 1437 > (X86cmp (loadi16 addr:$src), (i16 0))), 1438 2029c2029 1439 < (X86cmp (loadi32 addr:$src), (i32 0))), 1440 --- 1441 > (X86cmp (loadi32 addr:$src), (i32 0))), 1442 2032c2032 1443 < (X86cmp (loadi64 addr:$src), (i64 0))), 1444 --- 1445 > (X86cmp (loadi64 addr:$src), (i64 0))), 1446 2035c2035 1447 < (X86cmp (loadi16 addr:$src), (i16 0))), 1448 --- 1449 > (X86cmp (loadi16 addr:$src), (i16 0))), 1450 2038c2038 1451 < (X86cmp (loadi32 addr:$src), (i32 0))), 1452 --- 1453 > (X86cmp (loadi32 addr:$src), (i32 0))), 1454 2041c2041 1455 < (X86cmp (loadi64 addr:$src), (i64 0))), 1456 --- 1457 > (X86cmp (loadi64 addr:$src), (i64 0))), 1458 2142c2142 1459 < (X86cmp (loadi16 addr:$src), (i16 0))), 1460 --- 1461 > (X86cmp (loadi16 addr:$src), (i16 0))), 1462 2145c2145 1463 < (X86cmp (loadi32 addr:$src), (i32 0))), 1464 --- 1465 > (X86cmp (loadi32 addr:$src), (i32 0))), 1466 2148c2148 1467 < (X86cmp (loadi64 addr:$src), (i64 0))), 1468 --- 1469 > (X86cmp (loadi64 addr:$src), (i64 0))), 1470 2151c2151 1471 < (X86cmp (loadi16 addr:$src), (i16 0))), 1472 --- 1473 > (X86cmp (loadi16 addr:$src), (i16 0))), 1474 2154c2154 1475 < (X86cmp (loadi32 addr:$src), (i32 0))), 1476 --- 1477 > (X86cmp (loadi32 addr:$src), (i32 0))), 1478 2157c2157 1479 < (X86cmp (loadi64 addr:$src), (i64 0))), 1480 --- 1481 > (X86cmp (loadi64 addr:$src), (i64 0))), 1149 1482 2221,2270d2220 1150 1483 < … … 1198 1531 < def : Pat <(v128i1 (bitconvert (v2f64 VR128PX:$src))), (v128i1 VR128PX:$src)>; 1199 1532 < def : Pat <(v128i1 (bitconvert (v4f32 VR128PX:$src))), (v128i1 VR128PX:$src)>; 1200 diff -r -bparabix-llvm/lib/Target/X86/X86InstrSSE.td r209855/lib/Target/X86/X86InstrSSE.td1533 diff -r parabix-llvm/lib/Target/X86/X86InstrSSE.td r209855/lib/Target/X86/X86InstrSSE.td 1201 1534 4339a4340,4353 1202 1535 > // SSE2 - Packed Integer Pack Instructions … … 1366 1699 < } 1367 1700 < 1368 8099,810 2c7980,79831701 8099,8103c7980,7984 1369 1702 < def VBROADCASTSSrm : avx_broadcast_no_int<0x18, "vbroadcastss", VR128, 1370 1703 < f32mem, v4f32, loadf32, WriteLoad>; 1371 1704 < def VBROADCASTSSYrm : avx_broadcast_no_int<0x18, "vbroadcastss", VR256, 1372 1705 < f32mem, v8f32, loadf32, 1706 < WriteFShuffleLd>, VEX_L; 1373 1707 --- 1374 1708 > def VBROADCASTSSrm : avx_broadcast<0x18, "vbroadcastss", VR128, f32mem, … … 1376 1710 > def VBROADCASTSSYrm : avx_broadcast<0x18, "vbroadcastss", VR256, f32mem, 1377 1711 > int_x86_avx_vbroadcast_ss_256, 1712 > WriteFShuffleLd>, VEX_L; 1378 1713 8106,8107c7987,7989 1379 1714 < def VBROADCASTSDYrm : avx_broadcast_no_int<0x19, "vbroadcastsd", VR256, f64mem, … … 1391 1726 > (VBROADCASTSSrm addr:$src)>; 1392 1727 > 1393 diff -r -bparabix-llvm/lib/Target/X86/X86ISelLowering.cpp r209855/lib/Target/X86/X86ISelLowering.cpp1728 diff -r parabix-llvm/lib/Target/X86/X86ISelLowering.cpp r209855/lib/Target/X86/X86ISelLowering.cpp 1394 1729 22d21 1395 1730 < #include "X86ParabixISelLowering.h" … … 1461 1796 < setTargetDAGCombine(ISD::UADDE); 1462 1797 < 1798 1940c1876 1799 < "Unexpected FP-extend for return value."); 1800 --- 1801 > "Unexpected FP-extend for return value."); 1463 1802 2326,2327d2261 1464 1803 < else if (RegVT.isParabixVector() && RegVT.is128BitVector()) … … 1471 1810 4946d4875 1472 1811 < 1812 6095c6024 1813 < else 1814 --- 1815 > else 1816 8423c8352 1817 < SDValue 1818 --- 1819 > SDValue 1820 8436c8365 1821 < SDValue ExtOp = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, ExtVecVT, 1822 --- 1823 > SDValue ExtOp = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, ExtVecVT, 1824 8459c8388 1825 < 1826 --- 1827 > 1828 9669c9598 1829 < 1830 --- 1831 > 1832 10334c10263 1833 < 1834 --- 1835 > 1836 10337,10339c10266,10268 1837 < // Do the comparison at i32 if it's smaller, besides the Atom case. 1838 < // This avoids subregister aliasing issues. Keep the smaller reference 1839 < // if we're optimizing for size, however, as that'll allow better folding 1840 --- 1841 > // Do the comparison at i32 if it's smaller, besides the Atom case. 1842 > // This avoids subregister aliasing issues. Keep the smaller reference 1843 > // if we're optimizing for size, however, as that'll allow better folding 1473 1844 12232,12245d12160 1474 1845 < case Intrinsic::x86_sse2_packssdw_128: … … 1486 1857 < Op.getOperand(1), Op.getOperand(2)); 1487 1858 < 1859 12776c12691 1860 < if (Initialized) 1861 --- 1862 > if (Initialized) 1863 12788c12703 1864 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_qpi_512, 1865 --- 1866 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_qpi_512, 1867 12790c12705 1868 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_qpq_512, 1869 --- 1870 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_qpq_512, 1871 12792c12707 1872 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_dpi_512, 1873 --- 1874 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_dpi_512, 1875 12794c12709 1876 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_dpq_512, 1877 --- 1878 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gather_dpq_512, 1879 12799c12714 1880 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpd_512, 1881 --- 1882 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpd_512, 1883 12801c12716 1884 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpd_512, 1885 --- 1886 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpd_512, 1887 12803c12718 1888 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dps_512, 1889 --- 1890 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dps_512, 1891 12805c12720 1892 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpi_512, 1893 --- 1894 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpi_512, 1895 12807c12722 1896 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpq_512, 1897 --- 1898 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_qpq_512, 1899 12809c12724 1900 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpi_512, 1901 --- 1902 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpi_512, 1903 12811c12726 1904 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpq_512, 1905 --- 1906 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatter_dpq_512, 1907 12813,12814c12728,12729 1908 < 1909 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_qps_512, 1910 --- 1911 > 1912 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_qps_512, 1913 12817c12732 1914 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_qpd_512, 1915 --- 1916 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_qpd_512, 1917 12820c12735 1918 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_dpd_512, 1919 --- 1920 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_dpd_512, 1921 12823c12738 1922 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_dps_512, 1923 --- 1924 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_gatherpf_dps_512, 1925 12826c12741 1926 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_qps_512, 1927 --- 1928 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_qps_512, 1929 12829c12744 1930 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_qpd_512, 1931 --- 1932 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_qpd_512, 1933 12832c12747 1934 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_dpd_512, 1935 --- 1936 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_dpd_512, 1937 12835c12750 1938 < IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_dps_512, 1939 --- 1940 > IntrMap.insert(std::make_pair(Intrinsic::x86_avx512_scatterpf_dps_512, 1941 13929c13844 1942 < if (Op.getOpcode() == ISD::SHL && 1943 --- 1944 > if (Op.getOpcode() == ISD::SHL && 1945 14021c13936 1946 < 1947 --- 1948 > 1949 14026c13941 1950 < SDValue Splat1 = 1951 --- 1952 > SDValue Splat1 = 1953 14029c13944 1954 < SDValue Splat2 = 1955 --- 1956 > SDValue Splat2 = 1488 1957 14530,14563d14444 1489 1958 < // Redirect Parabix Operation Lowering … … 1524 1993 < case X86ISD::PACKSS: return "X86ISD::PACKSS"; 1525 1994 < case X86ISD::PACKUS: return "X86ISD::PACKUS"; 1995 17031c16910 1996 < // to remove extra copies in the loop. 1997 --- 1998 > // to remove extra copies in the loop. 1999 18335c18214 2000 < CondVT == VT) { 2001 --- 2002 > CondVT == VT) { 2003 18386c18265 2004 < 2005 --- 2006 > 2007 18859c18738 2008 < 2009 --- 2010 > 1526 2011 19640,19646d19518 1527 2012 < // if Memsz is smaller than i8, no bigger interger type would devides the total … … 1539 2024 < if (R.getNode()) return R; 1540 2025 < 1541 diff -r -b parabix-llvm/lib/Target/X86/X86ISelLowering.h r209855/lib/Target/X86/X86ISelLowering.h 2026 21555c21421 2027 < // vmovaps %ymm1, (%r8) can use port 2, 3, or 7. 2028 --- 2029 > // vmovaps %ymm1, (%r8) can use port 2, 3, or 7. 2030 diff -r parabix-llvm/lib/Target/X86/X86ISelLowering.h r209855/lib/Target/X86/X86ISelLowering.h 1542 2031 318,319d317 1543 2032 < PACKSS, … … 1554 2043 Only in parabix-llvm/lib/Target/X86: X86ParabixISelLowering.cpp 1555 2044 Only in parabix-llvm/lib/Target/X86: X86ParabixISelLowering.h 1556 diff -r -bparabix-llvm/lib/Target/X86/X86RegisterInfo.td r209855/lib/Target/X86/X86RegisterInfo.td2045 diff -r parabix-llvm/lib/Target/X86/X86RegisterInfo.td r209855/lib/Target/X86/X86RegisterInfo.td 1557 2046 335,339d334 1558 2047 < // GR32 Extended, used for parabix … … 1573 2062 < v4i32, v2i64, v4f32, v2f64], 1574 2063 < 128, (add FR32)>; 1575 diff -r -bparabix-llvm/lib/Transforms/InstCombine/InstructionCombining.cpp r209855/lib/Transforms/InstCombine/InstructionCombining.cpp2064 diff -r parabix-llvm/lib/Transforms/InstCombine/InstructionCombining.cpp r209855/lib/Transforms/InstCombine/InstructionCombining.cpp 1576 2065 1236,1238d1235 1577 2066 < // Keep track of the type as we walk the GEP. 1578 2067 < Type *CurTy = Op1->getOperand(0)->getType()->getScalarType(); 1579 2068 < 1580 1251 c1248,12532069 1251,1252c1248,1255 1581 2070 < if (J > 1 && CurTy->isStructTy()) 2071 < return nullptr; 1582 2072 --- 1583 2073 > if (J > 1) { … … 1587 2077 > Idxs); 1588 2078 > if (Ty->isStructTy()) 1589 1252a1255 2079 > return nullptr; 1590 2080 > } 1591 2081 1263,1271d1265 … … 1599 2089 < } else { 1600 2090 < CurTy = nullptr; 1601 diff -r -bparabix-llvm/lib/Transforms/IPO/FunctionAttrs.cpp r209855/lib/Transforms/IPO/FunctionAttrs.cpp2091 diff -r parabix-llvm/lib/Transforms/IPO/FunctionAttrs.cpp r209855/lib/Transforms/IPO/FunctionAttrs.cpp 1602 2092 452,463d451 1603 2093 < bool Captures = true; … … 1627 2117 < AddUsersToWorklistIfCapturing(); 1628 2118 Only in parabix-llvm: README.md 1629 diff -r -b parabix-llvm/test/CodeGen/X86/avx-intrinsics-x86.ll r209855/test/CodeGen/X86/avx-intrinsics-x86.ll 2119 Only in r209855: README.txt 2120 diff -r parabix-llvm/test/CodeGen/X86/avx-intrinsics-x86.ll r209855/test/CodeGen/X86/avx-intrinsics-x86.ll 1630 2121 2221a2222,2229 1631 2122 > define <4 x double> @test_x86_avx_vbroadcast_sd_256(i8* %a0) { … … 1656 2147 Only in parabix-llvm/test/CodeGen/X86: x86-upgrade-avx-vbroadcast.ll 1657 2148 Only in parabix-llvm/test: Parabix 1658 diff -r -bparabix-llvm/test/TableGen/intrinsic-varargs.td r209855/test/TableGen/intrinsic-varargs.td2149 diff -r parabix-llvm/test/TableGen/intrinsic-varargs.td r209855/test/TableGen/intrinsic-varargs.td 1659 2150 26c26 1660 2151 < def isVoid : ValueType<0, 104>; // Produces no value 1661 2152 --- 1662 2153 > def isVoid : ValueType<0, 56>; // Produces no value 1663 diff -r -bparabix-llvm/test/Transforms/FunctionAttrs/nocapture.ll r209855/test/Transforms/FunctionAttrs/nocapture.ll2154 diff -r parabix-llvm/test/Transforms/FunctionAttrs/nocapture.ll r209855/test/Transforms/FunctionAttrs/nocapture.ll 1664 2155 71c71 1665 2156 < ; CHECK: define i1 @c7(i32* readonly %q, i32 %bitno) 1666 2157 --- 1667 2158 > ; CHECK: define i1 @c7(i32* readnone %q, i32 %bitno) 1668 diff -r -bparabix-llvm/test/Transforms/FunctionAttrs/readattrs.ll r209855/test/Transforms/FunctionAttrs/readattrs.ll2159 diff -r parabix-llvm/test/Transforms/FunctionAttrs/readattrs.ll r209855/test/Transforms/FunctionAttrs/readattrs.ll 1669 2160 54,67d53 1670 2161 < … … 1682 2173 < ret void 1683 2174 < } 1684 diff -r -bparabix-llvm/tools/CMakeLists.txt r209855/tools/CMakeLists.txt2175 diff -r parabix-llvm/tools/CMakeLists.txt r209855/tools/CMakeLists.txt 1685 2176 72c72 1686 2177 < #add_llvm_external_project(clang) 1687 2178 --- 1688 2179 > add_llvm_external_project(clang) 1689 diff -r -bparabix-llvm/tools/llc/llc.cpp r209855/tools/llc/llc.cpp2180 diff -r parabix-llvm/tools/llc/llc.cpp r209855/tools/llc/llc.cpp 1690 2181 179,180d178 1691 2182 < dbgs() << "WARN: Meng's build of llc running...\n"; 1692 2183 < 1693 diff -r -b parabix-llvm/utils/TableGen/CodeGenTarget.cpp r209855/utils/TableGen/CodeGenTarget.cpp 1694 55,56d54 2184 diff -r parabix-llvm/utils/TableGen/CodeGenTarget.cpp r209855/utils/TableGen/CodeGenTarget.cpp 2185 54,60c54,58 2186 < case MVT::i1: return "MVT::i1"; 1695 2187 < case MVT::i2: return "MVT::i2"; 1696 2188 < case MVT::i4: return "MVT::i4"; 2189 < case MVT::i8: return "MVT::i8"; 2190 < case MVT::i16: return "MVT::i16"; 2191 < case MVT::i32: return "MVT::i32"; 2192 < case MVT::i64: return "MVT::i64"; 2193 --- 2194 > case MVT::i1: return "MVT::i1"; 2195 > case MVT::i8: return "MVT::i8"; 2196 > case MVT::i16: return "MVT::i16"; 2197 > case MVT::i32: return "MVT::i32"; 2198 > case MVT::i64: return "MVT::i64"; 1697 2199 62,65d59 1698 2200 < case MVT::i256: return "MVT::i256"; … … 1702 2204 78d71 1703 2205 < case MVT::v1i1: return "MVT::v1i1"; 1704 85,107d77 2206 82,107c75,77 2207 < case MVT::v16i1: return "MVT::v16i1"; 2208 < case MVT::v32i1: return "MVT::v32i1"; 2209 < case MVT::v64i1: return "MVT::v64i1"; 1705 2210 < case MVT::v128i1: return "MVT::v128i1"; 1706 2211 < case MVT::v256i1: return "MVT::v256i1"; … … 1726 2231 < case MVT::v128i4: return "MVT::v128i4"; 1727 2232 < case MVT::v256i4: return "MVT::v256i4"; 1728 115d84 2233 --- 2234 > case MVT::v16i1: return "MVT::v16i1"; 2235 > case MVT::v32i1: return "MVT::v32i1"; 2236 > case MVT::v64i1: return "MVT::v64i1"; 2237 112,163c82,112 2238 < case MVT::v16i8: return "MVT::v16i8"; 2239 < case MVT::v32i8: return "MVT::v32i8"; 2240 < case MVT::v64i8: return "MVT::v64i8"; 1729 2241 < case MVT::v128i8: return "MVT::v128i8"; 1730 122d90 2242 < case MVT::v1i16: return "MVT::v1i16"; 2243 < case MVT::v2i16: return "MVT::v2i16"; 2244 < case MVT::v4i16: return "MVT::v4i16"; 2245 < case MVT::v8i16: return "MVT::v8i16"; 2246 < case MVT::v16i16: return "MVT::v16i16"; 2247 < case MVT::v32i16: return "MVT::v32i16"; 1731 2248 < case MVT::v64i16: return "MVT::v64i16"; 1732 128d95 2249 < case MVT::v1i32: return "MVT::v1i32"; 2250 < case MVT::v2i32: return "MVT::v2i32"; 2251 < case MVT::v4i32: return "MVT::v4i32"; 2252 < case MVT::v8i32: return "MVT::v8i32"; 2253 < case MVT::v16i32: return "MVT::v16i32"; 1733 2254 < case MVT::v32i32: return "MVT::v32i32"; 1734 134,145d100 2255 < case MVT::v1i64: return "MVT::v1i64"; 2256 < case MVT::v2i64: return "MVT::v2i64"; 2257 < case MVT::v4i64: return "MVT::v4i64"; 2258 < case MVT::v8i64: return "MVT::v8i64"; 2259 < case MVT::v16i64: return "MVT::v16i64"; 1735 2260 < case MVT::v1i128: return "MVT::v1i128"; 1736 2261 < case MVT::v2i128: return "MVT::v2i128"; … … 1745 2270 < 1746 2271 < case MVT::v1f16: return "MVT::v1f16"; 1747 149,151d103 2272 < case MVT::v2f16: return "MVT::v2f16"; 2273 < case MVT::v4f16: return "MVT::v4f16"; 2274 < case MVT::v8f16: return "MVT::v8f16"; 1748 2275 < case MVT::v16f16: return "MVT::v16f16"; 1749 2276 < case MVT::v32f16: return "MVT::v32f16"; 1750 2277 < case MVT::v64f16: return "MVT::v64f16"; 1751 157d108 2278 < case MVT::v1f32: return "MVT::v1f32"; 2279 < case MVT::v2f32: return "MVT::v2f32"; 2280 < case MVT::v4f32: return "MVT::v4f32"; 2281 < case MVT::v8f32: return "MVT::v8f32"; 2282 < case MVT::v16f32: return "MVT::v16f32"; 1752 2283 < case MVT::v32f32: return "MVT::v32f32"; 1753 162,163d112 2284 < case MVT::v1f64: return "MVT::v1f64"; 2285 < case MVT::v2f64: return "MVT::v2f64"; 2286 < case MVT::v4f64: return "MVT::v4f64"; 2287 < case MVT::v8f64: return "MVT::v8f64"; 1754 2288 < case MVT::v16f64: return "MVT::v16f64"; 1755 2289 < 1756 diff -r -b parabix-llvm/utils/vim/llvm.vim r209855/utils/vim/llvm.vim 2290 --- 2291 > case MVT::v16i8: return "MVT::v16i8"; 2292 > case MVT::v32i8: return "MVT::v32i8"; 2293 > case MVT::v64i8: return "MVT::v64i8"; 2294 > case MVT::v1i16: return "MVT::v1i16"; 2295 > case MVT::v2i16: return "MVT::v2i16"; 2296 > case MVT::v4i16: return "MVT::v4i16"; 2297 > case MVT::v8i16: return "MVT::v8i16"; 2298 > case MVT::v16i16: return "MVT::v16i16"; 2299 > case MVT::v32i16: return "MVT::v32i16"; 2300 > case MVT::v1i32: return "MVT::v1i32"; 2301 > case MVT::v2i32: return "MVT::v2i32"; 2302 > case MVT::v4i32: return "MVT::v4i32"; 2303 > case MVT::v8i32: return "MVT::v8i32"; 2304 > case MVT::v16i32: return "MVT::v16i32"; 2305 > case MVT::v1i64: return "MVT::v1i64"; 2306 > case MVT::v2i64: return "MVT::v2i64"; 2307 > case MVT::v4i64: return "MVT::v4i64"; 2308 > case MVT::v8i64: return "MVT::v8i64"; 2309 > case MVT::v16i64: return "MVT::v16i64"; 2310 > case MVT::v2f16: return "MVT::v2f16"; 2311 > case MVT::v4f16: return "MVT::v4f16"; 2312 > case MVT::v8f16: return "MVT::v8f16"; 2313 > case MVT::v1f32: return "MVT::v1f32"; 2314 > case MVT::v2f32: return "MVT::v2f32"; 2315 > case MVT::v4f32: return "MVT::v4f32"; 2316 > case MVT::v8f32: return "MVT::v8f32"; 2317 > case MVT::v16f32: return "MVT::v16f32"; 2318 > case MVT::v1f64: return "MVT::v1f64"; 2319 > case MVT::v2f64: return "MVT::v2f64"; 2320 > case MVT::v4f64: return "MVT::v4f64"; 2321 > case MVT::v8f64: return "MVT::v8f64"; 2322 diff -r parabix-llvm/utils/vim/llvm.vim r209855/utils/vim/llvm.vim 1757 2323 4c4 1758 2324 < " Version: $Revision$ 1759 2325 --- 1760 2326 > " Version: $Revision: 203866 $ 1761 diff -r -bparabix-llvm/utils/vim/tablegen.vim r209855/utils/vim/tablegen.vim2327 diff -r parabix-llvm/utils/vim/tablegen.vim r209855/utils/vim/tablegen.vim 1762 2328 4c4 1763 2329 < " Version: $Revision$ 1764 2330 --- 1765 2331 > " Version: $Revision: 151164 $ 1766 diff -r -bparabix-llvm/utils/vim/vimrc r209855/utils/vim/vimrc2332 diff -r parabix-llvm/utils/vim/vimrc r209855/utils/vim/vimrc 1767 2333 2c2 1768 2334 < " $Revision$
Note: See TracChangeset
for help on using the changeset viewer.