From nobody Tue Dec 16 11:49:21 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1566412207; cv=none; d=zoho.com; s=zohoarc; b=TE2s3ZTxvFWfmZQzdOMo0UqpbD9W4Z9Elt+AQe56J4LGYdugw0H6Fth1LLipPsvdS3Mmhb96yiqWFCnQi2mwY6qpbzNxBXh8hazf9WxhWWRaZLeyo5VulzKx+hkkGGOTEXWJ9kefj28DHDzG7lzdH8q6SU4XiW1ZxBirJ//M3JA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1566412207; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=ELavVPAMYOO+nLuOLzE5Zb0NTGmst1FkYCVc53be1Tg=; b=N4gKFaPLuk+dLYeHg6cmbQ2V6BbySF62PxKeZthzjugFhSBYFl8+Jzm6h2AYzoIV7GoMjb5oaJd7MUGN1Lb6Kk+ijbblVelua+Rrnu9tNMAQolC1p93zOLfrhVQmG755wT0P2cOiLA/C6a50dH6FpyufuafOkJZUTBJCVOF4eXA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 156641220773955.98184243582284; Wed, 21 Aug 2019 11:30:07 -0700 (PDT) Received: from localhost ([::1]:51716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0VMz-0008OE-UB for importer@patchew.org; Wed, 21 Aug 2019 14:30:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41496) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0URv-0001mG-2c for qemu-devel@nongnu.org; Wed, 21 Aug 2019 13:31:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i0URs-0008VO-IF for qemu-devel@nongnu.org; Wed, 21 Aug 2019 13:31:06 -0400 Received: from mail-yb1-xb29.google.com ([2607:f8b0:4864:20::b29]:35838) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i0URs-0008Tb-9M for qemu-devel@nongnu.org; Wed, 21 Aug 2019 13:31:04 -0400 Received: by mail-yb1-xb29.google.com with SMTP id c9so1353992ybf.2 for ; Wed, 21 Aug 2019 10:31:03 -0700 (PDT) Received: from localhost.localdomain ([2601:c0:c67f:e390::3]) by smtp.gmail.com with ESMTPSA id l71sm2826167ywl.39.2019.08.21.10.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Aug 2019 10:31:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ELavVPAMYOO+nLuOLzE5Zb0NTGmst1FkYCVc53be1Tg=; b=Tih6xuJ1W7susXkm9pkwRARV94xQsH8tHUbd7xjXS/BDRjFnHsunhbxVqzdHn0gEqt hQwm7iqXdyTMAINMx4ZUimqA+iWyxOF4X34WM/w8oQpvhRV6l0B6Er/FiL+kH47bPZb/ 0tEYGS+7bhpuLtDLxtYcWnsEcSP6YkrHkq/IyHD4w1lnUpWIAKbKpdTtmaE/6JHw3x9Q MDFddvZC2SJ0GH0wY/ETq6PHCa1jlZlz2hsFbkAIfNybbC1Clvwhea+lahUOCSaWR+/w HtWbQ8J4PFJGjBhsunTYenSPvCZ20tzb2a4uFj2ZvfYZBrOU/1MMdtYQAeDBUWvO0MQO VyZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ELavVPAMYOO+nLuOLzE5Zb0NTGmst1FkYCVc53be1Tg=; b=LmT7yGEKgUvLp2X0x2xfJy0zO1u5EMn7Uigz4I96t2Ae7LjYAyk0SgLBxVnF+G8XBC l+MSKlsZ4u6q1kAxdPAIxk/hW1mhSUihT5nyaG23sMZJMimKAJh6X/cd5nux+ZGqSFqR OwGfU9dLkLHfm3POCuS49iIWUUeWlPu2MvmRHbJYVrH57/YwY1z3YfCbynmptCaH+n0K 92DkTYLbJGy6nfNT5M27N1jgk8bH0rn5Ujio9XxDcUZRv2CNSG+eNwiykEMYyREVwyu5 bCk667ZpR3P1c/m7aVo8MEWg2D6DYg/1HGqCg3M69j6tmnYQhhMMXo6JoFeUBoB+4SYC jf9g== X-Gm-Message-State: APjAAAXPy/h9Ej7Wuf4XCoskavkMTJBUtuXfGuRxGq2ch6IYokIMAxa0 FGHC+2GLpMoLuNQ6/N5n4dghze5Z X-Google-Smtp-Source: APXvYqyIr6Tgo9uyPHwQ03ADevURjIWeZ7mupTfUnuoQmr4F2IJJ124UHMYRfcV1q+2FrIlZVyDnUg== X-Received: by 2002:a25:cb81:: with SMTP id b123mr22790424ybg.233.1566408662457; Wed, 21 Aug 2019 10:31:02 -0700 (PDT) From: Jan Bobek To: qemu-devel@nongnu.org Date: Wed, 21 Aug 2019 13:29:41 -0400 Message-Id: <20190821172951.15333-66-jan.bobek@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190821172951.15333-1-jan.bobek@gmail.com> References: <20190821172951.15333-1-jan.bobek@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::b29 Subject: [Qemu-devel] [RFC PATCH v4 65/75] target/i386: remove obsoleted helpers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jan Bobek , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" A number of helpers have been obsoleted by the use of tcg_gen_gvec_* functions; remove all of them. Signed-off-by: Jan Bobek --- target/i386/ops_sse.h | 65 ------------------------------------ target/i386/ops_sse_header.h | 39 ---------------------- target/i386/translate.c | 38 --------------------- 3 files changed, 142 deletions(-) diff --git a/target/i386/ops_sse.h b/target/i386/ops_sse.h index ec1ec745d0..aca6b50f23 100644 --- a/target/i386/ops_sse.h +++ b/target/i386/ops_sse.h @@ -337,32 +337,6 @@ static inline int satsw(int x) } } =20 -#define FADD(a, b) ((a) + (b)) -#define FADDUB(a, b) satub((a) + (b)) -#define FADDUW(a, b) satuw((a) + (b)) -#define FADDSB(a, b) satsb((int8_t)(a) + (int8_t)(b)) -#define FADDSW(a, b) satsw((int16_t)(a) + (int16_t)(b)) - -#define FSUB(a, b) ((a) - (b)) -#define FSUBUB(a, b) satub((a) - (b)) -#define FSUBUW(a, b) satuw((a) - (b)) -#define FSUBSB(a, b) satsb((int8_t)(a) - (int8_t)(b)) -#define FSUBSW(a, b) satsw((int16_t)(a) - (int16_t)(b)) -#define FMINUB(a, b) ((a) < (b)) ? (a) : (b) -#define FMINSW(a, b) ((int16_t)(a) < (int16_t)(b)) ? (a) : (b) -#define FMAXUB(a, b) ((a) > (b)) ? (a) : (b) -#define FMAXSW(a, b) ((int16_t)(a) > (int16_t)(b)) ? (a) : (b) - -#define FAND(a, b) ((a) & (b)) -#define FANDN(a, b) ((~(a)) & (b)) -#define FOR(a, b) ((a) | (b)) -#define FXOR(a, b) ((a) ^ (b)) - -#define FCMPGTB(a, b) ((int8_t)(a) > (int8_t)(b) ? -1 : 0) -#define FCMPGTW(a, b) ((int16_t)(a) > (int16_t)(b) ? -1 : 0) -#define FCMPGTL(a, b) ((int32_t)(a) > (int32_t)(b) ? -1 : 0) -#define FCMPEQ(a, b) ((a) =3D=3D (b) ? -1 : 0) - #define FMULLW(a, b) ((a) * (b)) #define FMULHRW(a, b) (((int16_t)(a) * (int16_t)(b) + 0x8000) >> 16) #define FMULHUW(a, b) ((a) * (b) >> 16) @@ -371,45 +345,6 @@ static inline int satsw(int x) #define FAVG(a, b) (((a) + (b) + 1) >> 1) #endif =20 -SSE_HELPER_B(helper_paddb, FADD) -SSE_HELPER_W(helper_paddw, FADD) -SSE_HELPER_L(helper_paddl, FADD) -SSE_HELPER_Q(helper_paddq, FADD) - -SSE_HELPER_B(helper_psubb, FSUB) -SSE_HELPER_W(helper_psubw, FSUB) -SSE_HELPER_L(helper_psubl, FSUB) -SSE_HELPER_Q(helper_psubq, FSUB) - -SSE_HELPER_B(helper_paddusb, FADDUB) -SSE_HELPER_B(helper_paddsb, FADDSB) -SSE_HELPER_B(helper_psubusb, FSUBUB) -SSE_HELPER_B(helper_psubsb, FSUBSB) - -SSE_HELPER_W(helper_paddusw, FADDUW) -SSE_HELPER_W(helper_paddsw, FADDSW) -SSE_HELPER_W(helper_psubusw, FSUBUW) -SSE_HELPER_W(helper_psubsw, FSUBSW) - -SSE_HELPER_B(helper_pminub, FMINUB) -SSE_HELPER_B(helper_pmaxub, FMAXUB) - -SSE_HELPER_W(helper_pminsw, FMINSW) -SSE_HELPER_W(helper_pmaxsw, FMAXSW) - -SSE_HELPER_Q(helper_pand, FAND) -SSE_HELPER_Q(helper_pandn, FANDN) -SSE_HELPER_Q(helper_por, FOR) -SSE_HELPER_Q(helper_pxor, FXOR) - -SSE_HELPER_B(helper_pcmpgtb, FCMPGTB) -SSE_HELPER_W(helper_pcmpgtw, FCMPGTW) -SSE_HELPER_L(helper_pcmpgtl, FCMPGTL) - -SSE_HELPER_B(helper_pcmpeqb, FCMPEQ) -SSE_HELPER_W(helper_pcmpeqw, FCMPEQ) -SSE_HELPER_L(helper_pcmpeql, FCMPEQ) - SSE_HELPER_W(helper_pmullw, FMULLW) #if SHIFT =3D=3D 0 SSE_HELPER_W(helper_pmulhrw, FMULHRW) diff --git a/target/i386/ops_sse_header.h b/target/i386/ops_sse_header.h index 094aafc573..d8e33dff6b 100644 --- a/target/i386/ops_sse_header.h +++ b/target/i386/ops_sse_header.h @@ -60,45 +60,6 @@ DEF_HELPER_3(glue(pslldq, SUFFIX), void, env, Reg, Reg) #define SSE_HELPER_Q(name, F)\ DEF_HELPER_3(glue(name, SUFFIX), void, env, Reg, Reg) =20 -SSE_HELPER_B(paddb, FADD) -SSE_HELPER_W(paddw, FADD) -SSE_HELPER_L(paddl, FADD) -SSE_HELPER_Q(paddq, FADD) - -SSE_HELPER_B(psubb, FSUB) -SSE_HELPER_W(psubw, FSUB) -SSE_HELPER_L(psubl, FSUB) -SSE_HELPER_Q(psubq, FSUB) - -SSE_HELPER_B(paddusb, FADDUB) -SSE_HELPER_B(paddsb, FADDSB) -SSE_HELPER_B(psubusb, FSUBUB) -SSE_HELPER_B(psubsb, FSUBSB) - -SSE_HELPER_W(paddusw, FADDUW) -SSE_HELPER_W(paddsw, FADDSW) -SSE_HELPER_W(psubusw, FSUBUW) -SSE_HELPER_W(psubsw, FSUBSW) - -SSE_HELPER_B(pminub, FMINUB) -SSE_HELPER_B(pmaxub, FMAXUB) - -SSE_HELPER_W(pminsw, FMINSW) -SSE_HELPER_W(pmaxsw, FMAXSW) - -SSE_HELPER_Q(pand, FAND) -SSE_HELPER_Q(pandn, FANDN) -SSE_HELPER_Q(por, FOR) -SSE_HELPER_Q(pxor, FXOR) - -SSE_HELPER_B(pcmpgtb, FCMPGTB) -SSE_HELPER_W(pcmpgtw, FCMPGTW) -SSE_HELPER_L(pcmpgtl, FCMPGTL) - -SSE_HELPER_B(pcmpeqb, FCMPEQ) -SSE_HELPER_W(pcmpeqw, FCMPEQ) -SSE_HELPER_L(pcmpeql, FCMPEQ) - SSE_HELPER_W(pmullw, FMULLW) #if SHIFT =3D=3D 0 SSE_HELPER_W(pmulhrw, FMULHRW) diff --git a/target/i386/translate.c b/target/i386/translate.c index 3149989d68..78c91a85c9 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -2756,19 +2756,11 @@ static const SSEFunc_0_epp sse_op_table1[256][4] = =3D { [0x51] =3D SSE_FOP(sqrt), [0x52] =3D { gen_helper_rsqrtps, NULL, gen_helper_rsqrtss, NULL }, [0x53] =3D { gen_helper_rcpps, NULL, gen_helper_rcpss, NULL }, - [0x54] =3D { gen_helper_pand_xmm, gen_helper_pand_xmm }, /* andps, and= pd */ - [0x55] =3D { gen_helper_pandn_xmm, gen_helper_pandn_xmm }, /* andnps, = andnpd */ - [0x56] =3D { gen_helper_por_xmm, gen_helper_por_xmm }, /* orps, orpd */ - [0x57] =3D { gen_helper_pxor_xmm, gen_helper_pxor_xmm }, /* xorps, xor= pd */ [0x58] =3D SSE_FOP(add), [0x59] =3D SSE_FOP(mul), [0x5a] =3D { gen_helper_cvtps2pd, gen_helper_cvtpd2ps, gen_helper_cvtss2sd, gen_helper_cvtsd2ss }, [0x5b] =3D { gen_helper_cvtdq2ps, gen_helper_cvtps2dq, gen_helper_cvtt= ps2dq }, - [0x5c] =3D SSE_FOP(sub), - [0x5d] =3D SSE_FOP(min), - [0x5e] =3D SSE_FOP(div), - [0x5f] =3D SSE_FOP(max), =20 [0xc2] =3D SSE_FOP(cmpeq), [0xc6] =3D { (SSEFunc_0_epp)gen_helper_shufps, @@ -2783,9 +2775,6 @@ static const SSEFunc_0_epp sse_op_table1[256][4] =3D { [0x61] =3D MMX_OP2(punpcklwd), [0x62] =3D MMX_OP2(punpckldq), [0x63] =3D MMX_OP2(packsswb), - [0x64] =3D MMX_OP2(pcmpgtb), - [0x65] =3D MMX_OP2(pcmpgtw), - [0x66] =3D MMX_OP2(pcmpgtl), [0x67] =3D MMX_OP2(packuswb), [0x68] =3D MMX_OP2(punpckhbw), [0x69] =3D MMX_OP2(punpckhwd), @@ -2802,9 +2791,6 @@ static const SSEFunc_0_epp sse_op_table1[256][4] =3D { [0x71] =3D { SSE_SPECIAL, SSE_SPECIAL }, /* shiftw */ [0x72] =3D { SSE_SPECIAL, SSE_SPECIAL }, /* shiftd */ [0x73] =3D { SSE_SPECIAL, SSE_SPECIAL }, /* shiftq */ - [0x74] =3D MMX_OP2(pcmpeqb), - [0x75] =3D MMX_OP2(pcmpeqw), - [0x76] =3D MMX_OP2(pcmpeql), [0x77] =3D { SSE_DUMMY }, /* emms */ [0x78] =3D { NULL, SSE_SPECIAL, NULL, SSE_SPECIAL }, /* extrq_i, inser= tq_i */ [0x79] =3D { NULL, gen_helper_extrq_r, NULL, gen_helper_insertq_r }, @@ -2818,18 +2804,9 @@ static const SSEFunc_0_epp sse_op_table1[256][4] =3D= { [0xd1] =3D MMX_OP2(psrlw), [0xd2] =3D MMX_OP2(psrld), [0xd3] =3D MMX_OP2(psrlq), - [0xd4] =3D MMX_OP2(paddq), [0xd5] =3D MMX_OP2(pmullw), [0xd6] =3D { NULL, SSE_SPECIAL, SSE_SPECIAL, SSE_SPECIAL }, [0xd7] =3D { SSE_SPECIAL, SSE_SPECIAL }, /* pmovmskb */ - [0xd8] =3D MMX_OP2(psubusb), - [0xd9] =3D MMX_OP2(psubusw), - [0xda] =3D MMX_OP2(pminub), - [0xdb] =3D MMX_OP2(pand), - [0xdc] =3D MMX_OP2(paddusb), - [0xdd] =3D MMX_OP2(paddusw), - [0xde] =3D MMX_OP2(pmaxub), - [0xdf] =3D MMX_OP2(pandn), [0xe0] =3D MMX_OP2(pavgb), [0xe1] =3D MMX_OP2(psraw), [0xe2] =3D MMX_OP2(psrad), @@ -2838,14 +2815,6 @@ static const SSEFunc_0_epp sse_op_table1[256][4] =3D= { [0xe5] =3D MMX_OP2(pmulhw), [0xe6] =3D { NULL, gen_helper_cvttpd2dq, gen_helper_cvtdq2pd, gen_help= er_cvtpd2dq }, [0xe7] =3D { SSE_SPECIAL , SSE_SPECIAL }, /* movntq, movntq */ - [0xe8] =3D MMX_OP2(psubsb), - [0xe9] =3D MMX_OP2(psubsw), - [0xea] =3D MMX_OP2(pminsw), - [0xeb] =3D MMX_OP2(por), - [0xec] =3D MMX_OP2(paddsb), - [0xed] =3D MMX_OP2(paddsw), - [0xee] =3D MMX_OP2(pmaxsw), - [0xef] =3D MMX_OP2(pxor), [0xf0] =3D { NULL, NULL, NULL, SSE_SPECIAL }, /* lddqu */ [0xf1] =3D MMX_OP2(psllw), [0xf2] =3D MMX_OP2(pslld), @@ -2855,13 +2824,6 @@ static const SSEFunc_0_epp sse_op_table1[256][4] =3D= { [0xf6] =3D MMX_OP2(psadbw), [0xf7] =3D { (SSEFunc_0_epp)gen_helper_maskmov_mmx, (SSEFunc_0_epp)gen_helper_maskmov_xmm }, /* XXX: casts */ - [0xf8] =3D MMX_OP2(psubb), - [0xf9] =3D MMX_OP2(psubw), - [0xfa] =3D MMX_OP2(psubl), - [0xfb] =3D MMX_OP2(psubq), - [0xfc] =3D MMX_OP2(paddb), - [0xfd] =3D MMX_OP2(paddw), - [0xfe] =3D MMX_OP2(paddl), }; =20 static const SSEFunc_0_epp sse_op_table2[3 * 8][2] =3D { --=20 2.20.1