(operand_equal_p): Rework to consider two expressions that have
embedded identical SAVE_EXPRs as equivalent; also handle some more
cases.
From-SVN: r13385
(const_binop): Rework to only make constants in
one place; always use size_int if small enough and of sizetype.
(size_int): Call force_fit_type.
(fold): Avoid ever changing type of input tree.
From-SVN: r13377
must mask/sign-extend if bitfield.
(expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER,
to send arg of RETURN_POPS_ARGS.
From-SVN: r13373
(find_split_point, case SET): If SET_SRC is NE and
STORE_FLAG_VALUE is -1, see if we can convert into NEG of shift.
(force_to_mode, case NE): Make condition stricter.
From-SVN: r13370
(addsi3, addhi3): Use two addqw (or subqw) insns when adding (or
subtracting) small integer constants (8 < N <= 16) to both address and
data registers.
From-SVN: r13367
(macroexpand): Delete any no-reexpansion marker that follows an
identifier at the beginning of an argument that is concatenated with
what precedes it.
From-SVN: r13356
* pa/pa.c (fmpy_operands): Remove. No longer needed.
(combinable_add, combinable_copy, combinable_fmpy): Likewise.
(combinable_fadd, combineable_fsub): Likewise.
(pa_reorg): Call pa_combine_instructions.
(pa_combine_instructions): Combine instructions to make things
like fmpyadd and fmpysub.
(pa_can_combine_p): Helper function for pa_combine_instructions.
* pa/pa.md (pa_combine_type): New attribute. Set it appropriately
for various insns.
(define_delays): Use a separate define_delay for unconditional
branches.
(fmpyadd, fmpysub peepholes): Remove, no longer needed.
(fmpyadd, fmpysub insns): Add variant with fadd/fsub first,
then the fmpy.
From-SVN: r13346
* g++spec.c (lang_specific_driver): Put missing hyphen in front of
arguments we compare against. Start the count of I at 1, not 0,
since argv[0] is still the command.
From-SVN: r13338
* mn10300/mn10300.c (notice_update_cc): Enable this code.
* mn10300/mn10300.h (CC_OVERFLOW_UNUSABLE): Define.
* mn10300/mn10300.md (tstsi): Use "set_zn_c0" instead of "set"
for cc status.
(addsi3 pattern): Break "inc" into two different alternatives
since "inc dn" sets cc0, but "inc an" does not.
(multiply and divide patterns): Fix cc status.
(bCC, inverted bCC): Restore any comparison which needs the
overflow bits when CC_OVERFLOW_UNUSABLE is set.
(zero and sign extensions): Fix cc status.
(movm_store): Likewise.
From-SVN: r13337