public void VpLoadDpb() { var m = new ProcedureBuilder(); var a2 = m.Reg32("a2", 10); var d3 = m.Reg32("d3", 3); var tmp = m.Temp(PrimitiveType.Byte, "tmp"); m.Assign(tmp, m.LoadB(a2)); m.Assign(d3, m.Dpb(d3, tmp, 0)); m.Store(m.IAdd(a2, 4), m.Cast(PrimitiveType.Byte, d3)); SsaState ssa = RunTest(m); var sExp = #region Expected @"a2:a2 def: def a2 uses: tmp_2 = Mem0[a2:byte] Mem5[a2 + 0x00000004:byte] = tmp_2 Mem0:Global memory def: def Mem0 uses: tmp_2 = Mem0[a2:byte] tmp_2: orig: tmp def: tmp_2 = Mem0[a2:byte] uses: d3_4 = DPB(d3, tmp_2, 0) Mem5[a2 + 0x00000004:byte] = tmp_2 d3:d3 def: def d3 uses: d3_4 = DPB(d3, tmp_2, 0) d3_4: orig: d3 def: d3_4 = DPB(d3, tmp_2, 0) Mem5: orig: Mem0 def: Mem5[a2 + 0x00000004:byte] = tmp_2 // ProcedureBuilder // Return size: 0 void ProcedureBuilder() ProcedureBuilder_entry: def a2 def Mem0 def d3 // succ: l1 l1: tmp_2 = Mem0[a2:byte] d3_4 = DPB(d3, tmp_2, 0) Mem5[a2 + 0x00000004:byte] = tmp_2 ProcedureBuilder_exit: "; #endregion AssertStringsEqual(sExp, ssa); }