"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/dmd/backend/cod2.d" between
dmd-2.095.0.tar.gz and dmd-2.095.1.tar.gz

About: DMD (Digital Mars D) is the D reference compiler. D is an object-oriented, imperative, multi-paradigm system programming language.

cod2.d  (dmd-2.095.0):cod2.d  (dmd-2.095.1)
skipping to change at line 4021 skipping to change at line 4021
code *cnop = gennop(null); code *cnop = gennop(null);
genjmp(cdb, JE, FLcode, cast(block *)cnop); // JZ L2 genjmp(cdb, JE, FLcode, cast(block *)cnop); // JZ L2
genmovreg(cdb,CX,DX); // MOV ECX,EDX genmovreg(cdb,CX,DX); // MOV ECX,EDX
cdb.gen1(0xF3); // REPE cdb.gen1(0xF3); // REPE
cdb.gen1(0xA4); // MOVSB cdb.gen1(0xA4); // MOVSB
cdb.append(cnop); cdb.append(cnop);
} }
else else
{ {
getregs(cdb,mSI | mDI | mCX);
code* cnop; code* cnop;
if (zeroCheck) if (zeroCheck)
{ {
cnop = gennop(null); cnop = gennop(null);
gentstreg(cdb,CX); // TEST ECX,ECX gentstreg(cdb,CX); // TEST ECX,ECX
if (I64) if (I64)
code_orrex(cdb.last, REX_W); code_orrex(cdb.last, REX_W);
genjmp(cdb, JE, FLcode, cast(block *)cnop); // JZ cnop genjmp(cdb, JE, FLcode, cast(block *)cnop); // JZ cnop
} }
getregs(cdb,mSI | mDI | mCX);
if (I16 && config.flags4 & CFG4speed) // if speed optimization if (I16 && config.flags4 & CFG4speed) // if speed optimization
{ {
// Note this doesn't work if CX is 0 // Note this doesn't work if CX is 0
cdb.gen2(0xD1,(rex << 16) | modregrm(3,5,CX)); // SHR CX,1 cdb.gen2(0xD1,(rex << 16) | modregrm(3,5,CX)); // SHR CX,1
cdb.gen1(0xF3); // REPE cdb.gen1(0xF3); // REPE
cdb.gen1(0xA5); // MOVSW cdb.gen1(0xA5); // MOVSW
cdb.gen2(0x11,(rex << 16) | modregrm(3,CX,CX)); // ADC CX ,CX cdb.gen2(0x11,(rex << 16) | modregrm(3,CX,CX)); // ADC CX ,CX
} }
cdb.gen1(0xF3); // REPE cdb.gen1(0xF3); // REPE
cdb.gen1(0xA4); // MOVSB cdb.gen1(0xA4); // MOVSB
 End of changes. 2 change blocks. 
1 lines changed or deleted 1 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)