From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) by sourceware.org (Postfix) with ESMTPS id F33DA3858D1E for ; Sat, 15 Oct 2022 03:40:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F33DA3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-134072c15c1so8040703fac.2 for ; Fri, 14 Oct 2022 20:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=R/0BcUk95oHav/WUoq0dtUwNdmqjEXpNXTQqR/eRbV0=; b=bLV3i1AC0cZXHs5yrvl2JJGJx/zPJ+TicDouJGpMkD/BSWK9c2KC80ITV2kZxT3A/7 aFXFFF3GuDECMSz3ufJoLjTx/U2SE3tLDyk2tFD48wni90k/JdJTpb1mr1MjflwcTn8q WrOPcZiNt5/6gXkUKMK/pLqkeF5BxQBgUhARnU7SaVR+hZzHhcgZOqBpK9S+FgjA8L10 kSHwWOkNL8WtGxRda13wThsG3Pe+JMi058kxMtHXwKDAgDLjifhGAAoU82+BFdRIvVix KH30PM3XtXQ6WLcQqHf3rctCeUTW5fnY7PTqgEFnOm2Vi8+3pq0pJG9FCgnFla5G7tsN nZWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=R/0BcUk95oHav/WUoq0dtUwNdmqjEXpNXTQqR/eRbV0=; b=tPK1Uiwkf3VoBS9xR0QhaI1/YPM2O6Wi00KSpIuCJnxKPUUh7CmhVf4c/5Qhdgw/Gf UIX5XowbaCcNuPYxXEt3u9JaQnivpiQUuBwg1XTqlSWkAI5fKQ3goPh+/7QTW2JaHYtU 9vXrGwr0REZwhFfRqrkAfvo8WG46pA2vY5R9weMX2DVfdFB8mlkD9dx3GYPKelLbdoMd BcqXBfuNz/rpATrXkciOUF3YflSjcz+7GlGt9lLqYh05i94BzD0pzYvhwu1+hBScMgOJ Ga1HjfEFLNuF9ooHn3stAwOy4jo/XmfhzxxYMrEydtx/n6z0kt0BAchQb0I47KCvM6HJ Pu9A== X-Gm-Message-State: ACrzQf0xMR6El8/VC1D2CKooq11UMDOruevncKRAz0PTPBX9AcIxj17X CjeXMFfDfw/1WBA3eFo6ugYrvwFHa52cbVpYpPQ= X-Google-Smtp-Source: AMsMyM64VYt7XSmglwx0SrCr0m4vqu5MyczJjt8hFuQ15ZveaEC18eU9rUHH7IDKovm0NnhmRKa5ik1CmcYOmBvSfjw= X-Received: by 2002:a05:6870:d1d0:b0:12c:cfd2:8285 with SMTP id b16-20020a056870d1d000b0012ccfd28285mr517404oac.105.1665805224171; Fri, 14 Oct 2022 20:40:24 -0700 (PDT) MIME-Version: 1.0 References: <20221014164008.1325863-1-goldstein.w.n@gmail.com> <20221015030030.204172-1-goldstein.w.n@gmail.com> <20221015030030.204172-5-goldstein.w.n@gmail.com> In-Reply-To: <20221015030030.204172-5-goldstein.w.n@gmail.com> From: Sunil Pandey Date: Fri, 14 Oct 2022 20:39:48 -0700 Message-ID: Subject: Re: [PATCH v10 5/6] x86: Remove now unused vec header macros. To: Noah Goldstein Cc: libc-alpha@sourceware.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, Oct 14, 2022 at 8:03 PM Noah Goldstein via Libc-alpha wrote: > > This commit does not change libc.so > > Tested build on x86-64 > --- > sysdeps/x86_64/multiarch/avx-rtm-vecs.h | 35 -------- > sysdeps/x86_64/multiarch/avx-vecs.h | 47 ----------- > sysdeps/x86_64/multiarch/evex-vecs-common.h | 39 --------- > sysdeps/x86_64/multiarch/evex256-vecs.h | 35 -------- > sysdeps/x86_64/multiarch/evex512-vecs.h | 35 -------- > sysdeps/x86_64/multiarch/sse2-vecs.h | 47 ----------- > sysdeps/x86_64/multiarch/vec-macros.h | 90 --------------------- > 7 files changed, 328 deletions(-) > delete mode 100644 sysdeps/x86_64/multiarch/avx-rtm-vecs.h > delete mode 100644 sysdeps/x86_64/multiarch/avx-vecs.h > delete mode 100644 sysdeps/x86_64/multiarch/evex-vecs-common.h > delete mode 100644 sysdeps/x86_64/multiarch/evex256-vecs.h > delete mode 100644 sysdeps/x86_64/multiarch/evex512-vecs.h > delete mode 100644 sysdeps/x86_64/multiarch/sse2-vecs.h > delete mode 100644 sysdeps/x86_64/multiarch/vec-macros.h > > diff --git a/sysdeps/x86_64/multiarch/avx-rtm-vecs.h b/sysdeps/x86_64/multiarch/avx-rtm-vecs.h > deleted file mode 100644 > index 6ca9f5e6ba..0000000000 > --- a/sysdeps/x86_64/multiarch/avx-rtm-vecs.h > +++ /dev/null > @@ -1,35 +0,0 @@ > -/* Common config for AVX-RTM VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _AVX_RTM_VECS_H > -#define _AVX_RTM_VECS_H 1 > - > -#define COND_VZEROUPPER COND_VZEROUPPER_XTEST > -#define ZERO_UPPER_VEC_REGISTERS_RETURN \ > - ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST > - > -#define VZEROUPPER_RETURN jmp L(return_vzeroupper) > - > -#define USE_WITH_RTM 1 > -#include "avx-vecs.h" > - > -#undef SECTION > -#define SECTION(p) p##.avx.rtm > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/avx-vecs.h b/sysdeps/x86_64/multiarch/avx-vecs.h > deleted file mode 100644 > index 89680f5db8..0000000000 > --- a/sysdeps/x86_64/multiarch/avx-vecs.h > +++ /dev/null > @@ -1,47 +0,0 @@ > -/* Common config for AVX VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _AVX_VECS_H > -#define _AVX_VECS_H 1 > - > -#ifdef VEC_SIZE > -# error "Multiple VEC configs included!" > -#endif > - > -#define VEC_SIZE 32 > -#include "vec-macros.h" > - > -#define USE_WITH_AVX 1 > -#define SECTION(p) p##.avx > - > -/* 4-byte mov instructions with AVX2. */ > -#define MOV_SIZE 4 > -/* 1 (ret) + 3 (vzeroupper). */ > -#define RET_SIZE 4 > -#define VZEROUPPER vzeroupper > - > -#define VMOVU vmovdqu > -#define VMOVA vmovdqa > -#define VMOVNT vmovntdq > - > -/* Often need to access xmm portion. */ > -#define VEC_xmm VEC_any_xmm > -#define VEC VEC_any_ymm > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/evex-vecs-common.h b/sysdeps/x86_64/multiarch/evex-vecs-common.h > deleted file mode 100644 > index 99806ebcd7..0000000000 > --- a/sysdeps/x86_64/multiarch/evex-vecs-common.h > +++ /dev/null > @@ -1,39 +0,0 @@ > -/* Common config for EVEX256 and EVEX512 VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _EVEX_VECS_COMMON_H > -#define _EVEX_VECS_COMMON_H 1 > - > -#include "vec-macros.h" > - > -/* 6-byte mov instructions with EVEX. */ > -#define MOV_SIZE 6 > -/* No vzeroupper needed. */ > -#define RET_SIZE 1 > -#define VZEROUPPER > - > -#define VMOVU vmovdqu64 > -#define VMOVA vmovdqa64 > -#define VMOVNT vmovntdq > - > -#define VEC_xmm VEC_hi_xmm > -#define VEC_ymm VEC_hi_ymm > -#define VEC_zmm VEC_hi_zmm > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/evex256-vecs.h b/sysdeps/x86_64/multiarch/evex256-vecs.h > deleted file mode 100644 > index 222ba46dc7..0000000000 > --- a/sysdeps/x86_64/multiarch/evex256-vecs.h > +++ /dev/null > @@ -1,35 +0,0 @@ > -/* Common config for EVEX256 VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _EVEX256_VECS_H > -#define _EVEX256_VECS_H 1 > - > -#ifdef VEC_SIZE > -# error "Multiple VEC configs included!" > -#endif > - > -#define VEC_SIZE 32 > -#include "evex-vecs-common.h" > - > -#define USE_WITH_EVEX256 1 > -#define SECTION(p) p##.evex > - > -#define VEC VEC_ymm > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/evex512-vecs.h b/sysdeps/x86_64/multiarch/evex512-vecs.h > deleted file mode 100644 > index d1784d5368..0000000000 > --- a/sysdeps/x86_64/multiarch/evex512-vecs.h > +++ /dev/null > @@ -1,35 +0,0 @@ > -/* Common config for EVEX512 VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _EVEX512_VECS_H > -#define _EVEX512_VECS_H 1 > - > -#ifdef VEC_SIZE > -# error "Multiple VEC configs included!" > -#endif > - > -#define VEC_SIZE 64 > -#include "evex-vecs-common.h" > - > -#define USE_WITH_EVEX512 1 > -#define SECTION(p) p##.evex512 > - > -#define VEC VEC_zmm > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/sse2-vecs.h b/sysdeps/x86_64/multiarch/sse2-vecs.h > deleted file mode 100644 > index 2b77a59d56..0000000000 > --- a/sysdeps/x86_64/multiarch/sse2-vecs.h > +++ /dev/null > @@ -1,47 +0,0 @@ > -/* Common config for SSE2 VECs > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _SSE2_VECS_H > -#define _SSE2_VECS_H 1 > - > -#ifdef VEC_SIZE > -# error "Multiple VEC configs included!" > -#endif > - > -#define VEC_SIZE 16 > -#include "vec-macros.h" > - > -#define USE_WITH_SSE2 1 > -#define SECTION(p) p > - > -/* 3-byte mov instructions with SSE2. */ > -#define MOV_SIZE 3 > -/* No vzeroupper needed. */ > -#define RET_SIZE 1 > -#define VZEROUPPER > - > -#define VMOVU movups > -#define VMOVA movaps > -#define VMOVNT movntdq > - > -#define VEC_xmm VEC_any_xmm > -#define VEC VEC_any_xmm > - > - > -#endif > diff --git a/sysdeps/x86_64/multiarch/vec-macros.h b/sysdeps/x86_64/multiarch/vec-macros.h > deleted file mode 100644 > index 9f3ffecede..0000000000 > --- a/sysdeps/x86_64/multiarch/vec-macros.h > +++ /dev/null > @@ -1,90 +0,0 @@ > -/* Macro helpers for VEC_{type}({vec_num}) > - All versions must be listed in ifunc-impl-list.c. > - Copyright (C) 2022 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > -#ifndef _VEC_MACROS_H > -#define _VEC_MACROS_H 1 > - > -#ifndef VEC_SIZE > -# error "Never include this file directly. Always include a vector config." > -#endif > - > -/* Defines so we can use SSE2 / AVX2 / EVEX / EVEX512 encoding with same > - VEC(N) values. */ > -#define VEC_hi_xmm0 xmm16 > -#define VEC_hi_xmm1 xmm17 > -#define VEC_hi_xmm2 xmm18 > -#define VEC_hi_xmm3 xmm19 > -#define VEC_hi_xmm4 xmm20 > -#define VEC_hi_xmm5 xmm21 > -#define VEC_hi_xmm6 xmm22 > -#define VEC_hi_xmm7 xmm23 > -#define VEC_hi_xmm8 xmm24 > -#define VEC_hi_xmm9 xmm25 > -#define VEC_hi_xmm10 xmm26 > -#define VEC_hi_xmm11 xmm27 > -#define VEC_hi_xmm12 xmm28 > -#define VEC_hi_xmm13 xmm29 > -#define VEC_hi_xmm14 xmm30 > -#define VEC_hi_xmm15 xmm31 > - > -#define VEC_hi_ymm0 ymm16 > -#define VEC_hi_ymm1 ymm17 > -#define VEC_hi_ymm2 ymm18 > -#define VEC_hi_ymm3 ymm19 > -#define VEC_hi_ymm4 ymm20 > -#define VEC_hi_ymm5 ymm21 > -#define VEC_hi_ymm6 ymm22 > -#define VEC_hi_ymm7 ymm23 > -#define VEC_hi_ymm8 ymm24 > -#define VEC_hi_ymm9 ymm25 > -#define VEC_hi_ymm10 ymm26 > -#define VEC_hi_ymm11 ymm27 > -#define VEC_hi_ymm12 ymm28 > -#define VEC_hi_ymm13 ymm29 > -#define VEC_hi_ymm14 ymm30 > -#define VEC_hi_ymm15 ymm31 > - > -#define VEC_hi_zmm0 zmm16 > -#define VEC_hi_zmm1 zmm17 > -#define VEC_hi_zmm2 zmm18 > -#define VEC_hi_zmm3 zmm19 > -#define VEC_hi_zmm4 zmm20 > -#define VEC_hi_zmm5 zmm21 > -#define VEC_hi_zmm6 zmm22 > -#define VEC_hi_zmm7 zmm23 > -#define VEC_hi_zmm8 zmm24 > -#define VEC_hi_zmm9 zmm25 > -#define VEC_hi_zmm10 zmm26 > -#define VEC_hi_zmm11 zmm27 > -#define VEC_hi_zmm12 zmm28 > -#define VEC_hi_zmm13 zmm29 > -#define VEC_hi_zmm14 zmm30 > -#define VEC_hi_zmm15 zmm31 > - > -#define PRIMITIVE_VEC(vec, num) vec##num > - > -#define VEC_any_xmm(i) PRIMITIVE_VEC(xmm, i) > -#define VEC_any_ymm(i) PRIMITIVE_VEC(ymm, i) > -#define VEC_any_zmm(i) PRIMITIVE_VEC(zmm, i) > - > -#define VEC_hi_xmm(i) PRIMITIVE_VEC(VEC_hi_xmm, i) > -#define VEC_hi_ymm(i) PRIMITIVE_VEC(VEC_hi_ymm, i) > -#define VEC_hi_zmm(i) PRIMITIVE_VEC(VEC_hi_zmm, i) > - > -#endif > -- > 2.34.1 > LGTM --Sunil