From c69004d5dfa55c918d96d60817659586c832be2a Mon Sep 17 00:00:00 2001 From: ceriel Date: Thu, 16 Mar 1989 11:21:37 +0000 Subject: [PATCH] Added pattern for BLS 4 --- mach/m68k2/cg/table | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mach/m68k2/cg/table b/mach/m68k2/cg/table index 600957b51..b06a9e3c1 100644 --- a/mach/m68k2/cg/table +++ b/mach/m68k2/cg/table @@ -2686,7 +2686,6 @@ blm $1 > 12 | ADDSCR ADDSCR | remove(MEM_ALL) erase(%[a]) erase(%[1]) erase(%[2]) | | | -/* Wait for restriction nregneeded<2 to be removed bls $1 == 2 | DATASCR ADDSCR ADDSCR | remove(MEM_ALL) "asr #1,%[1]" @@ -2699,7 +2698,7 @@ bls $1 == 2 | DATASCR ADDSCR ADDSCR | erase(%[1]) erase(%[2]) erase(%[3]) | | | -*/ +#ifdef OLD bls $1 == 2 | STACK | allocate(ADDREG,ADDREG,DATAREG) "move.w (sp)+,%[c]" @@ -2712,6 +2711,19 @@ bls $1 == 2 | STACK | "move.w (%[a])+,(%[b])+" "dbf %[c],1b" "2:" | | | +#endif +bls $1 == 4 | DATASCR4 ADDSCR ADDSCR | + remove(MEM_ALL) + "asr_l #1,%[1]" + "sub.l #1,%[1]" + "blt 2f" + "1:" + "move.w (%[3])+,(%[2])+" + "dbf %[1],1b" + "2:" + erase(%[1]) + erase(%[2]) + erase(%[3]) | | | /* For csa and csb we just jump to a piece of code that computes * the jump-address and jumps to this address -- 2.34.1