eal/x86: improve rte_memcpy const size 16 performance

Message ID 20240302234812.9137-1-mb@smartsharesystems.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series eal/x86: improve rte_memcpy const size 16 performance |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/github-robot: build success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS

Commit Message

Morten Brørup March 2, 2024, 11:48 p.m. UTC
  When the rte_memcpy() size is 16, the same 16 bytes are copied twice.
In the case where the size is knownto be 16 at build tine, omit the
duplicate copy.

Reduced the amount of effectively copy-pasted code by using #ifdef
inside functions instead of outside functions.

Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/eal/x86/include/rte_memcpy.h | 224 ++++++++-----------------------
 1 file changed, 54 insertions(+), 170 deletions(-)
  

Comments

Morten Brørup March 3, 2024, 12:38 a.m. UTC | #1
Recheck-request: iol-broadcom-Performance

Patch only modifies x86 code, but fails performance on aarch64.
  
Stephen Hemminger March 3, 2024, 5:40 a.m. UTC | #2
On Sun,  3 Mar 2024 00:48:12 +0100
Morten Brørup <mb@smartsharesystems.com> wrote:

> When the rte_memcpy() size is 16, the same 16 bytes are copied twice.
> In the case where the size is knownto be 16 at build tine, omit the
> duplicate copy.
> 
> Reduced the amount of effectively copy-pasted code by using #ifdef
> inside functions instead of outside functions.
> 
> Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> ---

Looks good, let me see how it looks in goldbolt vs Gcc.

One other issue is that for the non-constant case, rte_memcpy has an excessively
large inline code footprint. That is one of the reasons Gcc doesn't always
inline.  For > 128 bytes, it really should be a function.
  
Stephen Hemminger March 3, 2024, 5:41 a.m. UTC | #3
On Sun,  3 Mar 2024 00:48:12 +0100
Morten Brørup <mb@smartsharesystems.com> wrote:

> diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
> index 72a92290e0..6cc0e8ee16 100644
> --- a/lib/eal/x86/include/rte_memcpy.h
> +++ b/lib/eal/x86/include/rte_memcpy.h
> @@ -1,5 +1,6 @@
>  /* SPDX-License-Identifier: BSD-3-Clause
>   * Copyright(c) 2010-2014 Intel Corporation
> + * Copyright(c) 2024 SmartShare Systems
>   */

Lets not start the precedent of adding individual copyrights on patches.
  
Stephen Hemminger March 3, 2024, 5:47 a.m. UTC | #4
While doing some tests with -Wall and -Wextra with current code.
Saw that it doesn't really always get inlined anyway.

In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:37,
                 from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86intrin.h:32,
                 from ethcopy.c:4:
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h: In function ‘rte_memcpy_generic’:
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:553:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  553 |     case 0x01: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x01); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:554:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  554 |     case 0x02: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x02); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:555:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  555 |     case 0x03: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x03); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:556:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  556 |     case 0x04: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x04); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:557:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  557 |     case 0x05: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x05); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:558:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  558 |     case 0x06: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x06); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:559:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  559 |     case 0x07: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x07); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:560:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  560 |     case 0x08: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x08); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:561:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  561 |     case 0x09: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x09); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:562:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  562 |     case 0x0A: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0A); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:563:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  563 |     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:564:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  564 |     case 0x0C: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0C); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:565:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  565 |     case 0x0D: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0D); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:566:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  566 |     case 0x0E: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0E); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:504:9: note: called from here
  504 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:505:9: note: called from here
  505 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:506:9: note: called from here
  506 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:507:9: note: called from here
  507 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:508:9: note: called from here
  508 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:509:9: note: called from here
  509 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:510:9: note: called from here
  510 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:511:9: note: called from here
  511 |         _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:526:13: note: called from here
  526 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:185:1: error: inlining failed in call to ‘always_inline’ ‘_mm_alignr_epi8’: target specific option mismatch
  185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
      | ^~~~~~~~~~~~~~~
ethcopy.c:527:13: note: called from here
  527 |             _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:567:16: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47_IMM’
  567 |     case 0x0F: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0F); break;    \
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
ethcopy.c:693:9: note: in expansion of macro ‘MOVEUNALIGNED_LEFT47’
  693 |         MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
      |         ^~~~~~~~~~~~~~~~~~~~

Compilation exited abnormally with code 1 at Sat Mar  2 21:43:50
  
Stephen Hemminger March 3, 2024, 5:58 a.m. UTC | #5
On Sat, 2 Mar 2024 21:40:03 -0800
Stephen Hemminger <stephen@networkplumber.org> wrote:

> On Sun,  3 Mar 2024 00:48:12 +0100
> Morten Brørup <mb@smartsharesystems.com> wrote:
> 
> > When the rte_memcpy() size is 16, the same 16 bytes are copied twice.
> > In the case where the size is knownto be 16 at build tine, omit the
> > duplicate copy.
> > 
> > Reduced the amount of effectively copy-pasted code by using #ifdef
> > inside functions instead of outside functions.
> > 
> > Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
> > Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> > ---  
> 
> Looks good, let me see how it looks in goldbolt vs Gcc.
> 
> One other issue is that for the non-constant case, rte_memcpy has an excessively
> large inline code footprint. That is one of the reasons Gcc doesn't always
> inline.  For > 128 bytes, it really should be a function.

For size of 4,6,8,16, 32, 64, up to 128 Gcc inline and rte_memcpy match.

For size 128. It looks gcc is simpler.

rte_copy_addr:
        vmovdqu ymm0, YMMWORD PTR [rsi]
        vextracti128    XMMWORD PTR [rdi+16], ymm0, 0x1
        vmovdqu XMMWORD PTR [rdi], xmm0
        vmovdqu ymm0, YMMWORD PTR [rsi+32]
        vextracti128    XMMWORD PTR [rdi+48], ymm0, 0x1
        vmovdqu XMMWORD PTR [rdi+32], xmm0
        vmovdqu ymm0, YMMWORD PTR [rsi+64]
        vextracti128    XMMWORD PTR [rdi+80], ymm0, 0x1
        vmovdqu XMMWORD PTR [rdi+64], xmm0
        vmovdqu ymm0, YMMWORD PTR [rsi+96]
        vextracti128    XMMWORD PTR [rdi+112], ymm0, 0x1
        vmovdqu XMMWORD PTR [rdi+96], xmm0
        vzeroupper
        ret
copy_addr:
        vmovdqu ymm0, YMMWORD PTR [rsi]
        vmovdqu YMMWORD PTR [rdi], ymm0
        vmovdqu ymm1, YMMWORD PTR [rsi+32]
        vmovdqu YMMWORD PTR [rdi+32], ymm1
        vmovdqu ymm2, YMMWORD PTR [rsi+64]
        vmovdqu YMMWORD PTR [rdi+64], ymm2
        vmovdqu ymm3, YMMWORD PTR [rsi+96]
        vmovdqu YMMWORD PTR [rdi+96], ymm3
        vzeroupper
        ret
  
Stephen Hemminger March 3, 2024, 5:58 a.m. UTC | #6
On Sat, 2 Mar 2024 21:47:08 -0800
Stephen Hemminger <stephen@networkplumber.org> wrote:

> While doing some tests with -Wall and -Wextra with current code.
> Saw that it doesn't really always get inlined anyway.


NVM needed -march=native
  
Morten Brørup March 3, 2024, 10:07 a.m. UTC | #7
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Sunday, 3 March 2024 06.58
> 
> On Sat, 2 Mar 2024 21:40:03 -0800
> Stephen Hemminger <stephen@networkplumber.org> wrote:
> 
> > On Sun,  3 Mar 2024 00:48:12 +0100
> > Morten Brørup <mb@smartsharesystems.com> wrote:
> >
> > > When the rte_memcpy() size is 16, the same 16 bytes are copied
> twice.
> > > In the case where the size is knownto be 16 at build tine, omit the
> > > duplicate copy.
> > >
> > > Reduced the amount of effectively copy-pasted code by using #ifdef
> > > inside functions instead of outside functions.
> > >
> > > Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
> > > Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> > > ---
> >
> > Looks good, let me see how it looks in goldbolt vs Gcc.
> >
> > One other issue is that for the non-constant case, rte_memcpy has an
> excessively
> > large inline code footprint. That is one of the reasons Gcc doesn't
> always
> > inline.  For > 128 bytes, it really should be a function.

Yes, the code footprint is significant for the non-constant case.
I suppose Intel considered the cost and benefits when they developed this.
Or perhaps they just wanted a showcase for their new and shiny vector instructions. ;-)

Inlining might provide significant branch prediction benefits in cases where the size is not build-time constant, but run-time constant.

> 
> For size of 4,6,8,16, 32, 64, up to 128 Gcc inline and rte_memcpy match.
> 
> For size 128. It looks gcc is simpler.
> 
> rte_copy_addr:
>         vmovdqu ymm0, YMMWORD PTR [rsi]
>         vextracti128    XMMWORD PTR [rdi+16], ymm0, 0x1
>         vmovdqu XMMWORD PTR [rdi], xmm0
>         vmovdqu ymm0, YMMWORD PTR [rsi+32]
>         vextracti128    XMMWORD PTR [rdi+48], ymm0, 0x1
>         vmovdqu XMMWORD PTR [rdi+32], xmm0
>         vmovdqu ymm0, YMMWORD PTR [rsi+64]
>         vextracti128    XMMWORD PTR [rdi+80], ymm0, 0x1
>         vmovdqu XMMWORD PTR [rdi+64], xmm0
>         vmovdqu ymm0, YMMWORD PTR [rsi+96]
>         vextracti128    XMMWORD PTR [rdi+112], ymm0, 0x1
>         vmovdqu XMMWORD PTR [rdi+96], xmm0
>         vzeroupper
>         ret

Interesting. Playing around with Godbolt revealed that GCC version < 11 creates the above from rte_memcpy, whereas GCC version >= 11 does it correctly. Clang doesn't have this issue.
I guess that's why the original code treated AVX as SSE.
Fixed in v2.

> copy_addr:
>         vmovdqu ymm0, YMMWORD PTR [rsi]
>         vmovdqu YMMWORD PTR [rdi], ymm0
>         vmovdqu ymm1, YMMWORD PTR [rsi+32]
>         vmovdqu YMMWORD PTR [rdi+32], ymm1
>         vmovdqu ymm2, YMMWORD PTR [rsi+64]
>         vmovdqu YMMWORD PTR [rdi+64], ymm2
>         vmovdqu ymm3, YMMWORD PTR [rsi+96]
>         vmovdqu YMMWORD PTR [rdi+96], ymm3
>         vzeroupper
>         ret
  
Stephen Hemminger March 3, 2024, 4:05 p.m. UTC | #8
Another option would be to just do what PPC already does.
The ENA part is because it has some garbage trying to use memcpy
always (which is one of those bad ideas).

From 74e7ab929e61e0481f6e0214d4d06a716b2f7d79 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Sun, 3 Mar 2024 08:02:07 -0800
Subject: [PATCH] rte_memcpy: use builtin memcpy for fixed sizes

This makes x86 arch do same thing as PPC, and also allows
code checkers to see memcpy issues.  It shows a pre-existing
bug in ipsec test now.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/ena/base/ena_plat_dpdk.h |  9 +-----
 lib/eal/x86/include/rte_memcpy.h     | 45 +++++++++++++++-------------
 2 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 14bf582a451f..997e6aa3dfbd 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -70,14 +70,7 @@ typedef uint64_t dma_addr_t;
 #define ENA_UDELAY(x) rte_delay_us_block(x)
 
 #define ENA_TOUCH(x) ((void)(x))
-/* Redefine memcpy with caution: rte_memcpy can be simply aliased to memcpy, so
- * make the redefinition only if it's safe (and beneficial) to do so.
- */
-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64_MEMCPY) || \
-	defined(RTE_ARCH_ARM_NEON_MEMCPY)
-#undef memcpy
-#define memcpy rte_memcpy
-#endif
+
 #define wmb rte_wmb
 #define rmb rte_rmb
 #define mb rte_mb
diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
index 72a92290e05d..aab30be0eeb9 100644
--- a/lib/eal/x86/include/rte_memcpy.h
+++ b/lib/eal/x86/include/rte_memcpy.h
@@ -27,24 +27,6 @@ extern "C" {
 #pragma GCC diagnostic ignored "-Wstringop-overflow"
 #endif
 
-/**
- * Copy bytes from one location to another. The locations must not overlap.
- *
- * @note This is implemented as a macro, so it's address should not be taken
- * and care is needed as parameter expressions may be evaluated multiple times.
- *
- * @param dst
- *   Pointer to the destination of the data.
- * @param src
- *   Pointer to the source data.
- * @param n
- *   Number of bytes to copy.
- * @return
- *   Pointer to the destination data.
- */
-static __rte_always_inline void *
-rte_memcpy(void *dst, const void *src, size_t n);
-
 /**
  * Copy bytes from one location to another,
  * locations should not overlap.
@@ -859,8 +841,8 @@ rte_memcpy_aligned(void *dst, const void *src, size_t n)
 	return ret;
 }
 
-static __rte_always_inline void *
-rte_memcpy(void *dst, const void *src, size_t n)
+static inline void *
+rte_memcpy_func(void *dst, const void *src, size_t n)
 {
 	if (!(((uintptr_t)dst | (uintptr_t)src) & ALIGNMENT_MASK))
 		return rte_memcpy_aligned(dst, src, n);
@@ -868,6 +850,29 @@ rte_memcpy(void *dst, const void *src, size_t n)
 		return rte_memcpy_generic(dst, src, n);
 }
 
+
+/**
+ * Copy bytes from one location to another. The locations must not overlap.
+ *
+ * @note This is implemented as a macro, so it's address should not be taken
+ * and care is needed as parameter expressions may be evaluated multiple times.
+ *
+ * @param dst
+ *   Pointer to the destination of the data.
+ * @param src
+ *   Pointer to the source data.
+ * @param n
+ *   Number of bytes to copy.
+ * @return
+ *   Pointer to the destination data.
+ */
+#define rte_memcpy(dst, src, n)              \
+	__extension__ ({                     \
+	(__builtin_constant_p(n)) ?          \
+	memcpy((dst), (src), (n)) :          \
+	rte_memcpy_func((dst), (src), (n)); })
+
+
 #undef ALIGNMENT_MASK
 
 #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 100000)
  

Patch

diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
index 72a92290e0..6cc0e8ee16 100644
--- a/lib/eal/x86/include/rte_memcpy.h
+++ b/lib/eal/x86/include/rte_memcpy.h
@@ -1,5 +1,6 @@ 
 /* SPDX-License-Identifier: BSD-3-Clause
  * Copyright(c) 2010-2014 Intel Corporation
+ * Copyright(c) 2024 SmartShare Systems
  */
 
 #ifndef _RTE_MEMCPY_X86_64_H_
@@ -91,14 +92,6 @@  rte_mov15_or_less(void *dst, const void *src, size_t n)
 	return ret;
 }
 
-#if defined __AVX512F__ && defined RTE_MEMCPY_AVX512
-
-#define ALIGNMENT_MASK 0x3F
-
-/**
- * AVX512 implementation below
- */
-
 /**
  * Copy 16 bytes from one location to another,
  * locations should not overlap.
@@ -119,10 +112,15 @@  rte_mov16(uint8_t *dst, const uint8_t *src)
 static __rte_always_inline void
 rte_mov32(uint8_t *dst, const uint8_t *src)
 {
+#if (defined __AVX512F__ && defined RTE_MEMCPY_AVX512) || defined __AVX2__ || defined __AVX__
 	__m256i ymm0;
 
 	ymm0 = _mm256_loadu_si256((const __m256i *)src);
 	_mm256_storeu_si256((__m256i *)dst, ymm0);
+#else /* SSE implementation */
+	rte_mov16((uint8_t *)dst + 0 * 16, (const uint8_t *)src + 0 * 16);
+	rte_mov16((uint8_t *)dst + 1 * 16, (const uint8_t *)src + 1 * 16);
+#endif
 }
 
 /**
@@ -132,10 +130,15 @@  rte_mov32(uint8_t *dst, const uint8_t *src)
 static __rte_always_inline void
 rte_mov64(uint8_t *dst, const uint8_t *src)
 {
+#if defined __AVX512F__ && defined RTE_MEMCPY_AVX512
 	__m512i zmm0;
 
 	zmm0 = _mm512_loadu_si512((const void *)src);
 	_mm512_storeu_si512((void *)dst, zmm0);
+#else /* AVX2, AVX & SSE implementation */
+	rte_mov32((uint8_t *)dst + 0 * 32, (const uint8_t *)src + 0 * 32);
+	rte_mov32((uint8_t *)dst + 1 * 32, (const uint8_t *)src + 1 * 32);
+#endif
 }
 
 /**
@@ -156,12 +159,18 @@  rte_mov128(uint8_t *dst, const uint8_t *src)
 static __rte_always_inline void
 rte_mov256(uint8_t *dst, const uint8_t *src)
 {
-	rte_mov64(dst + 0 * 64, src + 0 * 64);
-	rte_mov64(dst + 1 * 64, src + 1 * 64);
-	rte_mov64(dst + 2 * 64, src + 2 * 64);
-	rte_mov64(dst + 3 * 64, src + 3 * 64);
+	rte_mov128(dst + 0 * 128, src + 0 * 128);
+	rte_mov128(dst + 1 * 128, src + 1 * 128);
 }
 
+#if defined __AVX512F__ && defined RTE_MEMCPY_AVX512
+
+#define ALIGNMENT_MASK 0x3F
+
+/**
+ * AVX512 implementation below
+ */
+
 /**
  * Copy 128-byte blocks from one location to another,
  * locations should not overlap.
@@ -231,12 +240,22 @@  rte_memcpy_generic(void *dst, const void *src, size_t n)
 	/**
 	 * Fast way when copy size doesn't exceed 512 bytes
 	 */
+	if (__builtin_constant_p(n) && n == 32) {
+		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
+		return ret;
+	}
 	if (n <= 32) {
 		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
+		if (__builtin_constant_p(n) && n == 16)
+			return ret; /* avoid (harmless) duplicate copy */
 		rte_mov16((uint8_t *)dst - 16 + n,
 				  (const uint8_t *)src - 16 + n);
 		return ret;
 	}
+	if (__builtin_constant_p(n) && n == 64) {
+		rte_mov64((uint8_t *)dst, (const uint8_t *)src);
+		return ret;
+	}
 	if (n <= 64) {
 		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
 		rte_mov32((uint8_t *)dst - 32 + n,
@@ -321,73 +340,6 @@  rte_memcpy_generic(void *dst, const void *src, size_t n)
  * AVX2 implementation below
  */
 
-/**
- * Copy 16 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov16(uint8_t *dst, const uint8_t *src)
-{
-	__m128i xmm0;
-
-	xmm0 = _mm_loadu_si128((const __m128i *)(const void *)src);
-	_mm_storeu_si128((__m128i *)(void *)dst, xmm0);
-}
-
-/**
- * Copy 32 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov32(uint8_t *dst, const uint8_t *src)
-{
-	__m256i ymm0;
-
-	ymm0 = _mm256_loadu_si256((const __m256i *)(const void *)src);
-	_mm256_storeu_si256((__m256i *)(void *)dst, ymm0);
-}
-
-/**
- * Copy 64 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov64(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov32((uint8_t *)dst + 0 * 32, (const uint8_t *)src + 0 * 32);
-	rte_mov32((uint8_t *)dst + 1 * 32, (const uint8_t *)src + 1 * 32);
-}
-
-/**
- * Copy 128 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov128(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov32((uint8_t *)dst + 0 * 32, (const uint8_t *)src + 0 * 32);
-	rte_mov32((uint8_t *)dst + 1 * 32, (const uint8_t *)src + 1 * 32);
-	rte_mov32((uint8_t *)dst + 2 * 32, (const uint8_t *)src + 2 * 32);
-	rte_mov32((uint8_t *)dst + 3 * 32, (const uint8_t *)src + 3 * 32);
-}
-
-/**
- * Copy 256 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov256(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov32((uint8_t *)dst + 0 * 32, (const uint8_t *)src + 0 * 32);
-	rte_mov32((uint8_t *)dst + 1 * 32, (const uint8_t *)src + 1 * 32);
-	rte_mov32((uint8_t *)dst + 2 * 32, (const uint8_t *)src + 2 * 32);
-	rte_mov32((uint8_t *)dst + 3 * 32, (const uint8_t *)src + 3 * 32);
-	rte_mov32((uint8_t *)dst + 4 * 32, (const uint8_t *)src + 4 * 32);
-	rte_mov32((uint8_t *)dst + 5 * 32, (const uint8_t *)src + 5 * 32);
-	rte_mov32((uint8_t *)dst + 6 * 32, (const uint8_t *)src + 6 * 32);
-	rte_mov32((uint8_t *)dst + 7 * 32, (const uint8_t *)src + 7 * 32);
-}
-
 /**
  * Copy 128-byte blocks from one location to another,
  * locations should not overlap.
@@ -437,15 +389,14 @@  rte_memcpy_generic(void *dst, const void *src, size_t n)
 	/**
 	 * Fast way when copy size doesn't exceed 256 bytes
 	 */
-	if (n <= 32) {
-		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
-		rte_mov16((uint8_t *)dst - 16 + n,
-				(const uint8_t *)src - 16 + n);
+	if (__builtin_constant_p(n) && n == 32) {
+		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
 		return ret;
 	}
-	if (n <= 48) {
+	if (n <= 32) {
 		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
-		rte_mov16((uint8_t *)dst + 16, (const uint8_t *)src + 16);
+		if (__builtin_constant_p(n) && n == 16)
+			return ret; /* avoid (harmless) duplicate copy */
 		rte_mov16((uint8_t *)dst - 16 + n,
 				(const uint8_t *)src - 16 + n);
 		return ret;
@@ -519,85 +470,6 @@  rte_memcpy_generic(void *dst, const void *src, size_t n)
  * SSE & AVX implementation below
  */
 
-/**
- * Copy 16 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov16(uint8_t *dst, const uint8_t *src)
-{
-	__m128i xmm0;
-
-	xmm0 = _mm_loadu_si128((const __m128i *)(const void *)src);
-	_mm_storeu_si128((__m128i *)(void *)dst, xmm0);
-}
-
-/**
- * Copy 32 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov32(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov16((uint8_t *)dst + 0 * 16, (const uint8_t *)src + 0 * 16);
-	rte_mov16((uint8_t *)dst + 1 * 16, (const uint8_t *)src + 1 * 16);
-}
-
-/**
- * Copy 64 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov64(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov16((uint8_t *)dst + 0 * 16, (const uint8_t *)src + 0 * 16);
-	rte_mov16((uint8_t *)dst + 1 * 16, (const uint8_t *)src + 1 * 16);
-	rte_mov16((uint8_t *)dst + 2 * 16, (const uint8_t *)src + 2 * 16);
-	rte_mov16((uint8_t *)dst + 3 * 16, (const uint8_t *)src + 3 * 16);
-}
-
-/**
- * Copy 128 bytes from one location to another,
- * locations should not overlap.
- */
-static __rte_always_inline void
-rte_mov128(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov16((uint8_t *)dst + 0 * 16, (const uint8_t *)src + 0 * 16);
-	rte_mov16((uint8_t *)dst + 1 * 16, (const uint8_t *)src + 1 * 16);
-	rte_mov16((uint8_t *)dst + 2 * 16, (const uint8_t *)src + 2 * 16);
-	rte_mov16((uint8_t *)dst + 3 * 16, (const uint8_t *)src + 3 * 16);
-	rte_mov16((uint8_t *)dst + 4 * 16, (const uint8_t *)src + 4 * 16);
-	rte_mov16((uint8_t *)dst + 5 * 16, (const uint8_t *)src + 5 * 16);
-	rte_mov16((uint8_t *)dst + 6 * 16, (const uint8_t *)src + 6 * 16);
-	rte_mov16((uint8_t *)dst + 7 * 16, (const uint8_t *)src + 7 * 16);
-}
-
-/**
- * Copy 256 bytes from one location to another,
- * locations should not overlap.
- */
-static inline void
-rte_mov256(uint8_t *dst, const uint8_t *src)
-{
-	rte_mov16((uint8_t *)dst + 0 * 16, (const uint8_t *)src + 0 * 16);
-	rte_mov16((uint8_t *)dst + 1 * 16, (const uint8_t *)src + 1 * 16);
-	rte_mov16((uint8_t *)dst + 2 * 16, (const uint8_t *)src + 2 * 16);
-	rte_mov16((uint8_t *)dst + 3 * 16, (const uint8_t *)src + 3 * 16);
-	rte_mov16((uint8_t *)dst + 4 * 16, (const uint8_t *)src + 4 * 16);
-	rte_mov16((uint8_t *)dst + 5 * 16, (const uint8_t *)src + 5 * 16);
-	rte_mov16((uint8_t *)dst + 6 * 16, (const uint8_t *)src + 6 * 16);
-	rte_mov16((uint8_t *)dst + 7 * 16, (const uint8_t *)src + 7 * 16);
-	rte_mov16((uint8_t *)dst + 8 * 16, (const uint8_t *)src + 8 * 16);
-	rte_mov16((uint8_t *)dst + 9 * 16, (const uint8_t *)src + 9 * 16);
-	rte_mov16((uint8_t *)dst + 10 * 16, (const uint8_t *)src + 10 * 16);
-	rte_mov16((uint8_t *)dst + 11 * 16, (const uint8_t *)src + 11 * 16);
-	rte_mov16((uint8_t *)dst + 12 * 16, (const uint8_t *)src + 12 * 16);
-	rte_mov16((uint8_t *)dst + 13 * 16, (const uint8_t *)src + 13 * 16);
-	rte_mov16((uint8_t *)dst + 14 * 16, (const uint8_t *)src + 14 * 16);
-	rte_mov16((uint8_t *)dst + 15 * 16, (const uint8_t *)src + 15 * 16);
-}
-
 /**
  * Macro for copying unaligned block from one location to another with constant load offset,
  * 47 bytes leftover maximum,
@@ -710,20 +582,26 @@  rte_memcpy_generic(void *dst, const void *src, size_t n)
 	/**
 	 * Fast way when copy size doesn't exceed 512 bytes
 	 */
-	if (n <= 32) {
-		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
-		rte_mov16((uint8_t *)dst - 16 + n, (const uint8_t *)src - 16 + n);
+	if (__builtin_constant_p(n) && n == 32) {
+		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
 		return ret;
 	}
-	if (n <= 48) {
-		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
+	if (n <= 32) {
+		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
+		if (__builtin_constant_p(n) && n == 16)
+			return ret; /* avoid (harmless) duplicate copy */
 		rte_mov16((uint8_t *)dst - 16 + n, (const uint8_t *)src - 16 + n);
 		return ret;
 	}
 	if (n <= 64) {
 		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
-		rte_mov16((uint8_t *)dst + 32, (const uint8_t *)src + 32);
+#if defined __AVX__
+		rte_mov32((uint8_t *)dst - 32 + n, (const uint8_t *)src - 32 + n);
+#else /* SSE implementation */
+		if (n > 48)
+			rte_mov16((uint8_t *)dst + 32, (const uint8_t *)src + 32);
 		rte_mov16((uint8_t *)dst - 16 + n, (const uint8_t *)src - 16 + n);
+#endif
 		return ret;
 	}
 	if (n <= 128) {
@@ -828,8 +706,14 @@  rte_memcpy_aligned(void *dst, const void *src, size_t n)
 	}
 
 	/* Copy 16 <= size <= 32 bytes */
+	if (__builtin_constant_p(n) && n == 32) {
+		rte_mov32((uint8_t *)dst, (const uint8_t *)src);
+		return ret;
+	}
 	if (n <= 32) {
 		rte_mov16((uint8_t *)dst, (const uint8_t *)src);
+		if (__builtin_constant_p(n) && n == 16)
+			return ret; /* avoid (harmless) duplicate copy */
 		rte_mov16((uint8_t *)dst - 16 + n,
 				(const uint8_t *)src - 16 + n);