From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 4BE343851C2F for ; Thu, 21 May 2020 13:29:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4BE343851C2F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mliska@suse.cz X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D2A15B164; Thu, 21 May 2020 13:29:53 +0000 (UTC) Subject: Re: [stage1][PATCH] Lower VEC_COND_EXPR into internal functions. From: =?UTF-8?Q?Martin_Li=c5=a1ka?= To: Richard Biener , GCC Patches , Richard Sandiford , Segher Boessenkool References: <366dfa22-58e7-e1df-62c3-cc98082a552c@suse.cz> <0e5c0fa7-9719-e3ab-b909-f1c0b052b283@suse.cz> <1470b2b0-1cc3-f408-c292-a7c95325432d@suse.cz> Message-ID: <542a2fb9-e282-0614-8586-6690c627a4cd@suse.cz> Date: Thu, 21 May 2020 15:29:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <1470b2b0-1cc3-f408-c292-a7c95325432d@suse.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.7 required=5.0 tests=BAYES_00, BODY_8BITS, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 May 2020 13:29:53 -0000 Adding Segher to CC, he can help us. Martin On 5/21/20 2:51 PM, Martin Liška wrote: > Hi. > > Back to this I noticed that ppc64le target build is broken due to: > > g++  -fno-PIE -c   -g   -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/marxin/Programming/gcc/gcc -I/home/marxin/Programming/gcc/gcc/. -I/home/marxin/Programming/gcc/gcc/../include -I/home/marxin/Programming/gcc/gcc/../libcpp/include  -I/home/marxin/Programming/gcc/gcc/../libdecnumber -I/home/marxin/Programming/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/marxin/Programming/gcc/gcc/../libbacktrace   -o insn-emit.o -MT insn-emit.o -MMD -MP -MF ./.deps/insn-emit.TPo insn-emit.c > /home/marxin/Programming/gcc/gcc/config/rs6000/vector.md:357:11: error: vcondv4sfv4sf cannot FAIL >   357 |     FAIL; >       |           ^ > /home/marxin/Programming/gcc/gcc/config/rs6000/vector.md:357:11: error: vcondv2dfv2df cannot FAIL >   357 |     FAIL; >       |           ^ > /home/marxin/Programming/gcc/gcc/config/rs6000/vector.md:374:11: error: vcondv16qiv16qi cannot FAIL >   374 |     FAIL; >       |           ^ > /home/marxin/Programming/gcc/gcc/config/rs6000/vector.md:374:11: error: vcondv8hiv8hi cannot FAIL >   374 |     FAIL; >       |           ^ > ... > > > which is caused by the 4 added optabs: > > +DEF_INTERNAL_OPTAB_FN (VCOND, 0, vcond, vec_cond) > +DEF_INTERNAL_OPTAB_FN (VCONDU, 0, vcondu, vec_condu) > +DEF_INTERNAL_OPTAB_FN (VCONDEQ, 0, vcondeq, vec_condeq) > +DEF_INTERNAL_OPTAB_FN (VCOND_MASK, 0, vcond_mask, vec_cond_mask) > > looking at the generator: > > Breakpoint 6, gen_expand (info=0x7fffffffe160) at /home/marxin/Programming/gcc/gcc/genemit.c:516 > 516          if (find_optab (&p, XSTR (expand, 0))) > (gdb) bt > #0  emit_c_code (code=0x7fa0f0 "{\n  if (rs6000_emit_vector_cond_expr (operands[0], operands[1], operands[2],\n\t\t\t\t    operands[3], operands[4], operands[5]))\n    DONE;\n  else\n    FAIL;\n}", can_fail_p=false, name=0x7fa190 "vcondv4sfv4sf") >     at /home/marxin/Programming/gcc/gcc/genemit.c:306 > #1  0x00000000004039b5 in gen_expand (info=0x7fffffffe160) at /home/marxin/Programming/gcc/gcc/genemit.c:522 > #2  0x0000000000404912 in main (argc=4, argv=0x7fffffffe288) at /home/marxin/Programming/gcc/gcc/genemit.c:916 > > I get there due to: > > B- │516               if (find_optab (&p, XSTR (expand, 0)))│ >    │517                 {                                   │ >    │518                   gcc_assert (p.op < NUM_OPTABS);   │ >    │519                   if (nofail_optabs[p.op])          │ >    │520                     can_fail_p = false;             │ >    │521                 }                                   │ > > > #define DEF_INTERNAL_OPTAB_FN(NAME, FLAGS, OPTAB, TYPE) \ >   nofail_optabs[OPTAB##_optab] = true; > #include "internal-fn.def" > > Any hint what's bad? Note that x86_64-linux-gnu is fine. > Do I miss a target hook? > > Martin