As stated in README, the minimum supported GCC version for arm32 is
4.9, therefore drop the custom do_div() macro in favor of using the
optimized version.
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
To be merged after:
https://lore.kernel.org/xen-devel/20240902100355.3032079-2-andrew.cooper3@citrix.com
---
xen/arch/arm/include/asm/div64.h | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index da1f1fcbd503..8fe17f0ff27c 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -54,20 +54,6 @@
__rem; \
})
-#if __GNUC__ < 4
-
-/*
- * gcc versions earlier than 4.0 are simply too problematic for the
- * optimized implementation below. First there is gcc PR 15089 that
- * tend to trig on more complex constructs, spurious .global __udivsi3
- * are inserted even if none of those symbols are referenced in the
- * generated code, and those gcc versions are not able to do constant
- * propagation on long long values anyway.
- */
-#define do_div(n, base) __do_div_asm(n, base)
-
-#elif __GNUC__ >= 4
-
#include <xen/bug.h>
/*
@@ -217,8 +203,6 @@
__r; \
})
-#endif /* GCC version */
-
#endif /* BITS_PER_LONG */
#endif
--
2.25.1
On Tue, 3 Sep 2024, Michal Orzel wrote: > As stated in README, the minimum supported GCC version for arm32 is > 4.9, therefore drop the custom do_div() macro in favor of using the > optimized version. > > Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com> > Signed-off-by: Michal Orzel <michal.orzel@amd.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > To be merged after: > https://lore.kernel.org/xen-devel/20240902100355.3032079-2-andrew.cooper3@citrix.com > --- > xen/arch/arm/include/asm/div64.h | 16 ---------------- > 1 file changed, 16 deletions(-) > > diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h > index da1f1fcbd503..8fe17f0ff27c 100644 > --- a/xen/arch/arm/include/asm/div64.h > +++ b/xen/arch/arm/include/asm/div64.h > @@ -54,20 +54,6 @@ > __rem; \ > }) > > -#if __GNUC__ < 4 > - > -/* > - * gcc versions earlier than 4.0 are simply too problematic for the > - * optimized implementation below. First there is gcc PR 15089 that > - * tend to trig on more complex constructs, spurious .global __udivsi3 > - * are inserted even if none of those symbols are referenced in the > - * generated code, and those gcc versions are not able to do constant > - * propagation on long long values anyway. > - */ > -#define do_div(n, base) __do_div_asm(n, base) > - > -#elif __GNUC__ >= 4 > - > #include <xen/bug.h> > > /* > @@ -217,8 +203,6 @@ > __r; \ > }) > > -#endif /* GCC version */ > - > #endif /* BITS_PER_LONG */ > > #endif > -- > 2.25.1 >
On 03/09/2024 1:48 pm, Michal Orzel wrote: > As stated in README, the minimum supported GCC version for arm32 is > 4.9, therefore drop the custom do_div() macro in favor of using the > optimized version. > > Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com> > Signed-off-by: Michal Orzel <michal.orzel@amd.com> FWIW, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
© 2016 - 2024 Red Hat, Inc.