From patchwork Sun Oct 20 11:24:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Jelinek X-Patchwork-Id: 1179987 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-511369-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="IRolhiN1"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="OQv+Ftmp"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46wy9D0lpkz9s4Y for ; Sun, 20 Oct 2019 22:24:47 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=I7Y AlbnT5YKWlM5NmuoNh/ghb0b0XT6x//kVJNors2eyJ52JIiTaT8fSwrc6EkEUV5B +4yz3gKpL3yfwL2ll05CPuRmp8+b49VvRGTVVcmPhpkJTCEN8ZAqtc208HBYaFFZ 1aAR0BT52QGS6kX3dAA5PBk9nAAL5zwdKjYvXu1U= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:mime-version :content-type:content-transfer-encoding; s=default; bh=gkw2g8oDN VR65HWLOWMzJ3aXMqI=; b=IRolhiN1JjEm4XY2GejT78CGCrZYgvPLNHnZuH86G p/6kE2X2Mc0OCUAiDzCdZAadgGYnu2rsrCnqXXX/Xc20fqPkXbc3G2SPos+LePNZ 2sxGQhkQiDtKpnRjoPxg03hAk7UZYi4FEIBtQY412ryJJpxQ3LMQcdifCSUgrX9v 9s= Received: (qmail 27244 invoked by alias); 20 Oct 2019 11:24:40 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 27195 invoked by uid 89); 20 Oct 2019 11:24:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-7.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=prereload, pre-reload, splitters, sk:extende X-HELO: us-smtp-delivery-1.mimecast.com Received: from us-smtp-1.mimecast.com (HELO us-smtp-delivery-1.mimecast.com) (207.211.31.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 20 Oct 2019 11:24:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571570659; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XL+KU5E04/8nJl5UXXjS2mbqsj3FHQQff1LMAuehU5s=; b=OQv+Ftmp2hp/tul3Nw7GFWpT6U3H5BJv3IVO5g01rlFKHUvekOpwhPw90j8E3aONEf2UhK A4BRGWoCRdGzzZBziRtPZxz5+lX1JRtzOSqTLKKVoPzIwV2FXT3HvURmCcPP5QLs9v06DS 7NbZjOWIXo69OyaysXYAxNvtdisKsb8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-97-sdCpisfLNG6ToX58kIpbpw-1; Sun, 20 Oct 2019 07:24:17 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 684BA80183E; Sun, 20 Oct 2019 11:24:16 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.36.118.135]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D8E4D600CE; Sun, 20 Oct 2019 11:24:15 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id x9KBODSI023896; Sun, 20 Oct 2019 13:24:14 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id x9KBOBA2023895; Sun, 20 Oct 2019 13:24:11 +0200 Date: Sun, 20 Oct 2019 13:24:11 +0200 From: Jakub Jelinek To: Uros Bizjak Cc: gcc-patches@gcc.gnu.org Subject: [PATCH] Fix (hypothetical) problem with pre-reload splitters (PR target/92140) Message-ID: <20191020112411.GQ2116@tucnak> Reply-To: Jakub Jelinek MIME-Version: 1.0 User-Agent: Mutt/1.11.3 (2019-02-01) X-Mimecast-Spam-Score: 0 Content-Disposition: inline X-IsSubscribed: yes Hi! As mentioned in the PR, the x86 backend has various define_insn_and_split patterns that are meant to match usually during combine, are then unconditionally split during split1 pass and as they have && can_create_pseudo_p () in their define_insn condition, if they get matched after split1, nothing would split them anymore and they wouldn't match after reload. The split1 pass already sets a property that can be used. I've first tried to remove some constraints and associated attributes, but it seems from further discussions in the PR I don't know much about the reasons why they were added and if they are still needed or not, so this version of the patch just replaces the can_create_pseudo_p () conditions with a new predicate that stops matching already after the split1 pass. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-10-20 Jakub Jelinek * config/i386/i386-protos.h (ix86_pre_reload_split): Declare. * config/i386/i386.c (ix86_pre_reload_split): New function. * config/i386/i386.md (*fix_trunc_i387_1, *add3_eq, *add3_ne, *add3_eq_0, *add3_ne_0, *add3_eq, *add3_ne, *add3_eq_1, *add3_eq_0, *add3_ne_0, *anddi3_doubleword, *andndi3_doubleword, *di3_doubleword, *one_cmpldi2_doubleword, *ashl3_doubleword_mask, *ashl3_doubleword_mask_1, *ashl3_mask, *ashl3_mask_1, *3_mask, *3_mask_1, *3_doubleword_mask, *3_doubleword_mask_1, *3_mask, *3_mask_1, *_mask, *_mask_1, *btr_mask, *btr_mask_1, *jcc_bt, *jcc_bt_1, *jcc_bt_mask, *popcounthi2_1, frndintxf2_, *fist2__1, *3_1, *di3_doubleword): Use ix86_pre_reload_split instead of can_create_pseudo_p in condition. * config/i386/sse.md (*sse4_1_v8qiv8hi2_2, *avx2_v8qiv8si2_2, *sse4_1_v4qiv4si2_2, *sse4_1_v4hiv4si2_2, *avx512f_v8qiv8di2_2, *avx2_v4qiv4di2_2, *avx2_v4hiv4di2_2, *sse4_1_v2hiv2di2_2, *sse4_1_v2siv2di2_2, sse4_2_pcmpestr, sse4_2_pcmpistr): Likewise. Jakub --- gcc/config/i386/i386-protos.h.jj 2019-10-19 14:45:47.693185643 +0200 +++ gcc/config/i386/i386-protos.h 2019-10-19 19:08:12.371359926 +0200 @@ -55,6 +55,7 @@ extern rtx standard_80387_constant_rtx ( extern int standard_sse_constant_p (rtx, machine_mode); extern const char *standard_sse_constant_opcode (rtx_insn *, rtx *); extern bool ix86_standard_x87sse_constant_load_p (const rtx_insn *, rtx); +extern bool ix86_pre_reload_split (void); extern bool symbolic_reference_mentioned_p (rtx); extern bool extended_reg_mentioned_p (rtx); extern bool x86_extended_QIreg_mentioned_p (rtx_insn *); --- gcc/config/i386/i386.c.jj 2019-10-19 14:45:47.729185094 +0200 +++ gcc/config/i386/i386.c 2019-10-19 19:08:12.376359849 +0200 @@ -4894,6 +4894,18 @@ ix86_standard_x87sse_constant_load_p (co return true; } +/* Predicate for pre-reload splitters with associated instructions, + which can match any time before the split1 pass (usually combine), + then are unconditionally split in that pass and should not be + matched again afterwards. */ + +bool +ix86_pre_reload_split (void) +{ + return (can_create_pseudo_p () + && !(cfun->curr_properties & PROP_rtl_split_insns)); +} + /* Returns true if OP contains a symbol reference */ bool --- gcc/config/i386/i386.md.jj 2019-10-19 14:46:15.489760948 +0200 +++ gcc/config/i386/i386.md 2019-10-19 19:08:12.381359773 +0200 @@ -4920,7 +4920,7 @@ (define_insn_and_split "*fix_trunc && !TARGET_FISTTP && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1])) && (TARGET_64BIT || mode != DImode)) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)] @@ -6857,7 +6857,7 @@ (define_insn_and_split "*add3_eq" (match_operand:SWI 2 ""))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (PLUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -6881,7 +6881,7 @@ (define_insn_and_split "*add3_ne" && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) && ix86_binary_operator_ok (PLUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -6904,7 +6904,7 @@ (define_insn_and_split "*add3_eq_0 (match_operand:SWI 1 ""))) (clobber (reg:CC FLAGS_REG))] "ix86_unary_operator_ok (PLUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -6925,7 +6925,7 @@ (define_insn_and_split "*add3_ne_0 (match_operand:SWI 1 ""))) (clobber (reg:CC FLAGS_REG))] "ix86_unary_operator_ok (PLUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -6951,7 +6951,7 @@ (define_insn_and_split "*sub3_eq" (match_operand:SWI 2 ""))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (MINUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -6976,7 +6976,7 @@ (define_insn_and_split "*sub3_ne" && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) && ix86_binary_operator_ok (MINUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -7005,7 +7005,7 @@ (define_insn_and_split "*sub3_eq_1 && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) && ix86_binary_operator_ok (MINUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -7028,7 +7028,7 @@ (define_insn_and_split "*sub3_eq_0 (eq:SWI (match_operand 2 "int_nonimmediate_operand") (const_int 0)))) (clobber (reg:CC FLAGS_REG))] "ix86_unary_operator_ok (MINUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -7049,7 +7049,7 @@ (define_insn_and_split "*sub3_ne_0 (ne:SWI (match_operand 2 "int_nonimmediate_operand") (const_int 0)))) (clobber (reg:CC FLAGS_REG))] "ix86_unary_operator_ok (MINUS, mode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CC FLAGS_REG) @@ -8621,7 +8621,7 @@ (define_insn_and_split "*anddi3_doublewo (clobber (reg:CC FLAGS_REG))] "!TARGET_64BIT && TARGET_STV && TARGET_SSE2 && ix86_binary_operator_ok (AND, DImode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)] @@ -9076,7 +9076,7 @@ (define_insn "*andndi3_doubleword" (match_operand:DI 2 "nonimmediate_operand"))) (clobber (reg:CC FLAGS_REG))] "!TARGET_64BIT && TARGET_STV && TARGET_SSE2 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#") (define_split @@ -9176,7 +9176,7 @@ (define_insn_and_split "*di3_doubl (clobber (reg:CC FLAGS_REG))] "!TARGET_64BIT && TARGET_STV && TARGET_SSE2 && ix86_binary_operator_ok (, DImode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)] @@ -9898,7 +9898,7 @@ (define_insn_and_split "*one_cmpldi2_dou (not:DI (match_operand:DI 1 "nonimmediate_operand")))] "!TARGET_64BIT && TARGET_STV && TARGET_SSE2 && ix86_unary_operator_ok (NOT, DImode, operands) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -10032,7 +10032,7 @@ (define_insn_and_split "*ashl3_doub (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "(INTVAL (operands[3]) & ( * BITS_PER_UNIT)) == 0 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10073,7 +10073,7 @@ (define_insn_and_split "*ashl3_doub (match_operand:QI 3 "const_int_operand")))) (clobber (reg:CC FLAGS_REG))] "(INTVAL (operands[3]) & ( * BITS_PER_UNIT)) == 0 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10228,7 +10228,7 @@ (define_insn_and_split "*ashl3_mas "ix86_binary_operator_ok (ASHIFT, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10250,7 +10250,7 @@ (define_insn_and_split "*ashl3_mas "ix86_binary_operator_ok (ASHIFT, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10748,7 +10748,7 @@ (define_insn_and_split "*, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10770,7 +10770,7 @@ (define_insn_and_split "*, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10791,7 +10791,7 @@ (define_insn_and_split "* * BITS_PER_UNIT)) == 0 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -10832,7 +10832,7 @@ (define_insn_and_split "* * BITS_PER_UNIT)) == 0 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11298,7 +11298,7 @@ (define_insn_and_split "*, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11319,7 +11319,7 @@ (define_insn_and_split "*, mode, operands) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11622,7 +11622,7 @@ (define_insn_and_split "*_ma "TARGET_USE_BT && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11647,7 +11647,7 @@ (define_insn_and_split "*_ma "TARGET_USE_BT && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11687,7 +11687,7 @@ (define_insn_and_split "*btr_mask" "TARGET_USE_BT && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11712,7 +11712,7 @@ (define_insn_and_split "*btr_mask_ "TARGET_USE_BT && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(parallel @@ -11897,7 +11897,7 @@ (define_insn_and_split "*jcc_bt" && INTVAL (operands[2]) >= (optimize_function_for_size_p (cfun) ? 8 : 32)) : !memory_operand (operands[1], mode)) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CCC FLAGS_REG) @@ -11929,7 +11929,7 @@ (define_insn_and_split "*jcc_bt_1" (pc))) (clobber (reg:CC FLAGS_REG))] "(TARGET_USE_BT || optimize_function_for_size_p (cfun)) - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CCC FLAGS_REG) @@ -11965,7 +11965,7 @@ (define_insn_and_split "*jcc_bt_ma "(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (mode)-1)) == GET_MODE_BITSIZE (mode)-1 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CCC FLAGS_REG) @@ -14058,7 +14058,7 @@ (define_insn_and_split "*popcounthi2_1" (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand")))) (clobber (reg:CC FLAGS_REG))] "TARGET_POPCNT - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)] @@ -16479,7 +16479,7 @@ (define_insn_and_split "frndintxf2_2_3_1 (match_operand:MAXMIN_IMODE 2 "nonimmediate_operand"))) (clobber (reg:CC FLAGS_REG))] "(TARGET_64BIT || mode != DImode) && TARGET_STV - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -18002,7 +18002,7 @@ (define_insn_and_split "*di3_doubl (match_operand:DI 2 "nonimmediate_operand"))) (clobber (reg:CC FLAGS_REG))] "!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) --- gcc/config/i386/sse.md.jj 2019-10-19 14:45:47.634186545 +0200 +++ gcc/config/i386/sse.md 2019-10-19 19:08:12.383359743 +0200 @@ -17363,7 +17363,7 @@ (define_insn_and_split "*sse4_1_v8 (const_int 4) (const_int 5) (const_int 6) (const_int 7)]))))] "TARGET_SSE4_1 && && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17420,7 +17420,7 @@ (define_insn_and_split "*avx2_v8qi (const_int 4) (const_int 5) (const_int 6) (const_int 7)]))))] "TARGET_AVX2 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17469,7 +17469,7 @@ (define_insn_and_split "*sse4_1_v4 (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)]))))] "TARGET_SSE4_1 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17535,7 +17535,7 @@ (define_insn_and_split "*sse4_1_v4 (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)]))))] "TARGET_SSE4_1 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17579,7 +17579,7 @@ (define_insn_and_split "*avx512f_v (const_int 2) (const_int 3) (const_int 4) (const_int 5) (const_int 6) (const_int 7)]))))] - "TARGET_AVX512F && can_create_pseudo_p ()" + "TARGET_AVX512F && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17626,7 +17626,7 @@ (define_insn_and_split "*avx2_v4qi (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)]))))] "TARGET_AVX2 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17693,7 +17693,7 @@ (define_insn_and_split "*avx2_v4hi (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)]))))] "TARGET_AVX2 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17740,7 +17740,7 @@ (define_insn_and_split "*sse4_1_v2 (const_int 1)) 0) (parallel [(const_int 0) (const_int 1)]))))] "TARGET_SSE4_1 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -17804,7 +17804,7 @@ (define_insn_and_split "*sse4_1_v2 (const_int 0)) 0) (parallel [(const_int 0) (const_int 1)]))))] "TARGET_SSE4_1 && - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(set (match_dup 0) @@ -18087,7 +18087,7 @@ (define_insn_and_split "sse4_2_pcmpestr" (match_dup 6)] UNSPEC_PCMPESTR))] "TARGET_SSE4_2 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)] @@ -18223,7 +18223,7 @@ (define_insn_and_split "sse4_2_pcmpistr" (match_dup 4)] UNSPEC_PCMPISTR))] "TARGET_SSE4_2 - && can_create_pseudo_p ()" + && ix86_pre_reload_split ()" "#" "&& 1" [(const_int 0)]