From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 157A2C6FD1D for ; Sat, 1 Apr 2023 21:57:10 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C508685D63; Sat, 1 Apr 2023 23:56:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="lwDvpAqP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E06A9857F0; Sat, 1 Apr 2023 23:56:34 +0200 (CEST) Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 66FC5857F0 for ; Sat, 1 Apr 2023 23:55:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=francis.laniel@amarulasolutions.com Received: by mail-wm1-x341.google.com with SMTP id i5-20020a05600c354500b003edd24054e0so17528705wmq.4 for ; Sat, 01 Apr 2023 14:55:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1680386113; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=m3ccjUyKFml0scmAThcyFrh3T92FO0HHhyFJQON1B1o=; b=lwDvpAqPWWlonxHGEIGhHPF4Epe/f/R0OS9tOO0SlVGff34Q3jkClaL2UtxQVKV0aq IMLCrUWA7qDDunNzoEpgGeR6ElhtsuXZNzQ9dH5NcI6NA/WAj8fNukxadWag9ObRalZj HjCSE9XY6YDnpRhoXgGFmXsLrfciRSxxoh6vc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680386113; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=m3ccjUyKFml0scmAThcyFrh3T92FO0HHhyFJQON1B1o=; b=zHtm97VpNiGrkHxgzEBH+XRZH5n1UDeDN3AGdrBNEOsZ60Bf3iFwlIVsj4jPqe05ww rUvxTZkvmUNriAfi4Vw01F0e5w4h/7emLqZMShPxQKTPrJsm1U7Npv6yJdBY2R+v/X0h jVvgrekg0tTuq9G4BgBN4U7V0FUvrMkZZ/qdnQqvh/2eE7fDAHRCo39xxWJje+ZcZjfD FedpveVVqZDX4jGyl5chyHzhb+iP4mp0AI3z/8E2KO1CAcLZrmoQX0p4RqZQQMj6oHvu VhwAoBwc/4qL5L4y3tl2VqEBXQ1Jbizuytu+cQdHWUzE9NKWku6tsORwRnlOtwFl0Uh8 gJHg== X-Gm-Message-State: AAQBX9dXtMKQrv5fYK6Gl55xlZ9tuBLeqWROgqYjoLvLMzPuv/o7oejn /EQnMMI85HSp0IYxHsv/WW4AXq0+aJ+8PZ5SrlkvAMIN X-Google-Smtp-Source: AKy350bzHjC44FeeBTm2JfTXDT8tMbjl+JlNtIGqpVDT8NhYdK//DZL2GAEGpvYRGTPaucb8iEp0Gg== X-Received: by 2002:a05:600c:3149:b0:3ee:782b:2e31 with SMTP id h9-20020a05600c314900b003ee782b2e31mr10515113wmo.9.1680386112693; Sat, 01 Apr 2023 14:55:12 -0700 (PDT) Received: from pwmachine.numericable.fr ([78.30.11.60]) by smtp.gmail.com with ESMTPSA id y6-20020adff6c6000000b002ceac2ccc4asm5805028wrp.23.2023.04.01.14.55.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 14:55:12 -0700 (PDT) From: Francis Laniel To: u-boot@lists.denx.de Cc: Michael Nazzareno Trimarchi , Tony Dinh , Francis Laniel , Sergei Antonov Subject: [RFC PATCH v1] arm: lib: add __gnu_thumb1_case_si Date: Sat, 1 Apr 2023 22:54:39 +0100 Message-Id: <20230401215439.9107-1-francis.laniel@amarulasolutions.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean The assembly for __gnu_thumb1_case_si was taken from upstream gcc and adapted as width suffix was removed for the add instruction [1]. Signed-off-by: Francis Laniel Tested-by: Tony Dinh [1] https://github.com/gcc-mirror/gcc/blob/4f181f9c7ee3efc509d185fdfda33be9018f1611/libgcc/config/arm/lib1funcs.S#L2156 --- arch/arm/lib/lib1funcs.S | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S index 7ff4446dd6..79cedc0aad 100644 --- a/arch/arm/lib/lib1funcs.S +++ b/arch/arm/lib/lib1funcs.S @@ -424,4 +424,21 @@ ENTRY(__gnu_thumb1_case_uhi) ret lr ENDPROC(__gnu_thumb1_case_uhi) .popsection + +/* Taken and adapted from: https://github.com/gcc-mirror/gcc/blob/4f181f9c7ee3efc509d185fdfda33be9018f1611/libgcc/config/arm/lib1funcs.S#L2156 */ +.pushsection .text.__gnu_thumb1_case_si, "ax" +ENTRY(__gnu_thumb1_case_si) + push {r0, r1} + mov r1, lr + adds r1, r1, #2 /* Align to word. */ + lsrs r1, r1, #2 + lsls r0, r0, #2 + lsls r1, r1, #2 + ldr r0, [r1, r0] + adds r0, r0, r1 + mov lr, r0 + pop {r0, r1} + mov pc, lr /* We know we were called from thumb code. */ +ENDPROC(__gnu_thumb1_case_si) +.popsection #endif -- 2.34.1