[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ChangeLog tools/gen-rules-parser.y tools...
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] libjit ChangeLog tools/gen-rules-parser.y tools... |
Date: |
Mon, 26 May 2008 19:46:27 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: libjit
Changes by: Klaus Treichel <ktreichel> 08/05/26 19:46:27
Modified files:
. : ChangeLog
tools : gen-rules-parser.y gen-rules-scanner.l
Log message:
Add the imms32 and imm32u keywords for support of signed and unsigned
32bit
immediate values.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.376&r2=1.377
http://cvs.savannah.gnu.org/viewcvs/libjit/tools/gen-rules-parser.y?cvsroot=dotgnu-pnet&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/libjit/tools/gen-rules-scanner.l?cvsroot=dotgnu-pnet&r1=1.7&r2=1.8
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.376
retrieving revision 1.377
diff -u -b -r1.376 -r1.377
--- ChangeLog 26 May 2008 10:51:27 -0000 1.376
+++ ChangeLog 26 May 2008 19:46:26 -0000 1.377
@@ -1,3 +1,8 @@
+2008-05-26 Klaus Treichel <address@hidden>
+
+ * tools/gen-rules-parser.y, tools/gen-rules-scanner-l: Add the imms32
+ and immu32 keywords for 32bit signed and unsigned immediate values.
+
2008-05-26 Juan Jesus Garcia de Soria <address@hidden>
* include/jit/jit-defs.h.in: define JIT_EXPORT_DATA macro to support
Index: tools/gen-rules-parser.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/tools/gen-rules-parser.y,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- tools/gen-rules-parser.y 27 Feb 2008 08:53:41 -0000 1.18
+++ tools/gen-rules-parser.y 26 May 2008 19:46:26 -0000 1.19
@@ -132,12 +132,14 @@
#define GENSEL_PATT_IMMU8 7
#define GENSEL_PATT_IMMS16 8
#define GENSEL_PATT_IMMU16 9
-#define GENSEL_PATT_LOCAL 10
-#define GENSEL_PATT_FRAME 11
-#define GENSEL_PATT_SCRATCH 12
-#define GENSEL_PATT_CLOBBER 13
-#define GENSEL_PATT_IF 14
-#define GENSEL_PATT_SPACE 15
+#define GENSEL_PATT_IMMS32 10
+#define GENSEL_PATT_IMMU32 11
+#define GENSEL_PATT_LOCAL 12
+#define GENSEL_PATT_FRAME 13
+#define GENSEL_PATT_SCRATCH 14
+#define GENSEL_PATT_CLOBBER 15
+#define GENSEL_PATT_IF 16
+#define GENSEL_PATT_SPACE 17
/*
* Value types.
@@ -488,6 +490,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
++imms;
break;
@@ -681,6 +685,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
if(ternary || free_dest)
{
if(index < 3)
@@ -734,6 +740,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
if(ternary || free_dest)
{
if(index < 3)
@@ -802,6 +810,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
names[index] = gensel_imm_names[imms];
++imms;
++index;
@@ -1121,6 +1131,30 @@
++index;
break;
+ case GENSEL_PATT_IMMS32:
+ if(seen_option)
+ {
+ printf(" && ");
+ }
+ printf("insn->%s->is_nint_constant &&
", args[index]);
+ printf("insn->%s->address >=
-2147483648 && ", args[index]);
+ printf("insn->%s->address <=
2147483647", args[index]);
+ seen_option = 1;
+ ++index;
+ break;
+
+ case GENSEL_PATT_IMMU32:
+ if(seen_option)
+ {
+ printf(" && ");
+ }
+ printf("insn->%s->is_nint_constant &&
", args[index]);
+ printf("insn->%s->address >= 0 && ",
args[index]);
+ printf("insn->%s->address <=
4294967295", args[index]);
+ seen_option = 1;
+ ++index;
+ break;
+
case GENSEL_PATT_LOCAL:
if(seen_option)
{
@@ -1313,6 +1347,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
++index;
break;
@@ -1492,6 +1528,8 @@
case GENSEL_PATT_IMMU8:
case GENSEL_PATT_IMMS16:
case GENSEL_PATT_IMMU16:
+ case GENSEL_PATT_IMMS32:
+ case GENSEL_PATT_IMMU32:
printf("\t\t%s = insn->%s->address;\n",
gensel_imm_names[imms], args[index]);
++imms;
@@ -1654,6 +1692,8 @@
%token K_IMMU8 "immediate unsigned 8-bit value"
%token K_IMMS16 "immediate signed 16-bit value"
%token K_IMMU16 "immediate unsigned 16-bit value"
+%token K_IMMS32 "immediate signed 32-bit value"
+%token K_IMMU32 "immediate unsigned 32-bit value"
%token K_LOCAL "local variable"
%token K_FRAME "local variable forced out into the stack frame"
%token K_NOTE "`note'"
@@ -1952,6 +1992,8 @@
| K_IMMU8 { $$ = GENSEL_PATT_IMMU8; }
| K_IMMS16 { $$ = GENSEL_PATT_IMMS16; }
| K_IMMU16 { $$ = GENSEL_PATT_IMMU16; }
+ | K_IMMS32 { $$ = GENSEL_PATT_IMMS32; }
+ | K_IMMU32 { $$ = GENSEL_PATT_IMMU32; }
| K_LOCAL { $$ = GENSEL_PATT_LOCAL; }
| K_FRAME { $$ = GENSEL_PATT_FRAME; }
| K_ANY { $$ = GENSEL_PATT_ANY; }
Index: tools/gen-rules-scanner.l
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/tools/gen-rules-scanner.l,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- tools/gen-rules-scanner.l 23 May 2008 11:00:43 -0000 1.7
+++ tools/gen-rules-scanner.l 26 May 2008 19:46:26 -0000 1.8
@@ -96,6 +96,8 @@
"immu8" { RETURNTOK(K_IMMU8); }
"imms16" { RETURNTOK(K_IMMS16); }
"immu16" { RETURNTOK(K_IMMU16); }
+"imms32" { RETURNTOK(K_IMMS32); }
+"immu32" { RETURNTOK(K_IMMU32); }
"local" { RETURNTOK(K_LOCAL); }
"frame" { RETURNTOK(K_FRAME); }
"ternary" { RETURNTOK(K_TERNARY); }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog tools/gen-rules-parser.y tools...,
Klaus Treichel <=