55 * Copyright:   Copyright (C) 1984-1998 by Symantec 
66 *              Copyright (c) 2000-2017 by Digital Mars, All Rights Reserved 
77 * Authors:     $(LINK2 http://www.digitalmars.com, Walter Bright) 
8-  * License:     Distributed under the Boost Software License, Version 1.0. 
9-  *              http://www.boost.org/LICENSE_1_0.txt 
10-  * Source:      https://github.com/dlang/dmd/blob/master/src/ddmd/backend/cod1.c 
8+  * License:     $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 
9+  * Source:      $(LINK2 https://github.com/dlang/dmd/blob/master/src/ddmd/backend/cod1.c, backend/cod1.c) 
1110 */ 
1211
1312#if  !SPP 
@@ -373,7 +372,7 @@ void genstackclean(CodeBuilder& cdb,unsigned numpara,regm_t keepmsk)
373372            !config .windows  && 
374373            !(regcon .mvar  &  fregsaved )          // and no registers will be pushed 
375374        )
376-             cdb . append ( genregs (CNIL ,0x89 ,BP ,SP ) );  // MOV SP,BP 
375+             genregs (cdb ,0x89 ,BP ,SP );  // MOV SP,BP 
377376        else 
378377#endif 
379378        {   regm_t  scratchm  =  0 ;
@@ -668,7 +667,7 @@ void loadea(CodeBuilder& cdb,elem *e,code *cs,unsigned op,unsigned reg,targ_size
668667                code_orrex (cdb .last (), REX_W );
669668        }
670669        else  if  (reg  ==  6 )                      // if DIV 
671-             cdb . append ( genregs (CNIL ,0x33 ,DX ,DX ) );        // XOR DX,DX 
670+             genregs (cdb ,0x33 ,DX ,DX );        // XOR DX,DX 
672671  }
673672
674673  // Eliminate MOV reg,reg 
@@ -1024,7 +1023,7 @@ void getlvalue(CodeBuilder& cdb,code *pcs,elem *e,regm_t keepmsk)
10241023                    allocreg (cdb ,& idxregs ,& msreg ,TYfptr );
10251024                    msreg  =  findregmsw (idxregs );
10261025                                                /* MOV msreg,segreg     */ 
1027-                     cdb . append ( genregs (CNIL ,0x8C ,segfl [f ],msreg ) );
1026+                     genregs (cdb ,0x8C ,segfl [f ],msreg );
10281027                }
10291028                opsave  =  pcs -> Iop ;
10301029                flagsave  =  pcs -> Iflags ;
@@ -1521,7 +1520,7 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
15211520  if  (sz  ==  1 )
15221521  {
15231522        assert (regm  &  BYTEREGS );
1524-         cdb . append ( genregs (CNIL ,0x84 ,reg ,reg ) );        // TEST regL,regL 
1523+         genregs (cdb ,0x84 ,reg ,reg );        // TEST regL,regL 
15251524        if  (I64  &&  reg  >= 4 )
15261525            code_orrex (cdb .last (), REX );
15271526        return ;
@@ -1562,14 +1561,14 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
15621561            cdb .gen2 (0xD1 ,modregrmx (3 ,4 ,reg )); // SHL reg,1 
15631562            return ;
15641563        }
1565-         cdb . append ( gentstreg (CNIL ,reg ) );                 // TEST reg,reg 
1564+         gentstreg (cdb ,reg );                 // TEST reg,reg 
15661565        if  (sz  ==  SHORTSIZE )
15671566            cdb .last ()-> Iflags  |= CFopsize ;             // 16 bit operands 
15681567        else  if  (sz  ==  8 )
15691568            code_orrex (cdb .last (), REX_W );
15701569    }
15711570    else 
1572-         cdb . append ( gentstreg (CNIL ,reg ) );                 // TEST reg,reg 
1571+         gentstreg (cdb ,reg );                 // TEST reg,reg 
15731572    return ;
15741573  }
15751574
@@ -1585,7 +1584,7 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
15851584            if  (I32 )
15861585            {
15871586                if  (tyfv (tym ))
1588-                     cdb . append ( genregs (CNIL ,0x0FB7 ,scrreg ,reg ) ); // MOVZX scrreg,msreg 
1587+                     genregs (cdb ,0x0FB7 ,scrreg ,reg ); // MOVZX scrreg,msreg 
15891588                else 
15901589                {   cdb .append (genmovreg (CNIL ,scrreg ,reg ));      // MOV scrreg,msreg 
15911590                    if  (tym  ==  TYdouble  ||  tym  ==  TYdouble_alias )
@@ -1599,17 +1598,17 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
15991598                    cdb .gen2 (0xD1 ,modregrm (3 ,4 ,scrreg )); // SHL scrreg,1 
16001599            }
16011600            reg  =  findreglsw (regm );
1602-             cdb . append ( genorreg (CNIL ,scrreg ,reg ) );           // OR scrreg,lsreg 
1601+             genorreg (cdb ,scrreg ,reg );           // OR scrreg,lsreg 
16031602        }
16041603        else  if  (sz  ==  8 )
16051604        {
16061605            // !I32 
16071606            cdb .append (genmovreg (CNIL ,scrreg ,AX ));           // MOV scrreg,AX 
16081607            if  (tym  ==  TYdouble  ||  tym  ==  TYdouble_alias )
16091608                cdb .gen2 (0xD1 ,modregrm (3 ,4 ,scrreg ));         // SHL scrreg,1 
1610-             cdb . append ( genorreg (CNIL ,scrreg ,BX ) );            // OR scrreg,BX 
1611-             cdb . append ( genorreg (CNIL ,scrreg ,CX ) );            // OR scrreg,CX 
1612-             cdb . append ( genorreg (CNIL ,scrreg ,DX ) );            // OR scrreg,DX 
1609+             genorreg (cdb ,scrreg ,BX );            // OR scrreg,BX 
1610+             genorreg (cdb ,scrreg ,CX );            // OR scrreg,CX 
1611+             genorreg (cdb ,scrreg ,DX );            // OR scrreg,DX 
16131612        }
16141613        else 
16151614            assert (0 );
@@ -1625,7 +1624,7 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
16251624            getregs (cdb ,mask [reg ]);            // we're going to trash reg 
16261625            if  (tyfloating (tym ) &&  sz  ==  2  *  intsize )
16271626                cdb .gen2 (0xD1 ,modregrm (3 ,4 ,reg ));   // SHL reg,1 
1628-             cdb . append ( genorreg (CNIL ,reg ,findreglsw (regm ) ));     // OR reg,reg+1 
1627+             genorreg (cdb ,reg ,findreglsw (regm ));     // OR reg,reg+1 
16291628            if  (I64 )
16301629                code_orrex (cdb .last (), REX_W );
16311630       }
@@ -1634,9 +1633,9 @@ void tstresult(CodeBuilder& cdb,regm_t regm,tym_t tym,unsigned saveflag)
16341633            getregs (cdb ,mAX );                  // allocate AX 
16351634            if  (tym  ==  TYdouble  ||  tym  ==  TYdouble_alias )
16361635                cdb .gen2 (0xD1 ,modregrm (3 ,4 ,AX ));       // SHL AX,1 
1637-             cdb . append ( genorreg (CNIL ,AX ,BX ) );          // OR AX,BX 
1638-             cdb . append ( genorreg (CNIL ,AX ,CX ) );          // OR AX,CX 
1639-             cdb . append ( genorreg (CNIL ,AX ,DX ) );          // OR AX,DX 
1636+             genorreg (cdb ,AX ,BX );          // OR AX,BX 
1637+             genorreg (cdb ,AX ,CX );          // OR AX,CX 
1638+             genorreg (cdb ,AX ,DX );          // OR AX,DX 
16401639        }
16411640        else 
16421641            assert (0 );
@@ -3853,7 +3852,7 @@ void pushParams(CodeBuilder& cdb,elem *e,unsigned stackalign)
38533852        regm_t  retregs  =  allregs ;
38543853        unsigned  reg ;
38553854        allocreg (cdb ,& retregs ,& reg ,TYoffset );
3856-         cdb . append ( genregs (CNIL ,0x89 ,SP ,reg ) );        // MOV reg,SP 
3855+         genregs (cdb ,0x89 ,SP ,reg );        // MOV reg,SP 
38573856        if  (I64 )
38583857            code_orrex (cdb .last (), REX_W );
38593858        unsigned  np  =  stackpush  -  e -> EV .Vuns ;         // stack delta to parameter 
@@ -4145,7 +4144,7 @@ void pushParams(CodeBuilder& cdb,elem *e,unsigned stackalign)
41454144                regm_t  retregs ;
41464145                offsetinreg (cdb ,e ,& retregs );
41474146                unsigned  reg  =  findreg (retregs );
4148-                 cdb . append ( genpush (CNIL ,reg ));              // PUSH reg 
4147+                 genpush (cdb ,reg );                     // PUSH reg 
41494148                cdb .append (genadjesp (CNIL ,REGSIZE ));
41504149            }
41514150            return ;
@@ -4302,7 +4301,7 @@ void pushParams(CodeBuilder& cdb,elem *e,unsigned stackalign)
43024301            {
43034302                regwithvalue (cdb ,allregs ,value ,& reg ,0 );
43044303            Preg :
4305-                 cdb . append ( genpush (CNIL ,reg ) );         // PUSH reg 
4304+                 genpush (cdb ,reg );         // PUSH reg 
43064305            }
43074306            code_orflag (cdb .last (),flag );              // operand size 
43084307        } while  (i );
@@ -4381,7 +4380,7 @@ void pushParams(CodeBuilder& cdb,elem *e,unsigned stackalign)
43814380                retregs  =  IDXREGS ;                             // get an index reg 
43824381                unsigned  reg ;
43834382                allocreg (cdb ,& retregs ,& reg ,TYoffset );
4384-                 cdb . append ( genregs (CNIL ,0x89 ,SP ,reg ) );         // MOV reg,SP 
4383+                 genregs (cdb ,0x89 ,SP ,reg );         // MOV reg,SP 
43854384                pop87 ();
43864385                cdb .gen2 (op ,modregrm (0 ,r ,regtorm [reg ]));       // FSTP [reg] 
43874386            }
@@ -4401,13 +4400,13 @@ void pushParams(CodeBuilder& cdb,elem *e,unsigned stackalign)
44014400        stackpush  +=  sz ;
44024401    if  (sz  <= REGSIZE )
44034402    {
4404-         cdb . append ( genpush (CNIL ,findreg (retregs ) ));        // PUSH reg 
4403+         genpush (cdb ,findreg (retregs ));        // PUSH reg 
44054404        cdb .append (genadjesp (CNIL ,REGSIZE ));
44064405    }
44074406    else  if  (sz  ==  REGSIZE  *  2 )
44084407    {
4409-         cdb . append ( genpush (CNIL ,findregmsw (retregs ) ));     // PUSH msreg 
4410-         cdb . append ( genpush (CNIL ,findreglsw (retregs ) ));     // PUSH lsreg 
4408+         genpush (cdb ,findregmsw (retregs ));     // PUSH msreg 
4409+         genpush (cdb ,findreglsw (retregs ));     // PUSH lsreg 
44114410        cdb .append (genadjesp (CNIL ,sz ));
44124411    }
44134412}
@@ -4496,7 +4495,7 @@ void loaddata(CodeBuilder& cdb,elem *e,regm_t *pretregs)
44964495        if  (e -> Eoper  ==  OPconst )
44974496        {       /* TRUE:        OR SP,SP        (SP is never 0)         */ 
44984497                /* FALSE:       CMP SP,SP       (always equal)          */ 
4499-                 cdb . append ( genregs (CNIL ,(boolres (e )) ? 0x09  : 0x39 ,SP ,SP ) );
4498+                 genregs (cdb ,(boolres (e )) ? 0x09  : 0x39 ,SP ,SP );
45004499                if  (I64 )
45014500                    code_orrex (cdb .last (), REX_W );
45024501        }
@@ -4651,7 +4650,7 @@ void loaddata(CodeBuilder& cdb,elem *e,regm_t *pretregs)
46514650            if  (forregs  &  mES )
46524651            {
46534652                movregconst (cdb ,reg ,msw ,0 ); // MOV reg,segment 
4654-                 cdb . append ( genregs (CNIL ,0x8E ,0 ,reg ) );    // MOV ES,reg 
4653+                 genregs (cdb ,0x8E ,0 ,reg );    // MOV ES,reg 
46554654                msw  =  lsw ;                               // MOV reg,offset 
46564655            }
46574656            else 
0 commit comments