From: ceriel Date: Tue, 8 May 1990 09:03:28 +0000 (+0000) Subject: fixed some patterns: operand could have side effects X-Git-Tag: release-5-5~1719 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=b04388a3269e311119e0763bd0ae8107a553b9a8;p=ack.git fixed some patterns: operand could have side effects --- diff --git a/mach/vax4/top/table b/mach/vax4/top/table index 809f2912b..438d09183 100644 --- a/mach/vax4/top/table +++ b/mach/vax4/top/table @@ -38,46 +38,46 @@ cvtwl ZERO,X -> clrl X; /* change 3-operand instructions to 2-operand instructions */ -addw3 X,Y,Y -> addw2 X,Y; -addl3 X,Y,Y -> addl2 X,Y; -addf3 X,Y,Y -> addf2 X,Y; -addd3 X,Y,Y -> addd2 X,Y; - -addw3 X,Y,X -> addw2 Y,X; -addl3 X,Y,X -> addl2 Y,X; -addf3 X,Y,X -> addf2 Y,X; -addd3 X,Y,X -> addd2 Y,X; - -subw3 X,Y,Y -> subw2 X,Y; -subl3 X,Y,Y -> subl2 X,Y; -subf3 X,Y,Y -> subf2 X,Y; -subd3 X,Y,Y -> subd2 X,Y; - -mulw3 X,Y,Y -> mulw2 X,Y; -mull3 X,Y,Y -> mull2 X,Y; -mulf3 X,Y,Y -> mulf2 X,Y; -muld3 X,Y,Y -> muld2 X,Y; - -mulw3 X,Y,X -> mulw2 Y,X; -mull3 X,Y,X -> mull2 Y,X; -mulf3 X,Y,X -> mulf2 Y,X; -muld3 X,Y,X -> muld2 Y,X; - -divw3 X,Y,Y -> divw2 X,Y; -divl3 X,Y,Y -> divl2 X,Y; -divf3 X,Y,Y -> divf2 X,Y; -divd3 X,Y,Y -> divd2 X,Y; - -xorw3 X,Y,Y -> xorw2 X,Y; -xorl3 X,Y,Y -> xorl2 X,Y; - -bisw3 X,Y,Y -> bisw2 X,Y; -bisl3 X,Y,Y -> bisl2 X,Y; -bisw3 X,Y,X -> bisw2 Y,X; -bisl3 X,Y,X -> bisl2 Y,X; - -bicw3 X,Y,Y -> bicw2 X,Y; -bicl3 X,Y,Y -> bicl2 X,Y; +addw3 X,A,A -> addw2 X,A; +addl3 X,A,A -> addl2 X,A; +addf3 X,A,A -> addf2 X,A; +addd3 X,A,A -> addd2 X,A; + +addw3 A,Y,A -> addw2 Y,A; +addl3 A,Y,A -> addl2 Y,A; +addf3 A,Y,A -> addf2 Y,A; +addd3 A,Y,A -> addd2 Y,A; + +subw3 X,A,A -> subw2 X,A; +subl3 X,A,A -> subl2 X,A; +subf3 X,A,A -> subf2 X,A; +subd3 X,A,A -> subd2 X,A; + +mulw3 X,A,A -> mulw2 X,A; +mull3 X,A,A -> mull2 X,A; +mulf3 X,A,A -> mulf2 X,A; +muld3 X,A,A -> muld2 X,A; + +mulw3 A,Y,A -> mulw2 Y,A; +mull3 A,Y,A -> mull2 Y,A; +mulf3 A,Y,A -> mulf2 Y,A; +muld3 A,Y,A -> muld2 Y,A; + +divw3 X,A,A -> divw2 X,A; +divl3 X,A,A -> divl2 X,A; +divf3 X,A,A -> divf2 X,A; +divd3 X,A,A -> divd2 X,A; + +xorw3 X,A,A -> xorw2 X,A; +xorl3 X,A,A -> xorl2 X,A; + +bisw3 X,A,A -> bisw2 X,A; +bisl3 X,A,A -> bisl2 X,A; +bisw3 A,Y,A -> bisw2 Y,A; +bisl3 A,Y,A -> bisl2 Y,A; + +bicw3 X,A,A -> bicw2 X,A; +bicl3 X,A,A -> bicl2 X,A; /* eliminate negative constants */