protected override void Compile(CodeContext c) { var a = c.XmmSd("a"); var b = c.XmmSd("b"); c.SetArgument(0, a); c.SetArgument(1, b); c.Addsd(a, b); c.Ret(a); }
protected override void Compile(CodeContext c) { const int cnt = 7; var p = c.IntPtr("p"); var xv = new XmmVariable[cnt]; int i; for (i = 0; i < cnt; i++) { xv[i] = c.XmmSd("xv" + i); c.SetArgument(i, xv[i]); } c.SetArgument(7, p); c.Addsd(xv[0], xv[1]); c.Addsd(xv[0], xv[2]); c.Addsd(xv[0], xv[3]); c.Addsd(xv[0], xv[4]); c.Addsd(xv[0], xv[5]); c.Addsd(xv[0], xv[6]); c.Movsd(Memory.Ptr(p), xv[0]); }