git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3260
4a8a32a2-be11-0410-ad9d-
d568d2c75423
needed for literals of LEFT_OP and '+'
* src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
introduced RESULT_TYPE_NOPROM
+ (geniCodeMultiply): fixed logic for decision if mul is optimized to
+ left shift
* src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
limited promotion to int only for '*'
* src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
efficient in most cases than 2 bytes result = 2 bytes << literal
if port has 1 byte muldiv */
if (p2 && !IS_FLOAT (letype)
- && !((resultType != RESULT_TYPE_INT) && (getSize (resType) != getSize (ltype))
+ && !((resultType == RESULT_TYPE_INT) && (getSize (resType) != getSize (ltype))
&& (port->support.muldiv == 1))
&& strcmp (port->target, "pic14") != 0 /* don't shift for pic */
&& strcmp (port->target, "pic16") != 0)