From c7be2d1a4495e4124e431347c764596414fd005a Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 24 Jul 1989 10:40:21 +0000 Subject: [PATCH] bug fix in NGI for longs --- mach/i86/cg/table | 4 ++-- mach/i86/ncg/table | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mach/i86/cg/table b/mach/i86/cg/table index 2efa3ff9a..1beab9ca9 100644 --- a/mach/i86/cg/table +++ b/mach/i86/cg/table @@ -1134,8 +1134,8 @@ lol ngi stl $1==$3 && $2==2 | | ldl ngi sdl $1==$3 && $2==4 | | remove(indexed) remove(locals, %[ind]>=$1 && %[ind]<$1+4 ) - "neg $1(bp)" "neg %($1+2%)(bp)" + "neg $1(bp)" "sbb %($1+2%)(bp),0" | | | lol ads stl $1==$3 && $2==2 | | | | lol $1 adi 2 stl $1 | #ifdef REGVARS @@ -1388,8 +1388,8 @@ loe ngi ste $1==$3 && $2==2 | | setcc({EXTERN2, $1}) | | | lde ngi sde $1==$3 && $2==4 | | remove(indirects) - "neg ($1)" "neg ($1+2)" + "neg ($1)" "sbb ($1+2),0" | | | loe ads ste $1==$3 && $2==2 | regorconst | remove(indirects) diff --git a/mach/i86/ncg/table b/mach/i86/ncg/table index 81d32d270..ce080e8fd 100644 --- a/mach/i86/ncg/table +++ b/mach/i86/ncg/table @@ -1640,8 +1640,8 @@ gen neg {LOCAL, $1, 2} pat ldl ngi sdl $1==$3 && $2==4 kills indexed,locals %ind+%size > $1 && %ind < $1+4 -gen neg {LOCAL, $1, 2} - neg {LOCAL, $1+2, 2} +gen neg {LOCAL, $1+2, 2} + neg {LOCAL, $1, 2} sbb {LOCAL, $1+2, 2}, {ANYCON, 0} pat lol lol adp stl loi stl $1==$2 && $2==$4 && $5<=2 @@ -1744,8 +1744,8 @@ gen neg {EXTERN2, $1} pat lde ngi sde $1==$3 && $2==4 kills indirects -gen neg {EXTERN2, $1} - neg {EXTERN2, $1+2} +gen neg {EXTERN2, $1+2} + neg {EXTERN2, $1} sbb {EXTERN2, $1+2}, {ANYCON, 0} pat loe loe adp ste $1==$2 && $1==$4 -- 2.34.1