@@ -936,7 +936,7 @@ void getlvalue(ref CGstate cg,ref CodeBuilder cdb,ref code pcs,elem* e,regm_t ke
936936
937937 void Lptr (){
938938 if (config.flags3 & CFG3ptrchk)
939- cod3_ptrchk(cdb, pcs, keepmsk); // validate pointer code
939+ cod3_ptrchk(cg, cdb, pcs, keepmsk); // validate pointer code
940940 }
941941
942942
@@ -2931,7 +2931,7 @@ void callclib(ref CGstate cg, ref CodeBuilder cdb, elem* e, uint clib, ref regm_
29312931 */
29322932 if (config.flags3 & CFG3pic)
29332933 {
2934- load_localgot(cdb); // EBX gets set to this value
2934+ load_localgot(cg, cdb); // EBX gets set to this value
29352935 }
29362936 }
29372937
@@ -3833,7 +3833,7 @@ void cdfunc(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t pretregs)
38333833 if (I64 && config.exe != EX_WIN64 && e.Eflags & EFLAGS_variadic)
38343834 {
38353835 getregs(cdb,mAX);
3836- movregconst(cdb,AX ,xmmcnt,1 );
3836+ movregconst(cg, cdb,AX ,xmmcnt,1 );
38373837 keepmsk |= mAX;
38383838 }
38393839
@@ -3995,7 +3995,7 @@ private void funccall(ref CGstate cg, ref CodeBuilder cdb, elem* e, uint numpara
39953995 if (s != tls_get_addr_sym)
39963996 {
39973997 // printf("call %s\n", s.Sident.ptr);
3998- load_localgot(cdb);
3998+ load_localgot(cg, cdb);
39993999 cdbe.gencs(0xE8 , 0 , fl, s); // CALL extern
40004000 }
40014001 else if (I64 )
@@ -4026,7 +4026,7 @@ private void funccall(ref CGstate cg, ref CodeBuilder cdb, elem* e, uint numpara
40264026 elem* e11 = e1.E1 ;
40274027 tym_t e11ty = tybasic(e11.Ety);
40284028 assert (! I16 || (e11ty == (farfunc ? TYfptr : TYnptr)));
4029- load_localgot(cdb);
4029+ load_localgot(cg, cdb);
40304030 if (config.exe & (EX_LINUX | EX_FREEBSD | EX_OPENBSD | EX_SOLARIS )) // 32 bit only
40314031 {
40324032 if (config.flags3 & CFG3pic)
@@ -4697,7 +4697,7 @@ void pushParams(ref CGstate cg, ref CodeBuilder cdb, elem* e, uint stackalign, t
46974697 {
46984698 getregs_imm(cdb, mCX | retregs);
46994699 // MOV CX,sz/2
4700- movregconst(cdb, CX , npushes, 0 );
4700+ movregconst(cg, cdb, CX , npushes, 0 );
47014701 if (! doneoff)
47024702 { // This should be done when
47034703 // reg is loaded. Fix later
@@ -5445,7 +5445,7 @@ void loaddata(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t outretreg
54455445 }
54465446 else
54475447 {
5448- movregconst(cdb, reg, value, flags);
5448+ movregconst(cg, cdb, reg, value, flags);
54495449 flags = 0 ; // flags are already set
54505450 }
54515451 }
@@ -5457,22 +5457,22 @@ void loaddata(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t outretreg
54575457 regm_t mswflags = 0 ;
54585458 if (forregs & mES)
54595459 {
5460- movregconst(cdb, reg, msw, 0 ); // MOV reg,segment
5460+ movregconst(cg, cdb, reg, msw, 0 ); // MOV reg,segment
54615461 genregs(cdb, 0x8E , 0 , reg); // MOV ES,reg
54625462 msw = lsw; // MOV reg,offset
54635463 }
54645464 else
54655465 {
54665466 sreg = findreglsw(forregs);
5467- movregconst(cdb, sreg, lsw, 0 );
5467+ movregconst(cg, cdb, sreg, lsw, 0 );
54685468 reg = findregmsw(forregs);
54695469 /* Decide if we need to set flags when we load msw */
54705470 if (flags && (msw && msw|lsw || ! (msw|lsw)))
54715471 { mswflags = mPSW;
54725472 flags = 0 ;
54735473 }
54745474 }
5475- movregconst(cdb, reg, msw, mswflags);
5475+ movregconst(cg, cdb, reg, msw, mswflags);
54765476 }
54775477 else if (sz == 8 )
54785478 {
@@ -5486,34 +5486,34 @@ void loaddata(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t outretreg
54865486 */
54875487 regm_t rm = ALLREGS ;
54885488 const r = allocreg(cdb, rm, TYint); // allocate scratch register
5489- movregconst(cdb, r, p[0 ], 0 );
5489+ movregconst(cg, cdb, r, p[0 ], 0 );
54905490 cdb.genfltreg(0x89 , r, 0 ); // MOV floatreg,r
5491- movregconst(cdb, r, p[1 ], 0 );
5491+ movregconst(cg, cdb, r, p[1 ], 0 );
54925492 cdb.genfltreg(0x89 , r, 4 ); // MOV floatreg+4,r
54935493
54945494 const opmv = xmmload(tym);
54955495 cdb.genxmmreg(opmv, reg, 0 , tym); // MOVSS/MOVSD XMMreg,floatreg
54965496 }
54975497 else
54985498 {
5499- movregconst(cdb, findreglsw (forregs) ,p[0 ], 0 );
5500- movregconst(cdb, findregmsw (forregs) ,p[1 ], 0 );
5499+ movregconst(cg, cdb, findreglsw(forregs) ,p[0 ], 0 );
5500+ movregconst(cg, cdb, findregmsw(forregs) ,p[1 ], 0 );
55015501 }
55025502 }
55035503 else
55045504 { targ_short* p = &e.Vshort; // point to start of Vdouble
55055505
55065506 assert (reg == AX );
5507- movregconst(cdb, AX , p[3 ], 0 ); // MOV AX,p[3]
5508- movregconst(cdb, DX , p[0 ], 0 );
5509- movregconst(cdb, CX , p[1 ], 0 );
5510- movregconst(cdb, BX , p[2 ], 0 );
5507+ movregconst(cg, cdb, AX , p[3 ], 0 ); // MOV AX,p[3]
5508+ movregconst(cg, cdb, DX , p[0 ], 0 );
5509+ movregconst(cg, cdb, CX , p[1 ], 0 );
5510+ movregconst(cg, cdb, BX , p[2 ], 0 );
55115511 }
55125512 }
55135513 else if (I64 && sz == 16 )
55145514 {
5515- movregconst(cdb, findreglsw (forregs), cast (targ_size_t)e.Vcent.lo, 64 );
5516- movregconst(cdb, findregmsw (forregs), cast (targ_size_t)e.Vcent.hi, 64 );
5515+ movregconst(cg, cdb, findreglsw(forregs), cast (targ_size_t)e.Vcent.lo, 64 );
5516+ movregconst(cg, cdb, findregmsw(forregs), cast (targ_size_t)e.Vcent.hi, 64 );
55175517 }
55185518 else
55195519 assert (0 );
0 commit comments