diff --git a/compiler/arm/narmset.pas b/compiler/arm/narmset.pas index 35b34321a3..b5efc137fe 100644 --- a/compiler/arm/narmset.pas +++ b/compiler/arm/narmset.pas @@ -37,7 +37,7 @@ interface tarminnode = class(tcginnode) function pass_1: tnode; override; - procedure in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint); override; + procedure in_smallset(opdef: tdef; setbase: aint); override; end; tarmcasenode = class(tcgcasenode) @@ -77,7 +77,7 @@ implementation end; end; - procedure tarminnode.in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint); + procedure tarminnode.in_smallset(opdef: tdef; setbase: aint); var so : tshifterop; hregister : tregister; @@ -101,7 +101,7 @@ implementation hlcg.location_force_reg(current_asmdata.CurrAsmList, right.location, right.resultdef, right.resultdef, true); - hregister:=cg.getintregister(current_asmdata.CurrAsmList, uopsize); + hregister:=hlcg.getintregister(current_asmdata.CurrAsmList, opdef); current_asmdata.CurrAsmList.concat(taicpu.op_reg_const(A_MOV,hregister,1)); if GenerateThumbCode or GenerateThumb2Code then diff --git a/compiler/ncgset.pas b/compiler/ncgset.pas index 1fbe83f6e1..cc9099ac0e 100644 --- a/compiler/ncgset.pas +++ b/compiler/ncgset.pas @@ -44,7 +44,7 @@ interface { tcginnode } tcginnode = class(tinnode) - procedure in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint); virtual; + procedure in_smallset(opdef: tdef; setbase: aint); virtual; function pass_1: tnode;override; procedure pass_generate_code;override; @@ -182,12 +182,12 @@ implementation end; - procedure tcginnode.in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint); + procedure tcginnode.in_smallset(opdef: tdef; setbase: aint); begin { location is always LOC_REGISTER } - location_reset(location, LOC_REGISTER, uopsize{def_cgsize(resultdef)}); + location_reset(location, LOC_REGISTER, def_cgsize(resultdef)); { allocate a register for the result } - location.register := cg.getintregister(current_asmdata.CurrAsmList, uopsize); + location.register := hlcg.getintregister(current_asmdata.CurrAsmList, resultdef); {**************************** SMALL SET **********************} if left.location.loc=LOC_CONSTANT then begin @@ -206,9 +206,6 @@ implementation right.resultdef, resultdef, left.location.register, right.location, location.register); end; - location.size := def_cgsize(resultdef); - location.register := cg.makeregsize(current_asmdata.CurrAsmList, - location.register, location.size); end; @@ -406,7 +403,7 @@ implementation handle smallsets separate, because it allows faster checks } if use_small then begin - in_smallset(uopsize, opdef, setbase); + in_smallset(opdef, setbase); end else {************************** NOT SMALL SET ********************}