From 83d7633503572e1830e8549c9124a95440f72d4e Mon Sep 17 00:00:00 2001 From: ceriel Date: Wed, 17 Feb 1988 15:41:27 +0000 Subject: [PATCH] a minor improvement --- mach/m68020/ncg/table | 8 ++++++++ mach/m68k2/ncg/table | 8 ++++++++ mach/m68k4/ncg/table | 8 ++++++++ mach/moon3/ncg/table | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/mach/m68020/ncg/table b/mach/m68020/ncg/table index 344eb00bd..76bda869f 100644 --- a/mach/m68020/ncg/table +++ b/mach/m68020/ncg/table @@ -737,6 +737,14 @@ pat lil inreg($1)==reg_any yields {indirect4, %a} pat stl inreg($1)==reg_any +with exact memory1-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_b %1, {dreg1, regvar($1,reg_any)} +with exact memory2-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_w %1, {dreg2, regvar($1,reg_any)} with any4 kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) gen move %1, {LOCAL, $1} diff --git a/mach/m68k2/ncg/table b/mach/m68k2/ncg/table index 344eb00bd..76bda869f 100644 --- a/mach/m68k2/ncg/table +++ b/mach/m68k2/ncg/table @@ -737,6 +737,14 @@ pat lil inreg($1)==reg_any yields {indirect4, %a} pat stl inreg($1)==reg_any +with exact memory1-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_b %1, {dreg1, regvar($1,reg_any)} +with exact memory2-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_w %1, {dreg2, regvar($1,reg_any)} with any4 kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) gen move %1, {LOCAL, $1} diff --git a/mach/m68k4/ncg/table b/mach/m68k4/ncg/table index 344eb00bd..76bda869f 100644 --- a/mach/m68k4/ncg/table +++ b/mach/m68k4/ncg/table @@ -737,6 +737,14 @@ pat lil inreg($1)==reg_any yields {indirect4, %a} pat stl inreg($1)==reg_any +with exact memory1-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_b %1, {dreg1, regvar($1,reg_any)} +with exact memory2-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_w %1, {dreg2, regvar($1,reg_any)} with any4 kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) gen move %1, {LOCAL, $1} diff --git a/mach/moon3/ncg/table b/mach/moon3/ncg/table index 344eb00bd..76bda869f 100644 --- a/mach/moon3/ncg/table +++ b/mach/moon3/ncg/table @@ -737,6 +737,14 @@ pat lil inreg($1)==reg_any yields {indirect4, %a} pat stl inreg($1)==reg_any +with exact memory1-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_b %1, {dreg1, regvar($1,reg_any)} +with exact memory2-const + kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) + gen clr_l {LOCAL, $1} + move_w %1, {dreg2, regvar($1,reg_any)} with any4 kills regvar($1, reg_any), use_index %xreg==regvar($1, reg_any) gen move %1, {LOCAL, $1} -- 2.34.1