aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mmix/mmix.md
AgeCommit message (Collapse)AuthorFilesLines
2004-02-04darwin.c, [...]: Fix comment formatting.Kazu Hirata1-2/+2
* config/darwin.c, config/darwin.h, config/freebsd-spec.h, config/arm/arm.c, config/arm/arm.md, config/cris/cris-protos.h, config/fr30/fr30.c, config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h, config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c, config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h, config/ip2k/ip2k.md, config/ip2k/libgcc.S, config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h, config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md, config/ns32k/netbsd.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pdp11/pdp11.h, config/rs6000/darwin-ldouble.c, config/s390/s390.h, config/s390/s390.md, config/sparc/netbsd-elf.h, config/sparc/openbsd.h, config/sparc/sparc.c, config/xtensa/lib2funcs.S: Fix comment formatting. From-SVN: r77268
2004-02-02arc.md, [...]: Replace gen_rtx with gen_rtx_fmt_e*.Kazu Hirata1-3/+4
* config/arc/arc.md, config/arm/arm.c, config/arm/arm.md, config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md, config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md, config/iq2000/iq2000.c, config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md, config/mn10300/mn10300.c, config/rs6000/rs6000.c, config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c, config/v850/v850.md, config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*. From-SVN: r77098
2003-06-30README: Fix spelling for "testcase".Volker Reichelt1-1/+1
2003-06-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> * g++.old-deja/g++.niklas/README: Fix spelling for "testcase". * g++.old-deja/g++.other/access2.C: Likewise. * g++.old-deja/g++.other/decl2.C: Likewise. * gcc.c-torture/execute/20020615-1.c: Likewise. 2003-06-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> * config/cris/cris.c: Fix spelling for "testcase". * config/cris/cris.h: Likewise. * config/cris/cris.md: Likewise. * config/mmix/crti.asm: Likewise. * config/mmix/mmix.h: Likewise. * config/mmix/mmix.md: Likewise. From-SVN: r68740
2003-03-08* config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.Hans-Peter Nilsson1-2/+4
From-SVN: r63997
2003-03-06mmix.md ("*movcc_expanded"): New pattern.Hans-Peter Nilsson1-1/+48
* config/mmix/mmix.md ("*movcc_expanded"): New pattern. ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New expanders. From-SVN: r63887
2002-10-26mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix, invalid for floating ↵Hans-Peter Nilsson1-1/+1
point mode result, with fix. * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix, invalid for floating point mode result, with fix. From-SVN: r58552
2002-09-24elfos.h: Follow spelling conventions.Kazu Hirata1-1/+1
* config/elfos.h: Follow spelling conventions. * config/alpha/alpha.h: Likewise. * config/arc/arc.h: Likewise. * config/arm/arm.md: Likewise. * config/avr/avr.h: Likewise. * config/cris/cris.md: Likewise. * config/d30v/d30v.h: Likewise. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. * config/i386/cygwin.h: Likewise. * config/i386/i386.h: Likewise. * config/i386/sysv3.h: Likewise. * config/i960/i960.h: Likewise. * config/ia64/ia64.h: Likewise. * config/ia64/ia64.md: Likewise. * config/ip2k/ip2k.h: Likewise. * config/m32r/m32r.h: Likewise. * config/m68k/m68k.h: Likewise. * config/m88k/m88k.h: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. * config/mips/mips.h: Likewise. * config/mmix/mmix.h: Likewise. * config/mmix/mmix.md: Likewise. * config/ns32k/netbsd.h: Likewise. * config/ns32k/ns32k.h: Likewise. * config/ns32k/ns32k.md: Likewise. * config/pa/pa.h: Likewise. * config/romp/romp.h: Likewise. * config/rs6000/rs6000.h: Likewise. * config/rs6000/rs6000.md: Likewise. * config/sparc/sparc.h: Likewise. * config/stormy16/stormy-abi: Likewise. * config/stormy16/stormy16.h: Likewise. * config/vax/vax.h: Likewise. From-SVN: r57468
2002-09-20mmix.md ("negdf2"): Rewrite.Hans-Peter Nilsson1-4/+13
* config/mmix/mmix.md ("negdf2"): Rewrite. ("*expanded_negdf2"): New. From-SVN: r57332
2002-08-12mmix.md (define_constants): Add MMIX_rR_REGNUM.Hans-Peter Nilsson1-4/+9
* config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM. ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark MMIX_rR_REGNUM as clobbered. * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM. From-SVN: r56238
2002-07-07Emit MMIX function prologue and epilogue as rtl.Hans-Peter Nilsson1-4/+26
* config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val, not unprototyped get_hard_reg_initial_val. ("call_value", "nonlocal_goto_receiver"): Ditto. ("return"): Make define_expand. Move real insn to... ("*expanded_return"): New pattern. ("prologue", "epilogue"): New define_expands. * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro. (struct machine_function): New member in_prologue. (FIRST_PSEUDO_REGISTER): Adjust for including rO as register. (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto. (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto. (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto. (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto. (LOCAL_REGNO): Define. Adjust comment. * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Consider regs_ever_live[MMIX_rJ_REGNUM], not just leaf_function_p. (MMIX_OUTPUT_REGNO): Don't translate registers while outputting the prologue. (mmix_target_asm_function_prologue): Make static. Just mark that the prologue is being emitted. Move guts to... (mmix_expand_prologue): New function. Adjust for emitting prologue as rtl. For sizes, use HOST_WIDE_INT only. (mmix_target_asm_function_epilogue): Make static. Simply emit a \n. Move guts to... (mmix_expand_epilogue): New function. Adjust for emitting epilogue as rtl. For sizes, use HOST_WIDE_INT only. (mmix_target_asm_function_end_prologue): Mark that the prologue has ended. (TARGET_ASM_FUNCTION_END_PROLOGUE): Define. (mmix_conditional_register_usage): Improve comments. (mmix_local_regno): New function. (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto. * config/mmix/mmix-protos.h (mmix_local_regno): Prototype. (mmix_expand_prologue, mmix_expand_epilogue): Ditto. (mmix_get_hard_reg_initial_val): Ditto. From-SVN: r55302
2002-06-30mmix.md ("return"): New pattern.Hans-Peter Nilsson1-2/+4
* config/mmix/mmix.md ("return"): New pattern. * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN) (TARGET_USE_RETURN_INSN): New macros. (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN. (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit. * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing. (MMIX_POP_ARGUMENT): New macro. (mmix_target_asm_function_prologue): When no epilogue is executed, just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn. (mmix_print_operand) <case '.'>: New case. (mmix_print_operand_punct_valid_p): Match '.'. (mmix_use_simple_return): New function. * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype. * doc/invoke.texi (Option Summary) <MMIX Summary>: Add -msingle-exit, -mno-single-exit. (MMIX Options): Ditto. From-SVN: r55121
2002-06-21mmix.md: Change GNU CC to GCC in file header comment.Hans-Peter Nilsson1-4/+4
* config/mmix/mmix.md: Change GNU CC to GCC in file header comment. * config/mmix/mmix.h: Ditto. * config/mmix/mmix-protos.h: Ditto. * config/mmix/mmix.c: Ditto. Fix typo in comment. * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header comment. Comment extra CC modes. From-SVN: r54869
2002-04-30mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed from ↵Hans-Peter Nilsson1-2/+4
MMIX_LAST_REGISTER_FILE_REGNUM. * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed from MMIX_LAST_REGISTER_FILE_REGNUM. (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment. (struct machine_function): New member highest_saved_stack_register previously static variable in mmix.c. (MACHINE_DEPENDENT_REORG): Define. * config/mmix/mmix.c (highest_saved_stack_register): Deleted. (MMIX_OUTPUT_REGNO): New. (mmix_target_asm_function_prologue): Move calculation of last used saved-stack-register into... (mmix_machine_dependent_reorg): New function. Update to also handle !TARGET_ABI_GNU. (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting register names, simplify somewhat by new variable regno. <case 'p'>: Remove fixed FIXME. Always emit highest used saved register. (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when emitting register names. (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto. (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too. Remove fixed FIXME. * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Declare. * config/mmix/mmix.md ("divmoddi4"): Update head comment. From-SVN: r52966
2002-03-31mmix.md (define_constants): Remove misleading FIXME.Hans-Peter Nilsson1-19/+52
* config/mmix/mmix.md (define_constants): Remove misleading FIXME. Add MMIX_fp_rO_OFFSET. ("nonlocal_goto_receiver"): Don't have stack-frame address of saved rO as part of the pattern. Remove FIXME. ("*nonlocal_goto_receiver_expanded"): Similar. Generate address here, at output-time. From-SVN: r51664
2002-03-18mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI (unsigned_fix:DF op1)), ↵Hans-Peter Nilsson1-1/+1
not (unsigned_fix:DI (fix:DF op1)). * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)). From-SVN: r50940
2002-03-17mmix.md ("truncdfsf2"): Correct operator is float_truncate, not fix.Hans-Peter Nilsson1-3/+3
* config/mmix/mmix.md ("truncdfsf2"): Correct operator is float_truncate, not fix. ("*truncdfsf2_real"): Ditto. ("*nonlocal_goto_receiver_expanded"): Fix output template formatting. From-SVN: r50913
2002-02-06Implement using "base addresses" in insn operands as default.Hans-Peter Nilsson1-2/+3
* config/mmix/mmix.c (mmix_conditional_register_usage): if -mabi=gnu, modify fixed_regs to fit the GNU ABI. (mmix_extra_constraint): Use 'R' to indicate that GETA should be used to read the rtx value. (mmix_target_asm_function_epilogue): Fix spacing. (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES. (mmix_legitimate_address): Ditto. (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that should be loaded with a GETA insn. Don't allocate needless extra char for nul termination and fix misleading comment. (mmix_print_operand_address): Handle constants if TARGET_BASE_ADDRESSES. (mmix_output_register_setting): Use base addressing if TARGET_BASE_ADDRESSES and the number of insns is 3. * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New. * config/mmix/mmix.md ("movdi"): Change the alternative with GETA to use R as constraint, add LDA to match s. * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New. (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES. (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses. (FIXED_REGISTERS): Make registers $231..$246 fixed by default. (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in order with other fixed registers. (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with other parameter/call-clobbered registers. * doc/invoke.texi (Option Summary) <MMIX Options>: Add -mbase-addresses, -mno-base-addresses. (MMIX Options): Ditto. From-SVN: r49536
2002-01-21Remove workaround for register stack overwrite bug in mmix.Hans-Peter Nilsson1-8/+2
* config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove support for TARGET_REG_STACK_FILL_BUG. * config/mmix/mmix.h: Remove member has_call_without_parameters. (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG): Delete. (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG. (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and -mno-reg-stack-fill-bug-workaround. * config/mmix/mmix.md ("call", "call_value"): Don't set struct machine member has_call_without_parameters. * doc/invoke.texi (Option Summary) <MMIX Options>: Remove -mreg-stack-fill-bug-workaround and -mno-reg-stack-fill-bug-workaround. (MMIX Options): Ditto. From-SVN: r49035
2002-01-05invoke.texi (Option Summary): Document -mbranch-predict, ↵Hans-Peter Nilsson1-1/+7
-mreg-stack-fill-bug-workaround and their negatives. * doc/invoke.texi (Option Summary) <MMIX Options>: Document -mbranch-predict, -mreg-stack-fill-bug-workaround and their negatives. (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend. * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework kludge for pre-october-14th mmix versions to handle new-found bug with PUSHJ/PUSHGO and the register stack. * config/mmix/mmix.h (struct machine_function): Rename member has_call_value_without_parameters to has_call_without_parameters. All referers changed. (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT TARGET_MASK_BRANCH_PREDICT): New macros. (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround, -mno-reg-stack-fill-bug-workaround. * config/mmix/mmix.md ("call"): Set struct machine member has_call_without_parameters. From-SVN: r48558
2002-01-01Update copyright years listHans-Peter Nilsson1-1/+1
From-SVN: r48449
2002-01-01mmix.md: Update FIXME to not mention define_constants.Hans-Peter Nilsson1-24/+23
* config/mmix/mmix.md: Update FIXME to not mention define_constants. (MMIX_rJ_REGNUM): New define_constants constant. ("movqi", "movsi", "movdi", "*movdicc_real_foldable", "*movdicc_real"): Adjust contraints formatting. ("*bCC_foldable"): Add %+ for P in output format and delete FIXME for branch prediction. ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in output template. ("*call_real", "*call_value_real", "nonlocal_goto_receiver", "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of number. Delete related FIXMEs. * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change from number to MMIX_rJ_REGNUM. (TARGET_MASK_BRANCH_PREDICT): New. (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT. (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols value. Add -mbranch-predict and -mno-branch-predict. (TARGET_VERSION): Drop date. (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number. * config/mmix/mmix.c (mmix_encode_section_info): Correct condition for finding out global symbols. (mmix_asm_output_labelref): Revert condition for global symbol. (mmix_print_operand): <case '+'>: Emit P for a likely branch. (mmix_print_operand_punct_valid_p): A '+' is valid. From-SVN: r48448
2001-12-30mmix.md ("*call_real"): Fix typo in comment.Hans-Peter Nilsson1-1/+1
* config/mmix/mmix.md ("*call_real"): Fix typo in comment. * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT to mmix_extra_constraint. * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle non-global register classes. Mark now unused parameters as such. (mmix_extra_constraint, 'U'): Use new parameter strict and call calling memory_operand_p or strict_memory_address_p, not address_operand. * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter. From-SVN: r48402
2001-11-03Fix formatting and comment typoHans-Peter Nilsson1-3/+3
From-SVN: r46750
2001-11-03config.gcc (mmix-*-*): New target.Hans-Peter Nilsson1-0/+1187
* config.gcc (mmix-*-*): New target. * doc/invoke.texi: Document MMIX options. * doc/contrib.texi: Add note about MMIX port to my entry. * config/mmix/t-mmix: New file. * config/mmix/mmix.h: New file. * config/mmix/mmix-protos.h: New file. * config/mmix/mmix.c: New file. * config/mmix/mmix.md: New file. * config/mmix/crti.asm: New file. * config/mmix/crtn.asm: New file. From-SVN: r46746