1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Comptime support for memmove

This commit is contained in:
Brian Fiete 2023-04-17 12:42:49 -07:00
parent a1dbea2574
commit cb85c2b482

View file

@ -3052,6 +3052,7 @@ void CeBuilder::Build()
} }
break; break;
case BfIRIntrinsic_MemCpy: case BfIRIntrinsic_MemCpy:
case BfIRIntrinsic_MemMove:
{ {
CeOperand ceDestPtr = GetOperand(castedInst->mArgs[0].mValue); CeOperand ceDestPtr = GetOperand(castedInst->mArgs[0].mValue);
CeOperand ceSrcPtr = GetOperand(castedInst->mArgs[1].mValue); CeOperand ceSrcPtr = GetOperand(castedInst->mArgs[1].mValue);
@ -7578,7 +7579,7 @@ bool CeContext::Execute(CeFunction* startFunction, uint8* startStackPtr, uint8*
CE_CHECKSIZE(size); CE_CHECKSIZE(size);
CE_CHECKADDR(srcAddr, size); CE_CHECKADDR(srcAddr, size);
CE_CHECKADDR(destAddr, size); CE_CHECKADDR(destAddr, size);
memcpy(memStart + destAddr, memStart + srcAddr, size); memmove(memStart + destAddr, memStart + srcAddr, size);
} }
break; break;
case CeOp_FrameAddr_32: case CeOp_FrameAddr_32: