From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 93619385559E for ; Mon, 13 Feb 2023 10:41:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 93619385559E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31D8RlP9010532 for ; Mon, 13 Feb 2023 10:41:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=mw11nzm3M0BoXQsU46vmCbxvB5yWjOL4vyX/36trvyo=; b=PzT/fCfX/SR4Ca/PaE1XrbLkmIbENTahYLPUEWb75IuL6vvIznhyXrnb3GCRDe+ysJHE eQe7hdlf6jwbXwqwxmI44/6kzP/DHggNCGnliCFchmAMIR+UpV16AKtno+DPvCoe36VH 5WS0togKM8v1zwd/dpikfjZDYeR8F8/bzOovfzV625en2wLRrVRJ/LE4tDO9xcSEkdVX eu9Yqudaa4lDtwJe2Vl0WlYGppcJo4BZ5eTW4eopuO0UU7+cFcxz0i2vTl607tkwICiS JZ/x5izAD3xn1T9TgmMhfhMrYnuQsjsT+E4X1XO0l88lEhAwk4iJHzADSZsnI5JYjY2a Ew== Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3nqhqaavtu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 13 Feb 2023 10:40:59 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 31CH3UG0029819 for ; Mon, 13 Feb 2023 10:40:58 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma06ams.nl.ibm.com (PPS) with ESMTPS id 3np29fjhkc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 13 Feb 2023 10:40:58 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 31DAeshf48759224 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 13 Feb 2023 10:40:54 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8B9982004E; Mon, 13 Feb 2023 10:40:54 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6002120043; Mon, 13 Feb 2023 10:40:54 +0000 (GMT) Received: from [9.171.75.53] (unknown [9.171.75.53]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 13 Feb 2023 10:40:54 +0000 (GMT) Message-ID: <1fdb8da3-707f-3483-d0ef-2ffb9c613e11@linux.ibm.com> Date: Mon, 13 Feb 2023 11:40:54 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH] s390: Add LEN_LOAD/LEN_STORE support. Content-Language: en-US To: Robin Dapp , GCC Patches References: <4a42f530-cd67-6bd8-3f3d-1e7a68bffea1@linux.ibm.com> From: Andreas Krebbel In-Reply-To: <4a42f530-cd67-6bd8-3f3d-1e7a68bffea1@linux.ibm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: bMcuLz4qGfF9OQD65WriFn2CvRt1gIME X-Proofpoint-ORIG-GUID: bMcuLz4qGfF9OQD65WriFn2CvRt1gIME X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-13_05,2023-02-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 clxscore=1015 mlxscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 priorityscore=1501 mlxlogscore=999 adultscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302130095 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP 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 2/2/23 09:43, Robin Dapp wrote: > Hi, > > this patch adds LEN_LOAD/LEN_STORE support for z14 and newer. > It defines a bias value of -1 and implements the LEN_LOAD and LEN_STORE > optabs. > > It also includes various vll/vstl testcases adapted from Kewen Lin's patch > for Power. > > Bootstrapped and regtested on z13-z16. > > Is it OK? > > Regards > Robin > > gcc/ChangeLog: > > * config/s390/predicates.md (vll_bias_operand): Add -1 bias. > * config/s390/s390.cc (s390_option_override_internal): Make > partial vector usage the default from z13 on. > * config/s390/vector.md (len_load_v16qi): Add. > (len_store_v16qi): Add. ... > +; > +; Implement len_load/len_store optabs with vll/vstl. > +(define_expand "len_load_v16qi" > + [(match_operand:V16QI 0 "register_operand") > + (match_operand:V16QI 1 "memory_operand") > + (match_operand:QI 2 "register_operand") > + (match_operand:QI 3 "vll_bias_operand") > + ] > + "TARGET_VX && TARGET_64BIT" > +{ > + rtx src1 = XEXP (operands[1], 0); > + rtx src = gen_reg_rtx (Pmode); > + emit_move_insn (src, src1); > + rtx mem = gen_rtx_MEM (BLKmode, src); Do you really need a copy of the address register? Couldn't you just do a src = adjust_address (operands[1], BLKmode, 0); > + > + rtx len = gen_lowpart (SImode, operands[2]); > + emit_insn (gen_vllv16qi (operands[0], len, mem)); You create a paradoxical subreg of the QImode input but vll actually uses the whole 32 bit value. Couldn't we end up with uninitialized bytes being used as part of the length then? Do we need a zero-extend here? Bye, Andreas