From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38768 invoked by alias); 31 Jul 2019 05:51:19 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 38760 invoked by uid 89); 31 Jul 2019 05:51:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Received:a50, heads, H*RU:209.85.208.65, HX-Spam-Relays-External:209.85.208.65 X-HELO: mail-ed1-f65.google.com Received: from mail-ed1-f65.google.com (HELO mail-ed1-f65.google.com) (209.85.208.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 31 Jul 2019 05:51:16 +0000 Received: by mail-ed1-f65.google.com with SMTP id k8so64517760edr.11 for ; Tue, 30 Jul 2019 22:51:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:from:date:message-id:subject:to:cc; bh=q/LP6zQoNGMmmd/tq3eCvfM2xc8NJeDkIgdKPSX2YCM=; b=dN/Wj28XRSRKYu2iA2oKcpgh4gCck7Gtq1zN4Egyk+P2NINPkP1HAIavxO2Z64QS05 zf871N8Kiu5GzjOih+B+efhHUyeoVHm9wnIPvKUegySEDndn5VUXNpnVkOW/rYeo8zEB gK1zfR0ILt46cvp4c+5tQQwLbVSkxQgYlNnBlQk2DTDbad4hdwC89z1Dqzth2YB25tEN Z8/6KdTowdTd9DQ7WRIEvLKZ4v+ZZCzAwkA1sc2tA2g/ysRcsvtB/lLBB5O4V+EAa06t 841mpTebbxWVMyiqKlc+7fPsdcISMFSsWFuq3TrmKJwTs6ytMDxEaFYGyXh3mPd+td+c +PUA== MIME-Version: 1.0 References: From: Tejas Joshi Date: Wed, 31 Jul 2019 07:10:00 -0000 Message-ID: Subject: Re: [PATCH] i386: Roundeven expansion for SSE4.1+ To: gcc-patches@gcc.gnu.org Cc: Uros Bizjak , Martin Jambor , hubicka@ucw.cz Content-Type: multipart/mixed; boundary="0000000000008f18e5058ef3b691" X-SW-Source: 2019-07/txt/msg01839.txt.bz2 --0000000000008f18e5058ef3b691 Content-Type: text/plain; charset="UTF-8" Content-length: 3904 Hi. > > * gcc.target/i386/avx-vround-roundeven-1.c: New test. > > * gcc.target/i386/avx-vround-roundeven-2.c: New test. > > roundss and roundsd are sse4_1 instructions, also please change tests > to use -O2: I have made the following changes you suggested and changed the file names to: * gcc.target/i386/sse4_1-round-roundeven-1.c: New test. * gcc.target/i386/sse4_1-round-roundeven-2.c: New test. Thanks, Tejas On Wed, 31 Jul 2019 at 11:26, Tejas Joshi wrote: > > Previous mail got sent to your mail only. Will send on mailing list. > Sorry for the trouble. > > On Wed, 31 Jul 2019 at 10:52, Tejas Joshi wrote: > > > > Hi. > > > > > > * gcc.target/i386/avx-vround-roundeven-1.c: New test. > > > > * gcc.target/i386/avx-vround-roundeven-2.c: New test. > > > > > > roundss and roundsd are sse4_1 instructions, also please change tests > > > to use -O2: > > > > I have made the following changes you suggested and changed the file names to: > > > > * gcc.target/i386/sse4_1-round-roundeven-1.c: New test. > > * gcc.target/i386/sse4_1-round-roundeven-2.c: New test. > > > > Thanks, > > Tejas > > > > > > On Sat, 27 Jul 2019 at 14:34, Uros Bizjak wrote: > > > > > > On Wed, Jul 24, 2019 at 12:43 PM Tejas Joshi wrote: > > > > > > > > Hi. > > > > This is a patch that Uros suggested for roundeven expansion, here. > > > > Thanks for the heads up. > > > > > > > > I have rerun the testsuite on the patch, it survives the regression > > > > tests and bootstraps on x86_64-linux-gnu. Note, patch to be applied on > > > > top of > > > > > > > > > > > > Thanks, > > > > Tejas > > > > > > > > gcc/ChangeLog: > > > > > > > > 2019-07-24 Tejas Joshi > > > > > > > > * builtins.c (mathfn_built_in_2): Change CASE_MATHFN to > > > > CASE_MATHFN_FLOATN for roundeven. > > > > * config/i386/i386.c (ix86_i387_mode_needed): Add case I387_ROUNDEVEN. > > > > (ix86_mode_needed): Likewise. > > > > (ix86_mode_after): Likewise. > > > > (ix86_mode_entry): Likewise. > > > > (ix86_mode_exit): Likewise. > > > > (ix86_emit_mode_set): Likewise. > > > > (emit_i387_cw_initialization): Add case I387_CW_ROUNDEVEN. > > > > * config/i386/i386.h (ix86_stack_slot) : Add SLOT_CW_ROUNDEVEN. > > > > (ix86_entry): Add I387_ROUNDEVEN. > > > > (avx_u128_state): Add I387_CW_ANY. > > > > * config/i386/i386.md: Define UNSPEC_FRNDINT_ROUNDEVEN. > > > > (define_int_iterator): Likewise. > > > > (define_int_attr): Likewise for rounding_insn, rounding and ROUNDING. > > > > (define_constant): Define ROUND_ROUNDEVEN mode. > > > > (define_attr): Add roundeven mode for i387_cw. > > > > (2): Add condition for ROUND_ROUNDEVEN. > > > > * internal-fn.def (ROUNDEVEN): New builtin function. > > > > * optabs.def (roundeven_optab): New optab. > > > > > > > > > > LGTM for the x86 part, but you are mixing middle-end changes in the > > > patch, so you also need an OK from a middle-end maintainer. > > > > > > > gcc/testsuite/ChangeLog: > > > > > > > > 2019-07-24 Tejas Joshi > > > > > > > > * gcc.target/i386/avx-vround-roundeven-1.c: New test. > > > > * gcc.target/i386/avx-vround-roundeven-2.c: New test. > > > > > > roundss and roundsd are sse4_1 instructions, also please change tests > > > to use -O2: > > > > > > /* { dg-require-effective-target sse4 } */ > > > /* { dg-options "-O2 -msse4.1" } */ > > > > > > and > > > > > > #include "sse4_1-check.h" > > > > > > with > > > > > > static void > > > sse4_1_test (void) > > > { > > > ... test code ... > > > } > > > > > > No need to use that much #defines. > > > > > > Uros. --0000000000008f18e5058ef3b691 Content-Type: text/x-patch; charset="US-ASCII"; name="mod-tests.diff" Content-Disposition: attachment; filename="mod-tests.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jyqu8ixz0 Content-length: 2672 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2 eC12cm91bmQtcm91bmRldmVuLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3NzZTRfMS1yb3VuZC1yb3VuZGV2ZW4tMS5jCnNpbWlsYXJp dHkgaW5kZXggNTUlCnJlbmFtZSBmcm9tIGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2F2eC12cm91bmQtcm91bmRldmVuLTEuYwpyZW5hbWUgdG8g Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlNF8xLXJvdW5kLXJv dW5kZXZlbi0xLmMKaW5kZXggMDcyZDBmMGU3M2EuLmU2NzNkZmQxNmIzIDEw MDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngt dnJvdW5kLXJvdW5kZXZlbi0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvc3NlNF8xLXJvdW5kLXJvdW5kZXZlbi0xLmMKQEAgLTEs NSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLyogeyBkZy1v cHRpb25zICItbWF2eCIgfSAqLworLyogeyBkZy1vcHRpb25zICItbXNzZTQu MSIgfSAqLwogCiBfX2F0dHJpYnV0ZV9fKChub2lubGluZSwgbm9jbG9uZSkp IGRvdWJsZQogZjEgKGRvdWJsZSB4KQpAQCAtMTMsNSArMTMsNSBAQCBmMiAo ZmxvYXQgeCkKICAgcmV0dXJuIF9fYnVpbHRpbl9yb3VuZGV2ZW5mICh4KTsK IH0KIAotLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2 cm91bmRzZFxbXlxuXHJcXSp4bW0iIDEgfSB9ICovCi0vKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZyb3VuZHNzXFteXG5cclxdKnht bSIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAicm91bmRzZFxbXlxuXHJcXSp4bW0iIDEgfSB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInJvdW5kc3NcW15cblxy XF0qeG1tIiAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvYXZ4LXZyb3VuZC1yb3VuZGV2ZW4tMi5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlNF8xLXJvdW5kLXJvdW5k ZXZlbi0yLmMKc2ltaWxhcml0eSBpbmRleCA1MSUKcmVuYW1lIGZyb20gZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LXZyb3VuZC1yb3VuZGV2 ZW4tMi5jCnJlbmFtZSB0byBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9zc2U0XzEtcm91bmQtcm91bmRldmVuLTIuYwppbmRleCAyMTE3NThkMDI2 YS4uOTUwNTc5NmRhZmIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L2F2eC12cm91bmQtcm91bmRldmVuLTIuYworKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2U0XzEtcm91bmQtcm91 bmRldmVuLTIuYwpAQCAtMSwxOCArMSwxMiBAQAogLyogeyBkZy1kbyBydW4g fSAqLwotLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYXZ4IH0g Ki8KLS8qIHsgZGctb3B0aW9ucyAiLW1hdngiIH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNzZTQgfSAqLworLyogeyBkZy1vcHRp b25zICItTzIgLW1zc2U0LjEiIH0gKi8KIAotI2lmbmRlZiBDSEVDS19ICi0j ZGVmaW5lIENIRUNLX0ggImF2eC1jaGVjay5oIgotI2RlZmluZSBURVNUIGF2 eF90ZXN0Ci0jZGVmaW5lIFNSQyAiYXZ4LXZyb3VuZC1yb3VuZGV2ZW4tMS5j IgotI2VuZGlmCi0KLSNpbmNsdWRlIENIRUNLX0gKLSNpbmNsdWRlIFNSQwor I2luY2x1ZGUgInNzZTRfMS1jaGVjay5oIgorI2luY2x1ZGUgInNzZTRfMS1y b3VuZC1yb3VuZGV2ZW4tMS5jIgogCiBzdGF0aWMgdm9pZAotVEVTVCAodm9p ZCkKK3NzZTRfMV90ZXN0ICh2b2lkKQogewogICBpZiAoZjEgKDAuNSkgIT0g MC4wIHx8IGYxICgxLjUpICE9IDIuMCB8fCBmMSAoLTAuNSkgIT0gMC4wIHx8 IGYxICgtMS41KSAhPSAtMi4wKQogICAgIGFib3J0ICgpOwo= --0000000000008f18e5058ef3b691--