{"id":807666,"url":"http://patchwork.ozlabs.org/api/1.2/patches/807666/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/CAGWvnykXxjQCGdMqEyUZNBn-SuS-szyAeapzXE_9QH7VO11rag@mail.gmail.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.2/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,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<CAGWvnykXxjQCGdMqEyUZNBn-SuS-szyAeapzXE_9QH7VO11rag@mail.gmail.com>","list_archive_url":null,"date":"2017-08-30T14:54:59","name":"rs6000_expand_binop_builtin","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"e316415285f504b10450e103937573a1333e6845","submitter":{"id":4375,"url":"http://patchwork.ozlabs.org/api/1.2/people/4375/?format=json","name":"David Edelsohn","email":"dje.gcc@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/CAGWvnykXxjQCGdMqEyUZNBn-SuS-szyAeapzXE_9QH7VO11rag@mail.gmail.com/mbox/","series":[{"id":631,"url":"http://patchwork.ozlabs.org/api/1.2/series/631/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=631","date":"2017-08-30T14:54:59","name":"rs6000_expand_binop_builtin","version":1,"mbox":"http://patchwork.ozlabs.org/series/631/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/807666/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807666/checks/","tags":{},"related":[],"headers":{"Return-Path":"<gcc-patches-return-461168-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-461168-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=\"hAQkomWE\"; 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 3xj7pT2KtHz9sMN\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 00:55:11 +1000 (AEST)","(qmail 22128 invoked by alias); 30 Aug 2017 14:55:03 -0000","(qmail 22089 invoked by uid 89); 30 Aug 2017 14:55:03 -0000","from mail-qt0-f176.google.com (HELO mail-qt0-f176.google.com)\n\t(209.85.216.176) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tWed, 30 Aug 2017 14:55:01 +0000","by mail-qt0-f176.google.com with SMTP id h15so13016635qta.4 for\n\t<gcc-patches@gcc.gnu.org>; Wed, 30 Aug 2017 07:55:01 -0700 (PDT)","by 10.12.180.78 with HTTP; Wed, 30 Aug 2017 07:54:59 -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\n\t:mime-version:from:date:message-id:subject:to:cc:content-type;\n\tq=dns; s=default; b=a1ASxH89d/5YlxuQCyCmtR1I6POygYsf6kIMluTnaFH\n\tdBDyV0oZfdYASiiVc7gzn/AlYVHvQrHCJWEhhNK0ZteP6VHlkceAvwVXyO4/GED6\n\tgn0r6qc0HvJae2fw57vo6sUraMg88vgRG7CACHvVFDMuxclD0ou9L5WYP2JMxsps\n\t=","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\n\t:mime-version:from:date:message-id:subject:to:cc:content-type;\n\ts=default; bh=exX3xFAO50ks3RN0i8VyzbBTjz0=; b=hAQkomWEqhDKESdpG\n\tG22wtls4Pp+TLuFb8bOGe8k4mbazKM92EX0mH2I9A+k+10qDz2bGI6LHFTqDK2Cg\n\t4W+zeHE8nSyoEz4TmCutXZjklZbhvUoTPCE1P+A5kh1HWBo4lEaZqwwc45cMVA86\n\tzmUcYdnqSXsr31Seza75c6S6r4=","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=-10.5 required=5.0 tests=AWL, BAYES_00,\n\tFREEMAIL_FROM, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-qt0-f176.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:mime-version:from:date:message-id:subject:to:cc;\n\tbh=riNXSbgk+XFVtzKmL772TqbWvPM0xN3z9rMMMhj0YuU=;\n\tb=qkpup+/97QfzVUB12KWJF7eKJhN8X/OA4t7U+P0qozDBtEQFEpZtarE/7V7EulkBRw\n\tG7I0LIZIRmKPclrl9yHRDF2Zu7eWTSIeLC+LYLNPGIG0YFeHPaH1+tbG1qI/Jg0oCp04\n\tS6vTAwCF1nI0+Z0X2vDnJC2zuvwEcu72+YY/s4DYRkmhvXKyNeYFrV5rxPisJYMmzvtH\n\tEMmi2PUeKFZD1U0YEXv18fCWEOHyBi2rooKt7Jrzj5NZ9j82a3Zs6gH5rUaUV/Pc4Yu/\n\tdgNOYUm9rHADsYjtfkm7LttlsZh3jpGJq0WuqxBUZkzcfaLSgYNh2fhSK+wMVipCuzgG\n\tCKIA==","X-Gm-Message-State":"AHPjjUh1zhB6dFpqHNLbYSG2kUtrkdgFn+gbYDEen9Pi2fqqRohZY909\tJ55Lz82Xh6ZrVA5Du1ZY2GQqmf+dTQ==","X-Received":"by 10.200.63.69 with SMTP id w5mr2325176qtk.26.1504104900107;\n\tWed, 30 Aug 2017 07:55:00 -0700 (PDT)","MIME-Version":"1.0","From":"David Edelsohn <dje.gcc@gmail.com>","Date":"Wed, 30 Aug 2017 10:54:59 -0400","Message-ID":"<CAGWvnykXxjQCGdMqEyUZNBn-SuS-szyAeapzXE_9QH7VO11rag@mail.gmail.com>","Subject":"[PATCH] rs6000_expand_binop_builtin","To":"Michael Meissner <meissner@linux.vnet.ibm.com>,\n\tSegher Boessenkool <segher@kernel.crashing.org>","Cc":"GCC Patches <gcc-patches@gcc.gnu.org>","Content-Type":"text/plain; charset=\"UTF-8\""},"content":"The patch to convert rs6000.c:rs6000_expand_binop_builtin to switch\nstatement broke bootstrap because some of the CODE_FOR_XXX labels are\nnot guaranteed to be defined or have unique values in all\nconfigurations.\n\nRestores bootstrap on AIX.\n\nCommitted.\n\nThanks, David\n\n\n        * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Revert\n        back to if statements, including unpack.","diff":"Index: rs6000.c\n===================================================================\n--- rs6000.c    (revision 251533)\n+++ rs6000.c    (working copy)\n@@ -14000,17 +14000,14 @@\n   if (arg0 == error_mark_node || arg1 == error_mark_node)\n     return const0_rtx;\n\n-  switch (icode)\n+  if (icode == CODE_FOR_altivec_vcfux\n+      || icode == CODE_FOR_altivec_vcfsx\n+      || icode == CODE_FOR_altivec_vctsxs\n+      || icode == CODE_FOR_altivec_vctuxs\n+      || icode == CODE_FOR_altivec_vspltb\n+      || icode == CODE_FOR_altivec_vsplth\n+      || icode == CODE_FOR_altivec_vspltw)\n     {\n-    default:\n-      break;\n-    case CODE_FOR_altivec_vcfux:\n-    case CODE_FOR_altivec_vcfsx:\n-    case CODE_FOR_altivec_vctsxs:\n-    case CODE_FOR_altivec_vctuxs:\n-    case CODE_FOR_altivec_vspltb:\n-    case CODE_FOR_altivec_vsplth:\n-    case CODE_FOR_altivec_vspltw:\n       /* Only allow 5-bit unsigned literals.  */\n       STRIP_NOPS (arg1);\n       if (TREE_CODE (arg1) != INTEGER_CST\n@@ -14019,15 +14016,16 @@\n          error (\"argument 2 must be a 5-bit unsigned literal\");\n          return CONST0_RTX (tmode);\n        }\n-      break;\n-    case CODE_FOR_dfptstsfi_eq_dd:\n-    case CODE_FOR_dfptstsfi_lt_dd:\n-    case CODE_FOR_dfptstsfi_gt_dd:\n-    case CODE_FOR_dfptstsfi_unordered_dd:\n-    case CODE_FOR_dfptstsfi_eq_td:\n-    case CODE_FOR_dfptstsfi_lt_td:\n-    case CODE_FOR_dfptstsfi_gt_td:\n-    case CODE_FOR_dfptstsfi_unordered_td:\n+    }\n+  else if (icode == CODE_FOR_dfptstsfi_eq_dd\n+      || icode == CODE_FOR_dfptstsfi_lt_dd\n+      || icode == CODE_FOR_dfptstsfi_gt_dd\n+      || icode == CODE_FOR_dfptstsfi_unordered_dd\n+      || icode == CODE_FOR_dfptstsfi_eq_td\n+      || icode == CODE_FOR_dfptstsfi_lt_td\n+      || icode == CODE_FOR_dfptstsfi_gt_td\n+      || icode == CODE_FOR_dfptstsfi_unordered_td)\n+    {\n       /* Only allow 6-bit unsigned literals.  */\n       STRIP_NOPS (arg0);\n       if (TREE_CODE (arg0) != INTEGER_CST\n@@ -14036,12 +14034,13 @@\n          error (\"argument 1 must be a 6-bit unsigned literal\");\n          return CONST0_RTX (tmode);\n        }\n-      break;\n-    case CODE_FOR_xststdcqp:\n-    case CODE_FOR_xststdcdp:\n-    case CODE_FOR_xststdcsp:\n-    case CODE_FOR_xvtstdcdp:\n-    case CODE_FOR_xvtstdcsp:\n+    }\n+  else if (icode == CODE_FOR_xststdcqp\n+          || icode == CODE_FOR_xststdcdp\n+          || icode == CODE_FOR_xststdcsp\n+          || icode == CODE_FOR_xvtstdcdp\n+          || icode == CODE_FOR_xvtstdcsp)\n+    {\n       /* Only allow 7-bit unsigned literals. */\n       STRIP_NOPS (arg1);\n       if (TREE_CODE (arg1) != INTEGER_CST\n@@ -14050,12 +14049,13 @@\n          error (\"argument 2 must be a 7-bit unsigned literal\");\n          return CONST0_RTX (tmode);\n        }\n-      break;\n-    case CODE_FOR_unpackv1ti:\n-    case CODE_FOR_unpackkf:\n-    case CODE_FOR_unpacktf:\n-    case CODE_FOR_unpackif:\n-    case CODE_FOR_unpacktd:\n+    }\n+  else if (icode == CODE_FOR_unpackv1ti\n+          || icode == CODE_FOR_unpackkf\n+          || icode == CODE_FOR_unpacktf\n+          || icode == CODE_FOR_unpackif\n+          || icode == CODE_FOR_unpacktd)\n+    {\n       /* Only allow 1-bit unsigned literals. */\n       STRIP_NOPS (arg1);\n       if (TREE_CODE (arg1) != INTEGER_CST\n@@ -14064,7 +14064,6 @@\n          error (\"argument 2 must be a 1-bit unsigned literal\");\n          return CONST0_RTX (tmode);\n        }\n-      break;\n     }\n\n   if (target == 0\n","prefixes":[]}