* [PATCH] eal: remove unnecessary use of statement expression
@ 2024-01-31 0:18 Tyler Retzlaff
2024-02-12 17:56 ` Tyler Retzlaff
2024-02-14 12:21 ` David Marchand
0 siblings, 2 replies; 5+ messages in thread
From: Tyler Retzlaff @ 2024-01-31 0:18 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Konstantin Ananyev, Tyler Retzlaff
Remove use of statement expression syntax in expansion of
MOVEUNALIGNED_LEFT47_IMM and MOVEUNALIGNED_LEFT47 macro expansions.
There appears to be no need to use the statement expression compiler
extension a simple block should work.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
lib/eal/x86/include/rte_memcpy.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
index fd151be..72a9229 100644
--- a/lib/eal/x86/include/rte_memcpy.h
+++ b/lib/eal/x86/include/rte_memcpy.h
@@ -610,7 +610,7 @@
* - __m128i <xmm0> ~ <xmm8> must be pre-defined
*/
#define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset) \
-__extension__ ({ \
+{ \
size_t tmp; \
while (len >= 128 + 16 - offset) { \
xmm0 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 0 * 16)); \
@@ -656,7 +656,7 @@
src = (const uint8_t *)src + tmp; \
dst = (uint8_t *)dst + tmp; \
} \
-})
+}
/**
* Macro for copying unaligned block from one location to another,
@@ -671,7 +671,7 @@
* - __m128i <xmm0> ~ <xmm8> used in MOVEUNALIGNED_LEFT47_IMM must be pre-defined
*/
#define MOVEUNALIGNED_LEFT47(dst, src, len, offset) \
-__extension__ ({ \
+{ \
switch (offset) { \
case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break; \
case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break; \
@@ -690,7 +690,7 @@
case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break; \
default:; \
} \
-})
+}
static __rte_always_inline void *
rte_memcpy_generic(void *dst, const void *src, size_t n)
--
1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] eal: remove unnecessary use of statement expression
2024-01-31 0:18 [PATCH] eal: remove unnecessary use of statement expression Tyler Retzlaff
@ 2024-02-12 17:56 ` Tyler Retzlaff
2024-02-13 10:41 ` David Marchand
2024-02-14 12:21 ` David Marchand
1 sibling, 1 reply; 5+ messages in thread
From: Tyler Retzlaff @ 2024-02-12 17:56 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Konstantin Ananyev
ping
could relevant maintainers take a look?
thank you!
On Tue, Jan 30, 2024 at 04:18:49PM -0800, Tyler Retzlaff wrote:
> Remove use of statement expression syntax in expansion of
> MOVEUNALIGNED_LEFT47_IMM and MOVEUNALIGNED_LEFT47 macro expansions.
>
> There appears to be no need to use the statement expression compiler
> extension a simple block should work.
>
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---
> lib/eal/x86/include/rte_memcpy.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
> index fd151be..72a9229 100644
> --- a/lib/eal/x86/include/rte_memcpy.h
> +++ b/lib/eal/x86/include/rte_memcpy.h
> @@ -610,7 +610,7 @@
> * - __m128i <xmm0> ~ <xmm8> must be pre-defined
> */
> #define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset) \
> -__extension__ ({ \
> +{ \
> size_t tmp; \
> while (len >= 128 + 16 - offset) { \
> xmm0 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 0 * 16)); \
> @@ -656,7 +656,7 @@
> src = (const uint8_t *)src + tmp; \
> dst = (uint8_t *)dst + tmp; \
> } \
> -})
> +}
>
> /**
> * Macro for copying unaligned block from one location to another,
> @@ -671,7 +671,7 @@
> * - __m128i <xmm0> ~ <xmm8> used in MOVEUNALIGNED_LEFT47_IMM must be pre-defined
> */
> #define MOVEUNALIGNED_LEFT47(dst, src, len, offset) \
> -__extension__ ({ \
> +{ \
> switch (offset) { \
> case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break; \
> case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break; \
> @@ -690,7 +690,7 @@
> case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break; \
> default:; \
> } \
> -})
> +}
>
> static __rte_always_inline void *
> rte_memcpy_generic(void *dst, const void *src, size_t n)
> --
> 1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] eal: remove unnecessary use of statement expression
2024-02-12 17:56 ` Tyler Retzlaff
@ 2024-02-13 10:41 ` David Marchand
2024-02-13 11:10 ` David Marchand
0 siblings, 1 reply; 5+ messages in thread
From: David Marchand @ 2024-02-13 10:41 UTC (permalink / raw)
To: Tyler Retzlaff; +Cc: dev, Bruce Richardson, Konstantin Ananyev
On Mon, Feb 12, 2024 at 6:56 PM Tyler Retzlaff
<roretzla@linux.microsoft.com> wrote:
>
> ping
>
> could relevant maintainers take a look?
This change comes from the old commit 5f2c68a710e1 ("lib: work around
braced-groups within expressions").
I suspect this change breaks application compiling with pedantic,
without setting a C standard >= C11.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] eal: remove unnecessary use of statement expression
2024-02-13 10:41 ` David Marchand
@ 2024-02-13 11:10 ` David Marchand
0 siblings, 0 replies; 5+ messages in thread
From: David Marchand @ 2024-02-13 11:10 UTC (permalink / raw)
To: Tyler Retzlaff; +Cc: dev, Bruce Richardson, Konstantin Ananyev
On Tue, Feb 13, 2024 at 11:41 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> On Mon, Feb 12, 2024 at 6:56 PM Tyler Retzlaff
> <roretzla@linux.microsoft.com> wrote:
> >
> > ping
> >
> > could relevant maintainers take a look?
>
> This change comes from the old commit 5f2c68a710e1 ("lib: work around
> braced-groups within expressions").
> I suspect this change breaks application compiling with pedantic,
> without setting a C standard >= C11.
Oh, I get it now.
I was confused because of the other series 30308.
I'll merge this first patch.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] eal: remove unnecessary use of statement expression
2024-01-31 0:18 [PATCH] eal: remove unnecessary use of statement expression Tyler Retzlaff
2024-02-12 17:56 ` Tyler Retzlaff
@ 2024-02-14 12:21 ` David Marchand
1 sibling, 0 replies; 5+ messages in thread
From: David Marchand @ 2024-02-14 12:21 UTC (permalink / raw)
To: Tyler Retzlaff; +Cc: dev, Bruce Richardson, Konstantin Ananyev
On Wed, Jan 31, 2024 at 1:19 AM Tyler Retzlaff
<roretzla@linux.microsoft.com> wrote:
>
> Remove use of statement expression syntax in expansion of
> MOVEUNALIGNED_LEFT47_IMM and MOVEUNALIGNED_LEFT47 macro expansions.
>
> There appears to be no need to use the statement expression compiler
> extension a simple block should work.
>
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Applied, thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-02-14 12:22 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-31 0:18 [PATCH] eal: remove unnecessary use of statement expression Tyler Retzlaff
2024-02-12 17:56 ` Tyler Retzlaff
2024-02-13 10:41 ` David Marchand
2024-02-13 11:10 ` David Marchand
2024-02-14 12:21 ` David Marchand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).