diff --git a/mach/m68020/ncg/table b/mach/m68020/ncg/table index 6f0b79f4..350309e9 100644 --- a/mach/m68020/ncg/table +++ b/mach/m68020/ncg/table @@ -1104,7 +1104,10 @@ pat lol and stl $1==$3 && $2==4 && inreg($1)==reg_any pat lol ior stl $1==$3 && $2==4 && inreg($1)==reg_any call lolxxstl("or.l") pat lol xor stl $1==$3 && $2==4 && inreg($1)==reg_any - call lolxxstl("eor.l") +with conreg4-bconst + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen eor_l %1, {LOCAL, $1} + #ifdef TBL68020 pat lol mli stl $1==$3 && $2==4 && inreg($1)==reg_any with data4 diff --git a/mach/m68k2/ncg/table b/mach/m68k2/ncg/table index 6f0b79f4..350309e9 100644 --- a/mach/m68k2/ncg/table +++ b/mach/m68k2/ncg/table @@ -1104,7 +1104,10 @@ pat lol and stl $1==$3 && $2==4 && inreg($1)==reg_any pat lol ior stl $1==$3 && $2==4 && inreg($1)==reg_any call lolxxstl("or.l") pat lol xor stl $1==$3 && $2==4 && inreg($1)==reg_any - call lolxxstl("eor.l") +with conreg4-bconst + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen eor_l %1, {LOCAL, $1} + #ifdef TBL68020 pat lol mli stl $1==$3 && $2==4 && inreg($1)==reg_any with data4 diff --git a/mach/m68k4/ncg/table b/mach/m68k4/ncg/table index 6f0b79f4..350309e9 100644 --- a/mach/m68k4/ncg/table +++ b/mach/m68k4/ncg/table @@ -1104,7 +1104,10 @@ pat lol and stl $1==$3 && $2==4 && inreg($1)==reg_any pat lol ior stl $1==$3 && $2==4 && inreg($1)==reg_any call lolxxstl("or.l") pat lol xor stl $1==$3 && $2==4 && inreg($1)==reg_any - call lolxxstl("eor.l") +with conreg4-bconst + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen eor_l %1, {LOCAL, $1} + #ifdef TBL68020 pat lol mli stl $1==$3 && $2==4 && inreg($1)==reg_any with data4 diff --git a/mach/moon3/ncg/table b/mach/moon3/ncg/table index 6f0b79f4..350309e9 100644 --- a/mach/moon3/ncg/table +++ b/mach/moon3/ncg/table @@ -1104,7 +1104,10 @@ pat lol and stl $1==$3 && $2==4 && inreg($1)==reg_any pat lol ior stl $1==$3 && $2==4 && inreg($1)==reg_any call lolxxstl("or.l") pat lol xor stl $1==$3 && $2==4 && inreg($1)==reg_any - call lolxxstl("eor.l") +with conreg4-bconst + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen eor_l %1, {LOCAL, $1} + #ifdef TBL68020 pat lol mli stl $1==$3 && $2==4 && inreg($1)==reg_any with data4