Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r33916
|
|
* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
64-bit ABI.
From-SVN: r33900
|
|
* config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
into account.
(logical_u_operand): Delete.
(non_logical_cint_operand): Rewrite to take MODE into account.
(non_logical_u_cint_operand): Delete.
(boolean_operator): New function.
(print_operand): Add new %q operand.
* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
remove logical_u_operand and non_logical_u_cint_operand,
update logical_operand and non_logical_cint_operand.
* config/rs6000/rs6000.md: Rewrite the patterns for performing
logical operations to use %q.
From-SVN: r33899
|
|
* config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
(movdi): Make similar to movsi.
* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
is no such thing as a DImode CONST_DOUBLE.
* config/rs6000/rs6000.c (output_toc): Likewise.
From-SVN: r33898
|
|
are in use.
* rs6000.c (output_cbranch): Don't output prediction codes
when old mnemonics are in use. Print register names
for cc registers when requested.
From-SVN: r33897
|
|
From-SVN: r33885
|
|
* config/alpha/alpha.c (struct shadow_summary): Define
bitfields as type unsigned int.
From-SVN: r33884
|
|
* config/avr/t-avr: Added definition of FLOAT while generates
fp-bit.c
* config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
peepholes for tst+jump = sbrs/sbrc optimization.
From-SVN: r33883
|
|
* config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
DWARF2_DEBUG.
(DWARF2_ASM_LINE_DEBUG_INFO): Define.
(ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
From-SVN: r33869
|
|
* config/mn10300/mn10300.c (print_operand): Print FP constants in
hexadecimal.
* config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
for FP values.
From-SVN: r33863
|
|
* config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
* config/avr/avr.c (jump_over_one_insn_p): New function.
* config/avr/avr.md: New peepholes added. Output test and
conditional jump to "sbrc" or "sbrs" command.
From-SVN: r33855
|
|
From-SVN: r33838
|
|
* config/ia64/ia64.md (insv): Add comment.
From-SVN: r33836
|
|
to int to avoid warnings.
* config/avr/avr-protos.h (extra_constraint): change a type of
second argument from char to int to avoid warnings.
(asm_output_byte): Likewise.
* config/avr/avr.c (MAX_LD_OFFSET) New macro.
(initial_elimination_offset): Handle elimination from
FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
(legitimate_address_p): Use MAX_LD_OFFSET.
(legitimize_address): Likewise.
(out_movqi_r_mr): Likewise.
(out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
(out_movsi_r_mr): Use MAX_LD_OFFSET.
(out_movsi_mr_r): Likewise.
(out_movqi_mr_r): Likewise.
(out_movhi_mr_r): Likewise.
(notice_update_cc): Correct CC for the ashrqi3 with the shift
count as CONST_INT != 6.
(ashlqi3_out): Coding style modifications. Run `fatal_insn' if
shift count is a CONSTANT_P, but not a CONST_INT.
(ashlhi3_out): Coding style modifications.
(ashlsi3_out): Likewise.
(ashrhi3_out): Likewise.
(ashrsi3_out): Likewise.
(lshrhi3_out): Likewise.
(lshrsi3_out): Likewise.
(ashrqi3_out): Generate shift for any known constant count without
scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
but not a CONST_INT.
(lshrqi3_out): Coding style modifications. Run `fatal_insn' if
shift count is a CONSTANT_P, but not a CONST_INT.
(extra_constraint): change a type of
second argument from char to int to avoid warnings.
(asm_output_byte): Likewise.
(asm_file_end): Output size generated commands count as a hex
number too.
* config/avr/avr.h (RETURN_ADDR_RTX): New macro.
* config/avr/avr.md (addhi3): Fragment commented by &&0 is
removed.
(ashlqi3): Values of "length" attribute changed. Shift count
uses constraints 'n' instead of 'i'.
(ashrqi3): Likewise. Values of "cc" attribute changed. Generate
shifts without clobber register.
(lshrqi3): Shift count uses constraints 'n' instead of 'i'.
(call_insn): Correct test for which_alternative == 1 (was 0).
(call_value_insn): Likewise.
* config/avr/t-avr: Remove definition of FLOAT while generates
fp-bit.c
From-SVN: r33802
|
|
* config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
* config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
(ia64_expand_prediction): New.
(emit_insn_group_barriers): Don't look at notes. Emit barriers
as needed after calls.
(ia64_epilogue_uses): Mark b0 used.
* config/ia64/ia64.md (beq_true, beq_false): Remove.
(bne_true, bne_false): Remove.
(eq_return, eq_not_return, ne_return, ne_not_return): Remove.
(br_true, br_false): New. Use predicate_operator and
ia64_expand_prediction.
(return_true, return_false): Likewise.
(call_internal): Use ia64_expand_prediction. Don't emit stop bit.
(call_internal1, call_value_internal): Likewise.
(call_value_internal1, call_multiple_values_internal1): Likewise.
From-SVN: r33793
|
|
From-SVN: r33789
|
|
From-SVN: r33788
|
|
* config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
From-SVN: r33782
|
|
* config/ia64/ia64.md (extendsfdf2): Split the nop case out
of existance.
From-SVN: r33779
|
|
From-SVN: r33778
|
|
* config/ia64/ia64.c (ia64_encode_section_info): Exit early
for global register variables; don't special case __[CD]TOR_LIST__;
mind ggc_p for string allocation.
From-SVN: r33776
|
|
From-SVN: r33769
|
|
2000-05-08 Andreas Jaeger <aj@suse.de>
* config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
support.
From-SVN: r33763
|
|
* rtl.def (COND_EXEC): Clarify.
* i386.md (extendsidi2): Clobber (reg:CC 17) in the
same fashion as zero_extendsidi2.
From-SVN: r33756
|
|
* config/ia64/ia64.c (predicate_operator): New.
(ia64_print_operand): Handle 'J'.
(rtx_needs_barrier): Handle COND_EXEC.
* config/ia64/ia64.h (BRANCH_COST): Define.
(PREDICATE_CODES): Update.
* config/ia64/ia64.md: Docuement used unspec values.
(attr predicable): New.
(movxf, movxf_internal): New.
(extendsfdf2): Don't comment out nop.
(floatdidf2): Remove.
(truncxfsf2, truncxfdf2, floatdixf2): New.
(abssi2, absdi2): Put the neg in the "true" slot.
(conditional branch instructions): Mark not predicable.
(cmov*_internal): Use predicate_operator. Split to cond_exec.
(abs*_internal): Likewise.
(alloc, set_bsp): Mark not predicable.
(barrier, insn_group_barrier, flush_cache): Likewise.
(define_cond_exec): New.
From-SVN: r33754
|
|
* config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
(symbolic_operand, function_operand, setjmp_operand): Likewise.
(shift_count_operand, shift_32bit_count_operand): Likewise.
(shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
(ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
(ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
(ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
(ia64_expand_builtin): Likewise.
(call_multiple_values_operation): Make dest_regno unsigned.
From-SVN: r33753
|
|
* c-decl.c: Include "tm_p.h".
* config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
(fetchadd_operand, ia64_expand_fetch_and_op): Declare.
(ia64_expand_op_and_fetch): Declare.
* config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace.
(setjmp_operand): Constify variables for XSTR.
(ia64_encode_section_info): Likewise.
(ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
values to int.
(ia64_asm_output_external): Constify name.
(process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
(process_for_unwind_directive): Provide switch default.
(ia64_expand_compare_and_swap): Remove unused variables.
(ia64_expand_builtin): Likewise.
* config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
for printing.
From-SVN: r33752
|
|
* arm.md (sibcall, sibcall_value): New expands.
(sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
(tailcalling peepholes): Delete.
(push_multi): Simplify.
* arm.c (lr_save_eliminated): Delete definition.
(pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
(output_return_instruction): Remove checks on lr_save_eliminated.
(output_arm_prologue): Remove old tail-calling code.
(arm_output_epilogue): New parameter, really_return. All callers
changed. Handle tail-calling epilogues.
* arm.h (lr_save_eliminated): Delete declaration.
(frame_pointer_needed): Delete declaration.
* arm-protos.h (arm_output_epilogue): Adjust prototype.
* arm.md (is_thumb): Examine symbol thumb_code, not expression
TARGET_ARM.
* arm.c (thumb_code): Define it.
(arm_override_options): Set it.
* arm.h (thumb_code): Declare it.
From-SVN: r33731
|
|
From-SVN: r33729
|
|
From-SVN: r33724
|
|
* arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
bogus clobber to insns.
(load_multiple_operation, store_mulitple_operation): Don't check
for it.
* arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
* arm.md (and_scc, ior_scc): Add missing mode.
* arm.md (call_value_symbol): Remove predicate from op2.
From-SVN: r33723
|
|
* xcoffout.c (xcoff_current_include_file,
xcoff_current_function_file, xcoff_lastfile): Constify char *.
(xcoffout_source_file, xcoffout_source_line): Make filename 'const
char *'.
(xcoffout_declare_function): Make name 'const char *'.
(xcoffout_end_epilogue): Make fname 'const char *'
* xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
xcoffout_declare_function, xcoffout_source_line): Match above.
* aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
-maix64 is error.
* rs6000.c (print_operand): Fix lossage typo.
(output_cbranch): Remove "cr" decoration for now.
* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
From-SVN: r33720
|
|
* config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
constant count.
From-SVN: r33719
|
|
From-SVN: r33713
|
|
platforms with dynamic libraries.
* config/openbsd.h (LINK_SPEC): pass correct flags to ld
to support -shared, on platforms with dynamic libraries.
From-SVN: r33711
|
|
shift count.
* config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
shift cycle for unknown shift count. Also generates dec + brpl.
(ashlqi3_out): Don't generate dec + brpl which now generates by
`out_shift_with_cnt'.
(ashlhi3_out): Likewise.
(ashlsi3_out): Likewise.
(ashrqi3_out): Likewise.
(ashrhi3_out): Likewise.
(ashrsi3_out): Likewise.
(lshrqi3_out): Likewise.
(lshrhi3_out): Likewise.
(lshrsi3_out): Likewise.
From-SVN: r33700
|
|
branch_comparison_operator.
* config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
comparison codes to branch_comparison_operator.
From-SVN: r33692
|
|
* config/rs6000/rs6000-protos.h: Add output_cbranch.
* config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
(print_operand): Delete %t and %T codes.
(output_cbranch): New function. Support branch prediction.
* config/rs6000/rs6000.md: Use output_cbranch for
conditional branches and returns.
From-SVN: r33686
|
|
From-SVN: r33682
|
|
2000-05-04 Mumit Khan <khan@xraylith.wisc.edu>
* i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
attribute macros from here ...
(CPP_SPEC): to here.
* i386/mingw32.h (CPP_PREDEFINES): Likewise.
(CPP_SPEC): Likewise.
* i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
From-SVN: r33677
|
|
* rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
MEM_ALIAS_SET.
* alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
when calling MEM_COPY_ATTRIBUTES.
* emit-rtl.c (operand_subword, change_address): Likewise.
* explow.c (stabilize): Likewise.
* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
when calling MEM_COPY_ATTRIBUTES.
(make_extraction, simplify_shift_const, gen_lowpart_for_combine):
Likewise.
* cse.c (gen_lowpart_if_possible): Likewise.
* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
* optabs.c (gen_move_insn): Likewise.
* recog.c (validate_replace_rtx_1): Likewise.
* simplify-rtx.c (add_mem_for_addr): Likewise.
* stmt.c (expand_anon_union_decl): Likewise.
* config/arm/arm.md: Likewise.
* config/h8300/h7300.c (fix_bit_operand): Likewise.
* config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
(block_move_no_loop, block_move_sequence): Likewise.
* config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
* config/alpha/alpha.c (get_aligned_mem): Likewise.
Clear MEM_ALIAS_SET.
* final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
MEM_COPY_ATTRIBUTES.
From-SVN: r33665
|
|
From-SVN: r33645
|
|
* config/avr/avr-protos.h (test_hard_reg_class): Declared.
* config/avr/avr.c (ashrhi3_out): optimized shift by 15.
(lshrhi3_out): Likewise.
(ashrsi3_out): bugfix in shift by 8.
(test_hard_reg_class): New function.
* config/avr/avr.md: Bugfix inside conditions in peepholes.
(ashlhi3): removed define_expand of this pattern.
(*ashlhi3_insn): renamed to ashlhi3.
(ashlsi3): removed define_expand of this pattern.
(*ashlsi3_insn): renamed to ashlsi3.
(ashrqi3): removed define_expand of this pattern.
(*ashrqi3_insn): renamed to ashrqi3.
(ashrhi3): removed define_expand of this pattern.
(*ashrhi3_insn): renamed to ashrhi3.
(ashrsi3): removed define_expand of this pattern.
(*ashrsi3_insn): renamed to ashrsi3.
(lshrhi3): removed define_expand of this pattern.
(*lshrhi3_insn): renamed to lshrhi3.
(lshrsi3): removed define_expand of this pattern.
(*lshrsi3_insn): renamed to lshrsi3.
From-SVN: r33640
|
|
From-SVN: r33639
|
|
* config/ia64/ia64.c (ia64_encode_section_info): Add check for
TREE_ASM_WRITTEN.
* config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
if -mauto-pic is on.
...
From-SVN: r33638
|
|
From-SVN: r33621
|
|
called for the second time on a decl...
2000-05-02 Andrew Haley <aph@cygnus.com>
* config/ia64/ia64.c (ia64_encode_section_info): Handle the case
where this function is called for the second time on a decl that
has had its section info changed in such a way as to move it out
of small data/bss.
* config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
From-SVN: r33609
|
|
* config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
as the dynamic linker.
From-SVN: r33584
|
|
From-SVN: r33579
|
|
From-SVN: r33578
|