From c3408302c1aec41c8aa08d3eb3e8d43e15728bd4 Mon Sep 17 00:00:00 2001 From: ceriel Date: Thu, 23 Feb 1989 17:59:30 +0000 Subject: [PATCH] better rule for LOE LOF DUP ADP ... --- mach/m68020/ncg/table | 16 ++++------------ mach/m68k2/ncg/table | 16 ++++------------ mach/m68k4/ncg/table | 16 ++++------------ mach/moon3/ncg/table | 16 ++++------------ 4 files changed, 16 insertions(+), 48 deletions(-) diff --git a/mach/m68020/ncg/table b/mach/m68020/ncg/table index ad59a5b3c..2e88741f6 100644 --- a/mach/m68020/ncg/table +++ b/mach/m68020/ncg/table @@ -965,14 +965,6 @@ pat lol lof adp lol stf $1==$4 && $2==$5 && inreg($1)==reg_pointer gen add_l {const, $3}, {offsetted4, regvar($1, reg_pointer), $2} #ifdef TBL68020 -pat loe lof inc loe stf $1==$4 && $2==$5 - kills allexceptcon - gen add_l {const, 1}, {ABS_off4, $1, $2} - -pat loe lof dec loe stf $1==$4 && $2==$5 - kills allexceptcon - gen sub_l {const, 1}, {ABS_off4, $1, $2} - pat loe lof adp loe stf $1==$4 && $2==$5 kills allexceptcon gen add_l {const, $3}, {ABS_off4, $1, $2} @@ -1489,10 +1481,10 @@ pat lol lof dup adp lol stf $1==$5 && $2==$6 && inreg($1)==reg_pointer #ifdef TBL68020 pat loe lof dup adp loe stf $1==$5 && $2==$6 kills allexceptcon - uses AA_REG = {ABS_off4, $1, $2} - gen add_l {const, $4}, {ABS_off4, $1, $2} - killreg %a - yields %a + uses AA_REG = {abs_con, $1, $2}, AA_REG + gen move_l {indirect4, %a}, %b + add_l {const, $4}, {indirect4, %a} + yields %b #endif pat lol lol adp stl loi $1==$2 && $1==$4 && $3==4 && $5==4 && diff --git a/mach/m68k2/ncg/table b/mach/m68k2/ncg/table index ad59a5b3c..2e88741f6 100644 --- a/mach/m68k2/ncg/table +++ b/mach/m68k2/ncg/table @@ -965,14 +965,6 @@ pat lol lof adp lol stf $1==$4 && $2==$5 && inreg($1)==reg_pointer gen add_l {const, $3}, {offsetted4, regvar($1, reg_pointer), $2} #ifdef TBL68020 -pat loe lof inc loe stf $1==$4 && $2==$5 - kills allexceptcon - gen add_l {const, 1}, {ABS_off4, $1, $2} - -pat loe lof dec loe stf $1==$4 && $2==$5 - kills allexceptcon - gen sub_l {const, 1}, {ABS_off4, $1, $2} - pat loe lof adp loe stf $1==$4 && $2==$5 kills allexceptcon gen add_l {const, $3}, {ABS_off4, $1, $2} @@ -1489,10 +1481,10 @@ pat lol lof dup adp lol stf $1==$5 && $2==$6 && inreg($1)==reg_pointer #ifdef TBL68020 pat loe lof dup adp loe stf $1==$5 && $2==$6 kills allexceptcon - uses AA_REG = {ABS_off4, $1, $2} - gen add_l {const, $4}, {ABS_off4, $1, $2} - killreg %a - yields %a + uses AA_REG = {abs_con, $1, $2}, AA_REG + gen move_l {indirect4, %a}, %b + add_l {const, $4}, {indirect4, %a} + yields %b #endif pat lol lol adp stl loi $1==$2 && $1==$4 && $3==4 && $5==4 && diff --git a/mach/m68k4/ncg/table b/mach/m68k4/ncg/table index ad59a5b3c..2e88741f6 100644 --- a/mach/m68k4/ncg/table +++ b/mach/m68k4/ncg/table @@ -965,14 +965,6 @@ pat lol lof adp lol stf $1==$4 && $2==$5 && inreg($1)==reg_pointer gen add_l {const, $3}, {offsetted4, regvar($1, reg_pointer), $2} #ifdef TBL68020 -pat loe lof inc loe stf $1==$4 && $2==$5 - kills allexceptcon - gen add_l {const, 1}, {ABS_off4, $1, $2} - -pat loe lof dec loe stf $1==$4 && $2==$5 - kills allexceptcon - gen sub_l {const, 1}, {ABS_off4, $1, $2} - pat loe lof adp loe stf $1==$4 && $2==$5 kills allexceptcon gen add_l {const, $3}, {ABS_off4, $1, $2} @@ -1489,10 +1481,10 @@ pat lol lof dup adp lol stf $1==$5 && $2==$6 && inreg($1)==reg_pointer #ifdef TBL68020 pat loe lof dup adp loe stf $1==$5 && $2==$6 kills allexceptcon - uses AA_REG = {ABS_off4, $1, $2} - gen add_l {const, $4}, {ABS_off4, $1, $2} - killreg %a - yields %a + uses AA_REG = {abs_con, $1, $2}, AA_REG + gen move_l {indirect4, %a}, %b + add_l {const, $4}, {indirect4, %a} + yields %b #endif pat lol lol adp stl loi $1==$2 && $1==$4 && $3==4 && $5==4 && diff --git a/mach/moon3/ncg/table b/mach/moon3/ncg/table index ad59a5b3c..2e88741f6 100644 --- a/mach/moon3/ncg/table +++ b/mach/moon3/ncg/table @@ -965,14 +965,6 @@ pat lol lof adp lol stf $1==$4 && $2==$5 && inreg($1)==reg_pointer gen add_l {const, $3}, {offsetted4, regvar($1, reg_pointer), $2} #ifdef TBL68020 -pat loe lof inc loe stf $1==$4 && $2==$5 - kills allexceptcon - gen add_l {const, 1}, {ABS_off4, $1, $2} - -pat loe lof dec loe stf $1==$4 && $2==$5 - kills allexceptcon - gen sub_l {const, 1}, {ABS_off4, $1, $2} - pat loe lof adp loe stf $1==$4 && $2==$5 kills allexceptcon gen add_l {const, $3}, {ABS_off4, $1, $2} @@ -1489,10 +1481,10 @@ pat lol lof dup adp lol stf $1==$5 && $2==$6 && inreg($1)==reg_pointer #ifdef TBL68020 pat loe lof dup adp loe stf $1==$5 && $2==$6 kills allexceptcon - uses AA_REG = {ABS_off4, $1, $2} - gen add_l {const, $4}, {ABS_off4, $1, $2} - killreg %a - yields %a + uses AA_REG = {abs_con, $1, $2}, AA_REG + gen move_l {indirect4, %a}, %b + add_l {const, $4}, {indirect4, %a} + yields %b #endif pat lol lol adp stl loi $1==$2 && $1==$4 && $3==4 && $5==4 && -- 2.34.1