From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@akeo-ie.20150623.gappssmtp.com header.s=20150623 header.b=P+pGSves; spf=none, err=permanent DNS error (domain: akeo.ie, ip: 209.85.208.67, mailfrom: pete@akeo.ie) Received: from mail-ed1-f67.google.com (mail-ed1-f67.google.com [209.85.208.67]) by groups.io with SMTP; Mon, 13 May 2019 01:54:28 -0700 Received: by mail-ed1-f67.google.com with SMTP id w11so16422777edl.5 for ; Mon, 13 May 2019 01:54:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akeo-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jJzy6o3V0+fOW+BPGWMoOY3Yxw2MsJDPuGfUFomfutA=; b=P+pGSvesA77+rmY5+sf2FVylRIYNWNuDwIPwmkVzrtKQMgg7XI/bfdp5MUeFoOt3E6 G9RlP3NhFgT3sqP4JQXYRUi2NFxUKxayuqB9/rXdISNmCnuQihR8dfqEteaZC/edCXBT 9kcj2AFdvu/G8/7WDgdNinOhTsHNDuXvkMDQpMjhwSWvwK2P5tD//sglnwF2wKlxtvdd fz8MUD5I6Jm1r6kd5P5TY4dzXXhYggEr6Y7ACDS6gXt6D2XK2lVF51JPDNEPQIYWz70R GvnP1kREjqArJ1jOghMd0C+mYFXM+Hp+b6yykquD8lzLiMiPTb9LkPqwSThYQHMInD8X Hy0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jJzy6o3V0+fOW+BPGWMoOY3Yxw2MsJDPuGfUFomfutA=; b=nwjpElI1BQkUd2Gi5SiOVVOfdTUbRlWONkBuED084AwlgK8/hGxf/uvhiW50EluVYy m9ZEN2BK5SAB6m8W+lMCEl8P8jOEK6+fh9zXgNUnR5KrBhXp/P4LsQoNHU9iWWQhFrlK q6lmlPKogxw5FccOSeEC3fhvKjwYgzVV2qVK3c5QHumwxV3y5jGER8j4O0w5i7brSmnz yp+sbmpL1YtYx9XstyyrG4VckXta1xjp+EGi0yPu86AHQh2U3+AwZYzGaMgBNF65Z/9L bTQUq9AkZB5mLK+vsNKNEpdKPgEhbYwp3rWK18Xt4xnv5iZeHtHAHQGvYpNL6uWxlo9U 0TAw== X-Gm-Message-State: APjAAAWKHzBerkC9cR6o3+/dptjvmwaJNQQHdLcUlLeQxn1l+jkWoOZP sP2hLMPj8W15F+reWAjzO8rXSiec45Q= X-Google-Smtp-Source: APXvYqzSwTm4vq1XJQW9aVOKEVup5L+4Z4YAkIAUi+8924gk+UhfgsU0vNlq6Cr5tZXSa7NnlL2zVw== X-Received: by 2002:a17:906:6b18:: with SMTP id q24mr21048940ejr.225.1557737666115; Mon, 13 May 2019 01:54:26 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([84.203.49.55]) by smtp.gmail.com with ESMTPSA id k57sm3595701ede.17.2019.05.13.01.54.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 May 2019 01:54:25 -0700 (PDT) From: "Pete Batard" To: devel@edk2.groups.io Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org Subject: [PATCH v2 0/4] ArmPkg/CompilerIntrinsicsLib: Update MSFT, GCC intrinsics Date: Mon, 13 May 2019 09:54:12 +0100 Message-Id: <20190513085416.1352-1-pete@akeo.ie> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patch series cleans up and updates the CompilerIntrinsicsLib for ArmPkg. The first patch removes sources that are no longer used and cleans up the .inf. The second patch adds memcmp and memmove for MSFT, as I ran into missing symbols for those while compiling a project with VS2017. Note that we are not reusing the memmove.asm from ARM and instead adding a separate C source, as we need an implemention that applies for both ARM and ARM64. The third patch adds a lasr implementation, which I found was needed to fix missing symbols when compiling with GCC/ARM on Debian 9.8. The last patch premtpively adds references for uread/uwrite for completion. Regards, /Pete Pete Batard (4): ArmPkg/CompilerIntrinsicsLib: Remove unused sources and clean up .inf ArmPkg/CompilerIntrinsicsLib: Add memcmp, memmove intrinsics for MSFT ArmPkg/CompilerIntrinsicsLib: Add lasr ARM assembly source for GCC ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources ArmPkg/Library/CompilerIntrinsicsLib/Arm/Llvm_int_lib.h | 93 ------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.c | 77 ------ ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.c | 78 ------ ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.c | 90 ------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.c | 92 ------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.c | 71 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.c | 72 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S | 30 +++ ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.c | 77 ------ ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.c | 71 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.c | 64 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.c | 92 ------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.c | 76 ------ ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.c | 65 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.c | 281 -------------------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.c | 105 -------- ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldivmod.c | 37 --- ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.c | 66 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.c | 62 ----- ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.S | 54 ++++ ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.S | 53 ++++ ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf | 108 +++----- ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c | 31 +++ ArmPkg/Library/CompilerIntrinsicsLib/memmove_ms.c | 34 +++ 24 files changed, 245 insertions(+), 1634 deletions(-) delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/Llvm_int_lib.h delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.c create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldivmod.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.c delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.c create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.S create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.S create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/memmove_ms.c -- 2.21.0.windows.1