}
}
- {
+ if (_G.sregsAllocSet) {
regs *sr;
_G.sregsAllocSet = reverseSet( _G.sregsAllocSet );
#if 1
if(IS_BITFIELD( retype )
- && (SPEC_BLEN(operandType(result))==1)
+ && (SPEC_BLEN(retype)==1)
) {
iCode *nextic;
pCodeOp *jop;
/* everything is ok then */
/* find a way to optimize the genIfx iCode */
- bytestrt = SPEC_BSTR(operandType(result))/8;
- bitstrt = SPEC_BSTR(operandType(result))%8;
+ bytestrt = SPEC_BSTR(retype)/8;
+ bitstrt = SPEC_BSTR(retype)%8;
jop = pic16_popCopyGPR2Bit(pic16_popGet(AOP(left), 0), bitstrt);
pic16_addSign(result, AOP_SIZE(right), !IS_UNSIGNED(operandType(right)));
release:
- pic16_freeAsmop (right,NULL,ic,FALSE);
pic16_freeAsmop (result,NULL,ic,TRUE);
+ pic16_freeAsmop (right,NULL,ic,FALSE);
}
/*-----------------------------------------------------------------*/