浏览代码

Fixed LLVM cast intrinsic for vectors

Brian Fiete 3 年之前
父节点
当前提交
202d21734c
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      IDEHelper/Compiler/BfIRCodeGen.cpp

+ 4 - 2
IDEHelper/Compiler/BfIRCodeGen.cpp

@@ -3657,10 +3657,12 @@ void BfIRCodeGen::HandleNextCmd()
 								SetResult(curId, mIRBuilder->CreateAlignedLoad(castedRes, llvm::MaybeAlign(1)));
 							}
 						}
-						else
+						else if ((arg0Type->isVectorTy()) && (intrinsicData->mReturnType->isVectorTy()))
 						{
-							FatalError("Expected address");
+							SetResult(curId, mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType));
 						}
+						else
+							FatalError("Invalid cast intrinsic values");
 					}
 					break;
 				case BfIRIntrinsic_VAArg: