diff options
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r-- | gcc/config/m68k/3b1.h | 4 | ||||
-rw-r--r-- | gcc/config/m68k/auxgas.h | 8 | ||||
-rw-r--r-- | gcc/config/m68k/crds.h | 4 | ||||
-rw-r--r-- | gcc/config/m68k/hp320.h | 4 | ||||
-rw-r--r-- | gcc/config/m68k/linux-aout.h | 3 | ||||
-rw-r--r-- | gcc/config/m68k/linux.h | 3 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.c | 7 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.h | 136 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.md | 606 | ||||
-rw-r--r-- | gcc/config/m68k/m68kv4.h | 18 | ||||
-rw-r--r-- | gcc/config/m68k/mot3300.h | 8 | ||||
-rw-r--r-- | gcc/config/m68k/news.h | 5 | ||||
-rw-r--r-- | gcc/config/m68k/sgs.h | 7 | ||||
-rw-r--r-- | gcc/config/m68k/t-openbsd | 5 | ||||
-rw-r--r-- | gcc/config/m68k/tower-as.h | 5 | ||||
-rw-r--r-- | gcc/config/m68k/xm-m68k.h | 5 |
16 files changed, 405 insertions, 423 deletions
diff --git a/gcc/config/m68k/3b1.h b/gcc/config/m68k/3b1.h index 739a28b92e0..0dac874744f 100644 --- a/gcc/config/m68k/3b1.h +++ b/gcc/config/m68k/3b1.h @@ -64,10 +64,6 @@ Boston, MA 02111-1307, USA. */ #define ASM_FILE_START(FILE) \ output_file_directive ((FILE), main_input_filename) -/* Don't try to define `gcc_compiled.' since the assembler might not - accept symbols with periods and GDB doesn't run on this machine anyway. */ -#define ASM_IDENTIFY_GCC(FILE) - /* Define __HAVE_68881__ in preprocessor if -m68881 is specified. This will control the use of inline 68881 insns in certain macros. */ diff --git a/gcc/config/m68k/auxgas.h b/gcc/config/m68k/auxgas.h index c2e0d567b45..c3c76352f93 100644 --- a/gcc/config/m68k/auxgas.h +++ b/gcc/config/m68k/auxgas.h @@ -31,14 +31,6 @@ Boston, MA 02111-1307, USA. */ #define ASM_OUTPUT_IDENT(FILE, NAME) \ fprintf (FILE, "\t.ident \"%s\"\n", NAME); -#ifdef IDENTIFY_WITH_IDENT -/* Put the GCC identification somewhere nicer, I think. - Does the COFF GDB use the "gcc2_complied." symbol anyway? */ -#define ASM_IDENTIFY_GCC(FILE) /* nothing */ -#define ASM_IDENTIFY_LANGUAGE(FILE) \ - fprintf (FILE, "\t.ident \"GCC (%s) %s\"\n", lang_identify(), version_string) -#endif - #ifdef USE_COLLECT2 #undef ASM_OUTPUT_CONSTRUCTOR #undef ASM_OUTPUT_DESTRUCTOR diff --git a/gcc/config/m68k/crds.h b/gcc/config/m68k/crds.h index b3e807843f4..12f0fb797bc 100644 --- a/gcc/config/m68k/crds.h +++ b/gcc/config/m68k/crds.h @@ -90,10 +90,6 @@ Boston, MA 02111-1307, USA. */ #define TARGET_MEM_FUNCTIONS -/* Don't try to define `gcc_compiled.' since the assembler might not - accept symbols with periods and GDB doesn't run on this machine anyway. */ -#define ASM_IDENTIFY_GCC(FILE) - /* Define __HAVE_68881__ in preprocessor if -m68881 is specified. This will control the use of inline 68881 insns in certain macros. */ diff --git a/gcc/config/m68k/hp320.h b/gcc/config/m68k/hp320.h index 83140058d2d..64a0e0d2c90 100644 --- a/gcc/config/m68k/hp320.h +++ b/gcc/config/m68k/hp320.h @@ -607,10 +607,6 @@ do { register int i; \ { fprintf ((FILE), "mov"); (PTR) += 4; } \ } -/* Prevent output of `gcc_compiled.:'. */ - -#define ASM_IDENTIFY_GCC(FILE) - #else /* not HPUX_ASM */ #undef FUNCTION_PROFILER diff --git a/gcc/config/m68k/linux-aout.h b/gcc/config/m68k/linux-aout.h index d4e5ec47573..dd07a4e983e 100644 --- a/gcc/config/m68k/linux-aout.h +++ b/gcc/config/m68k/linux-aout.h @@ -41,7 +41,8 @@ Boston, MA 02111-1307, USA. */ #endif #undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES {"ieee-fp", 0}, +#define SUBTARGET_SWITCHES {"ieee-fp", 0, \ + N_("Use IEEE math for fp comparisons") }, #undef ASM_SPEC #define ASM_SPEC \ diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 2dea947a07a..bf420917a1d 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -42,7 +42,8 @@ Boston, MA 02111-1307, USA. */ #define STRICT_ALIGNMENT 0 #undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES {"ieee-fp", 0}, +#define SUBTARGET_SWITCHES {"ieee-fp", 0, \ + N_("Use IEEE math for fp comparisons")}, /* Here are four prefixes that are used by asm_fprintf to facilitate customization for alternate assembler syntaxes. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 430e618e37e..4dd8850f1a4 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -29,11 +29,12 @@ Boston, MA 02111-1307, USA. */ #include "real.h" #include "insn-config.h" #include "conditions.h" -#include "insn-flags.h" #include "output.h" #include "insn-attr.h" #include "recog.h" #include "toplev.h" +#include "expr.h" +#include "reload.h" #include "tm_p.h" /* Needed for use_return_insn. */ @@ -878,7 +879,7 @@ not_sp_operand (op, mode) register rtx op; enum machine_mode mode; { - return op != stack_pointer_rtx && general_operand (op, mode); + return op != stack_pointer_rtx && nonimmediate_operand (op, mode); } /* Return TRUE if X is a valid comparison operator for the dbcc @@ -3334,7 +3335,7 @@ const_uint32_operand (op, mode) return (GET_CODE (op) == CONST_INT && (INTVAL (op) >= 0 && INTVAL (op) <= 0xffffffffL)); #else - return ((GET_CODE (op) == CONST_INT && INTVAL (op) >= 0) + return (GET_CODE (op) == CONST_INT || (GET_CODE (op) == CONST_DOUBLE && CONST_DOUBLE_HIGH (op) == 0)); #endif } diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index c20cba1b99d..382edbf5f20 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -147,63 +147,96 @@ extern int target_flags; where VALUE is the bits to set or minus the bits to clear. An empty string NAME is used to identify the default VALUE. */ -#define TARGET_SWITCHES \ - { { "68020", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY)}, \ - { "c68020", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY)}, \ - { "68020", (MASK_68020|MASK_BITFIELD)}, \ - { "c68020", (MASK_68020|MASK_BITFIELD)}, \ +#define TARGET_SWITCHES \ + { { "68020", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY), \ + N_("Generate code for a 68020") }, \ + { "c68020", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY), \ + N_("Generate code for a 68020") }, \ + { "68020", (MASK_68020|MASK_BITFIELD), "" }, \ + { "c68020", (MASK_68020|MASK_BITFIELD), "" }, \ { "68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \ - |MASK_68020|MASK_BITFIELD|MASK_68881)}, \ + |MASK_68020|MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a 68000") }, \ { "c68000", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \ - |MASK_68020|MASK_BITFIELD|MASK_68881)}, \ - { "bitfield", MASK_BITFIELD}, \ - { "nobitfield", - MASK_BITFIELD}, \ - { "rtd", MASK_RTD}, \ - { "nortd", - MASK_RTD}, \ - { "short", MASK_SHORT}, \ - { "noshort", - MASK_SHORT}, \ - { "fpa", -(MASK_SKY|MASK_68040_ONLY|MASK_68881)}, \ - { "fpa", MASK_FPA}, \ - { "nofpa", - MASK_FPA}, \ - { "sky", -(MASK_FPA|MASK_68040_ONLY|MASK_68881)}, \ - { "sky", MASK_SKY}, \ - { "nosky", - MASK_SKY}, \ - { "68881", - (MASK_FPA|MASK_SKY)}, \ - { "68881", MASK_68881}, \ - { "soft-float", - (MASK_FPA|MASK_SKY|MASK_68040_ONLY|MASK_68881)}, \ - { "68020-40", -(MASK_5200|MASK_68060|MASK_68040_ONLY)}, \ - { "68020-40", (MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040)}, \ - { "68020-60", -(MASK_5200|MASK_68040_ONLY)}, \ + |MASK_68020|MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a 68000") }, \ + { "bitfield", MASK_BITFIELD, \ + N_("Use the bit-field instructions") }, \ + { "nobitfield", - MASK_BITFIELD, \ + N_("Do not use the bit-field instructions") }, \ + { "rtd", MASK_RTD, \ + N_("Use different calling convention using 'rtd'") }, \ + { "nortd", - MASK_RTD, \ + N_("Use normal calling convention") }, \ + { "short", MASK_SHORT, \ + N_("Consider type `int' to be 16 bits wide") }, \ + { "noshort", - MASK_SHORT, \ + N_("Consider type `int' to be 32 bits wide") }, \ + { "fpa", -(MASK_SKY|MASK_68040_ONLY|MASK_68881), \ + N_("Generate code for a Sun FPA") }, \ + { "fpa", MASK_FPA, "" }, \ + { "nofpa", - MASK_FPA, \ + N_("Do not generate code for a Sun FPA") }, \ + { "sky", -(MASK_FPA|MASK_68040_ONLY|MASK_68881), \ + N_("") }, \ + { "sky", MASK_SKY, \ + N_("") }, \ + { "nosky", - MASK_SKY, \ + N_("") }, \ + { "68881", - (MASK_FPA|MASK_SKY), \ + N_("Generate code for a 68881") }, \ + { "68881", MASK_68881, "" }, \ + { "soft-float", - (MASK_FPA|MASK_SKY|MASK_68040_ONLY|MASK_68881), \ + N_("Generate code with library calls for floating point") }, \ + { "68020-40", -(MASK_5200|MASK_68060|MASK_68040_ONLY), \ + N_("Generate code for a 68040, without any new instructions") }, \ + { "68020-40", (MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040), ""},\ + { "68020-60", -(MASK_5200|MASK_68040_ONLY), \ + N_("Generate code for a 68060, without any new instructions") }, \ { "68020-60", (MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040 \ - |MASK_68060)}, \ - { "68030", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY)}, \ - { "68030", (MASK_68020|MASK_BITFIELD)}, \ - { "68040", - (MASK_5200|MASK_68060)}, \ + |MASK_68060), "" }, \ + { "68030", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY), \ + N_("Generate code for a 68030") }, \ + { "68030", (MASK_68020|MASK_BITFIELD), "" }, \ + { "68040", - (MASK_5200|MASK_68060), \ + N_("Generate code for a 68040") }, \ { "68040", (MASK_68020|MASK_68881|MASK_BITFIELD \ - |MASK_68040_ONLY|MASK_68040)}, \ - { "68060", - (MASK_5200|MASK_68040)}, \ + |MASK_68040_ONLY|MASK_68040), "" }, \ + { "68060", - (MASK_5200|MASK_68040), \ + N_("Generate code for a 68060") }, \ { "68060", (MASK_68020|MASK_68881|MASK_BITFIELD \ - |MASK_68040_ONLY|MASK_68060)}, \ + |MASK_68040_ONLY|MASK_68060), "" }, \ { "5200", - (MASK_68060|MASK_68040|MASK_68040_ONLY|MASK_68020 \ - |MASK_BITFIELD|MASK_68881)}, \ - { "5200", (MASK_5200)}, \ - { "68851", 0}, \ - { "no-68851", 0}, \ + |MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a 520X") }, \ + { "5200", (MASK_5200), "" }, \ + { "68851", 0, \ + N_("Generate code for a 68851") }, \ + { "no-68851", 0, \ + N_("Do no generate code for a 68851") }, \ { "68302", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \ - |MASK_68020|MASK_BITFIELD|MASK_68881)}, \ + |MASK_68020|MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a 68302") }, \ { "68332", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \ - |MASK_BITFIELD|MASK_68881)}, \ - { "68332", MASK_68020}, \ + |MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a 68332") }, \ + { "68332", MASK_68020, "" }, \ { "cpu32", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \ - |MASK_BITFIELD|MASK_68881)}, \ - { "cpu32", MASK_68020}, \ - { "align-int", MASK_ALIGN_INT }, \ - { "no-align-int", -MASK_ALIGN_INT }, \ - { "pcrel", MASK_PCREL}, \ - { "strict-align", -MASK_NO_STRICT_ALIGNMENT}, \ - { "no-strict-align", MASK_NO_STRICT_ALIGNMENT}, \ + |MASK_BITFIELD|MASK_68881), \ + N_("Generate code for a cpu32") }, \ + { "cpu32", MASK_68020, "" }, \ + { "align-int", MASK_ALIGN_INT, \ + N_("Align variables on a 32-bit boundary") }, \ + { "no-align-int", -MASK_ALIGN_INT, \ + N_("Align variables on a 16-bit boundary") }, \ + { "pcrel", MASK_PCREL, \ + N_("Generate pc-relative code") }, \ + { "strict-align", -MASK_NO_STRICT_ALIGNMENT, \ + N_("Do not use unaligned memory references") }, \ + { "no-strict-align", MASK_NO_STRICT_ALIGNMENT, \ + N_("Use unaligned memory references") }, \ SUBTARGET_SWITCHES \ - { "", TARGET_DEFAULT}} + { "", TARGET_DEFAULT, "" }} /* TARGET_DEFAULT is defined in sun*.h and isi.h, etc. */ /* This macro is similar to `TARGET_SWITCHES' but defines names of @@ -216,9 +249,12 @@ extern int target_flags; option if the fixed part matches. The actual option name is made by appending `-m' to the specified name. */ #define TARGET_OPTIONS \ -{ { "align-loops=", &m68k_align_loops_string }, \ - { "align-jumps=", &m68k_align_jumps_string }, \ - { "align-functions=", &m68k_align_funcs_string }, \ +{ { "align-loops=", &m68k_align_loops_string, \ + N_("Loop code aligned to this power of 2") }, \ + { "align-jumps=", &m68k_align_jumps_string, \ + N_("Jump targets are aligned to this power of 2") }, \ + { "align-functions=", &m68k_align_funcs_string, \ + N_("Function starts are aligned to this power of 2") }, \ SUBTARGET_OPTIONS \ } diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 75c552535c9..2f4af6cde99 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -885,7 +885,7 @@ ;This is never used. ;(define_insn "swapsi" -; [(set (match_operand:SI 0 "general_operand" "+r") +; [(set (match_operand:SI 0 "nonimmediate_operand" "+r") ; (match_operand:SI 1 "general_operand" "+r")) ; (set (match_dup 1) (match_dup 0))] ; "" @@ -896,7 +896,7 @@ ;; into a data reg with moveq in order to store it elsewhere. (define_insn "movsi_const0" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (const_int 0))] ;; clr insns on 68000 read before writing. ;; This isn't so on the 68010, but we have no TARGET_68010. @@ -943,7 +943,7 @@ ;; In both the PIC and non-PIC cases the patterns generated will ;; matched by the next define_insn. (define_expand "movsi" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (match_operand:SI 1 "general_operand" ""))] "" " @@ -977,7 +977,7 @@ ;; Notes: make sure no alternative allows g vs g. ;; We don't allow f-regs since fixed point cannot go in them. ;; We do allow y and x regs since fixed point is allowed in them. - [(set (match_operand:SI 0 "general_operand" "=g,d,a<,y,!*x*r*m") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,d,a<,y,!*x*r*m") (match_operand:SI 1 "general_src_operand" "daymSKT,n,i,g,*x*r*m"))] "!TARGET_5200" @@ -991,7 +991,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=r<Q>,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=r<Q>,g") (match_operand:SI 1 "general_operand" "g,r<Q>"))] "TARGET_5200" "* return output_move_simode (operands);") @@ -999,7 +999,7 @@ ;; Special case of fullword move, where we need to get a non-GOT PIC ;; reference into an address register. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=a<") + [(set (match_operand:SI 0 "nonimmediate_operand" "=a<") (match_operand:SI 1 "pcrel_address" ""))] "TARGET_PCREL" "* @@ -1010,87 +1010,87 @@ }") (define_expand "movhi" - [(set (match_operand:HI 0 "general_operand" "") + [(set (match_operand:HI 0 "nonimmediate_operand" "") (match_operand:HI 1 "general_operand" ""))] "" "") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (match_operand:HI 1 "general_src_operand" "gS"))] "!TARGET_5200" "* return output_move_himode (operands);") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=r<Q>,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=r<Q>,g") (match_operand:HI 1 "general_operand" "g,r<Q>"))] "TARGET_5200" "* return output_move_himode (operands);") (define_expand "movstricthi" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "")) (match_operand:HI 1 "general_src_operand" ""))] "" "") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm")) (match_operand:HI 1 "general_src_operand" "rmSn"))] "!TARGET_5200" "* return output_move_stricthi (operands);") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+d,m")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+d,m")) (match_operand:HI 1 "general_src_operand" "rmn,r"))] "TARGET_5200" "* return output_move_stricthi (operands);") (define_expand "movqi" - [(set (match_operand:QI 0 "general_operand" "") + [(set (match_operand:QI 0 "nonimmediate_operand" "") (match_operand:QI 1 "general_src_operand" ""))] "" "") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=d,*a,m") + [(set (match_operand:QI 0 "nonimmediate_operand" "=d,*a,m") (match_operand:QI 1 "general_src_operand" "dmSi*a,di*a,dmSi"))] "!TARGET_5200" "* return output_move_qimode (operands);") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=d<Q>,dm,d*a") + [(set (match_operand:QI 0 "nonimmediate_operand" "=d<Q>,dm,d*a") (match_operand:QI 1 "general_src_operand" "dmi,d<Q>,di*a"))] "TARGET_5200" "* return output_move_qimode (operands);") (define_expand "movstrictqi" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "")) (match_operand:QI 1 "general_src_operand" ""))] "" "") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm")) (match_operand:QI 1 "general_src_operand" "dmSn"))] "!TARGET_5200" "* return output_move_strictqi (operands);") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+d,m")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+d,m")) (match_operand:QI 1 "general_src_operand" "dmn,d"))] "TARGET_5200" "* return output_move_strictqi (operands);") (define_expand "movsf" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (match_operand:SF 1 "general_operand" ""))] "" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=rmf,x,y,rm,!x,!rm") + [(set (match_operand:SF 0 "nonimmediate_operand" "=rmf,x,y,rm,!x,!rm") (match_operand:SF 1 "general_operand" "rmfF,xH,rmF,y,rm,x"))] -; [(set (match_operand:SF 0 "general_operand" "=rmf") +; [(set (match_operand:SF 0 "nonimmediate_operand" "=rmf") ; (match_operand:SF 1 "general_operand" "rmfF"))] "!TARGET_5200" "* @@ -1170,23 +1170,23 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=r,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=r,g") (match_operand:SF 1 "general_operand" "g,r"))] "TARGET_5200" "* return \"move%.l %1,%0\";") (define_expand "movdf" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (match_operand:DF 1 "general_operand" ""))] "" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" + [(set (match_operand:DF 0 "nonimmediate_operand" "=*rm,*rf,*rf,&*rof<>,y,*rm,x,!x,!*rm") (match_operand:DF 1 "general_operand" "*rf,m,0,*rofE<>,*rmE,y,xH,*rm,x"))] -; [(set (match_operand:DF 0 "general_operand" "=rm,&rf,&rof<>") +; [(set (match_operand:DF 0 "nonimmediate_operand" "=rm,&rf,&rof<>") ; (match_operand:DF 1 "general_operand" "rf,m,rofF<>"))] "!TARGET_5200" "* @@ -1239,7 +1239,7 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=r,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=r,g") (match_operand:DF 1 "general_operand" "g,r"))] "TARGET_5200" "* return output_move_double (operands);") @@ -1359,7 +1359,7 @@ (define_expand "movdi" ;; Let's see if it really still needs to handle fp regs, and, if so, why. - [(set (match_operand:DI 0 "general_operand" "") + [(set (match_operand:DI 0 "nonimmediate_operand" "") (match_operand:DI 1 "general_operand" ""))] "" "") @@ -1367,11 +1367,11 @@ ;; movdi can apply to fp regs in some cases (define_insn "" ;; Let's see if it really still needs to handle fp regs, and, if so, why. - [(set (match_operand:DI 0 "general_operand" "=rm,r,&ro<>,y,rm,!*x,!rm") + [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,r,&ro<>,y,rm,!*x,!rm") (match_operand:DI 1 "general_operand" "rF,m,roi<>F,rmiF,y,rmF,*x"))] -; [(set (match_operand:DI 0 "general_operand" "=rm,&r,&ro<>,!&rm,!&f,y,rm,x,!x,!rm") +; [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,&r,&ro<>,!&rm,!&f,y,rm,x,!x,!rm") ; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfmF,rmi,y,rm,x"))] -; [(set (match_operand:DI 0 "general_operand" "=rm,&rf,&ro<>,!&rm,!&f") +; [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,&rf,&ro<>,!&rm,!&f") ; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfF"))] "!TARGET_5200" "* @@ -1411,7 +1411,7 @@ }") (define_insn "" - [(set (match_operand:DI 0 "general_operand" "=r,g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=r,g") (match_operand:DI 1 "general_operand" "g,r"))] "TARGET_5200" "* return output_move_double (operands);") @@ -1429,7 +1429,7 @@ ;; truncation instructions (define_insn "truncsiqi2" - [(set (match_operand:QI 0 "general_operand" "=dm,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,d") (truncate:QI (match_operand:SI 1 "general_src_operand" "doJS,i")))] "" @@ -1448,7 +1448,7 @@ }") (define_insn "trunchiqi2" - [(set (match_operand:QI 0 "general_operand" "=dm,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,d") (truncate:QI (match_operand:HI 1 "general_src_operand" "doJS,i")))] "" @@ -1476,7 +1476,7 @@ }") (define_insn "truncsihi2" - [(set (match_operand:HI 0 "general_operand" "=dm,d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm,d") (truncate:HI (match_operand:SI 1 "general_src_operand" "roJS,i")))] "" @@ -1497,7 +1497,7 @@ ;; zero extension instructions (define_insn "zero_extendqidi2" - [(set (match_operand:DI 0 "general_operand" "=&d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=&d") (zero_extend:DI (match_operand:QI 1 "general_operand" "dm")))] "" "* @@ -1508,7 +1508,7 @@ }") (define_insn "zero_extendhidi2" - [(set (match_operand:DI 0 "general_operand" "=&d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=&d") (zero_extend:DI (match_operand:HI 1 "general_operand" "rm")))] "" "* @@ -1520,7 +1520,7 @@ ;; this is the canonical form for (lshiftrt:DI x 32) (define_insn "zero_extendsidi2" - [(set (match_operand:DI 0 "general_operand" "=rm") + [(set (match_operand:DI 0 "nonimmediate_operand" "=rm") (zero_extend:DI (match_operand:SI 1 "general_operand" "rm")))] "" "* @@ -1597,7 +1597,7 @@ ;; of this case will result in worse code than the uncombined patterns. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=do<>,d<") + [(set (match_operand:SI 0 "nonimmediate_operand" "=do<>,d<") (zero_extend:SI (match_operand:HI 1 "nonimmediate_src_operand" "r,mS")))] "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* @@ -1626,7 +1626,7 @@ }") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=do<>,d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=do<>,d") (zero_extend:HI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))] "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* @@ -1667,7 +1667,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=do<>,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=do<>,d") (zero_extend:SI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))] "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* @@ -1720,7 +1720,7 @@ ;; sign extension instructions (define_insn "extendqidi2" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (sign_extend:DI (match_operand:QI 1 "general_src_operand" "rmS")))] "" "* @@ -1734,7 +1734,7 @@ }") (define_insn "extendhidi2" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (sign_extend:DI (match_operand:HI 1 "general_src_operand" "rmS")))] "" @@ -1749,7 +1749,7 @@ }") (define_insn "extendsidi2" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (sign_extend:DI (match_operand:SI 1 "general_operand" "rm")))] "" @@ -1796,7 +1796,7 @@ }") (define_insn "extendhisi2" - [(set (match_operand:SI 0 "general_operand" "=*d,a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=*d,a") (sign_extend:SI (match_operand:HI 1 "nonimmediate_src_operand" "0,rmS")))] "" @@ -1808,13 +1808,13 @@ }") (define_insn "extendqihi2" - [(set (match_operand:HI 0 "general_operand" "=d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=d") (sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0")))] "" "ext%.w %0") (define_insn "extendqisi2" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "0")))] "TARGET_68020 || TARGET_5200" "extb%.l %0") @@ -1822,21 +1822,21 @@ ;; Conversions between float and double. (define_expand "extendsfdf2" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (float_extend:DF (match_operand:SF 1 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y") (float_extend:DF (match_operand:SF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" "fpstod %w1,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=*fdm,f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=*fdm,f") (float_extend:DF (match_operand:SF 1 "general_operand" "f,dmF")))] "TARGET_68881" @@ -1869,14 +1869,14 @@ ;; sure of truncating in that case. ;; But on the Sun FPA, we can be sure. (define_expand "truncdfsf2" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (float_truncate:SF (match_operand:DF 1 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y") (float_truncate:SF (match_operand:DF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" @@ -1884,7 +1884,7 @@ ;; On the '040 we can truncate in a register accurately and easily. (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (float_truncate:SF (match_operand:DF 1 "general_operand" "fmG")))] "TARGET_68040_ONLY" @@ -1896,7 +1896,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=dm") + [(set (match_operand:SF 0 "nonimmediate_operand" "=dm") (float_truncate:SF (match_operand:DF 1 "general_operand" "f")))] "TARGET_68881" @@ -1911,61 +1911,61 @@ ;; rather than as QImode or HImode. (define_expand "floatsisf2" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (float:SF (match_operand:SI 1 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=y,x") + [(set (match_operand:SF 0 "nonimmediate_operand" "=y,x") (float:SF (match_operand:SI 1 "general_operand" "rmi,x")))] "TARGET_FPA" "fpltos %1,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (float:SF (match_operand:SI 1 "general_operand" "dmi")))] "TARGET_68881" "f%$move%.l %1,%0") (define_expand "floatsidf2" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (float:DF (match_operand:SI 1 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=y,x") + [(set (match_operand:DF 0 "nonimmediate_operand" "=y,x") (float:DF (match_operand:SI 1 "general_operand" "rmi,x")))] "TARGET_FPA" "fpltod %1,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (float:DF (match_operand:SI 1 "general_operand" "dmi")))] "TARGET_68881" "f%&move%.l %1,%0") (define_insn "floathisf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (float:SF (match_operand:HI 1 "general_operand" "dmn")))] "TARGET_68881" "f%$move%.w %1,%0") (define_insn "floathidf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (float:DF (match_operand:HI 1 "general_operand" "dmn")))] "TARGET_68881" "fmove%.w %1,%0") (define_insn "floatqisf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (float:SF (match_operand:QI 1 "general_operand" "dmn")))] "TARGET_68881" "fmove%.b %1,%0") (define_insn "floatqidf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (float:DF (match_operand:QI 1 "general_operand" "dmn")))] "TARGET_68881" "f%&move%.b %1,%0") @@ -1976,7 +1976,7 @@ ;; than calling the subroutines fixsfsi or fixdfsi. (define_insn "fix_truncdfsi2" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 3 "=d"))] @@ -1988,7 +1988,7 @@ }") (define_insn "fix_truncdfhi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (fix:HI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 3 "=d"))] @@ -2000,7 +2000,7 @@ }") (define_insn "fix_truncdfqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (fix:QI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 3 "=d"))] @@ -2015,7 +2015,7 @@ ;; This is the first stage of converting it to an integer type. (define_insn "ftruncdf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (fix:DF (match_operand:DF 1 "general_operand" "fFm")))] "TARGET_68881 && !TARGET_68040" "* @@ -2026,7 +2026,7 @@ }") (define_insn "ftruncsf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (fix:SF (match_operand:SF 1 "general_operand" "dfFm")))] "TARGET_68881 && !TARGET_68040" "* @@ -2039,37 +2039,37 @@ ;; Convert a float whose value is an integer ;; to an actual integer. Second stage of converting float to integer type. (define_insn "fixsfqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (fix:QI (match_operand:SF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.b %1,%0") (define_insn "fixsfhi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (fix:HI (match_operand:SF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.w %1,%0") (define_insn "fixsfsi2" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (fix:SI (match_operand:SF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.l %1,%0") (define_insn "fixdfqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (fix:QI (match_operand:DF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.b %1,%0") (define_insn "fixdfhi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (fix:HI (match_operand:DF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.w %1,%0") (define_insn "fixdfsi2" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (fix:SI (match_operand:DF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.l %1,%0") @@ -2078,13 +2078,13 @@ ;; On the Sun FPA, this is done in one step. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=x,y") + [(set (match_operand:SI 0 "nonimmediate_operand" "=x,y") (fix:SI (fix:SF (match_operand:SF 1 "general_operand" "xH,rmF"))))] "TARGET_FPA" "fpstol %w1,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=x,y") + [(set (match_operand:SI 0 "nonimmediate_operand" "=x,y") (fix:SI (fix:DF (match_operand:DF 1 "general_operand" "xH,rmF"))))] "TARGET_FPA" "fpdtol %y1,%0") @@ -2092,7 +2092,7 @@ ;; add instructions (define_insn "adddi_lshrdi_63" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "rm") (const_int 63)) (match_dup 1))) @@ -2126,7 +2126,7 @@ }") (define_insn "adddi_sexthishl32" - [(set (match_operand:DI 0 "general_operand" "=o,a,*d,*d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,a,*d,*d") (plus:DI (ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm,rm,rm,rm")) (const_int 32)) @@ -2145,7 +2145,7 @@ } ") (define_insn "adddi_dilshr32" - [(set (match_operand:DI 0 "general_operand" "=d,o") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d,o") ;; (plus:DI (match_operand:DI 2 "general_operand" "%0") ;; (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro") ;; (const_int 32))))] @@ -2164,7 +2164,7 @@ } ") (define_insn "adddi_dishl32" - [(set (match_operand:DI 0 "general_operand" "=r,o") + [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o") ;; (plus:DI (match_operand:DI 2 "general_operand" "%0") ;; (ashift:DI (match_operand:DI 1 "general_operand" "ro") ;; (const_int 32))))] @@ -2183,7 +2183,7 @@ } ") (define_insn "adddi3" - [(set (match_operand:DI 0 "general_operand" "=<,o<>,d,d,d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=<,o<>,d,d,d") (plus:DI (match_operand:DI 1 "general_operand" "%0,0,0,0,0") (match_operand:DI 2 "general_operand" "<,d,no>,d,a"))) (clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))] @@ -2275,7 +2275,7 @@ } ") (define_insn "addsi_lshrsi_31" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (plus:SI (lshiftrt:SI (match_operand:SI 1 "general_operand" "rm") (const_int 31)) (match_dup 1)))] @@ -2308,7 +2308,7 @@ }") (define_expand "addsi3" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (plus:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_src_operand" "")))] "" @@ -2319,7 +2319,7 @@ ;; This is needed since they are not themselves reloaded, ;; so commutativity won't apply to them. (define_insn "*addsi3_internal" - [(set (match_operand:SI 0 "general_operand" "=m,?a,?a,d,a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?a,?a,d,a") (plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0,0") (match_operand:SI 2 "general_src_operand" "dIKLT,rJK,a,mSrIKLT,mSrIKLs")))] @@ -2328,14 +2328,14 @@ "* return output_addsi3 (operands);") (define_insn "*addsi3_5200" - [(set (match_operand:SI 0 "general_operand" "=m,?a,?a,r") + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?a,?a,r") (plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0") (match_operand:SI 2 "general_src_operand" "d,rJK,a,mrIKLs")))] "TARGET_5200" "* return output_addsi3 (operands);") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=a") (plus:SI (match_operand:SI 1 "general_operand" "0") (sign_extend:SI (match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))] @@ -2343,7 +2343,7 @@ "add%.w %2,%0") (define_insn "addhi3" - [(set (match_operand:HI 0 "general_operand" "=m,r") + [(set (match_operand:HI 0 "nonimmediate_operand" "=m,r") (plus:HI (match_operand:HI 1 "general_operand" "%0,0") (match_operand:HI 2 "general_src_operand" "dn,rmSn")))] "!TARGET_5200" @@ -2405,7 +2405,7 @@ ;; operand in both positions. (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (plus:HI (match_dup 0) (match_operand:HI 1 "general_src_operand" "dn,rmSn")))] "!TARGET_5200" @@ -2461,7 +2461,7 @@ }") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (plus:HI (match_operand:HI 1 "general_src_operand" "dn,rmSn") (match_dup 0)))] "!TARGET_5200" @@ -2517,7 +2517,7 @@ }") (define_insn "addqi3" - [(set (match_operand:QI 0 "general_operand" "=m,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d") (plus:QI (match_operand:QI 1 "general_operand" "%0,0") (match_operand:QI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" @@ -2543,7 +2543,7 @@ }") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (plus:QI (match_dup 0) (match_operand:QI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" @@ -2569,7 +2569,7 @@ }") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (plus:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (match_dup 0)))] "!TARGET_5200" @@ -2595,14 +2595,14 @@ }") (define_expand "adddf3" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (plus:DF (match_operand:DF 1 "general_operand" "") (match_operand:DF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y") (plus:DF (match_operand:DF 1 "general_operand" "%xH,y") (match_operand:DF 2 "general_operand" "xH,dmF")))] "TARGET_FPA" @@ -2618,28 +2618,28 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (plus:DF (float:DF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&add%.l %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (plus:DF (float:DF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&add%.w %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (plus:DF (float:DF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&add%.b %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (plus:DF (match_operand:DF 1 "general_operand" "%0") (match_operand:DF 2 "general_operand" "fmG")))] "TARGET_68881" @@ -2651,14 +2651,14 @@ }") (define_expand "addsf3" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (plus:SF (match_operand:SF 1 "general_operand" "") (match_operand:SF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y") (plus:SF (match_operand:SF 1 "general_operand" "%xH,y") (match_operand:SF 2 "general_operand" "xH,rmF")))] "TARGET_FPA" @@ -2674,28 +2674,28 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (plus:SF (float:SF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" "f%$add%.l %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (plus:SF (float:SF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" "f%$add%.w %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (plus:SF (float:SF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" "f%$add%.b %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (plus:SF (match_operand:SF 1 "general_operand" "%0") (match_operand:SF 2 "general_operand" "fdmF")))] "TARGET_68881" @@ -2709,7 +2709,7 @@ ;; subtract instructions (define_insn "subdi_sexthishl32" - [(set (match_operand:DI 0 "general_operand" "=o,a,*d,*d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,a,*d,*d") (minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0") (ashift:DI (sign_extend:DI (match_operand:HI 2 "general_operand" "rm,rm,rm,rm")) (const_int 32)))) @@ -2727,7 +2727,7 @@ } ") (define_insn "subdi_dishl32" - [(set (match_operand:DI 0 "general_operand" "+ro") + [(set (match_operand:DI 0 "nonimmediate_operand" "+ro") (minus:DI (match_dup 0) (ashift:DI (match_operand:DI 1 "general_operand" "ro") (const_int 32))))] @@ -2743,7 +2743,7 @@ } ") (define_insn "subdi3" - [(set (match_operand:DI 0 "general_operand" "=<,o<>,d,d,d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=<,o<>,d,d,d") (minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0,0") (match_operand:DI 2 "general_operand" "<,d,no>,d,a"))) (clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))] @@ -2837,14 +2837,14 @@ } ") (define_insn "subsi3" - [(set (match_operand:SI 0 "general_operand" "=m,d,a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d,a") (minus:SI (match_operand:SI 1 "general_operand" "0,0,0") (match_operand:SI 2 "general_src_operand" "dT,mSrT,mSrs")))] "" "sub%.l %2,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=a") (minus:SI (match_operand:SI 1 "general_operand" "0") (sign_extend:SI (match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))] @@ -2852,42 +2852,42 @@ "sub%.w %2,%0") (define_insn "subhi3" - [(set (match_operand:HI 0 "general_operand" "=m,r") + [(set (match_operand:HI 0 "nonimmediate_operand" "=m,r") (minus:HI (match_operand:HI 1 "general_operand" "0,0") (match_operand:HI 2 "general_src_operand" "dn,rmSn")))] "!TARGET_5200" "sub%.w %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (minus:HI (match_dup 0) (match_operand:HI 1 "general_src_operand" "dn,rmSn")))] "!TARGET_5200" "sub%.w %1,%0") (define_insn "subqi3" - [(set (match_operand:QI 0 "general_operand" "=m,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d") (minus:QI (match_operand:QI 1 "general_operand" "0,0") (match_operand:QI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "sub%.b %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (minus:QI (match_dup 0) (match_operand:QI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "sub%.b %1,%0") (define_expand "subdf3" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (minus:DF (match_operand:DF 1 "general_operand" "") (match_operand:DF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y,y") (minus:DF (match_operand:DF 1 "general_operand" "xH,y,dmF") (match_operand:DF 2 "general_operand" "xH,dmF,0")))] "TARGET_FPA" @@ -2903,28 +2903,28 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (minus:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" "f%&sub%.l %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (minus:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%&sub%.w %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (minus:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%&sub%.b %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (minus:DF (match_operand:DF 1 "general_operand" "0") (match_operand:DF 2 "general_operand" "fmG")))] "TARGET_68881" @@ -2936,14 +2936,14 @@ }") (define_expand "subsf3" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (minus:SF (match_operand:SF 1 "general_operand" "") (match_operand:SF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y,y") (minus:SF (match_operand:SF 1 "general_operand" "xH,y,rmF") (match_operand:SF 2 "general_operand" "xH,rmF,0")))] "TARGET_FPA" @@ -2959,28 +2959,28 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (minus:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" "f%$sub%.l %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (minus:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%$sub%.w %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (minus:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%$sub%.b %2,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (minus:SF (match_operand:SF 1 "general_operand" "0") (match_operand:SF 2 "general_operand" "fdmF")))] "TARGET_68881" @@ -2994,7 +2994,7 @@ ;; multiply instructions (define_insn "mulhi3" - [(set (match_operand:HI 0 "general_operand" "=d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=d") (mult:HI (match_operand:HI 1 "general_operand" "%0") (match_operand:HI 2 "general_src_operand" "dmSn")))] "" @@ -3008,7 +3008,7 @@ }") (define_insn "mulhisi3" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (sign_extend:SI @@ -3024,7 +3024,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:SI 2 "const_int_operand" "n")))] @@ -3039,14 +3039,14 @@ }") (define_expand "mulsi3" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (mult:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_operand" "")))] "TARGET_68020 || TARGET_5200" "") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (match_operand:SI 1 "general_operand" "%0") (match_operand:SI 2 "general_src_operand" "dmSTK")))] @@ -3054,14 +3054,14 @@ "muls%.l %2,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (match_operand:SI 1 "general_operand" "%0") (match_operand:SI 2 "general_operand" "d<Q>")))] "TARGET_5200" "muls%.l %2,%0") (define_insn "umulhisi3" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (zero_extend:SI @@ -3077,7 +3077,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (mult:SI (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:SI 2 "const_int_operand" "n")))] @@ -3262,14 +3262,14 @@ "muls%.l %3,%0:%1") (define_expand "muldf3" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (mult:DF (match_operand:DF 1 "general_operand" "") (match_operand:DF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y") (mult:DF (match_operand:DF 1 "general_operand" "%xH,y") (match_operand:DF 2 "general_operand" "xH,rmF")))] "TARGET_FPA" @@ -3287,28 +3287,28 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (mult:DF (float:DF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&mul%.l %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (mult:DF (float:DF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&mul%.w %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (mult:DF (float:DF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:DF 1 "general_operand" "0")))] "TARGET_68881" "f%&mul%.b %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (mult:DF (match_operand:DF 1 "general_operand" "%0") (match_operand:DF 2 "general_operand" "fmG")))] "TARGET_68881" @@ -3327,14 +3327,14 @@ }") (define_expand "mulsf3" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (mult:SF (match_operand:SF 1 "general_operand" "") (match_operand:SF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y") (mult:SF (match_operand:SF 1 "general_operand" "%xH,y") (match_operand:SF 2 "general_operand" "xH,rmF")))] "TARGET_FPA" @@ -3352,7 +3352,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (mult:SF (float:SF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" @@ -3364,7 +3364,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (mult:SF (float:SF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" @@ -3376,7 +3376,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (mult:SF (float:SF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:SF 1 "general_operand" "0")))] "TARGET_68881" @@ -3388,7 +3388,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (mult:SF (match_operand:SF 1 "general_operand" "%0") (match_operand:SF 2 "general_operand" "fdmF")))] "TARGET_68881" @@ -3413,14 +3413,14 @@ ;; divide instructions (define_expand "divdf3" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (div:DF (match_operand:DF 1 "general_operand" "") (match_operand:DF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y,y") (div:DF (match_operand:DF 1 "general_operand" "xH,y,rmF") (match_operand:DF 2 "general_operand" "xH,rmF,0")))] "TARGET_FPA" @@ -3436,28 +3436,28 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (div:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" "f%&div%.l %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (div:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%&div%.w %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (div:DF (match_operand:DF 1 "general_operand" "0") (float:DF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" "f%&div%.b %2,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (div:DF (match_operand:DF 1 "general_operand" "0") (match_operand:DF 2 "general_operand" "fmG")))] "TARGET_68881" @@ -3469,14 +3469,14 @@ }") (define_expand "divsf3" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (div:SF (match_operand:SF 1 "general_operand" "") (match_operand:SF 2 "general_operand" "")))] "TARGET_68881 || TARGET_FPA" "") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y,y") (div:SF (match_operand:SF 1 "general_operand" "xH,y,rmF") (match_operand:SF 2 "general_operand" "xH,rmF,0")))] "TARGET_FPA" @@ -3492,7 +3492,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (div:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" @@ -3504,7 +3504,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (div:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" @@ -3516,7 +3516,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (div:SF (match_operand:SF 1 "general_operand" "0") (float:SF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" @@ -3528,7 +3528,7 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (div:SF (match_operand:SF 1 "general_operand" "0") (match_operand:SF 2 "general_operand" "fdmF")))] "TARGET_68881" @@ -3553,10 +3553,10 @@ ;; Remainder instructions. (define_insn "divmodsi4" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (div:SI (match_operand:SI 1 "general_operand" "0") (match_operand:SI 2 "general_src_operand" "dmSTK"))) - (set (match_operand:SI 3 "general_operand" "=d") + (set (match_operand:SI 3 "nonimmediate_operand" "=d") (mod:SI (match_dup 1) (match_dup 2)))] "TARGET_68020 && !TARGET_5200" "* @@ -3568,10 +3568,10 @@ }") (define_insn "udivmodsi4" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (udiv:SI (match_operand:SI 1 "general_operand" "0") (match_operand:SI 2 "general_src_operand" "dmSTK"))) - (set (match_operand:SI 3 "general_operand" "=d") + (set (match_operand:SI 3 "nonimmediate_operand" "=d") (umod:SI (match_dup 1) (match_dup 2)))] "TARGET_68020 && !TARGET_5200" "* @@ -3583,10 +3583,10 @@ }") (define_insn "divmodhi4" - [(set (match_operand:HI 0 "general_operand" "=d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=d") (div:HI (match_operand:HI 1 "general_operand" "0") (match_operand:HI 2 "general_src_operand" "dmSKT"))) - (set (match_operand:HI 3 "general_operand" "=d") + (set (match_operand:HI 3 "nonimmediate_operand" "=d") (mod:HI (match_dup 1) (match_dup 2)))] "!TARGET_5200" "* @@ -3606,10 +3606,10 @@ }") (define_insn "udivmodhi4" - [(set (match_operand:HI 0 "general_operand" "=d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=d") (udiv:HI (match_operand:HI 1 "general_operand" "0") (match_operand:HI 2 "general_src_operand" "dmSKT"))) - (set (match_operand:HI 3 "general_operand" "=d") + (set (match_operand:HI 3 "nonimmediate_operand" "=d") (umod:HI (match_dup 1) (match_dup 2)))] "!TARGET_5200" "* @@ -3632,7 +3632,7 @@ ;; "anddi3" is mainly here to help combine(). (define_insn "anddi3" - [(set (match_operand:DI 0 "general_operand" "=o,d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d") (and:DI (match_operand:DI 1 "general_operand" "%0,0") (match_operand:DI 2 "general_operand" "dn,don")))] "!TARGET_5200" @@ -3726,42 +3726,42 @@ "and%.l %2,%0") (define_insn "andhi3" - [(set (match_operand:HI 0 "general_operand" "=m,d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=m,d") (and:HI (match_operand:HI 1 "general_operand" "%0,0") (match_operand:HI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "and%.w %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (and:HI (match_dup 0) (match_operand:HI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "and%.w %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (and:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn") (match_dup 0)))] "!TARGET_5200" "and%.w %1,%0") (define_insn "andqi3" - [(set (match_operand:QI 0 "general_operand" "=m,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d") (and:QI (match_operand:QI 1 "general_operand" "%0,0") (match_operand:QI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "and%.b %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (and:QI (match_dup 0) (match_operand:QI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "and%.b %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (and:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (match_dup 0)))] "!TARGET_5200" @@ -3770,7 +3770,7 @@ ;; inclusive-or instructions (define_insn "iordi_zext" - [(set (match_operand:DI 0 "general_operand" "=o,d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d") (ior:DI (zero_extend:DI (match_operand 1 "general_operand" "dn,dmn")) (match_operand:DI 2 "general_operand" "0,0")))] "!TARGET_5200" @@ -3796,7 +3796,7 @@ ;; "iordi3" is mainly here to help combine(). (define_insn "iordi3" - [(set (match_operand:DI 0 "general_operand" "=o,d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d") (ior:DI (match_operand:DI 1 "general_operand" "%0,0") (match_operand:DI 2 "general_operand" "dn,don")))] "!TARGET_5200" @@ -3866,14 +3866,14 @@ }") (define_expand "iorsi3" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (ior:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_src_operand" "")))] "" "") (define_insn "iorsi3_internal" - [(set (match_operand:SI 0 "general_operand" "=m,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d") (ior:SI (match_operand:SI 1 "general_operand" "%0,0") (match_operand:SI 2 "general_src_operand" "dKT,dmSMT")))] "! TARGET_5200" @@ -3883,49 +3883,49 @@ }") (define_insn "iorsi3_5200" - [(set (match_operand:SI 0 "general_operand" "=m,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d") (ior:SI (match_operand:SI 1 "general_operand" "%0,0") (match_operand:SI 2 "general_src_operand" "d,dmsK")))] "TARGET_5200" "or%.l %2,%0") (define_insn "iorhi3" - [(set (match_operand:HI 0 "general_operand" "=m,d") + [(set (match_operand:HI 0 "nonimmediate_operand" "=m,d") (ior:HI (match_operand:HI 1 "general_operand" "%0,0") (match_operand:HI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "or%.w %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (ior:HI (match_dup 0) (match_operand:HI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "or%.w %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d")) (ior:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn") (match_dup 0)))] "!TARGET_5200" "or%.w %1,%0") (define_insn "iorqi3" - [(set (match_operand:QI 0 "general_operand" "=m,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d") (ior:QI (match_operand:QI 1 "general_operand" "%0,0") (match_operand:QI 2 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "or%.b %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (ior:QI (match_dup 0) (match_operand:QI 1 "general_src_operand" "dn,dmSn")))] "!TARGET_5200" "or%.b %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d")) (ior:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (match_dup 0)))] "!TARGET_5200" @@ -3935,7 +3935,7 @@ ;; See also ashlsi_16, ashrsi_16 and lshrsi_16. (define_insn "iorsi_zexthi_ashl16" - [(set (match_operand:SI 0 "general_operand" "=&d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=&d") (ior:SI (zero_extend:SI (match_operand:HI 1 "general_operand" "rmn")) (ashift:SI (match_operand:SI 2 "general_operand" "or") (const_int 16))))] @@ -3952,7 +3952,7 @@ }") (define_insn "iorsi_zext" - [(set (match_operand:SI 0 "general_operand" "=o,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=o,d") (ior:SI (zero_extend:SI (match_operand 1 "general_operand" "dn,dmn")) (match_operand:SI 2 "general_operand" "0,0")))] "!TARGET_5200" @@ -3974,7 +3974,7 @@ ;; "xordi3" is mainly here to help combine(). (define_insn "xordi3" - [(set (match_operand:DI 0 "general_operand" "=od") + [(set (match_operand:DI 0 "nonimmediate_operand" "=od") (xor:DI (match_operand:DI 1 "general_operand" "%0") (match_operand:DI 2 "general_operand" "dn")))] "!TARGET_5200" @@ -4047,14 +4047,14 @@ }") (define_expand "xorsi3" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (xor:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_operand" "")))] "" "") (define_insn "xorsi3_internal" - [(set (match_operand:SI 0 "general_operand" "=do,m") + [(set (match_operand:SI 0 "nonimmediate_operand" "=do,m") (xor:SI (match_operand:SI 1 "general_operand" "%0,0") (match_operand:SI 2 "general_operand" "di,dKT")))] @@ -4065,49 +4065,49 @@ }") (define_insn "xorsi3_5200" - [(set (match_operand:SI 0 "general_operand" "=dm,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm,d") (xor:SI (match_operand:SI 1 "general_operand" "%0,0") (match_operand:SI 2 "general_operand" "d,Ks")))] "TARGET_5200" "eor%.l %2,%0") (define_insn "xorhi3" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (xor:HI (match_operand:HI 1 "general_operand" "%0") (match_operand:HI 2 "general_operand" "dn")))] "!TARGET_5200" "eor%.w %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm")) (xor:HI (match_dup 0) (match_operand:HI 1 "general_operand" "dn")))] "!TARGET_5200" "eor%.w %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm")) (xor:HI (match_operand:HI 1 "general_operand" "dn") (match_dup 0)))] "!TARGET_5200" "eor%.w %1,%0") (define_insn "xorqi3" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (xor:QI (match_operand:QI 1 "general_operand" "%0") (match_operand:QI 2 "general_operand" "dn")))] "!TARGET_5200" "eor%.b %2,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm")) (xor:QI (match_dup 0) (match_operand:QI 1 "general_operand" "dn")))] "!TARGET_5200" "eor%.b %1,%0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm")) (xor:QI (match_operand:QI 1 "general_operand" "dn") (match_dup 0)))] "!TARGET_5200" @@ -4116,7 +4116,7 @@ ;; negation instructions (define_expand "negdi2" - [(set (match_operand:DI 0 "general_operand" "") + [(set (match_operand:DI 0 "nonimmediate_operand" "") (neg:DI (match_operand:DI 1 "general_operand" "")))] "" " @@ -4129,7 +4129,7 @@ }") (define_insn "negdi2_internal" - [(set (match_operand:DI 0 "general_operand" "=<,do,!*a") + [(set (match_operand:DI 0 "nonimmediate_operand" "=<,do,!*a") (neg:DI (match_operand:DI 1 "general_operand" "0,0,0")))] "!TARGET_5200" "* @@ -4147,7 +4147,7 @@ } ") (define_insn "negdi2_5200" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (neg:DI (match_operand:DI 1 "general_operand" "0")))] "TARGET_5200" "* @@ -4157,7 +4157,7 @@ } ") (define_expand "negsi2" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (neg:SI (match_operand:SI 1 "general_operand" "")))] "" " @@ -4170,37 +4170,37 @@ }") (define_insn "negsi2_internal" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (neg:SI (match_operand:SI 1 "general_operand" "0")))] "!TARGET_5200" "neg%.l %0") (define_insn "negsi2_5200" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (neg:SI (match_operand:SI 1 "general_operand" "0")))] "TARGET_5200" "neg%.l %0") (define_insn "neghi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (neg:HI (match_operand:HI 1 "general_operand" "0")))] "!TARGET_5200" "neg%.w %0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm")) (neg:HI (match_dup 0)))] "!TARGET_5200" "neg%.w %0") (define_insn "negqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (neg:QI (match_operand:QI 1 "general_operand" "0")))] "!TARGET_5200" "neg%.b %0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm")) (neg:QI (match_dup 0)))] "!TARGET_5200" "neg%.b %0") @@ -4208,7 +4208,7 @@ ;; If using software floating point, just flip the sign bit. (define_expand "negsf2" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (neg:SF (match_operand:SF 1 "general_operand" "")))] "" " @@ -4235,13 +4235,13 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y") (neg:SF (match_operand:SF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" "fpneg%.s %w1,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f,d") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f,d") (neg:SF (match_operand:SF 1 "general_operand" "fdmF,0")))] "TARGET_68881" "* @@ -4257,7 +4257,7 @@ }") (define_expand "negdf2" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (neg:DF (match_operand:DF 1 "general_operand" "")))] "" " @@ -4291,13 +4291,13 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y") (neg:DF (match_operand:DF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" "fpneg%.d %y1, %0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f,d") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f,d") (neg:DF (match_operand:DF 1 "general_operand" "fmF,0")))] "TARGET_68881" "* @@ -4315,7 +4315,7 @@ ;; Sqrt instruction for the 68881 (define_insn "sqrtsf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (sqrt:SF (match_operand:SF 1 "general_operand" "fm")))] "TARGET_68881" "* @@ -4327,7 +4327,7 @@ }") (define_insn "sqrtdf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (sqrt:DF (match_operand:DF 1 "general_operand" "fm")))] "TARGET_68881" "* @@ -4342,7 +4342,7 @@ ;; If using software floating point, just zero the sign bit. (define_expand "abssf2" - [(set (match_operand:SF 0 "general_operand" "") + [(set (match_operand:SF 0 "nonimmediate_operand" "") (abs:SF (match_operand:SF 1 "general_operand" "")))] "" " @@ -4369,13 +4369,13 @@ }") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=x,y") + [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y") (abs:SF (match_operand:SF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" "fpabs%.s %y1,%0") (define_insn "" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (abs:SF (match_operand:SF 1 "general_operand" "fdmF")))] "TARGET_68881" "* @@ -4386,7 +4386,7 @@ }") (define_expand "absdf2" - [(set (match_operand:DF 0 "general_operand" "") + [(set (match_operand:DF 0 "nonimmediate_operand" "") (abs:DF (match_operand:DF 1 "general_operand" "")))] "" " @@ -4420,13 +4420,13 @@ }") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=x,y") + [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y") (abs:DF (match_operand:DF 1 "general_operand" "xH,rmF")))] "TARGET_FPA" "fpabs%.d %y1,%0") (define_insn "" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (abs:DF (match_operand:DF 1 "general_operand" "fmF")))] "TARGET_68881" "* @@ -4440,7 +4440,7 @@ ;; "one_cmpldi2" is mainly here to help combine(). (define_insn "one_cmpldi2" - [(set (match_operand:DI 0 "general_operand" "=dm") + [(set (match_operand:DI 0 "nonimmediate_operand" "=dm") (not:DI (match_operand:DI 1 "general_operand" "0")))] "!TARGET_5200" "* @@ -4457,7 +4457,7 @@ }") (define_expand "one_cmplsi2" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (not:SI (match_operand:SI 1 "general_operand" "")))] "" " @@ -4470,37 +4470,37 @@ }") (define_insn "one_cmplsi2_internal" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (not:SI (match_operand:SI 1 "general_operand" "0")))] "!TARGET_5200" "not%.l %0") (define_insn "one_cmplsi2_5200" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (not:SI (match_operand:SI 1 "general_operand" "0")))] "TARGET_5200" "not%.l %0") (define_insn "one_cmplhi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (not:HI (match_operand:HI 1 "general_operand" "0")))] "!TARGET_5200" "not%.w %0") (define_insn "" - [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm")) (not:HI (match_dup 0)))] "!TARGET_5200" "not%.w %0") (define_insn "one_cmplqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (not:QI (match_operand:QI 1 "general_operand" "0")))] "!TARGET_5200" "not%.b %0") (define_insn "" - [(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm")) (not:QI (match_dup 0)))] "!TARGET_5200" "not%.b %0") @@ -4509,7 +4509,7 @@ ;; We don't need the shift memory by 1 bit instruction (define_insn "ashldi_extsi" - [(set (match_operand:DI 0 "general_operand" "=ro") + [(set (match_operand:DI 0 "nonimmediate_operand" "=ro") (ashift:DI (match_operator:DI 2 "extend_operator" [(match_operand:SI 1 "general_operand" "rm")]) @@ -4529,7 +4529,7 @@ } ") (define_insn "ashldi_sexthi" - [(set (match_operand:DI 0 "general_operand" "=m,a*d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=m,a*d") (ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm,rm")) (const_int 32))) (clobber (match_scratch:SI 2 "=a,X"))] @@ -4556,7 +4556,7 @@ } ") (define_insn "ashldi_const32" - [(set (match_operand:DI 0 "general_operand" "=rm") + [(set (match_operand:DI 0 "nonimmediate_operand" "=rm") (ashift:DI (match_operand:DI 1 "general_operand" "ro") (const_int 32)))] "" @@ -4583,7 +4583,7 @@ ;; The predicate below must be general_operand, because ashldi3 allows that (define_insn "ashldi_const" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (ashift:DI (match_operand:DI 1 "general_operand" "0") (match_operand 2 "const_int_operand" "n")))] "(!TARGET_5200 @@ -4615,7 +4615,7 @@ } ") (define_expand "ashldi3" - [(set (match_operand:DI 0 "general_operand" "") + [(set (match_operand:DI 0 "nonimmediate_operand" "") (ashift:DI (match_operand:DI 1 "general_operand" "") (match_operand 2 "const_int_operand" "")))] "!TARGET_5200" @@ -4729,7 +4729,7 @@ }") (define_insn "subreghi1ashrdi_const32" - [(set (match_operand:HI 0 "general_operand" "=rm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") (subreg:HI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro") (const_int 32)) 1))] "" @@ -4741,7 +4741,7 @@ } ") (define_insn "subregsi1ashrdi_const32" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (subreg:SI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro") (const_int 32)) 1))] "" @@ -4766,7 +4766,7 @@ } ") (define_insn "ashrdi_const32_mem" - [(set (match_operand:DI 0 "general_operand" "=o,<") + [(set (match_operand:DI 0 "nonimmediate_operand" "=o,<") (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro") (const_int 32))) (clobber (match_scratch:SI 2 "=d,d"))] @@ -4786,7 +4786,7 @@ ;; The predicate below must be general_operand, because ashrdi3 allows that (define_insn "ashrdi_const" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (ashiftrt:DI (match_operand:DI 1 "general_operand" "0") (match_operand 2 "const_int_operand" "n")))] "(!TARGET_5200 @@ -4805,7 +4805,7 @@ else if (INTVAL (operands[2]) == 8) return \"move%.b %0,%1\;asr%.l %#8,%0\;ror%.l %#8,%1\"; else if (INTVAL (operands[2]) == 16) - return \"move%.w %0,%1\;clr%.w %0\;swap %1\;ext%.l %0\"; + return \"move%.w %0,%1\;swap %0\;ext%.l %0\;swap %1\"; else if (INTVAL (operands[2]) == 48) return \"swap %0\;ext%.l %0\;move%.l %0,%1\;smi %0\;ext%.w %0\"; else if (INTVAL (operands[2]) == 31) @@ -4826,7 +4826,7 @@ } ") (define_expand "ashrdi3" - [(set (match_operand:DI 0 "general_operand" "") + [(set (match_operand:DI 0 "nonimmediate_operand" "") (ashiftrt:DI (match_operand:DI 1 "general_operand" "") (match_operand 2 "const_int_operand" "")))] "!TARGET_5200" @@ -4895,7 +4895,7 @@ ;; [(set (cc0) ;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro") ;; (const_int 32)) 1)) -;; (set (match_operand:SI 1 "general_operand" "=dm") +;; (set (match_operand:SI 1 "nonimmediate_operand" "=dm") ;; (subreg:SI (lshiftrt:DI (match_dup 0) ;; (const_int 32)) 1))] ;; "" @@ -4908,7 +4908,7 @@ ;; [(set (cc0) ;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro") ;; (const_int 32)) 0)) -;; (set (match_operand:DI 1 "general_operand" "=do") +;; (set (match_operand:DI 1 "nonimmediate_operand" "=do") ;; (lshiftrt:DI (match_dup 0) ;; (const_int 32)))] ;; "" @@ -4922,7 +4922,7 @@ ;;} ") (define_insn "subreg1lshrdi_const32" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (subreg:SI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro") (const_int 32)) 1))] "" @@ -4932,7 +4932,7 @@ } ") (define_insn "lshrdi_const32" - [(set (match_operand:DI 0 "general_operand" "=ro,<,>") + [(set (match_operand:DI 0 "nonimmediate_operand" "=ro,<,>") (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro,ro") (const_int 32)))] "" @@ -4959,7 +4959,7 @@ ;; The predicate below must be general_operand, because lshrdi3 allows that (define_insn "lshrdi_const" - [(set (match_operand:DI 0 "general_operand" "=d") + [(set (match_operand:DI 0 "nonimmediate_operand" "=d") (lshiftrt:DI (match_operand:DI 1 "general_operand" "0") (match_operand 2 "const_int_operand" "n")))] "(!TARGET_5200 @@ -4994,7 +4994,7 @@ } ") (define_expand "lshrdi3" - [(set (match_operand:DI 0 "general_operand" "") + [(set (match_operand:DI 0 "nonimmediate_operand" "") (lshiftrt:DI (match_operand:DI 1 "general_operand" "") (match_operand 2 "const_int_operand" "")))] "!TARGET_5200" @@ -5328,7 +5328,7 @@ ; than an odd byte aligned bit field instruction. ; (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (zero_extract:SI (match_operand:QI 1 "memory_src_operand" "oS") (const_int 32) (match_operand:SI 2 "const_int_operand" "n")))] @@ -5344,7 +5344,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=&d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=&d") (zero_extract:SI (match_operand:SI 1 "register_operand" "do") (match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")))] @@ -5382,7 +5382,7 @@ ; than an odd byte aligned bit field instruction. ; (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (sign_extract:SI (match_operand:QI 1 "memory_src_operand" "oS") (const_int 32) (match_operand:SI 2 "const_int_operand" "n")))] @@ -5398,7 +5398,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (sign_extract:SI (match_operand:SI 1 "register_operand" "do") (match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")))] @@ -5428,7 +5428,7 @@ ;; so that its address is reloaded. (define_expand "extv" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (sign_extract:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_operand" "") (match_operand:SI 3 "general_operand" "")))] @@ -5436,7 +5436,7 @@ "") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (sign_extract:SI (match_operand:QI 1 "memory_operand" "o") (match_operand:SI 2 "general_operand" "di") (match_operand:SI 3 "general_operand" "di")))] @@ -5444,7 +5444,7 @@ "bfexts %1{%b3:%b2},%0") (define_expand "extzv" - [(set (match_operand:SI 0 "general_operand" "") + [(set (match_operand:SI 0 "nonimmediate_operand" "") (zero_extract:SI (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_operand" "") (match_operand:SI 3 "general_operand" "")))] @@ -5452,7 +5452,7 @@ "") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d,d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d") (zero_extract:SI (match_operand:QI 1 "memory_operand" "o,d") (match_operand:SI 2 "general_operand" "di,di") (match_operand:SI 3 "general_operand" "di,di")))] @@ -5512,7 +5512,7 @@ }") (define_expand "insv" - [(set (zero_extract:SI (match_operand:SI 0 "general_operand" "") + [(set (zero_extract:SI (match_operand:SI 0 "nonimmediate_operand" "") (match_operand:SI 1 "general_operand" "") (match_operand:SI 2 "general_operand" "")) (match_operand:SI 3 "register_operand" ""))] @@ -5531,7 +5531,7 @@ ;; (or at least were intended to do so). (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (sign_extract:SI (match_operand:SI 1 "register_operand" "d") (match_operand:SI 2 "general_operand" "di") (match_operand:SI 3 "general_operand" "di")))] @@ -5539,7 +5539,7 @@ "bfexts %1{%b3:%b2},%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=d") + [(set (match_operand:SI 0 "nonimmediate_operand" "=d") (zero_extract:SI (match_operand:SI 1 "register_operand" "d") (match_operand:SI 2 "general_operand" "di") (match_operand:SI 3 "general_operand" "di")))] @@ -5654,7 +5654,7 @@ }") (define_insn "scc0_di" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (match_operator 1 "valid_dbcc_comparison_p" [(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))] "! TARGET_5200" @@ -5664,7 +5664,7 @@ } ") (define_insn "scc0_di_5200" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=d") (match_operator 1 "valid_dbcc_comparison_p" [(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))] "TARGET_5200" @@ -5674,7 +5674,7 @@ } ") (define_insn "scc_di" - [(set (match_operand:QI 0 "general_operand" "=dm,dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,dm") (match_operator 1 "valid_dbcc_comparison_p" [(match_operand:DI 2 "general_operand" "ro,r") (match_operand:DI 3 "general_operand" "r,ro")]))] @@ -5685,7 +5685,7 @@ } ") (define_insn "scc_di_5200" - [(set (match_operand:QI 0 "general_operand" "=d,d") + [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d") (match_operator 1 "valid_dbcc_comparison_p" [(match_operand:DI 2 "general_operand" "ro,r") (match_operand:DI 3 "general_operand" "r,ro")]))] @@ -6560,7 +6560,7 @@ (define_insn "" [(set (pc) (if_then_else - (ne (match_operand:HI 0 "general_operand" "+d*g") + (ne (match_operand:HI 0 "nonimmediate_operand" "+d*g") (const_int 0)) (label_ref (match_operand 1 "" "")) (pc))) @@ -6603,7 +6603,7 @@ (define_insn "" [(set (pc) (if_then_else - (ne (match_operand:SI 0 "general_operand" "+d*g") + (ne (match_operand:SI 0 "nonimmediate_operand" "+d*g") (const_int 0)) (label_ref (match_operand 1 "" "")) (pc))) @@ -6649,7 +6649,7 @@ (define_insn "" [(set (pc) (if_then_else - (ge (plus:HI (match_operand:HI 0 "general_operand" "+d*am") + (ge (plus:HI (match_operand:HI 0 "nonimmediate_operand" "+d*am") (const_int -1)) (const_int 0)) (label_ref (match_operand 1 "" "")) @@ -6694,7 +6694,7 @@ (define_expand "decrement_and_branch_until_zero" [(parallel [(set (pc) (if_then_else - (ge (plus:SI (match_operand:SI 0 "general_operand" "") + (ge (plus:SI (match_operand:SI 0 "nonimmediate_operand" "") (const_int -1)) (const_int 0)) (label_ref (match_operand 1 "" "")) @@ -6708,7 +6708,7 @@ (define_insn "" [(set (pc) (if_then_else - (ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am") + (ge (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+d*am") (const_int -1)) (const_int 0)) (label_ref (match_operand 1 "" "")) @@ -6997,7 +6997,7 @@ ;; This should not be used unless the add/sub insns can't be. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=a") + [(set (match_operand:SI 0 "nonimmediate_operand" "=a") (match_operand:QI 1 "address_operand" "p"))] "" "* @@ -7464,7 +7464,7 @@ }") (define_insn "extendsfxf2" - [(set (match_operand:XF 0 "general_operand" "=fm,f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=fm,f") (float_extend:XF (match_operand:SF 1 "general_operand" "f,rmF")))] "TARGET_68881" "* @@ -7496,7 +7496,7 @@ (define_insn "extenddfxf2" - [(set (match_operand:XF 0 "general_operand" "=fm,f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=fm,f") (float_extend:XF (match_operand:DF 1 "general_operand" "f,rmE")))] "TARGET_68881" @@ -7532,7 +7532,7 @@ }") (define_insn "truncxfdf2" - [(set (match_operand:DF 0 "general_operand" "=m,!r") + [(set (match_operand:DF 0 "nonimmediate_operand" "=m,!r") (float_truncate:DF (match_operand:XF 1 "general_operand" "f,f")))] "TARGET_68881" @@ -7548,32 +7548,32 @@ }") (define_insn "truncxfsf2" - [(set (match_operand:SF 0 "general_operand" "=dm") + [(set (match_operand:SF 0 "nonimmediate_operand" "=dm") (float_truncate:SF (match_operand:XF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.s %f1,%0") (define_insn "floatsixf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (float:XF (match_operand:SI 1 "general_operand" "dmi")))] "TARGET_68881" "fmove%.l %1,%0") (define_insn "floathixf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (float:XF (match_operand:HI 1 "general_operand" "dmn")))] "TARGET_68881" "fmove%.w %1,%0") (define_insn "floatqixf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (float:XF (match_operand:QI 1 "general_operand" "dmn")))] "TARGET_68881" "fmove%.b %1,%0") (define_insn "ftruncxf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (fix:XF (match_operand:XF 1 "general_operand" "fFm")))] "TARGET_68881" "* @@ -7584,46 +7584,46 @@ }") (define_insn "fixxfqi2" - [(set (match_operand:QI 0 "general_operand" "=dm") + [(set (match_operand:QI 0 "nonimmediate_operand" "=dm") (fix:QI (match_operand:XF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.b %1,%0") (define_insn "fixxfhi2" - [(set (match_operand:HI 0 "general_operand" "=dm") + [(set (match_operand:HI 0 "nonimmediate_operand" "=dm") (fix:HI (match_operand:XF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.w %1,%0") (define_insn "fixxfsi2" - [(set (match_operand:SI 0 "general_operand" "=dm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=dm") (fix:SI (match_operand:XF 1 "general_operand" "f")))] "TARGET_68881" "fmove%.l %1,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (plus:XF (float:XF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:XF 1 "nonimmediate_operand" "0")))] "TARGET_68881" "fadd%.l %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (plus:XF (float:XF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:XF 1 "nonimmediate_operand" "0")))] "TARGET_68881" "fadd%.w %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (plus:XF (float:XF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:XF 1 "general_operand" "0")))] "TARGET_68881" "fadd%.b %2,%0") (define_insn "addxf3" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (plus:XF (match_operand:XF 1 "nonimmediate_operand" "%0") (match_operand:XF 2 "nonimmediate_operand" "fm")))] "TARGET_68881" @@ -7635,28 +7635,28 @@ }") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" "fsub%.l %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" "fsub%.w %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" "fsub%.b %2,%0") (define_insn "subxf3" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (match_operand:XF 2 "nonimmediate_operand" "fm")))] "TARGET_68881" @@ -7668,28 +7668,28 @@ }") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (mult:XF (float:XF (match_operand:SI 2 "general_operand" "dmi")) (match_operand:XF 1 "nonimmediate_operand" "0")))] "TARGET_68881" "fmul%.l %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (mult:XF (float:XF (match_operand:HI 2 "general_operand" "dmn")) (match_operand:XF 1 "nonimmediate_operand" "0")))] "TARGET_68881" "fmul%.w %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (mult:XF (float:XF (match_operand:QI 2 "general_operand" "dmn")) (match_operand:XF 1 "nonimmediate_operand" "0")))] "TARGET_68881" "fmul%.b %2,%0") (define_insn "mulxf3" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (mult:XF (match_operand:XF 1 "nonimmediate_operand" "%0") (match_operand:XF 2 "nonimmediate_operand" "fm")))] "TARGET_68881" @@ -7701,28 +7701,28 @@ }") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:SI 2 "general_operand" "dmi"))))] "TARGET_68881" "fdiv%.l %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:HI 2 "general_operand" "dmn"))))] "TARGET_68881" "fdiv%.w %2,%0") (define_insn "" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (float:XF (match_operand:QI 2 "general_operand" "dmn"))))] "TARGET_68881" "fdiv%.b %2,%0") (define_insn "divxf3" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (match_operand:XF 2 "nonimmediate_operand" "fm")))] "TARGET_68881" @@ -7734,7 +7734,7 @@ }") (define_expand "negxf2" - [(set (match_operand:XF 0 "general_operand" "") + [(set (match_operand:XF 0 "nonimmediate_operand" "") (neg:XF (match_operand:XF 1 "nonimmediate_operand" "")))] "" " @@ -7772,7 +7772,7 @@ }") (define_insn "negxf2_68881" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (neg:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] "TARGET_68881" "* @@ -7783,7 +7783,7 @@ }") (define_expand "absxf2" - [(set (match_operand:XF 0 "general_operand" "") + [(set (match_operand:XF 0 "nonimmediate_operand" "") (abs:XF (match_operand:XF 1 "nonimmediate_operand" "")))] "" " @@ -7821,7 +7821,7 @@ }") (define_insn "absxf2_68881" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (abs:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] "TARGET_68881" "* @@ -7832,13 +7832,13 @@ }") (define_insn "sqrtxf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (sqrt:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] "TARGET_68881" "fsqrt%.x %1,%0") (define_insn "sinsf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 1))] "TARGET_68881 && flag_fast_math" "* @@ -7850,7 +7850,7 @@ }") (define_insn "sindf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 1))] "TARGET_68881 && flag_fast_math" "* @@ -7862,13 +7862,13 @@ }") (define_insn "sinxf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 1))] "TARGET_68881 && flag_fast_math" "fsin%.x %1,%0") (define_insn "cossf2" - [(set (match_operand:SF 0 "general_operand" "=f") + [(set (match_operand:SF 0 "nonimmediate_operand" "=f") (unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 2))] "TARGET_68881 && flag_fast_math" "* @@ -7880,7 +7880,7 @@ }") (define_insn "cosdf2" - [(set (match_operand:DF 0 "general_operand" "=f") + [(set (match_operand:DF 0 "nonimmediate_operand" "=f") (unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 2))] "TARGET_68881 && flag_fast_math" "* @@ -7892,7 +7892,7 @@ }") (define_insn "cosxf2" - [(set (match_operand:XF 0 "general_operand" "=f") + [(set (match_operand:XF 0 "nonimmediate_operand" "=f") (unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 2))] "TARGET_68881 && flag_fast_math" "fcos%.x %1,%0") diff --git a/gcc/config/m68k/m68kv4.h b/gcc/config/m68k/m68kv4.h index dafe7fdedfa..9bdc4877685 100644 --- a/gcc/config/m68k/m68kv4.h +++ b/gcc/config/m68k/m68kv4.h @@ -27,11 +27,6 @@ Boston, MA 02111-1307, USA. */ #include "m68k/sgs.h" /* The m68k/SVR4 assembler is SGS based */ -/* The SGS assembler requires a special definition of - ASM_IDENTIFY_GCC. We combine the m68k/sgs.h and the svr4.h - definitions below. */ -#undef ASM_IDENTIFY_GCC - #include "svr4.h" /* Pick up the generic SVR4 macros */ /* See m68k.h. 7 means 68020 with 68881. */ @@ -40,19 +35,6 @@ Boston, MA 02111-1307, USA. */ #define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020) #endif -/* When using an SGS assembler, modify the name of the artificial label which - identifies this file as having been compiled with gcc, and the macro that - emits such a label in the assembly output, to use '%' rather than '.' */ - -#undef ASM_IDENTIFY_GCC -#define ASM_IDENTIFY_GCC(FILE) \ -do \ - { \ - if (write_symbols != DBX_DEBUG) \ - fputs ("gcc2_compiled%:\n", FILE); \ - } \ -while (0) - /* Override the definition of NO_DOLLAR_IN_LABEL in svr4.h, for special g++ assembler names. When this is defined, g++ uses embedded '.' characters and some m68k assemblers have problems with this. The diff --git a/gcc/config/m68k/mot3300.h b/gcc/config/m68k/mot3300.h index 9c9a0994426..fd914815d64 100644 --- a/gcc/config/m68k/mot3300.h +++ b/gcc/config/m68k/mot3300.h @@ -38,6 +38,9 @@ Boston, MA 02111-1307, USA. */ #include "m68k/m68k.h" +/* GDB expects a slightly different marker on this target. */ +#define STABS_GCC_MARKER "gcc2_compiled%" + /* See m68k.h. 0407 means 68020-68040. */ #ifndef TARGET_DEFAULT @@ -264,11 +267,6 @@ dtors_section () \ } #endif /* USE_GAS */ -/* The sysV68 assembler does not accept dots in labels. - Let's use percent instead */ - -#define ASM_IDENTIFY_GCC(FILE) fputs("gcc2_compiled%:\n", FILE) - /* Names to predefine in the preprocessor for this target machine. */ /* ihnp4!lmayk!lgm@eddie.mit.edu says mc68000 and m68k should not be here, on the other hand I don't care what he says. */ diff --git a/gcc/config/m68k/news.h b/gcc/config/m68k/news.h index 5661e87ae03..25e820e772b 100644 --- a/gcc/config/m68k/news.h +++ b/gcc/config/m68k/news.h @@ -139,11 +139,6 @@ Boston, MA 02111-1307, USA. */ #ifdef MOTOROLA -/* Don't try to define `gcc_compiled.' since the assembler does not - accept symbols with periods. This is no real loss since GDB only - really needs it for parms passed in registers. */ -#define ASM_IDENTIFY_GCC(FILE) - #define FUNCTION_PROLOGUE(FILE, SIZE) \ { register int regno; \ register int mask = 0; \ diff --git a/gcc/config/m68k/sgs.h b/gcc/config/m68k/sgs.h index 3e4bbb15329..74716cd9e6a 100644 --- a/gcc/config/m68k/sgs.h +++ b/gcc/config/m68k/sgs.h @@ -102,13 +102,6 @@ Boston, MA 02111-1307, USA. */ #endif /* defined SUPPORT_SUN_FPA */ -/* When using an SGS assembler, modify the name of the artificial label which - identifies this file as having been compiled with gcc, and the macro that - emits such a label in the assembly output, to use '%' rather than '.' */ - -#define ASM_IDENTIFY_GCC(FILE) \ - { fprintf ((FILE), "%s:\n", "gcc2_compiled%"); } - /* This is how to output an assembler line defining an `int' constant. */ /* The SGS assembler doesn't understand ".word". */ diff --git a/gcc/config/m68k/t-openbsd b/gcc/config/m68k/t-openbsd new file mode 100644 index 00000000000..24f9a43b000 --- /dev/null +++ b/gcc/config/m68k/t-openbsd @@ -0,0 +1,5 @@ +# gdb gets confused if pic code is linked with non pic +# We cope by building all variants of libgcc. +MULTILIB_OPTIONS = fpic/fPIC +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib diff --git a/gcc/config/m68k/tower-as.h b/gcc/config/m68k/tower-as.h index 2ab94221ad3..bb03b058a82 100644 --- a/gcc/config/m68k/tower-as.h +++ b/gcc/config/m68k/tower-as.h @@ -67,11 +67,6 @@ Boston, MA 02111-1307, USA. */ #define SDB_DEBUGGING_INFO -/* This is only useful if gdb is changed, but doesn't harm anyway. */ - -#define ASM_IDENTIFY_GCC(FILE) \ - fprintf (FILE, "gcc2_compiled%%:\n") - /* All the ASM_OUTPUT macros need to conform to the Tower as syntax. */ #define ASM_OUTPUT_SOURCE_FILENAME(FILE, FILENAME) \ diff --git a/gcc/config/m68k/xm-m68k.h b/gcc/config/m68k/xm-m68k.h index 757c9af67a1..b5a5420bc3f 100644 --- a/gcc/config/m68k/xm-m68k.h +++ b/gcc/config/m68k/xm-m68k.h @@ -18,11 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* #defines that need visibility everywhere. */ -#define FALSE 0 -#define TRUE 1 - /* This describes the machine the compiler is hosted on. */ #define HOST_BITS_PER_CHAR 8 #define HOST_BITS_PER_SHORT 16 |