{"id":809615,"url":"http://patchwork.ozlabs.org/api/1.0/patches/809615/?format=json","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.0/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<87pob6hep8.fsf@linaro.org>","date":"2017-09-04T11:43:15","name":"[9/9] Make bitsize_mode_for_mode return an opt_mode","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a6d107f2839e9cb99c0f5e63222a5dd4bf3979ea","submitter":{"id":5450,"url":"http://patchwork.ozlabs.org/api/1.0/people/5450/?format=json","name":"Richard Sandiford","email":"richard.sandiford@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/87pob6hep8.fsf@linaro.org/mbox/","series":[{"id":1357,"url":"http://patchwork.ozlabs.org/api/1.0/series/1357/?format=json","date":"2017-09-04T11:24:26","name":"Make more use of opt_mode","version":1,"mbox":"http://patchwork.ozlabs.org/series/1357/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809615/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-return-461412-incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list gcc-patches@gcc.gnu.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-461412-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"gk8Q4FGx\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xm7K53w3nz9s8J\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 21:43:37 +1000 (AEST)","(qmail 105146 invoked by alias); 4 Sep 2017 11:43:29 -0000","(qmail 104030 invoked by uid 89); 4 Sep 2017 11:43:29 -0000","from mail-wm0-f49.google.com (HELO mail-wm0-f49.google.com)\n\t(74.125.82.49) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tMon, 04 Sep 2017 11:43:24 +0000","by mail-wm0-f49.google.com with SMTP id v2so3377028wmf.0 for\n\t<gcc-patches@gcc.gnu.org>; Mon, 04 Sep 2017 04:43:24 -0700 (PDT)","from localhost (94.197.120.41.threembb.co.uk. [94.197.120.41]) by\n\tsmtp.gmail.com with ESMTPSA id\n\tz136sm386497wmc.36.2017.09.04.04.43.21 for\n\t<gcc-patches@gcc.gnu.org> (version=TLS1_2\n\tcipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tMon, 04 Sep 2017 04:43:21 -0700 (PDT)"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:to:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; q=dns; s=default; b=DeEeYH8+8VRDfMK+StYLxurAunbIo\n\tQW8rJ5ud9fxesN22CDkOCvKvOYutWfvio4pBZSM7bejKt03aoD5vGuJ1ba8w5Ony\n\t4pQRp5DzWYTQBcvqsyTnnf4aSZEYzp1f4nIRmUyqRg4VIJd9jn1o+K2+CIKGiUE2\n\tyuc2/0k9hQGUtM=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:to:subject:references:date:in-reply-to:message-id:mime-version\n\t:content-type; s=default; bh=sKUFVaHcOWmnOzQimyGRLC+ffp8=; b=gk8\n\tQ4FGxkFnWM95AJLfj8dhaXiJTdv92oXqzzY2Z4ftRtpLmrzL90Pa1FrcQZHTxjBb\n\tkas9UGOlGSMqnlf8+F6BU+OUXGSH/FvJaLYYks8ckhX4rhrjOvDIxoSIWLdgH4P0\n\tGQBHbCWMVUtkYbsYqD7Q6skeZKhiWfxxIECRGGv8=","Mailing-List":"contact gcc-patches-help@gcc.gnu.org; run by ezmlm","Precedence":"bulk","List-Id":"<gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>","List-Archive":"<http://gcc.gnu.org/ml/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-help@gcc.gnu.org>","Sender":"gcc-patches-owner@gcc.gnu.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-11.0 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS,\n\tRCVD_IN_DNSWL_NONE,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-wm0-f49.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;\n\ts=20161025;\n\th=x-gm-message-state:from:to:mail-followup-to:subject:references:date\n\t:in-reply-to:message-id:user-agent:mime-version;\n\tbh=I7RL62UbgUFU23I2ocsnCJai6bEzHUQV9W9TOdflPbo=;\n\tb=rleffSncfX2VYt/jptCO4v+oBfFJMlQqiJtisxzR0PSfeFs0VjIVro32ff6RbQB3cx\n\tLOBd7hbJIFUhjSYQTGvyiwqgU6OVldXNxnB6PgHnH1NqgBqWJoIJoEZZ+CZOMQiusjoN\n\tU28LiR5YlzUvuKXvrAh7Rn59821OXRnQIYvK0gGgbCdDsqzOY0Qh6A8E+v2v2/nJSAhd\n\tZLuxCqOGhR1x5RK6MQCp1DAKaayYmQtyThBTMR5y5ZTv8msgXl1Zc/U+DjxooQR6INFy\n\t0S/OLeUnk6mNjdxoEa6eVgSSVpm4hboRIlP+f3FRNF3J3r/hq4PHsqjl1zA3tD/525Mq\n\tWKCQ==","X-Gm-Message-State":"AHPjjUiHUaB9n0NkNNaNzFzTrUez7Obpu0Jz+qkOP3UR3VsaGzBDmIfa\thhGQkbPsx0setNtEHuJASw==","X-Google-Smtp-Source":"ADKCNb6MhV2kyNsaDAGBJeTeRP+CKcX57W1cz3zBaKpnxuj4EdB6/NzLy5CWsqsxVcmC3iazrYKbNA==","X-Received":"by 10.28.163.67 with SMTP id m64mr107707wme.69.1504525402191;\n\tMon, 04 Sep 2017 04:43:22 -0700 (PDT)","From":"Richard Sandiford <richard.sandiford@linaro.org>","To":"gcc-patches@gcc.gnu.org","Mail-Followup-To":"gcc-patches@gcc.gnu.org, richard.sandiford@linaro.org","Subject":"[9/9] Make bitsize_mode_for_mode return an opt_mode","References":"<87tw0iiu51.fsf@linaro.org>","Date":"Mon, 04 Sep 2017 12:43:15 +0100","In-Reply-To":"<87tw0iiu51.fsf@linaro.org> (Richard Sandiford's message of\n\t\"Mon, 04 Sep 2017 12:24:26 +0100\")","Message-ID":"<87pob6hep8.fsf@linaro.org>","User-Agent":"Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)","MIME-Version":"1.0","Content-Type":"text/plain"},"content":"2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>\n\ngcc/\n\t* machmode.h (bitwise_mode_for_mode): Return opt_mode.\n\t* stor-layout.c (bitwise_mode_for_mode): Likewise.\n\t(bitwise_type_for_mode): Update accordingly.","diff":"Index: gcc/machmode.h\n===================================================================\n--- gcc/machmode.h\t2017-09-04 12:18:55.821333642 +0100\n+++ gcc/machmode.h\t2017-09-04 12:19:42.856108173 +0100\n@@ -694,7 +694,7 @@ smallest_int_mode_for_size (unsigned int\n }\n \n extern opt_scalar_int_mode int_mode_for_mode (machine_mode);\n-extern machine_mode bitwise_mode_for_mode (machine_mode);\n+extern opt_machine_mode bitwise_mode_for_mode (machine_mode);\n extern opt_machine_mode mode_for_vector (scalar_mode, unsigned);\n extern opt_machine_mode mode_for_int_vector (unsigned int, unsigned int);\n \nIndex: gcc/stor-layout.c\n===================================================================\n--- gcc/stor-layout.c\t2017-09-04 12:19:01.144339518 +0100\n+++ gcc/stor-layout.c\t2017-09-04 12:19:42.856108173 +0100\n@@ -404,10 +404,10 @@ int_mode_for_mode (machine_mode mode)\n     }\n }\n \n-/* Find a mode that can be used for efficient bitwise operations on MODE.\n-   Return BLKmode if no such mode exists.  */\n+/* Find a mode that can be used for efficient bitwise operations on MODE,\n+   if one exists.  */\n \n-machine_mode\n+opt_machine_mode\n bitwise_mode_for_mode (machine_mode mode)\n {\n   /* Quick exit if we already have a suitable mode.  */\n@@ -445,7 +445,7 @@ bitwise_mode_for_mode (machine_mode mode\n     }\n \n   /* Otherwise fall back on integers while honoring MAX_FIXED_MODE_SIZE.  */\n-  return mode_for_size (bitsize, MODE_INT, true).else_blk ();\n+  return mode_for_size (bitsize, MODE_INT, true);\n }\n \n /* Find a type that can be used for efficient bitwise operations on MODE.\n@@ -454,8 +454,7 @@ bitwise_mode_for_mode (machine_mode mode\n tree\n bitwise_type_for_mode (machine_mode mode)\n {\n-  mode = bitwise_mode_for_mode (mode);\n-  if (mode == BLKmode)\n+  if (!bitwise_mode_for_mode (mode).exists (&mode))\n     return NULL_TREE;\n \n   unsigned int inner_size = GET_MODE_UNIT_BITSIZE (mode);\n","prefixes":["9/9"]}