Message ID | 7b83825b-0b3c-b9ab-56dc-6eca343d8f0c@linux.ibm.com |
---|---|
State | Unresolved |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp422786vqb; Fri, 27 Oct 2023 00:30:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEsxwdcIm3H5Z+TsUcrYJm3V/DNZL4UADOgIVoxL2M0gx9iSKWJ3lfC45AxY/hynFzAWotM X-Received: by 2002:a05:620a:4482:b0:778:b0f5:d4ef with SMTP id x2-20020a05620a448200b00778b0f5d4efmr1704852qkp.30.1698391823247; Fri, 27 Oct 2023 00:30:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1698391823; cv=pass; d=google.com; s=arc-20160816; b=wo1F7Sg3gFclsHF/1MEuouyigQGiTfKRNr+/1axnoF6wuPEcy3d3GFXIvtphC75drq FC9488j/fW9SqpoZO3o9LKdz9Ws2yOfo25phYO6zAPXNLYgFTi0j2OU9NFLlBrr8gsOn 1JFRDvcPgP5/vHtajxvkUfxdNN9FGFAX1Pj+9U2xsFpCovI2V+AulZubOoSV+vddZmOM 8H+bzlKDUHuUyXVvQc+csBz/KG6wS7iC0DgYdm2vnXpLBwpTz6HjLA/iO3ZSyCMNfoi6 5Sc8mYUP9D6xYBy8N9oP+nCQ0/OOMD/CN/MqC/zbPRat3+zif50o4CoSBPaX1KqQfwbG in+g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=M62ya4CBgRSrDrDxqklCqdXPT+GXhsnlk4qBBmPEHGs=; fh=lLZP3uHhXiSbgwP2B1KoLJRAVcgP5GU+moaWEakPPkg=; b=eu0u24obICPU36SJgPMTKZGg0kiSnZgEoqY34OnkQuPCuCQk4B/VC/ckK0qpin9NEo hVaXeaS42txJpOOtHrY0nn6SuYVYr2o+KOvE3RzfLSwezNrVz2wvH4vTGUIhaWoSy1/t UOQQ4vHWD/UsM7ophdTENVgTijzFu1GIFwlQnEp892TQAFGESqUtQqzfzEBajIrETq+2 lRUtCmdJO9U5H7EdQdT/CUvI0oYNhkPK8A0dlPg7gkgsrEEyY1KM5d7FbDUZk89bzA+2 SMnbj6iXYR5vfQRkd+kglc+yZxK9mn1RLREqSwliUNoLKcezf17wfGqYRrrbcUfqI2N5 mf6Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=JOjFpwnu; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id dc6-20020a05620a520600b007743354f403si414862qkb.46.2023.10.27.00.30.23 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Oct 2023 00:30:23 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=JOjFpwnu; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EEF4D3853511 for <ouuuleilei@gmail.com>; Fri, 27 Oct 2023 07:30:22 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 001C33858404 for <gcc-patches@gcc.gnu.org>; Fri, 27 Oct 2023 07:29:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 001C33858404 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 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 001C33858404 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698391800; cv=none; b=JhHVnyQaQP4rcdDCMd4J9pzhTgHwTKunTY4vOIhlMd/PbWF5Y0YhTnLWgkd6Of8ChzrklpQPI7kNel5ulvL5Hr2aH2pfTbJ+Z1igm5IOLRTMc14f5qN7n42OengdboeD/qXx3Kgwtcx6bvweUdxJIuCmuwFCx8sCRrgP652/wGE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698391800; c=relaxed/simple; bh=JVv9qh9wUGR7Mzez1S1xnECU2BxNEgBrZcxn/3HLLgY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=FM/k1SwEiPpay6vVZL0stjGdFgEEZwsK2GHioIbmU7PQZmJHpq25rArGBmxKUZTj15aNBeywZvtXsfRIIaiQ7OnJKiZ86fcfU6GhiCRvi51QWm/RKRC1Tg4337zwZ929RMsY/X1qIiWuWTBwBRahKRu8vMTYNZJ4XKowbho1/vY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39R74oxg015773; Fri, 27 Oct 2023 07:29:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : to : cc : from : subject : content-type : content-transfer-encoding; s=pp1; bh=M62ya4CBgRSrDrDxqklCqdXPT+GXhsnlk4qBBmPEHGs=; b=JOjFpwnuYn3Cb1AHmbjdloN9AmxFB5qGqR/ShGffhSe4e2wsC9HyCQUe1FZN3/At3Q4H T4b3t8jF4rVorjKvo43VV+EFwIxowW12DvQtI43ATsfA5BVkjvsG6L2+94RKsqv/NML3 2pbiJ1gyp6efxHZs1TLgGtO5fgfnoXN+usCWM2lonI7I/jwF8zBPUeDxU6t8NyrlNC6q O18uyWIAdrR97f+RLEmy6MwnfbyW+IzZYGbujFfEikLI8shEkz9Yio7/wbvMQzAI3wyH l4X1qPK1/qnEz331PYw1/0c2Lf2QPbMci7BsgZ8sMTHZj+MeU4TGhv31UPBmg4iGX1uA gw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3u08gdrvp7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 27 Oct 2023 07:29:56 +0000 Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 39R76bDI020320; Fri, 27 Oct 2023 07:29:55 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3u08gdrvnt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 27 Oct 2023 07:29:55 +0000 Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 39R4T9Ah026861; Fri, 27 Oct 2023 07:29:55 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3tywqrkeb0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 27 Oct 2023 07:29:54 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 39R7Tq1m46530932 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Oct 2023 07:29:52 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0F3B720043; Fri, 27 Oct 2023 07:29:52 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EB02A20040; Fri, 27 Oct 2023 07:29:49 +0000 (GMT) Received: from [9.200.53.20] (unknown [9.200.53.20]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 27 Oct 2023 07:29:49 +0000 (GMT) Message-ID: <7b83825b-0b3c-b9ab-56dc-6eca343d8f0c@linux.ibm.com> Date: Fri, 27 Oct 2023 15:29:49 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Content-Language: en-US To: gcc-patches <gcc-patches@gcc.gnu.org> Cc: Segher Boessenkool <segher@kernel.crashing.org>, David <dje.gcc@gmail.com>, "Kewen.Lin" <linkw@linux.ibm.com>, Peter Bergner <bergner@linux.ibm.com>, Richard Sandiford <richard.sandiford@arm.com> From: HAO CHEN GUI <guihaoc@linux.ibm.com> Subject: [PATCH, expand] Checking available optabs for scalar modes in by pieces operations Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: EL58K_5ckMMegRWEF0PTRttP9Ki3YHrR X-Proofpoint-GUID: nzWbDIJ5S6iV3jDbCeldYxPfKs1QKsA_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-27_05,2023-10-26_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0 mlxlogscore=721 suspectscore=0 priorityscore=1501 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2310270064 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780892904094663202 X-GMAIL-MSGID: 1780892904094663202 |
Series |
[expand] Checking available optabs for scalar modes in by pieces operations
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
HAO CHEN GUI
Oct. 27, 2023, 7:29 a.m. UTC
Hi, This patch checks available optabs for scalar modes used in by pieces operations. It fixes the regression cases caused by previous patch. Now both scalar and vector modes are examined by the same approach. Bootstrapped and tested on x86 and powerpc64-linux BE and LE with no regressions. Is this OK for trunk? Thanks Gui Haochen ChangeLog Expand: Checking available optabs for scalar modes in by pieces operations The former patch (f08ca5903c7) examines the scalar modes by target hook scalar_mode_supported_p. It causes some i386 regression cases as XImode and OImode are not enabled in i386 target function. This patch examines the scalar mode by checking if the corresponding optabs are available for the mode. gcc/ PR target/111449 * expr.cc (qi_vector_mode_supported_p): Rename to... (by_pieces_mode_supported_p): ...this, and extends it to do the checking for both scalar and vector mode. (widest_fixed_size_mode_for_size): Call by_pieces_mode_supported_p to examine the mode. (op_by_pieces_d::smallest_fixed_size_mode_for_size): Likewise. patch.diff
Comments
HAO CHEN GUI <guihaoc@linux.ibm.com> writes: > Hi, > This patch checks available optabs for scalar modes used in by > pieces operations. It fixes the regression cases caused by previous > patch. Now both scalar and vector modes are examined by the same > approach. > > Bootstrapped and tested on x86 and powerpc64-linux BE and LE with no > regressions. Is this OK for trunk? > > Thanks > Gui Haochen > > > ChangeLog > Expand: Checking available optabs for scalar modes in by pieces operations > > The former patch (f08ca5903c7) examines the scalar modes by target > hook scalar_mode_supported_p. It causes some i386 regression cases > as XImode and OImode are not enabled in i386 target function. This > patch examines the scalar mode by checking if the corresponding optabs > are available for the mode. > > gcc/ > PR target/111449 > * expr.cc (qi_vector_mode_supported_p): Rename to... > (by_pieces_mode_supported_p): ...this, and extends it to do > the checking for both scalar and vector mode. > (widest_fixed_size_mode_for_size): Call > by_pieces_mode_supported_p to examine the mode. > (op_by_pieces_d::smallest_fixed_size_mode_for_size): Likewise. OK, thanks. Richard > patch.diff > diff --git a/gcc/expr.cc b/gcc/expr.cc > index 7aac575eff8..2af9fcbed18 100644 > --- a/gcc/expr.cc > +++ b/gcc/expr.cc > @@ -1000,18 +1000,21 @@ can_use_qi_vectors (by_pieces_operation op) > /* Return true if optabs exists for the mode and certain by pieces > operations. */ > static bool > -qi_vector_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) > +by_pieces_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) > { > + if (optab_handler (mov_optab, mode) == CODE_FOR_nothing) > + return false; > + > if ((op == SET_BY_PIECES || op == CLEAR_BY_PIECES) > - && optab_handler (vec_duplicate_optab, mode) != CODE_FOR_nothing) > - return true; > + && VECTOR_MODE_P (mode) > + && optab_handler (vec_duplicate_optab, mode) == CODE_FOR_nothing) > + return false; > > if (op == COMPARE_BY_PIECES > - && optab_handler (mov_optab, mode) != CODE_FOR_nothing > - && can_compare_p (EQ, mode, ccp_jump)) > - return true; > + && !can_compare_p (EQ, mode, ccp_jump)) > + return false; > > - return false; > + return true; > } > > /* Return the widest mode that can be used to perform part of an > @@ -1035,7 +1038,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) > { > if (GET_MODE_SIZE (candidate) >= size) > break; > - if (qi_vector_mode_supported_p (candidate, op)) > + if (by_pieces_mode_supported_p (candidate, op)) > result = candidate; > } > > @@ -1049,7 +1052,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) > { > mode = tmode.require (); > if (GET_MODE_SIZE (mode) < size > - && targetm.scalar_mode_supported_p (mode)) > + && by_pieces_mode_supported_p (mode, op)) > result = mode; > } > > @@ -1454,7 +1457,7 @@ op_by_pieces_d::smallest_fixed_size_mode_for_size (unsigned int size) > break; > > if (GET_MODE_SIZE (candidate) >= size > - && qi_vector_mode_supported_p (candidate, m_op)) > + && by_pieces_mode_supported_p (candidate, m_op)) > return candidate; > } > }
Committed as r14-5001. Thanks Gui Haochen 在 2023/10/27 17:29, Richard Sandiford 写道: > HAO CHEN GUI <guihaoc@linux.ibm.com> writes: >> Hi, >> This patch checks available optabs for scalar modes used in by >> pieces operations. It fixes the regression cases caused by previous >> patch. Now both scalar and vector modes are examined by the same >> approach. >> >> Bootstrapped and tested on x86 and powerpc64-linux BE and LE with no >> regressions. Is this OK for trunk? >> >> Thanks >> Gui Haochen >> >> >> ChangeLog >> Expand: Checking available optabs for scalar modes in by pieces operations >> >> The former patch (f08ca5903c7) examines the scalar modes by target >> hook scalar_mode_supported_p. It causes some i386 regression cases >> as XImode and OImode are not enabled in i386 target function. This >> patch examines the scalar mode by checking if the corresponding optabs >> are available for the mode. >> >> gcc/ >> PR target/111449 >> * expr.cc (qi_vector_mode_supported_p): Rename to... >> (by_pieces_mode_supported_p): ...this, and extends it to do >> the checking for both scalar and vector mode. >> (widest_fixed_size_mode_for_size): Call >> by_pieces_mode_supported_p to examine the mode. >> (op_by_pieces_d::smallest_fixed_size_mode_for_size): Likewise. > > OK, thanks. > > Richard > >> patch.diff >> diff --git a/gcc/expr.cc b/gcc/expr.cc >> index 7aac575eff8..2af9fcbed18 100644 >> --- a/gcc/expr.cc >> +++ b/gcc/expr.cc >> @@ -1000,18 +1000,21 @@ can_use_qi_vectors (by_pieces_operation op) >> /* Return true if optabs exists for the mode and certain by pieces >> operations. */ >> static bool >> -qi_vector_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) >> +by_pieces_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) >> { >> + if (optab_handler (mov_optab, mode) == CODE_FOR_nothing) >> + return false; >> + >> if ((op == SET_BY_PIECES || op == CLEAR_BY_PIECES) >> - && optab_handler (vec_duplicate_optab, mode) != CODE_FOR_nothing) >> - return true; >> + && VECTOR_MODE_P (mode) >> + && optab_handler (vec_duplicate_optab, mode) == CODE_FOR_nothing) >> + return false; >> >> if (op == COMPARE_BY_PIECES >> - && optab_handler (mov_optab, mode) != CODE_FOR_nothing >> - && can_compare_p (EQ, mode, ccp_jump)) >> - return true; >> + && !can_compare_p (EQ, mode, ccp_jump)) >> + return false; >> >> - return false; >> + return true; >> } >> >> /* Return the widest mode that can be used to perform part of an >> @@ -1035,7 +1038,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) >> { >> if (GET_MODE_SIZE (candidate) >= size) >> break; >> - if (qi_vector_mode_supported_p (candidate, op)) >> + if (by_pieces_mode_supported_p (candidate, op)) >> result = candidate; >> } >> >> @@ -1049,7 +1052,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) >> { >> mode = tmode.require (); >> if (GET_MODE_SIZE (mode) < size >> - && targetm.scalar_mode_supported_p (mode)) >> + && by_pieces_mode_supported_p (mode, op)) >> result = mode; >> } >> >> @@ -1454,7 +1457,7 @@ op_by_pieces_d::smallest_fixed_size_mode_for_size (unsigned int size) >> break; >> >> if (GET_MODE_SIZE (candidate) >= size >> - && qi_vector_mode_supported_p (candidate, m_op)) >> + && by_pieces_mode_supported_p (candidate, m_op)) >> return candidate; >> } >> }
diff --git a/gcc/expr.cc b/gcc/expr.cc index 7aac575eff8..2af9fcbed18 100644 --- a/gcc/expr.cc +++ b/gcc/expr.cc @@ -1000,18 +1000,21 @@ can_use_qi_vectors (by_pieces_operation op) /* Return true if optabs exists for the mode and certain by pieces operations. */ static bool -qi_vector_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) +by_pieces_mode_supported_p (fixed_size_mode mode, by_pieces_operation op) { + if (optab_handler (mov_optab, mode) == CODE_FOR_nothing) + return false; + if ((op == SET_BY_PIECES || op == CLEAR_BY_PIECES) - && optab_handler (vec_duplicate_optab, mode) != CODE_FOR_nothing) - return true; + && VECTOR_MODE_P (mode) + && optab_handler (vec_duplicate_optab, mode) == CODE_FOR_nothing) + return false; if (op == COMPARE_BY_PIECES - && optab_handler (mov_optab, mode) != CODE_FOR_nothing - && can_compare_p (EQ, mode, ccp_jump)) - return true; + && !can_compare_p (EQ, mode, ccp_jump)) + return false; - return false; + return true; } /* Return the widest mode that can be used to perform part of an @@ -1035,7 +1038,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) { if (GET_MODE_SIZE (candidate) >= size) break; - if (qi_vector_mode_supported_p (candidate, op)) + if (by_pieces_mode_supported_p (candidate, op)) result = candidate; } @@ -1049,7 +1052,7 @@ widest_fixed_size_mode_for_size (unsigned int size, by_pieces_operation op) { mode = tmode.require (); if (GET_MODE_SIZE (mode) < size - && targetm.scalar_mode_supported_p (mode)) + && by_pieces_mode_supported_p (mode, op)) result = mode; } @@ -1454,7 +1457,7 @@ op_by_pieces_d::smallest_fixed_size_mode_for_size (unsigned int size) break; if (GET_MODE_SIZE (candidate) >= size - && qi_vector_mode_supported_p (candidate, m_op)) + && by_pieces_mode_supported_p (candidate, m_op)) return candidate; } }