From fdf71ae4c61647f738ca1ae392d0faf02a447b63 Mon Sep 17 00:00:00 2001 From: Tormod Volden Date: Thu, 4 Jun 2015 23:58:20 +0200 Subject: [PATCH] lowlevel-6809.s: Fix some ashlsi3 brokenness This was broken in "upstream" gcc 6809. A shift by more than 7 would give wrong results in most cases. Signed-off-by: Tormod Volden --- Kernel/lowlevel-6809.s | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Kernel/lowlevel-6809.s b/Kernel/lowlevel-6809.s index 963bd5cc..eafae91a 100644 --- a/Kernel/lowlevel-6809.s +++ b/Kernel/lowlevel-6809.s @@ -585,11 +585,18 @@ ___ashlsi3: ; Shift by 16 ldu 2,x stu ,x + ldu #0 + stu 2,x try8: cmpb #8 blt try_rest subb #8 ; Shift by 8 + ldu 1,x + stu ,x + lda 3,x + sta 2,x + clr 3,x try_rest: tstb -- 2.34.1