public static int RegisterSizeInBits(TArmRegisterTypeVFP aRegister) { int ret = 32; int value = (int)aRegister; // if (value >= 0 && value < (int)TArmRegisterTypeVFP.S00) { ret *= 2; } // return(ret); }
private void HandleDTOperation(ArmPrologueHelper aProlog, TArmRegisterTypeVFP[] aRegisterList) { int numberOfRegisters = aRegisterList.Length; if (numberOfRegisters > 0) { // The size of the register varies... but the list will be consistent. TArmRegisterTypeVFP first = aRegisterList[0]; // int numberOfBitsPerRegister = ArmVectorFloatingPointUtils.RegisterSizeInBits(first); int numberOfBytesPerRegister = numberOfBitsPerRegister / 8; int totalNumberOfBytes = numberOfBytesPerRegister * numberOfRegisters; int numberOfWords = totalNumberOfBytes / 4; // aProlog.AddToNumberOfWordsPushedOnStack(numberOfWords); } }