dotgnu-pnet-commits
[Top][All Lists]
Advanced

[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); }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]