You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(12) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(35) |
May
(9) |
Jun
(10) |
Jul
|
Aug
(6) |
Sep
(23) |
Oct
(24) |
Nov
(18) |
Dec
(81) |
2006 |
Jan
(37) |
Feb
(2) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(23) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Dave A. <ai...@us...> - 2002-10-12 12:15:34
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv12826/src/gcc/config/vax Modified Files: Tag: tools-linuxvax-dynamic-dev vax.h Log Message: DA: revert to make branch build Index: vax.h =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.h,v retrieving revision 2.17.2.1 retrieving revision 2.17.2.2 diff -u -r2.17.2.1 -r2.17.2.2 --- vax.h 12 Oct 2002 11:40:24 -0000 2.17.2.1 +++ vax.h 12 Oct 2002 12:15:29 -0000 2.17.2.2 @@ -654,7 +654,7 @@ /* Nonzero if X is a hard reg that can be used as a base reg or if it is a pseudo reg. */ #define REG_OK_FOR_BASE_P(X) 1 -#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 0) +/*#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 0)*/ /*#define GO_IF_LEGITIMATE_ADDRESS(ZMODE, XOP, LABEL) \ do { if (legitimate_address_p(ZMODE, XOP, 0)) goto LABEL; } while (0) */ @@ -664,7 +664,7 @@ #define REG_OK_FOR_INDEX_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X)) /* Nonzero if X is a hard reg that can be used as a base reg. */ #define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X)) -#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 1) +/*#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 1)*/ /*#define GO_IF_LEGITIMATE_ADDRESS(ZMODE, XOP, LABEL) \ do { if (legitimate_address_p(ZMODE, XOP, 1)) goto LABEL; } while (0) */ |
From: Dave A. <ai...@us...> - 2002-10-12 11:41:59
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv5119 Modified Files: Tag: tools-linuxvax-dynamic-dev vax.c Log Message: DA: more NetBSD cosmetic changes.. nothing deep yet.. Index: vax.c =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.c,v retrieving revision 2.12 retrieving revision 2.12.2.1 diff -u -r2.12 -r2.12.2.1 --- vax.c 7 Aug 2000 18:33:56 -0000 2.12 +++ vax.c 12 Oct 2002 11:41:55 -0000 2.12.2.1 @@ -25,6 +25,7 @@ #include "hard-reg-set.h" #include "real.h" #include "insn-config.h" +#include "insn-codes.h" #include "conditions.h" #include "insn-flags.h" #include "output.h" @@ -32,19 +33,23 @@ #ifdef VMS_TARGET #include "tree.h" #endif +#include "reload.h" +#include "recog.h" +/*#include "tm_p.h"*/ /* This is like nonimmediate_operand with a restriction on the type of MEM. */ void split_quadword_operands (operands, low, n) rtx *operands, *low; - int n ATTRIBUTE_UNUSED; + int n; { int i; /* Split operands. */ - low[0] = low[1] = low[2] = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < n; i++) + low[i] = 0; + for (i = 0; i < n; i++) { if (low[i]) /* it's already been figured out */; @@ -74,7 +79,7 @@ { register rtx reg1, breg, ireg; rtx offset; - + rtx orig_addr = addr; retry: switch (GET_CODE (addr)) { @@ -84,15 +89,20 @@ goto retry; case REG: - fprintf (file, "(%s)", reg_names[REGNO (addr)]); + if (REGNO (addr) >= 16) + { + debug_rtx (orig_addr); + abort (); + } + fprintf (file, "(%s%s)", REGISTER_PREFIX, reg_names[REGNO (addr)]); break; case PRE_DEC: - fprintf (file, "-(%s)", reg_names[REGNO (XEXP (addr, 0))]); + fprintf (file, "-(%s%s)", REGISTER_PREFIX, reg_names[REGNO (XEXP (addr, 0))]); break; case POST_INC: - fprintf (file, "(%s)+", reg_names[REGNO (XEXP (addr, 0))]); + fprintf (file, "(%s%s)+", REGISTER_PREFIX, reg_names[REGNO (XEXP (addr, 0))]); break; case PLUS: @@ -140,7 +150,10 @@ addr = XEXP (addr, 1); } else - abort (); + { + debug_rtx (orig_addr); + abort (); + } if (GET_CODE (addr) == REG) { @@ -163,7 +176,10 @@ else if (GET_CODE (XEXP (addr, 0)) == CONST_INT) offset = plus_constant (offset, INTVAL (XEXP (addr, 0))); else - abort (); + { + debug_rtx (orig_addr); + abort (); + } } offset = XEXP (addr, 0); } @@ -177,11 +193,17 @@ else if (GET_CODE (XEXP (addr, 0)) == MULT) { if (ireg) - abort (); + { + debug_rtx (orig_addr); + abort (); + } ireg = XEXP (addr, 0); } else - abort (); + { + debug_rtx (orig_addr); + abort (); + } if (CONSTANT_ADDRESS_P (XEXP (addr, 1)) || GET_CODE (XEXP (addr, 1)) == MEM) @@ -193,7 +215,10 @@ else if (GET_CODE (XEXP (addr, 1)) == CONST_INT) offset = plus_constant (offset, INTVAL (XEXP (addr, 1))); else - abort (); + { + debug_rtx (orig_addr); + abort (); + } } offset = XEXP (addr, 1); } @@ -207,14 +232,23 @@ else if (GET_CODE (XEXP (addr, 1)) == MULT) { if (ireg) - abort (); + { + debug_rtx (orig_addr); + abort (); + } ireg = XEXP (addr, 1); } else - abort (); + { + debug_rtx (orig_addr); + abort (); + } } else - abort (); + { + debug_rtx (orig_addr); + abort (); + } /* If REG1 is non-zero, figure out if it is a base or index register. */ if (reg1) @@ -222,7 +256,10 @@ if (breg != 0 || (offset && GET_CODE (offset) == MEM)) { if (ireg) - abort (); + { + debug_rtx (orig_addr); + abort (); + } ireg = reg1; } else @@ -233,15 +270,25 @@ output_address (offset); if (breg != 0) - fprintf (file, "(%s)", reg_names[REGNO (breg)]); + { + if (REGNO (breg) >= 16) + { + debug_rtx (orig_addr); + abort (); + } + fprintf (file, "(%s%s)", REGISTER_PREFIX, reg_names[REGNO (breg)]); + } if (ireg != 0) { if (GET_CODE (ireg) == MULT) ireg = XEXP (ireg, 0); if (GET_CODE (ireg) != REG) - abort (); - fprintf (file, "[%s]", reg_names[REGNO (ireg)]); + { + debug_rtx (orig_addr); + abort (); + } + fprintf (file, "[%s%s]", REGISTER_PREFIX, reg_names[REGNO (ireg)]); } break; @@ -250,7 +297,7 @@ } } -char * +const char * rev_cond_name (op) rtx op; { @@ -287,8 +334,10 @@ register rtx c; { register enum machine_mode mode; +#if HOST_FLOAT_FORMAT == VAX_FLOAT_FORMAT int i; union {double d; int i[2];} val; +#endif if (GET_CODE (c) != CONST_DOUBLE) return 0; @@ -406,7 +455,7 @@ enum machine_mode mode = GET_MODE (x); register int c=0; int i = 0; /* may be modified in switch */ - char *fmt = GET_RTX_FORMAT (code); /* may be modified in switch */ + const char *fmt = GET_RTX_FORMAT (code); /* may be modified in switch */ switch (code) { @@ -593,7 +642,7 @@ /* Check a `double' value for validity for a particular machine mode. */ -static char *float_strings[] = +static const char *const float_strings[] = { "1.70141173319264430e+38", /* 2^127 (2^24 - 1) / 2^24 */ "-1.70141173319264430e+38", @@ -672,7 +721,7 @@ static struct extern_list { struct extern_list *next; /* next external */ - char *name; /* name of the external */ + const char *name; /* name of the external */ int size; /* external's actual size */ int in_const; /* section type flag */ } *extern_head = 0, *pending_head = 0; @@ -683,7 +732,7 @@ void vms_check_external (decl, name, pending) tree decl; - char *name; + const char *name; int pending; { register struct extern_list *p, *p0; |
From: Dave A. <ai...@us...> - 2002-10-12 11:40:31
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv4843 Modified Files: Tag: tools-linuxvax-dynamic-dev vax.h Log Message: DA: REGISTER_PREFIX changes from NetBSD and some #defines .. nothing that affects mkuch... Index: vax.h =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.h,v retrieving revision 2.17 retrieving revision 2.17.2.1 diff -u -r2.17 -r2.17.2.1 --- vax.h 8 Aug 2000 00:35:41 -0000 2.17 +++ vax.h 12 Oct 2002 11:40:24 -0000 2.17.2.1 @@ -51,13 +51,20 @@ /* Macros used in the machine description to test the flags. */ /* Nonzero if compiling code that Unix assembler can assemble. */ -#define TARGET_UNIX_ASM (target_flags & 1) +#define MASK_UNIX_ASM 1 +#define TARGET_UNIX_ASM (target_flags & MASK_UNIX_ASM) /* Nonzero if compiling with VAX-11 "C" style structure alignment */ -#define TARGET_VAXC_ALIGNMENT (target_flags & 2) +#define MASK_VAXC_ALIGNMENT 2 +#define TARGET_VAXC_ALIGNMENT (target_flags & MASK_VAXC_ALIGNMENT) /* Nonzero if compiling with `G'-format floating point */ -#define TARGET_G_FLOAT (target_flags & 4) +#define MASK_G_FLOAT 4 +#define TARGET_G_FLOAT (target_flags & MASK_G_FLOAT) + +/* Nonzero if compiling for PIC code */ +#define MASK_INDIRECT 8 +#define TARGET_INDIRECT (target_flags & MASK_INDIRECT) /* Macro to define tables used to set the flags. This is a list in braces of pairs in braces, @@ -78,7 +85,7 @@ /* Default target_flags if no switches specified. */ #ifndef TARGET_DEFAULT -#define TARGET_DEFAULT 1 +#define TARGET_DEFAULT MASK_UNIX_ASM #endif /* Target machine storage layout */ @@ -473,8 +480,12 @@ mask |= 1 << regno; \ fprintf (FILE, "\t.word 0x%x\n", mask); \ MAYBE_VMS_FUNCTION_PROLOGUE(FILE) \ - if ((size) >= 64) fprintf (FILE, "\tmovab %d(sp),sp\n", -size);\ - else if (size) fprintf (FILE, "\tsubl2 $%d,sp\n", (size)); } + if ((size) >= 64) \ + fprintf (FILE, "\tmovab %d(%ssp),%ssp\n", -size, \ + REGISTER_PREFIX, REGISTER_PREFIX); \ + else if (size) \ + fprintf (FILE, "\tsubl2 $%d,%ssp\n", \ + (size), REGISTER_PREFIX); } /* vms.h redefines this. */ #define MAYBE_VMS_FUNCTION_PROLOGUE(FILE) @@ -502,8 +513,9 @@ */ #define BLOCK_PROFILER(FILE, BLOCKNO) \ - fprintf (FILE, "\tmovpsl -(sp)\n\tmovw (sp),2(sp)\n\taddl2 $2,sp\n\taddl2 $1,LPBX2+%d\n\tbicpsw $255\n\tbispsw (sp)+\n", \ - 4 * BLOCKNO) + fprintf (FILE, "\tmovpsl -(%ssp)\n\tmovw (%ssp),2(%ssp)\n\taddl2 $2,%ssp\n\taddl2 $1,LPBX2+%d\n\tbicpsw $255\n\tbispsw (%ssp)+\n", \ + 4 * BLOCKNO, REGISTER_PREFIX, REGISTER_PREFIX, REGISTER_PREFIX, \ + REGISTER_PREFIX, REGISTER_PREFIX) /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in @@ -642,14 +654,20 @@ /* Nonzero if X is a hard reg that can be used as a base reg or if it is a pseudo reg. */ #define REG_OK_FOR_BASE_P(X) 1 - +#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 0) +/*#define GO_IF_LEGITIMATE_ADDRESS(ZMODE, XOP, LABEL) \ + do { if (legitimate_address_p(ZMODE, XOP, 0)) goto LABEL; } while (0) +*/ #else /* Nonzero if X is a hard reg that can be used as an index. */ #define REG_OK_FOR_INDEX_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X)) /* Nonzero if X is a hard reg that can be used as a base reg. */ #define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X)) - +#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X, 1) +/*#define GO_IF_LEGITIMATE_ADDRESS(ZMODE, XOP, LABEL) \ + do { if (legitimate_address_p(ZMODE, XOP, 1)) goto LABEL; } while (0) +*/ #endif /* GO_IF_LEGITIMATE_ADDRESS recognizes an RTL expression @@ -1041,14 +1059,17 @@ /* Output before read-only data. */ -#define TEXT_SECTION_ASM_OP ".text" +#define TEXT_SECTION_ASM_OP "\t.text" /* Output before writable data. */ -#define DATA_SECTION_ASM_OP ".data" +#define DATA_SECTION_ASM_OP "\t.data" /* How to refer to registers in assembler output. - This sequence is indexed by compiler's hard-register-number (see above). */ + This sequence is indexed by compiler's hard-register-number (see above). + The register names will be prefixed by REGISTER_PREFIX, if any. */ + +#define REGISTER_PREFIX "" #define REGISTER_NAMES \ {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", \ @@ -1163,13 +1184,14 @@ It need not be very fast code. */ #define ASM_OUTPUT_REG_PUSH(FILE,REGNO) \ - fprintf (FILE, "\tpushl %s\n", reg_names[REGNO]) + fprintf (FILE, "\tpushl %s%s\n", REGISTER_PREFIX, reg_names[REGNO]) /* This is how to output an insn to pop a register from the stack. It need not be very fast code. */ #define ASM_OUTPUT_REG_POP(FILE,REGNO) \ - fprintf (FILE, "\tmovl (sp)+,%s\n", reg_names[REGNO]) + fprintf (FILE, "\tmovl (%ssp)+,%s%s\n", REGISTER_PREFIX, REGISTER_PREFIX, \ + reg_names[REGNO]) /* This is how to output an element of a case-vector that is absolute. (The Vax does not use such vectors, @@ -1240,7 +1262,7 @@ #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \ do { \ fprintf (FILE, "\t.word 0x0ffc\n"); \ - fprintf (FILE, "\taddl2 $%d,4(ap)\n", DELTA); \ + fprintf (FILE, "\taddl2 $%d,4(%sap)\n", DELTA, REGISTER_PREFIX); \ fprintf (FILE, "\tjmp "); \ assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \ fprintf (FILE, "+2\n"); \ @@ -1288,7 +1310,7 @@ ((CODE) == '#') #define PRINT_OPERAND(FILE, X, CODE) \ -{ extern char *rev_cond_name (); \ +{ extern const char *rev_cond_name (); \ if (CODE == '#') fputc (ASM_DOUBLE_CHAR, FILE); \ else if (CODE == 'C') \ fputs (rev_cond_name (X), FILE); \ @@ -1312,7 +1334,7 @@ else if (CODE == 'M' && GET_CODE (X) == CONST_INT) \ fprintf (FILE, "$%d", ~((1 << INTVAL (x)) - 1)); \ else if (GET_CODE (X) == REG) \ - fprintf (FILE, "%s", reg_names[REGNO (X)]); \ + fprintf (FILE, "%s%s", REGISTER_PREFIX, reg_names[REGNO (X)]); \ else if (GET_CODE (X) == MEM) \ output_address (XEXP (X, 0)); \ else if (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == SFmode) \ |
From: Dave A. <ai...@us...> - 2002-10-09 15:50:41
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv7892 Modified Files: Tag: tools-linuxvax-dynamic-dev vax.md Log Message: DA: more general->nonimmediate changes from BSD tree.. not many left now the rest look like PIC stuff Index: vax.md =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.md,v retrieving revision 2.12.2.2 retrieving revision 2.12.2.3 diff -u -r2.12.2.2 -r2.12.2.3 --- vax.md 9 Oct 2002 08:52:03 -0000 2.12.2.2 +++ vax.md 9 Oct 2002 15:50:34 -0000 2.12.2.3 @@ -305,7 +305,7 @@ }") (define_insn "movstricthi" - [(set (strict_low_part (match_operand:HI 0 "register_operand" "=g")) + [(set (strict_low_part (match_operand:HI 0 "register_operand" "+g")) (match_operand:HI 1 "general_operand" "g"))] "" "* @@ -357,7 +357,7 @@ }") (define_insn "movstrictqi" - [(set (strict_low_part (match_operand:QI 0 "register_operand" "=g")) + [(set (strict_low_part (match_operand:QI 0 "register_operand" "+g")) (match_operand:QI 1 "general_operand" "g"))] "" "* @@ -1265,7 +1265,7 @@ ;; Bit-and on the vax is done with a clear-bits insn. (define_expand "andsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (and:SI (not:SI (match_operand:SI 1 "general_operand" "g")) (match_operand:SI 2 "general_operand" "g")))] "" @@ -1288,7 +1288,7 @@ }") (define_expand "andhi3" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (and:HI (not:HI (match_operand:HI 1 "general_operand" "g")) (match_operand:HI 2 "general_operand" "g")))] "" @@ -1310,7 +1310,7 @@ }") (define_expand "andqi3" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (and:QI (not:QI (match_operand:QI 1 "general_operand" "g")) (match_operand:QI 2 "general_operand" "g")))] "" @@ -1508,7 +1508,7 @@ ;; prevents converting shifts to ZERO_EXTRACTs with negative positions, ;; which isn't valid. (define_expand "ashrsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (ashiftrt:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" @@ -1557,7 +1557,7 @@ ;; Arithmetic right shift on the vax works by negating the shift count. (define_expand "ashrdi3" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" @@ -1589,7 +1589,7 @@ [(set (match_dup 3) (minus:QI (const_int 32) (match_dup 4))) - (set (match_operand:SI 0 "general_operand" "=g") + (set (match_operand:SI 0 "nonimmediate_operand" "=g") (zero_extract:SI (match_operand:SI 1 "register_operand" "r") (match_dup 3) (match_operand:SI 2 "register_operand" "g")))] @@ -1602,7 +1602,7 @@ ;; Rotate right on the vax works by negating the shift count. (define_expand "rotrsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (rotatert:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" @@ -1635,7 +1635,7 @@ ;This insn is probably slower than a multiply and an add. ;(define_insn "" -; [(set (match_operand:SI 0 "general_operand" "=g") +; [(set (match_operand:SI 0 "nonimmediate_operand" "=g") ; (mult:SI (plus:SI (match_operand:SI 1 "general_operand" "g") ; (match_operand:SI 2 "general_operand" "g")) ; (match_operand:SI 3 "general_operand" "g")))] |
From: Dave A. <ai...@us...> - 2002-10-09 08:52:07
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv24033 Modified Files: Tag: tools-linuxvax-dynamic-dev vax.md Log Message: Another minor patch for warning removal Index: vax.md =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.md,v retrieving revision 2.12.2.1 retrieving revision 2.12.2.2 diff -u -r2.12.2.1 -r2.12.2.2 --- vax.md 9 Oct 2002 08:37:25 -0000 2.12.2.1 +++ vax.md 9 Oct 2002 08:52:03 -0000 2.12.2.2 @@ -696,7 +696,7 @@ "* { rtx low[3]; - char *pattern; + const char *pattern; int carry = 1; split_quadword_operands (operands, low, 3); @@ -787,7 +787,7 @@ "* { rtx low[3]; - char *pattern; + const char *pattern; int carry = 1; split_quadword_operands (operands, low, 3); |
From: Dave A. <ai...@us...> - 2002-10-09 08:37:32
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv15807 Modified Files: Tag: tools-linuxvax-dynamic-dev vax.md Log Message: DA: patch from http://gcc.gnu.org/ml/gcc-cvs/2001-01/msg00419.html Similiar patch in NetBSD 2.95 tree Index: vax.md =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.md,v retrieving revision 2.12 retrieving revision 2.12.2.1 diff -u -r2.12 -r2.12.2.1 --- vax.md 20 Aug 2000 15:23:44 -0000 2.12 +++ vax.md 9 Oct 2002 08:37:25 -0000 2.12.2.1 @@ -178,7 +178,7 @@ (define_insn "movdf" - [(set (match_operand:DF 0 "general_operand" "=g,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g,g") (match_operand:DF 1 "general_operand" "G,gF"))] "" "@ @@ -186,7 +186,7 @@ mov%# %1,%0") (define_insn "movsf" - [(set (match_operand:SF 0 "general_operand" "=g,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g,g") (match_operand:SF 1 "general_operand" "G,gF"))] "" "@ @@ -201,7 +201,7 @@ ;; "movh %1,%0") (define_insn "movdi" - [(set (match_operand:DI 0 "general_operand" "=g,g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g,g") (match_operand:DI 1 "general_operand" "I,g"))] "" "@ @@ -226,7 +226,7 @@ ;; "addl3 $63,#,dst" but this is slower than movzbl and takes as much space. (define_insn "movsi" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:SI 1 "general_operand" "g"))] "" "* @@ -271,7 +271,7 @@ }") (define_insn "movhi" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (match_operand:HI 1 "general_operand" "g"))] "" "* @@ -327,7 +327,7 @@ }") (define_insn "movqi" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (match_operand:QI 1 "general_operand" "g"))] "" "* @@ -392,8 +392,8 @@ ;; that anything generated as this insn will be recognized as one ;; and that it won't successfully combine with anything. (define_insn "movstrhi1" - [(set (match_operand:BLK 0 "general_operand" "=g") - (match_operand:BLK 1 "general_operand" "g")) + [(set (match_operand:BLK 0 "memory_operand" "=m") + (match_operand:BLK 1 "memory_operand" "m")) (use (match_operand:HI 2 "general_operand" "g")) (clobber (reg:SI 0)) (clobber (reg:SI 1)) @@ -407,67 +407,67 @@ ;; Extension and truncation insns. (define_insn "truncsiqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (truncate:QI (match_operand:SI 1 "nonimmediate_operand" "g")))] "" "cvtlb %1,%0") (define_insn "truncsihi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (truncate:HI (match_operand:SI 1 "nonimmediate_operand" "g")))] "" "cvtlw %1,%0") (define_insn "trunchiqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (truncate:QI (match_operand:HI 1 "nonimmediate_operand" "g")))] "" "cvtwb %1,%0") (define_insn "extendhisi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "g")))] "" "cvtwl %1,%0") (define_insn "extendqihi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "cvtbw %1,%0") (define_insn "extendqisi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "cvtbl %1,%0") (define_insn "extendsfdf2" - [(set (match_operand:DF 0 "general_operand" "=g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g") (float_extend:DF (match_operand:SF 1 "general_operand" "gF")))] "" "cvtf%# %1,%0") (define_insn "truncdfsf2" - [(set (match_operand:SF 0 "general_operand" "=g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g") (float_truncate:SF (match_operand:DF 1 "general_operand" "gF")))] "" "cvt%#f %1,%0") (define_insn "zero_extendhisi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "g")))] "" "movzwl %1,%0") (define_insn "zero_extendqihi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "movzbw %1,%0") (define_insn "zero_extendqisi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "movzbl %1,%0") @@ -475,37 +475,37 @@ ;; Fix-to-float conversion insns. (define_insn "floatsisf2" - [(set (match_operand:SF 0 "general_operand" "=g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g") (float:SF (match_operand:SI 1 "nonimmediate_operand" "g")))] "" "cvtlf %1,%0") (define_insn "floatsidf2" - [(set (match_operand:DF 0 "general_operand" "=g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g") (float:DF (match_operand:SI 1 "nonimmediate_operand" "g")))] "" "cvtl%# %1,%0") (define_insn "floathisf2" - [(set (match_operand:SF 0 "general_operand" "=g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g") (float:SF (match_operand:HI 1 "nonimmediate_operand" "g")))] "" "cvtwf %1,%0") (define_insn "floathidf2" - [(set (match_operand:DF 0 "general_operand" "=g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g") (float:DF (match_operand:HI 1 "nonimmediate_operand" "g")))] "" "cvtw%# %1,%0") (define_insn "floatqisf2" - [(set (match_operand:SF 0 "general_operand" "=g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g") (float:SF (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "cvtbf %1,%0") (define_insn "floatqidf2" - [(set (match_operand:DF 0 "general_operand" "=g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g") (float:DF (match_operand:QI 1 "nonimmediate_operand" "g")))] "" "cvtb%# %1,%0") @@ -513,37 +513,37 @@ ;; Float-to-fix conversion insns. (define_insn "fix_truncsfqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (fix:QI (fix:SF (match_operand:SF 1 "general_operand" "gF"))))] "" "cvtfb %1,%0") (define_insn "fix_truncsfhi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (fix:HI (fix:SF (match_operand:SF 1 "general_operand" "gF"))))] "" "cvtfw %1,%0") (define_insn "fix_truncsfsi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (fix:SI (fix:SF (match_operand:SF 1 "general_operand" "gF"))))] "" "cvtfl %1,%0") (define_insn "fix_truncdfqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (fix:QI (fix:DF (match_operand:DF 1 "general_operand" "gF"))))] "" "cvt%#b %1,%0") (define_insn "fix_truncdfhi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (fix:HI (fix:DF (match_operand:DF 1 "general_operand" "gF"))))] "" "cvt%#w %1,%0") (define_insn "fix_truncdfsi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (fix:SI (fix:DF (match_operand:DF 1 "general_operand" "gF"))))] "" "cvt%#l %1,%0") @@ -551,7 +551,7 @@ ;;- All kinds of add instructions. (define_insn "adddf3" - [(set (match_operand:DF 0 "general_operand" "=g,g,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g,g,g") (plus:DF (match_operand:DF 1 "general_operand" "0,gF,gF") (match_operand:DF 2 "general_operand" "gF,0,gF")))] "" @@ -561,7 +561,7 @@ add%#3 %1,%2,%0") (define_insn "addsf3" - [(set (match_operand:SF 0 "general_operand" "=g,g,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g,g,g") (plus:SF (match_operand:SF 1 "general_operand" "0,gF,gF") (match_operand:SF 2 "general_operand" "gF,0,gF")))] "" @@ -584,7 +584,7 @@ (define_insn "addsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (plus:SI (match_operand:SI 1 "general_operand" "g") (match_operand:SI 2 "general_operand" "g")))] "" @@ -636,7 +636,7 @@ }") (define_insn "addhi3" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (plus:HI (match_operand:HI 1 "general_operand" "g") (match_operand:HI 2 "general_operand" "g")))] "" @@ -662,7 +662,7 @@ }") (define_insn "addqi3" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (plus:QI (match_operand:QI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" @@ -689,7 +689,7 @@ ;; The add-with-carry (adwc) instruction only accepts two operands. (define_insn "adddi3" - [(set (match_operand:DI 0 "general_operand" "=ro>,ro>") + [(set (match_operand:DI 0 "nonimmediate_operand" "=ro>,ro>") (plus:DI (match_operand:DI 1 "general_operand" "%0,ro>") (match_operand:DI 2 "general_operand" "Fro,F")))] "" @@ -734,7 +734,7 @@ ;;- All kinds of subtract instructions. (define_insn "subdf3" - [(set (match_operand:DF 0 "general_operand" "=g,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g,g") (minus:DF (match_operand:DF 1 "general_operand" "0,gF") (match_operand:DF 2 "general_operand" "gF,gF")))] "" @@ -743,7 +743,7 @@ sub%#3 %2,%1,%0") (define_insn "subsf3" - [(set (match_operand:SF 0 "general_operand" "=g,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g,g") (minus:SF (match_operand:SF 1 "general_operand" "0,gF") (match_operand:SF 2 "general_operand" "gF,gF")))] "" @@ -752,7 +752,7 @@ subf3 %2,%1,%0") (define_insn "subsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g") (minus:SI (match_operand:SI 1 "general_operand" "0,g") (match_operand:SI 2 "general_operand" "g,g")))] "" @@ -761,7 +761,7 @@ subl3 %2,%1,%0") (define_insn "subhi3" - [(set (match_operand:HI 0 "general_operand" "=g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g") (minus:HI (match_operand:HI 1 "general_operand" "0,g") (match_operand:HI 2 "general_operand" "g,g")))] "" @@ -770,7 +770,7 @@ subw3 %2,%1,%0") (define_insn "subqi3" - [(set (match_operand:QI 0 "general_operand" "=g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g") (minus:QI (match_operand:QI 1 "general_operand" "0,g") (match_operand:QI 2 "general_operand" "g,g")))] "" @@ -780,7 +780,7 @@ ;; The subtract-with-carry (sbwc) instruction only takes two operands. (define_insn "subdi3" - [(set (match_operand:DI 0 "general_operand" "=or>,or>") + [(set (match_operand:DI 0 "nonimmediate_operand" "=or>,or>") (minus:DI (match_operand:DI 1 "general_operand" "0,or>") (match_operand:DI 2 "general_operand" "For,F")))] "" @@ -825,7 +825,7 @@ ;;- Multiply instructions. (define_insn "muldf3" - [(set (match_operand:DF 0 "general_operand" "=g,g,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g,g,g") (mult:DF (match_operand:DF 1 "general_operand" "0,gF,gF") (match_operand:DF 2 "general_operand" "gF,0,gF")))] "" @@ -835,7 +835,7 @@ mul%#3 %1,%2,%0") (define_insn "mulsf3" - [(set (match_operand:SF 0 "general_operand" "=g,g,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g,g,g") (mult:SF (match_operand:SF 1 "general_operand" "0,gF,gF") (match_operand:SF 2 "general_operand" "gF,0,gF")))] "" @@ -845,7 +845,7 @@ mulf3 %1,%2,%0") (define_insn "mulsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g,g") (mult:SI (match_operand:SI 1 "general_operand" "0,g,g") (match_operand:SI 2 "general_operand" "g,0,g")))] "" @@ -855,7 +855,7 @@ mull3 %1,%2,%0") (define_insn "mulhi3" - [(set (match_operand:HI 0 "general_operand" "=g,g,") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g,") (mult:HI (match_operand:HI 1 "general_operand" "0,g,g") (match_operand:HI 2 "general_operand" "g,0,g")))] "" @@ -865,7 +865,7 @@ mulw3 %1,%2,%0") (define_insn "mulqi3" - [(set (match_operand:QI 0 "general_operand" "=g,g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g,g") (mult:QI (match_operand:QI 1 "general_operand" "0,g,g") (match_operand:QI 2 "general_operand" "g,0,g")))] "" @@ -875,7 +875,7 @@ mulb3 %1,%2,%0") (define_insn "mulsidi3" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (mult:DI (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "g")) (sign_extend:DI @@ -884,7 +884,7 @@ "emul %1,%2,$0,%0") (define_insn "" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (plus:DI (mult:DI (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "g")) @@ -896,7 +896,7 @@ ;; 'F' constraint means type CONST_DOUBLE (define_insn "" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (plus:DI (mult:DI (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "g")) @@ -915,7 +915,7 @@ ;;- Divide instructions. (define_insn "divdf3" - [(set (match_operand:DF 0 "general_operand" "=g,g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g,g") (div:DF (match_operand:DF 1 "general_operand" "0,gF") (match_operand:DF 2 "general_operand" "gF,gF")))] "" @@ -924,7 +924,7 @@ div%#3 %2,%1,%0") (define_insn "divsf3" - [(set (match_operand:SF 0 "general_operand" "=g,g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g,g") (div:SF (match_operand:SF 1 "general_operand" "0,gF") (match_operand:SF 2 "general_operand" "gF,gF")))] "" @@ -933,7 +933,7 @@ divf3 %2,%1,%0") (define_insn "divsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g") (div:SI (match_operand:SI 1 "general_operand" "0,g") (match_operand:SI 2 "general_operand" "g,g")))] "" @@ -942,7 +942,7 @@ divl3 %2,%1,%0") (define_insn "divhi3" - [(set (match_operand:HI 0 "general_operand" "=g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g") (div:HI (match_operand:HI 1 "general_operand" "0,g") (match_operand:HI 2 "general_operand" "g,g")))] "" @@ -951,7 +951,7 @@ divw3 %2,%1,%0") (define_insn "divqi3" - [(set (match_operand:QI 0 "general_operand" "=g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g") (div:QI (match_operand:QI 1 "general_operand" "0,g") (match_operand:QI 2 "general_operand" "g,g")))] "" @@ -1332,7 +1332,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g") (and:SI (not:SI (match_operand:SI 1 "general_operand" "g,g")) (match_operand:SI 2 "general_operand" "0,g")))] "" @@ -1341,7 +1341,7 @@ bicl3 %1,%2,%0") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g") (and:HI (not:HI (match_operand:HI 1 "general_operand" "g,g")) (match_operand:HI 2 "general_operand" "0,g")))] "" @@ -1350,7 +1350,7 @@ bicw3 %1,%2,%0") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g") (and:QI (not:QI (match_operand:QI 1 "general_operand" "g,g")) (match_operand:QI 2 "general_operand" "0,g")))] "" @@ -1364,7 +1364,7 @@ ;; opportunities in combine.c. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g") (and:SI (match_operand:SI 1 "general_operand" "0,g") (match_operand:SI 2 "const_int_operand" "n,n")))] "" @@ -1373,7 +1373,7 @@ bicl3 %N2,%1,%0") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g") (and:HI (match_operand:HI 1 "general_operand" "0,g") (match_operand:HI 2 "const_int_operand" "n,n")))] "" @@ -1382,7 +1382,7 @@ bicw3 %H2,%1,%0") (define_insn "" - [(set (match_operand:QI 0 "general_operand" "=g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g") (and:QI (match_operand:QI 1 "general_operand" "0,g") (match_operand:QI 2 "const_int_operand" "n,n")))] "" @@ -1393,7 +1393,7 @@ ;;- Bit set instructions. (define_insn "iorsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g,g") (ior:SI (match_operand:SI 1 "general_operand" "0,g,g") (match_operand:SI 2 "general_operand" "g,0,g")))] "" @@ -1403,7 +1403,7 @@ bisl3 %2,%1,%0") (define_insn "iorhi3" - [(set (match_operand:HI 0 "general_operand" "=g,g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g,g") (ior:HI (match_operand:HI 1 "general_operand" "0,g,g") (match_operand:HI 2 "general_operand" "g,0,g")))] "" @@ -1413,7 +1413,7 @@ bisw3 %2,%1,%0") (define_insn "iorqi3" - [(set (match_operand:QI 0 "general_operand" "=g,g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g,g") (ior:QI (match_operand:QI 1 "general_operand" "0,g,g") (match_operand:QI 2 "general_operand" "g,0,g")))] "" @@ -1425,7 +1425,7 @@ ;;- xor instructions. (define_insn "xorsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g,g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g,g,g") (xor:SI (match_operand:SI 1 "general_operand" "0,g,g") (match_operand:SI 2 "general_operand" "g,0,g")))] "" @@ -1435,7 +1435,7 @@ xorl3 %2,%1,%0") (define_insn "xorhi3" - [(set (match_operand:HI 0 "general_operand" "=g,g,g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g,g,g") (xor:HI (match_operand:HI 1 "general_operand" "0,g,g") (match_operand:HI 2 "general_operand" "g,0,g")))] "" @@ -1445,7 +1445,7 @@ xorw3 %2,%1,%0") (define_insn "xorqi3" - [(set (match_operand:QI 0 "general_operand" "=g,g,g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g,g,g") (xor:QI (match_operand:QI 1 "general_operand" "0,g,g") (match_operand:QI 2 "general_operand" "g,0,g")))] "" @@ -1455,49 +1455,49 @@ xorb3 %2,%1,%0") (define_insn "negdf2" - [(set (match_operand:DF 0 "general_operand" "=g") + [(set (match_operand:DF 0 "nonimmediate_operand" "=g") (neg:DF (match_operand:DF 1 "general_operand" "gF")))] "" "mneg%# %1,%0") (define_insn "negsf2" - [(set (match_operand:SF 0 "general_operand" "=g") + [(set (match_operand:SF 0 "nonimmediate_operand" "=g") (neg:SF (match_operand:SF 1 "general_operand" "gF")))] "" "mnegf %1,%0") (define_insn "negsi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (neg:SI (match_operand:SI 1 "general_operand" "g")))] "" "mnegl %1,%0") (define_insn "neghi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (neg:HI (match_operand:HI 1 "general_operand" "g")))] "" "mnegw %1,%0") (define_insn "negqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (neg:QI (match_operand:QI 1 "general_operand" "g")))] "" "mnegb %1,%0") (define_insn "one_cmplsi2" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (not:SI (match_operand:SI 1 "general_operand" "g")))] "" "mcoml %1,%0") (define_insn "one_cmplhi2" - [(set (match_operand:HI 0 "general_operand" "=g") + [(set (match_operand:HI 0 "nonimmediate_operand" "=g") (not:HI (match_operand:HI 1 "general_operand" "g")))] "" "mcomw %1,%0") (define_insn "one_cmplqi2" - [(set (match_operand:QI 0 "general_operand" "=g") + [(set (match_operand:QI 0 "nonimmediate_operand" "=g") (not:QI (match_operand:QI 1 "general_operand" "g")))] "" "mcomb %1,%0") @@ -1519,21 +1519,21 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (ashiftrt:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "const_int_operand" "n")))] "" "ashl $%n2,%1,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (ashiftrt:SI (match_operand:SI 1 "general_operand" "g") (neg:QI (match_operand:QI 2 "general_operand" "g"))))] "" "ashl %2,%1,%0") (define_insn "ashlsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (ashift:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" @@ -1567,14 +1567,14 @@ }") (define_insn "ashldi3" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (ashift:DI (match_operand:DI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" "ashq %2,%1,%0") (define_insn "" - [(set (match_operand:DI 0 "general_operand" "=g") + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") (neg:QI (match_operand:QI 2 "general_operand" "g"))))] "" @@ -1613,21 +1613,21 @@ }") (define_insn "rotlsi3" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (rotate:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] "" "rotl %2,%1,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (rotatert:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "const_int_operand" "n")))] "" "rotl %R2,%1,%0") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (rotatert:SI (match_operand:SI 1 "general_operand" "g") (neg:QI (match_operand:QI 2 "general_operand" "g"))))] "" @@ -1674,7 +1674,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=&g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=&g") (zero_extract:SI (match_operand:SI 1 "register_operand" "ro") (match_operand:QI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")))] @@ -1699,7 +1699,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (sign_extract:SI (match_operand:SI 1 "register_operand" "ro") (match_operand:QI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")))] @@ -1751,7 +1751,7 @@ ;; anyway, we can't allow immediate values for the primary source operand. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (sign_extract:SI (match_operand:SI 1 "register_operand" "ro") (match_operand:QI 2 "general_operand" "g") (match_operand:SI 3 "general_operand" "g")))] @@ -1768,7 +1768,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (zero_extract:SI (match_operand:SI 1 "register_operand" "ro") (match_operand:QI 2 "general_operand" "g") (match_operand:SI 3 "general_operand" "g")))] @@ -1814,7 +1814,7 @@ "cmpzv %2,%1,%0,%3") (define_insn "extv" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (sign_extract:SI (match_operand:QI 1 "memory_operand" "m") (match_operand:QI 2 "general_operand" "g") (match_operand:SI 3 "general_operand" "g")))] @@ -1843,7 +1843,7 @@ "") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (zero_extract:SI (match_operand:QI 1 "memory_operand" "m") (match_operand:QI 2 "general_operand" "g") (match_operand:SI 3 "general_operand" "g")))] @@ -2065,7 +2065,7 @@ (define_insn "" [(set (pc) (if_then_else - (gt (plus:SI (match_operand:SI 0 "general_operand" "+g") + (gt (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+g") (const_int -1)) (const_int 0)) (label_ref (match_operand 1 "" "")) @@ -2079,7 +2079,7 @@ (define_insn "" [(set (pc) (if_then_else - (ge (plus:SI (match_operand:SI 0 "general_operand" "+g") + (ge (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+g") (const_int -1)) (const_int 0)) (label_ref (match_operand 1 "" "")) @@ -2094,7 +2094,7 @@ (define_insn "" [(set (pc) (if_then_else - (lt (plus:SI (match_operand:SI 0 "general_operand" "+g") + (lt (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+g") (const_int 1)) (match_operand:SI 1 "general_operand" "g")) (label_ref (match_operand 2 "" "")) @@ -2108,7 +2108,7 @@ (define_insn "" [(set (pc) (if_then_else - (lt (match_operand:SI 0 "general_operand" "+g") + (lt (match_operand:SI 0 "nonimmediate_operand" "+g") (match_operand:SI 1 "general_operand" "g")) (label_ref (match_operand 2 "" "")) (pc))) @@ -2121,7 +2121,7 @@ (define_insn "" [(set (pc) (if_then_else - (le (plus:SI (match_operand:SI 0 "general_operand" "+g") + (le (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+g") (const_int 1)) (match_operand:SI 1 "general_operand" "g")) (label_ref (match_operand 2 "" "")) @@ -2135,7 +2135,7 @@ (define_insn "" [(set (pc) (if_then_else - (le (match_operand:SI 0 "general_operand" "+g") + (le (match_operand:SI 0 "nonimmediate_operand" "+g") (match_operand:SI 1 "general_operand" "g")) (label_ref (match_operand 2 "" "")) (pc))) @@ -2151,7 +2151,7 @@ (define_insn "" [(set (pc) (if_then_else - (ne (match_operand:SI 0 "general_operand" "g") + (ne (match_operand:SI 0 "nonimmediate_operand" "g") (const_int 0)) (label_ref (match_operand 1 "" "")) (pc))) @@ -2329,7 +2329,7 @@ (mult:SI (minus:SI (match_dup 0) (const_int 0)) (const_int 2))))) - (label_ref:SI (match_operand 3 "" ""))) + (label_ref:SI (match_operand 2 "" ""))) (pc)))] "" "casel %0,$0,%1") @@ -2343,7 +2343,7 @@ ;; because < matches any autodecrement, not just a push. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:QI 1 "address_operand" "p"))] "" "* @@ -2355,7 +2355,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:HI 1 "address_operand" "p"))] "" "* @@ -2367,7 +2367,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:SI 1 "address_operand" "p"))] "" "* @@ -2379,7 +2379,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:DI 1 "address_operand" "p"))] "" "* @@ -2391,7 +2391,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:SF 1 "address_operand" "p"))] "" "* @@ -2403,7 +2403,7 @@ }") (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=g") + [(set (match_operand:SI 0 "nonimmediate_operand" "=g") (match_operand:DF 1 "address_operand" "p"))] "" "* @@ -2428,7 +2428,7 @@ ;; above sequences to before attempting to recognize the new insn. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=ro") + [(set (match_operand:SI 0 "nonimmediate_operand" "=ro") (and:SI (ashiftrt:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "const_int_operand" "n")) (match_operand:SI 3 "const_int_operand" "n")))] @@ -2450,7 +2450,7 @@ ;; optimized away. (define_insn "" - [(set (match_operand:SI 0 "general_operand" "=ro") + [(set (match_operand:SI 0 "nonimmediate_operand" "=ro") (and:SI (ashift:SI (match_operand:SI 1 "general_operand" "g") (match_operand:QI 2 "const_int_operand" "n")) (match_operand:SI 3 "const_int_operand" "n")))] |
From: Dave A. <ai...@us...> - 2002-04-10 18:36:02
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv4886 Modified Files: vax.md Log Message: DA: revert changes Index: vax.md =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.md,v retrieving revision 2.13 retrieving revision 2.14 diff -u -r2.13 -r2.14 --- vax.md 18 Sep 2001 00:13:49 -0000 2.13 +++ vax.md 10 Apr 2002 15:33:55 -0000 2.14 @@ -752,25 +752,13 @@ subf3 %2,%1,%0") (define_insn "subsi3" - [(set (match_operand:SI 0 "general_operand" "=g") - (minus:SI (match_operand:SI 1 "general_operand" "g") - (match_operand:SI 2 "general_operand" "g"))) - (clobber (match_scratch:SI 3 "&=g"))] + [(set (match_operand:SI 0 "general_operand" "=g,g") + (minus:SI (match_operand:SI 1 "general_operand" "0,g") + (match_operand:SI 2 "general_operand" "g,g")))] "" - "* -{ - if (rtx_equal_p(operands[1], operands[0])) - { - if ((flag_pic) - && vax_symbolic_operand (operands[2], GET_MODE (operands[2]))) - return \"movab %a2,%3;subl2 %3,%0\"; - return \"subl2 %2,%0\"; - } - if ((flag_pic) - && vax_symbolic_operand (operands[2], GET_MODE (operands[2]))) - return \"movab %a2,%3;subl3 %3,%1,%0\"; - return \"subl3 %2,%1,%0\"; -}") + "@ + subl2 %2,%0 + subl3 %2,%1,%0") (define_insn "subhi3" [(set (match_operand:HI 0 "general_operand" "=g,g") |
From: Dave A. <ai...@us...> - 2001-09-18 00:13:53
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory usw-pr-cvs1:/tmp/cvs-serv21477 Modified Files: vax.md Log Message: DA: fix for pic subtract to work.. fixes my inline case with ld.so _dl_strlen from uClibc okay.. Index: vax.md =================================================================== RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.md,v retrieving revision 2.12 retrieving revision 2.13 diff -u -r2.12 -r2.13 --- vax.md 2000/08/20 15:23:44 2.12 +++ vax.md 2001/09/18 00:13:49 2.13 @@ -752,13 +752,25 @@ subf3 %2,%1,%0") (define_insn "subsi3" - [(set (match_operand:SI 0 "general_operand" "=g,g") - (minus:SI (match_operand:SI 1 "general_operand" "0,g") - (match_operand:SI 2 "general_operand" "g,g")))] + [(set (match_operand:SI 0 "general_operand" "=g") + (minus:SI (match_operand:SI 1 "general_operand" "g") + (match_operand:SI 2 "general_operand" "g"))) + (clobber (match_scratch:SI 3 "&=g"))] "" - "@ - subl2 %2,%0 - subl3 %2,%1,%0") + "* +{ + if (rtx_equal_p(operands[1], operands[0])) + { + if ((flag_pic) + && vax_symbolic_operand (operands[2], GET_MODE (operands[2]))) + return \"movab %a2,%3;subl2 %3,%0\"; + return \"subl2 %2,%0\"; + } + if ((flag_pic) + && vax_symbolic_operand (operands[2], GET_MODE (operands[2]))) + return \"movab %a2,%3;subl3 %3,%1,%0\"; + return \"subl3 %2,%1,%0\"; +}") (define_insn "subhi3" [(set (match_operand:HI 0 "general_operand" "=g,g") |
From: Dave A. <ai...@us...> - 2001-08-06 18:41:11
|
Update of /cvsroot/linux-vax/tools/src/ld/emulparams In directory usw-pr-cvs1:/tmp/cvs-serv5176 Modified Files: elf_vax.sh Log Message: DA: changes for compiling user space programs Index: elf_vax.sh =================================================================== RCS file: /cvsroot/linux-vax/tools/src/ld/emulparams/elf_vax.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- elf_vax.sh 2000/07/26 23:17:06 1.1 +++ elf_vax.sh 2001/08/06 18:41:07 1.2 @@ -1,8 +1,8 @@ SCRIPT_NAME=elf OUTPUT_FORMAT="elf32-vax" -TEXT_START_ADDR=0x08048000 +TEXT_START_ADDR=0x1000 MAXPAGESIZE=0x1000 -NONPAGED_TEXT_START_ADDR=0x08048000 +NONPAGED_TEXT_START_ADDR=0x1000 ARCH=vax MACHINE= NOP=0x0101 |
From: Kenn H. <ke...@us...> - 2000-08-20 15:23:45
|
Update of /cvsroot/linux-vax/tools/src/gcc In directory slayer.i.sourceforge.net:/tmp/cvs-serv1654 Modified Files: version.c Log Message: Fixed sgeu and sltu patterns so that variable/constant where constant is > 0x80000000 is evaluated correctly when part of a function argument list. Added built-in implementations for umodsi3 and udivsi3. |
From: Kenn H. <ke...@us...> - 2000-08-20 15:23:45
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory slayer.i.sourceforge.net:/tmp/cvs-serv1654/config/vax Modified Files: vax.md Log Message: Fixed sgeu and sltu patterns so that variable/constant where constant is > 0x80000000 is evaluated correctly when part of a function argument list. Added built-in implementations for umodsi3 and udivsi3. |
From: Andy P. <at...@us...> - 2000-08-10 23:06:48
|
Update of /cvsroot/linux-vax/tools/src/bfd/doc In directory slayer.i.sourceforge.net:/tmp/cvs-serv2446 Modified Files: Makefile.in Log Message: version stamp update |
From: Andy P. <at...@us...> - 2000-08-10 23:04:56
|
Update of /cvsroot/linux-vax/tools/src/gprof In directory slayer.i.sourceforge.net:/tmp/cvs-serv1649 Modified Files: configure.in configure Log Message: Change version string to 2.10-linuxvax-20000808 |
From: Andy P. <at...@us...> - 2000-08-10 22:28:40
|
Update of /cvsroot/linux-vax/tools/src/ld In directory slayer.i.sourceforge.net:/tmp/cvs-serv28635 Modified Files: configure.in configure Log Message: Change version string to 2.10-linuxvax-20000808 |
From: Andy P. <at...@us...> - 2000-08-10 21:35:03
|
Update of /cvsroot/linux-vax/tools/src/gcc In directory slayer.i.sourceforge.net:/tmp/cvs-serv17928 Modified Files: version.c Log Message: Update version number to 2.95.2-linuxvax-20000808 |
From: Andy P. <at...@us...> - 2000-08-10 21:21:21
|
Update of /cvsroot/linux-vax/tools/src/gas In directory slayer.i.sourceforge.net:/tmp/cvs-serv16645 Modified Files: configure.in configure Log Message: Change version string to 2.10-linuxvax-20000808 |
From: Andy P. <at...@us...> - 2000-08-10 21:19:56
|
Update of /cvsroot/linux-vax/tools/src/binutils In directory slayer.i.sourceforge.net:/tmp/cvs-serv16462 Modified Files: configure.in configure Log Message: Change version string to 2.10-linuxvax-20000808 |
From: Andy P. <at...@us...> - 2000-08-10 21:19:01
|
Update of /cvsroot/linux-vax/tools/src/bfd In directory slayer.i.sourceforge.net:/tmp/cvs-serv16385 Modified Files: configure.in configure Log Message: change version string. |
From: Andy P. <at...@us...> - 2000-08-08 00:35:42
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory slayer.i.sourceforge.net:/tmp/cvs-serv29232 Modified Files: vax.h Log Message: test modification of call_used_regs to bring into line with vax proc calling standard, and generated VAX call std. expected save masks. |
From: Andy P. <at...@us...> - 2000-08-07 18:33:57
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax In directory slayer.i.sourceforge.net:/tmp/cvs-serv11222 Modified Files: vax.c vax.h Log Message: fix stabs variable declaration/initialization directive being forced into the .data section in vax.h. |