public void VfpuZeroOneMov4Test()
{
CpuThreadState.Vfpr.ClearAll(float.NaN);
var Vector0 = "0,0,0,0";
var Vector1 = "1,1,1,1";
var Vector2 = "0,1,1,0";
//CpuThreadState.Vfpr[4, "R320"] = new float[] { 2, 2, 2, 2 };
ExecuteAssembly(@"
vzero.q R100
vone.q R101
vone.q R102
vzero.q R103
vzero.q C200
vone.q C210
vone.q C220
vzero.q C230
vmov.q R400, C100
");
CpuThreadState.DumpVfpuRegisters(Console.Error);
Func<string, string> GetLine = (string Name) => { return String.Join(",", CpuThreadState.Vfpr[4, Name]); };
Assert.AreEqual(Vector0, GetLine("R100"));
Assert.AreEqual(Vector1, GetLine("R101"));
Assert.AreEqual(Vector1, GetLine("R102"));
Assert.AreEqual(Vector0, GetLine("R103"));
Assert.AreEqual(Vector2, GetLine("C100"));
Assert.AreEqual(Vector2, GetLine("C110"));
Assert.AreEqual(Vector2, GetLine("C120"));
Assert.AreEqual(Vector2, GetLine("C130"));
Assert.AreEqual(Vector0, GetLine("C200"));
Assert.AreEqual(Vector1, GetLine("C210"));
Assert.AreEqual(Vector1, GetLine("C220"));
Assert.AreEqual(Vector0, GetLine("C230"));
Assert.AreEqual(Vector2, GetLine("R200"));
Assert.AreEqual(Vector2, GetLine("R201"));
Assert.AreEqual(Vector2, GetLine("R202"));
Assert.AreEqual(Vector2, GetLine("R203"));
Assert.AreEqual(Vector2, GetLine("R400"));
}