Lines Matching full:resultp
1451 After expr(RANK,resultP) input_line_pointer->operator of rank <= RANK.
1732 {resultP->X_extrabit:resultP->X_add_number} + {rhs_highbit:amount}. This
1738 add_to_result (expressionS *resultP, offsetT amount, int rhs_highbit)
1740 valueT ures = resultP->X_add_number;
1743 resultP->X_add_number += amount;
1745 resultP->X_extrabit ^= rhs_highbit;
1748 resultP->X_extrabit ^= 1;
1754 subtract_from_result (expressionS *resultP, offsetT amount, int rhs_highbit)
1756 valueT ures = resultP->X_add_number;
1759 resultP->X_add_number -= amount;
1761 resultP->X_extrabit ^= rhs_highbit;
1764 resultP->X_extrabit ^= 1;
1771 expressionS *resultP, /* Deliver result here. */
1790 retval = operand (resultP, mode);
1839 /* left-hand quantity in resultP. */
1843 if (resultP->X_op == O_big)
1845 if (resultP->X_add_number > 0)
1849 resultP->X_op = O_constant;
1850 resultP->X_add_number = 0;
1851 resultP->X_add_symbol = NULL;
1852 resultP->X_op_symbol = NULL;
1868 if (md_optimize_expr (resultP, op_left, &right))
1879 && (md_register_arithmetic || resultP->X_op != O_register))
1882 add_to_result (resultP, right.X_add_number, right.X_extrabit);
1887 && resultP->X_op == O_symbol
1890 && md_allow_local_subtract (resultP, & right, rightseg)
1893 && !S_FORCE_RELOC (resultP->X_add_symbol, 0)
1895 || right.X_add_symbol == resultP->X_add_symbol)
1896 && frag_offset_fixed_p (symbol_get_frag (resultP->X_add_symbol),
1900 offsetT symval_diff = S_GET_VALUE (resultP->X_add_symbol)
1902 subtract_from_result (resultP, right.X_add_number, right.X_extrabit);
1903 subtract_from_result (resultP, frag_off / OCTETS_PER_BYTE, 0);
1904 add_to_result (resultP, symval_diff, symval_diff < 0);
1905 resultP->X_op = O_constant;
1906 resultP->X_add_symbol = 0;
1909 && (md_register_arithmetic || resultP->X_op != O_register))
1912 subtract_from_result (resultP, right.X_add_number, right.X_extrabit);
1914 else if (op_left == O_add && resultP->X_op == O_constant
1918 resultP->X_op = right.X_op;
1919 resultP->X_add_symbol = right.X_add_symbol;
1920 resultP->X_op_symbol = right.X_op_symbol;
1921 add_to_result (resultP, right.X_add_number, right.X_extrabit);
1924 else if (resultP->X_op == O_constant && right.X_op == O_constant)
1939 resultP->X_add_number = v = 0;
1944 case O_multiply: resultP->X_add_number *= v; break;
1945 case O_divide: resultP->X_add_number /= v; break;
1946 case O_modulus: resultP->X_add_number %= v; break;
1947 case O_left_shift: resultP->X_add_number <<= v; break;
1951 resultP->X_add_number =
1952 (offsetT) ((valueT) resultP->X_add_number >> (valueT) v);
1954 case O_bit_inclusive_or: resultP->X_add_number |= v; break;
1955 case O_bit_or_not: resultP->X_add_number |= ~v; break;
1956 case O_bit_exclusive_or: resultP->X_add_number ^= v; break;
1957 case O_bit_and: resultP->X_add_number &= v; break;
1962 subtract_from_result (resultP, v, 0);
1965 resultP->X_add_number =
1966 resultP->X_add_number == v ? ~ (offsetT) 0 : 0;
1969 resultP->X_add_number =
1970 resultP->X_add_number != v ? ~ (offsetT) 0 : 0;
1973 resultP->X_add_number =
1974 resultP->X_add_number < v ? ~ (offsetT) 0 : 0;
1977 resultP->X_add_number =
1978 resultP->X_add_number <= v ? ~ (offsetT) 0 : 0;
1981 resultP->X_add_number =
1982 resultP->X_add_number >= v ? ~ (offsetT) 0 : 0;
1985 resultP->X_add_number =
1986 resultP->X_add_number > v ? ~ (offsetT) 0 : 0;
1989 resultP->X_add_number = resultP->X_add_number && v;
1992 resultP->X_add_number = resultP->X_add_number || v;
1996 else if (resultP->X_op == O_symbol
2000 || (resultP->X_add_number == 0
2004 resultP->X_op = op_left;
2005 resultP->X_op_symbol = right.X_add_symbol;
2007 add_to_result (resultP, right.X_add_number, right.X_extrabit);
2010 subtract_from_result (resultP, right.X_add_number,
2014 && !S_FORCE_RELOC (resultP->X_add_symbol, 0)
2026 resultP->X_add_symbol = make_expr_symbol (resultP);
2027 resultP->X_op_symbol = make_expr_symbol (&right);
2028 resultP->X_op = op_left;
2029 resultP->X_add_number = 0;
2030 resultP->X_unsigned = 1;
2031 resultP->X_extrabit = 0;
2064 if (resultP->X_add_symbol)
2065 symbol_mark_used (resultP->X_add_symbol);
2068 resolve_expression (resultP);
2070 return resultP->X_op == O_constant ? absolute_section : retval;