bugs fixed (syntax errors, patterns moved to front,
authorbal <none@none>
Mon, 30 Jul 1984 11:16:41 +0000 (11:16 +0000)
committerbal <none@none>
Mon, 30 Jul 1984 11:16:41 +0000 (11:16 +0000)
"ldl ldl adp sdl sti" requires DATAREG instead of ANY1 on
fakestack)

mach/m68k2/cg/table

index 8bcac71..47da138 100644 (file)
@@ -510,6 +510,41 @@ sdf | ADDREG ANY4 |        remove(MEM_ALL)
  * local variables that are not register-variables.
  */
 
+ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | |
+               allocate(DATAREG={IMMEDIATE,0})
+               remove(regvar($1))
+               "move.b (%(regvar($1)%))+,%[a]"         | %[a] | |
+ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | |
+               allocate(DATAREG)
+               remove(regvar($1))
+               "move.w (%(regvar($1)%))+,%[a]"         | %[a] | |
+ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | DATAREG |
+               remove(regvar($1))
+               "move.b %[1],(%(regvar($1)%))+" |       | |
+ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | ANY |
+               remove(regvar($1))
+               "move.w %[1],(%(regvar($1)%))+" |       | |
+ldl ldl adp sdl $1==$2 && $2==$4 && inreg($1)==2 | |
+               allocate(ADDREG=regvar($1))             | %[a]
+                                                       | ldl $2 adp $3 sdl $2 |
+lol inl $1==$2 && inreg($1)==2 | |
+               allocate(DATAREG=regvar($1))            | %[a]
+                                                       | inl $2        |
+lol inl $1==$2 | |
+               allocate(DATAREG={DISPL,LB,$1})         | %[a]
+                                                       | inl $2        |
+lol del $1==$2 && inreg($1)==2 | |
+               allocate(DATAREG=regvar($1))            | %[a]
+                                                       | del $2        |
+lol del $1==$2 | |
+               allocate(DATAREG={DISPL,LB,$1})         | %[a]
+                                                       | del $2        |
+loe ine $1==$2 | |
+               allocate(DATAREG={ABS,$1})              | %[a]
+                                                       | ine $2        |
+loe dee $1==$2 | |
+               allocate(DATAREG={ABS,$1})              | %[a]
+                                                       | dee $2        |
 
 lol adi stl $1 == $3 && $2 == 2  && inreg($1)==2 | ANY |
                                remove(regvar($1))
@@ -608,11 +643,6 @@ lol loc slu stl $1 == $4 && $2 == 1 && $3 == 2  && inreg($1)==2 | |
                                remove(regvar($1))
                                "asl.w #1,%(regvar($1)%)"       
                                erase(regvar($1))       | | |
-ldl ldl adp sdl $1 == $2 && $2 == $4 && inreg($1)==2 | |
-               remove(regvar($1))
-               allocate(ADDREG=regvar($1))
-               "add.l #$3,%(regvar($1)%)"      
-               erase(regvar($1))       | %[a] | |
 ldl adp sdl $1 == $3  && inreg($1)==2 | |      remove(regvar($1))
                                "add.l #$2,%(regvar($1)%)"      
                                erase(regvar($1))       | | | 
@@ -1168,42 +1198,6 @@ dee | |
                                remove(ALL_ACCESSIBLE)
                "sub.w #1,$1"
                setcc({ABS,$1}) | | |
-#ifdef REGVARS
-ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | |
-               allocate(DATAREG={IMMEDIATE,0})
-               remove(regvar($1))
-               "move.b (%regvar($1)%))+,%[a]"          | %[a] | |
-ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | |
-               allocate(DATAREG)
-               remove(regvar($1))
-               "move.w (%regvar($1)%))+,%[a]"          | %[a] | |
-ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | ANY1 |
-               remove(regvar($1))
-               "move.b %[1],(%(regvar($1)%))+" |       | |
-ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | ANY |
-               remove(regvar($1))
-               "move.w %[1],(%(regvar($1)%))+" |       | |
-ldl ldl adp sdl $1==$2 && $2==$4 && inreg($1)==2 | |
-               allocate(ADDREG=regvar($1))             | %[a]
-                                                       | ldl $2 adp $3 sdl $2 |
-lol inl $1==$2 && inreg($1)==2 | |
-               allocate(DATAREG=regvar($1))            | %[a]
-                                                       | inl $2        |
-lol inl $1==$2 | |
-               allocate(DATAREG={DISPL,LB,$1})         | %[a]
-                                                       | inl $2        |
-lol del $1==$2 && inreg($1)==2 | |
-               allocate(DATAREG=regvar($1))            | %[a]
-                                                       | del $2        |
-lol del $1==$2 | |
-               allocate(DATAREG={DISPL,LB,$1})         | %[a]
-                                                       | del $2        |
-loe ine $1==$2 | |
-               allocate(DATAREG={ABS,$1})              | %[a]
-                                                       | ine $2        |
-loe dee $1==$2 | |
-               allocate(DATAREG={ABS,$1})              | %[a]
-                                                       | dee $2        |
 zrl |  |       remove(DISPL,%[reg] == LB && %[dis] == $1)
                remove(DISPL4,%[reg] == LB && (%[dis] == $1-2 ||
                                           %[dis] == $1))