From patchwork Thu Dec 28 11:33:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 183699 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp1934993dyb; Thu, 28 Dec 2023 03:34:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IEOjdgWTO52LyGjNiTTruIu8caO1kkbPurAoR9vwHRZplmRxNTfmCdL2BFsTWKHE3NYAqiW X-Received: by 2002:a05:620a:24c2:b0:774:220c:1547 with SMTP id m2-20020a05620a24c200b00774220c1547mr16236383qkn.34.1703763255486; Thu, 28 Dec 2023 03:34:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703763255; cv=pass; d=google.com; s=arc-20160816; b=FdTQj/6mtZoRBYDWFRLzcoDW3GjYbcmi50q8ZJYm7D4mki9QEDQQGKQZ3b+Kc7hBZ8 YkQXyLuvW3Cmua+4U9NgnS/nF+IGBlxlfOeYdSZpHBRnaAyle7N+57ipAxm0bD/sDcZE LuHFF5RMUuJD9KspPBgh6PgzhHkcqtCB5M2RKecXPohAvhTwajesyNZXbfmKaINPUc5n K/Ky5fgCtEV8aNmK1lPXPRN5qs9TBfVTeCpzlqLdGo6Qcreao/mmOOnBX6g1jw7prKgf zUTkEjbRUyj1M9Ob2puUDdO6JqapzdUjRZJHGB34BTXj8i76Rrpli13YPy/q8IHtejWf m7qA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:to:subject:message-id:date:from :mime-version:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=HLUgUOHHzlV8qmsZu9NT6oof1kdgIXquBL/g7T5VMF4=; fh=XNn3asQvIblazGK92GBt13dVv+YmGV3pBS0JC29ZQco=; b=YEG0Ee3gbKO5Ap/HZ0jIUKDeyW0bGWnpt/r2IYtY7dyLz0g7rnbN2mhgWcVQMvl8Uk zgnyIDElDOhrjIZdHwy1/Ar80lm1gso4koAdasNwTntlOjgnmHCnLQoZuUD6cFB9JN3E sKguicR9+9nDordWTr4uBLh6Cjo9eLNoLELdAouqOLg7V/Oa5hvwDwh+OqGln4m0ojcp bYXgsdYt5iJ120pjDBjwoNwLRaroUEqqSPiCgjNcnAVeRgLD61MS6NhtwO4vjsZV9e/l aFcVrroF9Kx+s7q4cYaYlqRlwPrjZh+fJpcNx7B9PG+iybLwnFUJ2BSX9UXZSX5g046o PFeg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=mXkpA1P2; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ou4-20020a05620a620400b007815517a8a9si5309120qkn.336.2023.12.28.03.34.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Dec 2023 03:34:15 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=mXkpA1P2; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2D4453858D39 for ; Thu, 28 Dec 2023 11:34:15 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) by sourceware.org (Postfix) with ESMTPS id E7FA23858D28 for ; Thu, 28 Dec 2023 11:33:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E7FA23858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E7FA23858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::22a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703763211; cv=none; b=ZD8kVqiWpTBa86KUV7PsY3xGGGAgHzgXgxfbcJbqr1wx1s4NCf6KGodAMIyfAc0F40cNn7ghWuDuvNkbpvw9COHSrk5EHz6C6A1jUMqIRcE7xYjyIVCPBHpUduLIUAIVcU55beyk61szhnjuUernBNaO8zBM/mR/1aweYT0T7w8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703763211; c=relaxed/simple; bh=WfRomVJV0/cVOJmWFAdjDUKyMbUmeht2leefCYpCBWk=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=cY2ELSjcNjQhviIKnHfY32a6Tklw4Nq/W7r8dszdVkfJXL63f3YwXK+7GTKofhS6C839WlmXchyKuIeD/HGxXLLMkrLFwgvZ0kpsRdFus9kfdScjhpPVq3QLd8+Pfwz6u7xDPaM9BNcQFhg67aefQ5q077Wq7jWehlYkQ98Qkbo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-2cca8eb0509so45804331fa.3 for ; Thu, 28 Dec 2023 03:33:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703763205; x=1704368005; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=HLUgUOHHzlV8qmsZu9NT6oof1kdgIXquBL/g7T5VMF4=; b=mXkpA1P2BL1YIZh6LW5G4no553TJGlfMAq87qHyh/xoGX0aa5mviC21lbCsqpLzfhV w2S5d2VHqVWTis5Zk/qNZIUD/R32Gez61XIOePIDbWX2mTmT/yODQvfz410dMcR9cbxy rCgwGIMa3aYa0QwDrwSxPUMZddajrtOEBNtCOKEjheky5ui0vdGKtJY/+3FPWtZ28yty Fm0jMnHIgalamXh+CKc1hQl9y4yCKJ85eVFaFVDlQW0ig92j1MnaKs7IacTAH2hvA2R0 UtE7ImANOkNyAOxZIgPwXAyjZnVQrk1nSQaZC28SbxUQcpdgcgW4GyaceSwnuIZB6Er7 5LBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703763205; x=1704368005; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=HLUgUOHHzlV8qmsZu9NT6oof1kdgIXquBL/g7T5VMF4=; b=DFE51n096dOaYVt2EW52XTUJEKO5DT1e4B9gxyyRuVKJLJRbId3gD0criHVljT3CWB tHiWN876dqpqEOp0GZSr5MrnsriZd483sZ1K+5V4KPlKSb2O49jmiEd2izWazdonlFu7 +hasTFjlrae9clYtG1276zjO1XpfnWI/jVJJbLJO74dTTulZchXHC+38Sou7rqy9JcEm onzQ3DHrE4Ol63aIbz6zVu4+yM9tyccsVbD4C/yFeuQ33TW80v0JCYr1adsbIoB6k5Q0 NMZCtC0DAVQm3W2cObddw243aPR86J3Tu1NR47wdl1cf8UsokUJaev5EcoTRoJnuiwgG qOmQ== X-Gm-Message-State: AOJu0YyQ8ulrK74lKcBhqf3qnQ+9IP5JyWDECazHK3N+n8JfY6KwLOYX W/Y+/hYw5YIuWeH0Zq6YVZe+sQrRALHdYFxc4Yt6ravs17qh2A== X-Received: by 2002:a19:7408:0:b0:50e:6bf0:49c9 with SMTP id v8-20020a197408000000b0050e6bf049c9mr3190053lfe.53.1703763204821; Thu, 28 Dec 2023 03:33:24 -0800 (PST) MIME-Version: 1.0 From: Uros Bizjak Date: Thu, 28 Dec 2023 12:33:13 +0100 Message-ID: Subject: [committed] i386: Cleanup ix86_expand_{unary|binary}_operator issues To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786525259436280659 X-GMAIL-MSGID: 1786525259436280659 Move ix86_expand_unary_operator from i386.cc to i386-expand.cc, re-arrange prototypes and do some cosmetic changes with the usage of TARGET_APX_NDD. No functional changes. gcc/ChangeLog: * config/i386/i386.cc (ix86_unary_operator_ok): Move from here... * config/i386/i386-expand.cc (ix86_unary_operator_ok): ... to here. * config/i386/i386-protos.h: Re-arrange ix86_{unary|binary}_operator_ok and ix86_expand_{unary|binary}_operator prototypes. * config/i386/i386.md: Cosmetic changes with the usage of TARGET_APX_NDD in ix86_expand_{unary|binary}_operator and ix86_{unary|binary}_operator_ok function calls. Bootstrapped and regression tested on x86_64-linux-gnu {-m32}. Uros. diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc index 57a108ae4a7..fd1b2a9ff36 100644 --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -1537,6 +1537,23 @@ ix86_expand_unary_operator (enum rtx_code code, machine_mode mode, emit_move_insn (operands[0], dst); } +/* Return TRUE or FALSE depending on whether the unary operator meets the + appropriate constraints. */ + +bool +ix86_unary_operator_ok (enum rtx_code, + machine_mode, + rtx operands[2], + bool use_ndd) +{ + /* If one of operands is memory, source and destination must match. */ + if ((MEM_P (operands[0]) + || (!use_ndd && MEM_P (operands[1]))) + && ! rtx_equal_p (operands[0], operands[1])) + return false; + return true; +} + /* Predict just emitted jump instruction to be taken with probability PROB. */ static void diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h index 56349064a6c..9ee08d8ecc0 100644 --- a/gcc/config/i386/i386-protos.h +++ b/gcc/config/i386/i386-protos.h @@ -108,15 +108,20 @@ extern void ix86_expand_clear (rtx); extern void ix86_expand_move (machine_mode, rtx[]); extern void ix86_expand_vector_move (machine_mode, rtx[]); extern void ix86_expand_vector_move_misalign (machine_mode, rtx[]); -extern rtx ix86_fixup_binary_operands (enum rtx_code, - machine_mode, rtx[], bool = false); -extern void ix86_fixup_binary_operands_no_copy (enum rtx_code, - machine_mode, rtx[], bool = false); -extern void ix86_expand_binary_operator (enum rtx_code, - machine_mode, rtx[], bool = false); +extern rtx ix86_fixup_binary_operands (enum rtx_code, machine_mode, + rtx[], bool = false); +extern void ix86_fixup_binary_operands_no_copy (enum rtx_code, machine_mode, + rtx[], bool = false); +extern void ix86_expand_binary_operator (enum rtx_code, machine_mode, + rtx[], bool = false); +extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode, + rtx[3], bool = false); +extern void ix86_expand_unary_operator (enum rtx_code, machine_mode, + rtx[], bool = false); +extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode, + rtx[2], bool = false); extern void ix86_expand_vector_logical_operator (enum rtx_code, machine_mode, rtx[]); -extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode, rtx[3], bool = false); extern bool ix86_avoid_lea_for_add (rtx_insn *, rtx[]); extern bool ix86_use_lea_for_mov (rtx_insn *, rtx[]); extern bool ix86_avoid_lea_for_addr (rtx_insn *, rtx[]); @@ -126,12 +131,9 @@ extern int ix86_last_zero_store_uid; extern bool ix86_vec_interleave_v2df_operator_ok (rtx operands[3], bool high); extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn); extern bool ix86_agi_dependent (rtx_insn *set_insn, rtx_insn *use_insn); -extern void ix86_expand_unary_operator (enum rtx_code, machine_mode, - rtx[], bool = false); extern rtx ix86_build_const_vector (machine_mode, bool, rtx); extern rtx ix86_build_signbit_mask (machine_mode, bool, bool); -extern HOST_WIDE_INT ix86_convert_const_vector_to_integer (rtx, - machine_mode); +extern HOST_WIDE_INT ix86_convert_const_vector_to_integer (rtx, machine_mode); extern void ix86_split_convert_uns_si_sse (rtx[]); extern void ix86_expand_convert_uns_didf_sse (rtx, rtx); extern void ix86_expand_convert_uns_sixf_sse (rtx, rtx); @@ -147,8 +149,6 @@ extern void ix86_split_fp_absneg_operator (enum rtx_code, machine_mode, rtx[]); extern void ix86_expand_copysign (rtx []); extern void ix86_expand_xorsign (rtx []); -extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode, rtx[2], - bool = false); extern bool ix86_match_ccmode (rtx, machine_mode); extern bool ix86_match_ptest_ccmode (rtx); extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx); diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index a05fa34f7b7..38d515dac04 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -16219,23 +16219,6 @@ ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn) PATTERN (use_insn)); } -/* Return TRUE or FALSE depending on whether the unary operator meets the - appropriate constraints. */ - -bool -ix86_unary_operator_ok (enum rtx_code, - machine_mode, - rtx operands[2], - bool use_ndd) -{ - /* If one of operands is memory, source and destination must match. */ - if ((MEM_P (operands[0]) - || (!use_ndd && MEM_P (operands[1]))) - && ! rtx_equal_p (operands[0], operands[1])) - return false; - return true; -} - /* Return TRUE if the operands to a vec_interleave_{high,low}v2df are ok, keeping in mind the possible movddup alternative. */ diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 4c6368bf3b7..ca6dbf42a6d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -6289,8 +6289,10 @@ (define_expand "add3" (plus:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand") (match_operand:SDWIM 2 "")))] "" - "ix86_expand_binary_operator (PLUS, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_binary_operator (PLUS, mode, operands, TARGET_APX_NDD); + DONE; +}) (define_insn_and_split "*add3_doubleword" [(set (match_operand: 0 "nonimmediate_operand" "=ro,r,&r,&r") @@ -6344,8 +6346,7 @@ (define_insn_and_split "*add3_doubleword_zext" (match_operand:DWIH 2 "nonimmediate_operand" "rm,r,rm,r")) (match_operand: 1 "nonimmediate_operand" "0,0,r,m"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (UNKNOWN, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (UNKNOWN, mode, operands, TARGET_APX_NDD)" "#" "&& reload_completed" [(parallel [(set (reg:CCC FLAGS_REG) @@ -6433,8 +6434,7 @@ (define_insn "*add_1" (match_operand:SWI48 1 "nonimmediate_operand" "%0,0,r,r,rm,r,m,r") (match_operand:SWI48 2 "x86_64_general_operand" "re,BM,0,le,r,e,je,BM"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (PLUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (PLUS, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -6494,8 +6494,8 @@ (define_insn "addsi_1_zext" (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,r,r,r,rm") (match_operand:SI 2 "x86_64_general_operand" "rBMe,0,le,rBMe,re")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -6548,8 +6548,7 @@ (define_insn "*addhi_1" (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0,r,Yp,rm,r") (match_operand:HI 2 "general_operand" "rn,m,0,ln,rn,m"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (PLUS, HImode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -7776,8 +7775,10 @@ (define_expand "sub3" (minus:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand") (match_operand:SDWIM 2 "")))] "" - "ix86_expand_binary_operator (MINUS, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_binary_operator (MINUS, mode, operands, TARGET_APX_NDD); + DONE; +}) (define_insn_and_split "*sub3_doubleword" [(set (match_operand: 0 "nonimmediate_operand" "=ro,r,&r,&r") @@ -7785,8 +7786,7 @@ (define_insn_and_split "*sub3_doubleword" (match_operand: 1 "nonimmediate_operand" "0,0,ro,r") (match_operand: 2 "x86_64_hilo_general_operand" "r,o,r,o"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "#" "&& reload_completed" [(parallel [(set (reg:CC FLAGS_REG) @@ -7820,8 +7820,7 @@ (define_insn_and_split "*sub3_doubleword_zext" (zero_extend: (match_operand:DWIH 2 "nonimmediate_operand" "rm,r,rm,r")))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (UNKNOWN, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (UNKNOWN, mode, operands, TARGET_APX_NDD)" "#" "&& reload_completed" [(parallel [(set (reg:CC FLAGS_REG) @@ -7844,8 +7843,7 @@ (define_insn "*sub_1" (match_operand:SWI 1 "nonimmediate_operand" "0,0,rm,r") (match_operand:SWI 2 "" ",,r,"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sub{}\t{%2, %0|%0, %2} sub{}\t{%2, %0|%0, %2} @@ -7861,8 +7859,8 @@ (define_insn "*subsi_1_zext" (minus:SI (match_operand:SI 1 "nonimmediate_operand" "0,r,rm") (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)" "@ sub{l}\t{%2, %k0|%k0, %2} sub{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -7965,8 +7963,7 @@ (define_insn "*sub_2" (set (match_operand:SWI 0 "nonimmediate_operand" "=m,,r,r") (minus:SWI (match_dup 1) (match_dup 2)))] "ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sub{}\t{%2, %0|%0, %2} sub{}\t{%2, %0|%0, %2} @@ -7987,8 +7984,7 @@ (define_insn "*subsi_2_zext" (minus:SI (match_dup 1) (match_dup 2))))] "TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (MINUS, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)" "@ sub{l}\t{%2, %k0|%k0, %2} sub{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -8125,8 +8121,7 @@ (define_insn "*subv4" (minus:SWI (match_dup 1) (match_dup 2))))) (set (match_operand:SWI 0 "nonimmediate_operand" "=m,,r,r") (minus:SWI (match_dup 1) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sub{}\t{%2, %0|%0, %2} sub{}\t{%2, %0|%0, %2} @@ -8148,8 +8143,7 @@ (define_insn "subv4_1" (match_operand:SWI 2 "x86_64_immediate_operand" ","))))) (set (match_operand:SWI 0 "nonimmediate_operand" "=m,r") (minus:SWI (match_dup 1) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && CONST_INT_P (operands[2]) && INTVAL (operands[2]) == INTVAL (operands[3])" "@ @@ -8177,8 +8171,7 @@ (define_insn_and_split "*subv4_doubleword" (minus: (match_dup 1) (match_dup 2))))) (set (match_operand: 0 "nonimmediate_operand" "=ro,r,&r,&r") (minus: (match_dup 1) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "#" "&& reload_completed" [(parallel [(set (reg:CC FLAGS_REG) @@ -8222,8 +8215,7 @@ (define_insn_and_split "*subv4_doubleword_1" (match_operand: 2 "x86_64_hilo_general_operand" ","))))) (set (match_operand: 0 "nonimmediate_operand" "=ro,&r") (minus: (match_dup 1) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && CONST_SCALAR_INT_P (operands[2]) && rtx_equal_p (operands[2], operands[3])" "#" @@ -8288,8 +8280,7 @@ (define_insn "*subv4_overflow_1" (match_dup 1) (match_op_dup 5 [(match_dup 3) (const_int 0)])) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sbb{}\t{%2, %0|%0, %2} sbb{}\t{%2, %0|%0, %2} @@ -8322,8 +8313,7 @@ (define_insn "*subv4_overflow_2" (match_dup 1) (match_op_dup 5 [(match_dup 3) (const_int 0)])) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && CONST_INT_P (operands[2]) && INTVAL (operands[2]) == INTVAL (operands[6])" "@ @@ -8359,8 +8349,7 @@ (define_insn "*sub_3" (set (match_operand:SWI 0 "nonimmediate_operand" "=m,i,r,r") (minus:SWI (match_dup 1) (match_dup 2)))] "ix86_match_ccmode (insn, CCmode) - && ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sub{}\t{%2, %0|%0, %2} sub{}\t{%2, %0|%0, %2} @@ -8462,8 +8451,7 @@ (define_insn "*subsi_3_zext" (minus:SI (match_dup 1) (match_dup 2))))] "TARGET_64BIT && ix86_match_ccmode (insn, CCmode) - && ix86_binary_operator_ok (MINUS, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)" "@ sub{l}\t{%2, %1|%1, %2} sub{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -8585,8 +8573,8 @@ (define_insn "*addsi3_carry_zext" (match_operand:SI 1 "nonimmediate_operand" "%0,r,rm")) (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)" "@ adc{l}\t{%2, %k0|%k0, %2} adc{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -8817,8 +8805,7 @@ (define_expand "addcarry_0" (match_dup 1))) (set (match_operand:SWI48 0 "nonimmediate_operand") (plus:SWI48 (match_dup 1) (match_dup 2)))])] - "ix86_binary_operator_ok (PLUS, mode, operands, - TARGET_APX_NDD)") + "ix86_binary_operator_ok (PLUS, mode, operands, TARGET_APX_NDD)") (define_insn "*addcarry_1" [(set (reg:CCC FLAGS_REG) @@ -8874,8 +8861,7 @@ (define_insn "@sub3_carry" [(match_operand 3 "flags_reg_operand") (const_int 0)])) (match_operand:SWI 2 "" ",,r,"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sbb{}\t{%2, %0|%0, %2} sbb{}\t{%2, %0|%0, %2} @@ -8978,8 +8964,8 @@ (define_insn "*subsi3_carry_zext" [(reg FLAGS_REG) (const_int 0)])) (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)" "@ sbb{l}\t{%2, %k0|%k0, %2} sbb{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -9082,8 +9068,7 @@ (define_insn "subborrow" (match_operator:SWI48 5 "ix86_carry_flag_operator" [(match_dup 3) (const_int 0)])) (match_dup 2)))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)" "@ sbb{}\t{%2, %0|%0, %2} sbb{}\t{%2, %0|%0, %2} @@ -9251,8 +9236,7 @@ (define_expand "subborrow_0" (match_operand:SWI48 2 ""))) (set (match_operand:SWI48 0 "register_operand") (minus:SWI48 (match_dup 1) (match_dup 2)))])] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD)") + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD)") (define_expand "uaddc5" [(match_operand:SWI48 0 "register_operand") @@ -9453,8 +9437,8 @@ (define_insn "*addsi3_zext_cc_overflow_1" (match_dup 1))) (set (match_operand:DI 0 "register_operand" "=r,r,r") (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))] - "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)" "@ add{l}\t{%2, %k0|%k0, %2} add{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -9508,8 +9492,8 @@ (define_insn "*addsi3_zext_cc_overflow_2" (match_dup 2))) (set (match_operand:DI 0 "register_operand" "=r,r,r") (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))] - "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)" "@ add{l}\t{%2, %k0|%k0, %2} add{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -9606,8 +9590,7 @@ (define_insn_and_split "*add3_ne" "CONST_INT_P (operands[2]) && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) - && ix86_binary_operator_ok (PLUS, mode, operands, - TARGET_APX_NDD) + && ix86_binary_operator_ok (PLUS, mode, operands, TARGET_APX_NDD) && ix86_pre_reload_split ()" "#" "&& 1" @@ -9677,8 +9660,7 @@ (define_insn_and_split "*sub3_eq" (const_int 0))) (match_operand:SWI 2 ""))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + "ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && ix86_pre_reload_split ()" "#" "&& 1" @@ -9703,8 +9685,7 @@ (define_insn_and_split "*sub3_ne" "CONST_INT_P (operands[2]) && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) - && ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + && ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && ix86_pre_reload_split ()" "#" "&& 1" @@ -9733,8 +9714,7 @@ (define_insn_and_split "*sub3_eq_1" "CONST_INT_P (operands[2]) && (mode != DImode || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000)) - && ix86_binary_operator_ok (MINUS, mode, operands, - TARGET_APX_NDD) + && ix86_binary_operator_ok (MINUS, mode, operands, TARGET_APX_NDD) && ix86_pre_reload_split ()" "#" "&& 1" @@ -11709,8 +11689,7 @@ (define_expand "and3" (operands[0], gen_lowpart (mode, operands[1]), mode, mode, 1)); else - ix86_expand_binary_operator (AND, mode, operands, - TARGET_APX_NDD); + ix86_expand_binary_operator (AND, mode, operands, TARGET_APX_NDD); DONE; }) @@ -11740,8 +11719,7 @@ (define_insn_and_split "*and3_doubleword" emit_insn_deleted_note_p = true; } else - ix86_expand_binary_operator (AND, mode, &operands[0], - TARGET_APX_NDD); + ix86_expand_binary_operator (AND, mode, &operands[0], TARGET_APX_NDD); if (operands[5] == const0_rtx) emit_move_insn (operands[3], const0_rtx); @@ -11753,8 +11731,7 @@ (define_insn_and_split "*and3_doubleword" emit_note (NOTE_INSN_DELETED); } else - ix86_expand_binary_operator (AND, mode, &operands[3], - TARGET_APX_NDD); + ix86_expand_binary_operator (AND, mode, &operands[3], TARGET_APX_NDD); DONE; } @@ -11766,8 +11743,8 @@ (define_insn "*anddi_1" (match_operand:DI 1 "nonimmediate_operand" "%0,r,0,0,rm,r,qm,k") (match_operand:DI 2 "x86_64_szext_general_operand" "Z,Z,re,m,re,m,L,k"))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)" "@ and{l}\t{%k2, %k0|%k0, %k2} and{l}\t{%k2, %k1, %k0|%k0, %k1, %k2} @@ -11847,8 +11824,8 @@ (define_insn "*andsi_1_zext" (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,rm,r") (match_operand:SI 2 "x86_64_general_operand" "rBMe,re,BM")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)" "@ and{l}\t{%2, %k0|%k0, %2} and{l}\t{%2, %1, %k0|%k0, %1, %2} @@ -12186,8 +12163,7 @@ (define_insn "*and_2" (set (match_operand:SWI124 0 "nonimmediate_operand" "=m,,r,r") (and:SWI124 (match_dup 1) (match_dup 2)))] "ix86_match_ccmode (insn, CCNOmode) - && ix86_binary_operator_ok (AND, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (AND, mode, operands, TARGET_APX_NDD)" "@ and{}\t{%2, %0|%0, %2} and{}\t{%2, %0|%0, %2} @@ -12701,8 +12677,7 @@ (define_expand "3" && !x86_64_hilo_general_operand (operands[2], mode)) operands[2] = force_reg (mode, operands[2]); - ix86_expand_binary_operator (, mode, operands, - TARGET_APX_NDD); + ix86_expand_binary_operator (, mode, operands, TARGET_APX_NDD); DONE; }) @@ -12712,8 +12687,7 @@ (define_insn_and_split "*3_doubleword" (match_operand: 1 "nonimmediate_operand" "%0,0,ro,r") (match_operand: 2 "x86_64_hilo_general_operand" "r,o,r,o"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" "#" "&& reload_completed" [(const_int:DWIH 0)] @@ -12772,8 +12746,7 @@ (define_insn "*_1" (match_operand:SWI248 1 "nonimmediate_operand" "%0,0,rm,r,k") (match_operand:SWI248 2 "" "r,,r,,k"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" "@ {}\t{%2, %0|%0, %2} {}\t{%2, %0|%0, %2} @@ -12901,8 +12874,8 @@ (define_insn "*si_1_zext" (any_or:SI (match_operand:SI 1 "nonimmediate_operand" "%0,rm,r") (match_operand:SI 2 "x86_64_general_operand" "rBMe,re,BM")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" "@ {l}\t{%2, %k0|%k0, %2} {l}\t{%2, %1, %k0|%k0, %1, %2} @@ -12917,8 +12890,8 @@ (define_insn "*si_1_zext_imm" (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "%0,rm")) (match_operand:DI 2 "x86_64_zext_immediate_operand" "Z,Z"))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" "@ {l}\t{%2, %k0|%k0, %2} {l}\t{%2, %1, %k0|%k0, %1, %2}" @@ -13036,8 +13009,7 @@ (define_insn "*_2" (set (match_operand:SWI 0 "nonimmediate_operand" "=m,,r,r") (any_or:SWI (match_dup 1) (match_dup 2)))] "ix86_match_ccmode (insn, CCNOmode) - && ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" "@ {}\t{%2, %0|%0, %2} {}\t{%2, %0|%0, %2} @@ -13057,8 +13029,7 @@ (define_insn "*si_2_zext" (set (match_operand:DI 0 "register_operand" "=r,r,r") (zero_extend:DI (any_or:SI (match_dup 1) (match_dup 2))))] "TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode) - && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" "@ {l}\t{%2, %k0|%k0, %2} {l}\t{%2, %1, %k0|%k0, %1, %2} @@ -13076,8 +13047,7 @@ (define_insn "*si_2_zext_imm" (set (match_operand:DI 0 "register_operand" "=r,r") (any_or:DI (zero_extend:DI (match_dup 1)) (match_dup 2)))] "TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode) - && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" "@ {l}\t{%2, %k0|%k0, %2} {l}\t{%2, %1, %k0|%k0, %1, %2}" @@ -13385,8 +13355,10 @@ (define_expand "neg2" [(set (match_operand:SDWIM 0 "nonimmediate_operand") (neg:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")))] "" - "ix86_expand_unary_operator (NEG, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_unary_operator (NEG, mode, operands, TARGET_APX_NDD); + DONE; +}) (define_insn_and_split "*neg2_doubleword" [(set (match_operand: 0 "nonimmediate_operand" "=ro,&r") @@ -13515,8 +13487,8 @@ (define_insn "*negsi_1_zext" (zero_extend:DI (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)" "@ neg{l}\t%k0 neg{l}\t{%k1, %k0|%k0, %k1}" @@ -13552,8 +13524,7 @@ (define_insn "*neg_2" (set (match_operand:SWI 0 "nonimmediate_operand" "=m,r") (neg:SWI (match_dup 1)))] "ix86_match_ccmode (insn, CCGOCmode) - && ix86_unary_operator_ok (NEG, mode, operands, - TARGET_APX_NDD)" + && ix86_unary_operator_ok (NEG, mode, operands, TARGET_APX_NDD)" "@ neg{}\t%0 neg{}\t{%1, %0|%0, %1}" @@ -13570,8 +13541,7 @@ (define_insn "*negsi_2_zext" (zero_extend:DI (neg:SI (match_dup 1))))] "TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode) - && ix86_unary_operator_ok (NEG, SImode, operands, - TARGET_APX_NDD)" + && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)" "@ neg{l}\t%k0 neg{l}\t{%1, %k0|%k0, %1}" @@ -14104,8 +14074,10 @@ (define_expand "one_cmpl2" [(set (match_operand:SDWIM 0 "nonimmediate_operand") (not:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")))] "" - "ix86_expand_unary_operator (NOT, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_unary_operator (NOT, mode, operands, TARGET_APX_NDD); + DONE; +}) (define_insn_and_split "*one_cmpl2_doubleword" [(set (match_operand: 0 "nonimmediate_operand" "=ro,&r") @@ -14136,8 +14108,8 @@ (define_insn "*one_cmplsi2_1_zext" [(set (match_operand:DI 0 "register_operand" "=r,r,?k") (zero_extend:DI (not:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm,k"))))] - "TARGET_64BIT && ix86_unary_operator_ok (NOT, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)" "@ not{l}\t%k0 not{l}\t{%1, %k0|%k0, %1} @@ -14195,8 +14167,7 @@ (define_insn "*one_cmpl2_2" (set (match_operand:SWI 0 "nonimmediate_operand" "=m,r") (not:SWI (match_dup 1)))] "ix86_match_ccmode (insn, CCNOmode) - && ix86_unary_operator_ok (NOT, mode, operands, - TARGET_APX_NDD)" + && ix86_unary_operator_ok (NOT, mode, operands, TARGET_APX_NDD)" "#" [(set_attr "type" "alu1") (set_attr "isa" "*,apx_ndd") @@ -14306,8 +14277,10 @@ (define_expand "ashl3" (ashift:SDWIM (match_operand:SDWIM 1 "") (match_operand:QI 2 "nonmemory_operand")))] "" - "ix86_expand_binary_operator (ASHIFT, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_binary_operator (ASHIFT, mode, operands, TARGET_APX_NDD); + DONE; +}) (define_insn_and_split "*ashl3_doubleword_mask" [(set (match_operand: 0 "register_operand") @@ -14970,8 +14943,7 @@ (define_insn "*ashl3_1" (ashift:SWI48 (match_operand:SWI48 1 "nonimmediate_operand" "0,l,rm,k,rm") (match_operand:QI 2 "nonmemory_operand" "c,M,r,,c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (ASHIFT, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (ASHIFT, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15053,8 +15025,8 @@ (define_insn "*ashlsi3_1_zext" (ashift:SI (match_operand:SI 1 "nonimmediate_operand" "0,l,rm,rm") (match_operand:QI 2 "nonmemory_operand" "cI,M,r,cI")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15118,8 +15090,7 @@ (define_insn "*ashlhi3_1" (ashift:HI (match_operand:HI 1 "nonimmediate_operand" "0,l,k,rm") (match_operand:QI 2 "nonmemory_operand" "cI,M,Ww,cI"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (ASHIFT, HImode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15172,8 +15143,7 @@ (define_insn "*ashlqi3_1" (ashift:QI (match_operand:QI 1 "nonimmediate_operand" "0,0,l,k,rm") (match_operand:QI 2 "nonmemory_operand" "cI,cI,M,Wb,cI"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (ASHIFT, QImode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15341,8 +15311,7 @@ (define_insn "*ashl3_cmp" && (TARGET_SHIFT1 || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0]))))) && ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (ASHIFT, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (ASHIFT, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15397,8 +15366,7 @@ (define_insn "*ashlsi3_cmp_zext" && (TARGET_SHIFT1 || TARGET_DOUBLE_WITH_ADD))) && ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (ASHIFT, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -15564,8 +15532,10 @@ (define_expand "3" (any_shiftrt:SDWIM (match_operand:SDWIM 1 "") (match_operand:QI 2 "nonmemory_operand")))] "" - "ix86_expand_binary_operator (, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_binary_operator (, mode, operands, TARGET_APX_NDD); + DONE; +}) ;; Avoid useless masking of count operand. (define_insn_and_split "*3_mask" @@ -16166,8 +16136,7 @@ (define_insn "ashr3_cvt" (clobber (reg:CC FLAGS_REG))] "INTVAL (operands[2]) == GET_MODE_BITSIZE (mode)-1 && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun)) - && ix86_binary_operator_ok (ASHIFTRT, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (ASHIFTRT, mode, operands, TARGET_APX_NDD)" "@ sar{}\t{%2, %0|%0, %2} @@ -16187,8 +16156,7 @@ (define_insn "*ashrsi3_cvt_zext" (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && INTVAL (operands[2]) == 31 && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun)) - && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)" "@ {cltd|cdq} sar{l}\t{%2, %k0|%k0, %2} @@ -16244,8 +16212,7 @@ (define_insn "*ashr3_1" (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,rm") (match_operand:QI 2 "nonmemory_operand" "c,r,c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (ASHIFTRT, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (ASHIFTRT, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -16307,8 +16274,7 @@ (define_insn "*lshr3_1" (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,k,rm") (match_operand:QI 2 "nonmemory_operand" "c,r,,c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (LSHIFTRT, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (LSHIFTRT, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -16366,8 +16332,8 @@ (define_insn "*si3_1_zext" (any_shiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm,rm") (match_operand:QI 2 "nonmemory_operand" "cI,r,cI")))) (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + "TARGET_64BIT + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -16414,8 +16380,7 @@ (define_insn "*ashr3_1" (match_operand:SWI12 1 "nonimmediate_operand" "0, rm") (match_operand:QI 2 "nonmemory_operand" "c, c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (ASHIFTRT, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (ASHIFTRT, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; if (operands[2] == const1_rtx @@ -16443,8 +16408,7 @@ (define_insn "*lshrqi3_1" (match_operand:QI 1 "nonimmediate_operand" "0, k, rm") (match_operand:QI 2 "nonmemory_operand" "cI,Wb,cI"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (LSHIFTRT, QImode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -16481,8 +16445,7 @@ (define_insn "*lshrhi3_1" (match_operand:HI 1 "nonimmediate_operand" "0, k, rm") (match_operand:QI 2 "nonmemory_operand" "cI, Ww, cI"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (LSHIFTRT, HImode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -16565,8 +16528,7 @@ (define_insn "*3_cmp" || (operands[2] == const1_rtx && TARGET_SHIFT1)) && ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; if (operands[2] == const1_rtx @@ -16602,8 +16564,7 @@ (define_insn "*si3_cmp_zext" || (operands[2] == const1_rtx && TARGET_SHIFT1)) && ix86_match_ccmode (insn, CCGOCmode) - && ix86_binary_operator_ok (, SImode, operands, - TARGET_APX_NDD)" + && ix86_binary_operator_ok (, SImode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; if (operands[2] == const1_rtx @@ -16793,8 +16754,7 @@ (define_expand "di3" "" { if (TARGET_64BIT) - ix86_expand_binary_operator (, DImode, operands, - TARGET_APX_NDD); + ix86_expand_binary_operator (, DImode, operands, TARGET_APX_NDD); else if (const_1_to_31_operand (operands[2], VOIDmode)) emit_insn (gen_ix86_di3_doubleword (operands[0], operands[1], operands[2])); @@ -16814,8 +16774,10 @@ (define_expand "3" (any_rotate:SWIM124 (match_operand:SWIM124 1 "nonimmediate_operand") (match_operand:QI 2 "nonmemory_operand")))] "" - "ix86_expand_binary_operator (, mode, operands, - TARGET_APX_NDD); DONE;") +{ + ix86_expand_binary_operator (, mode, operands, TARGET_APX_NDD); + DONE; +}) ;; Avoid useless masking of count operand. (define_insn_and_split "*3_mask" @@ -17026,8 +16988,7 @@ (define_insn "*3_1" (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,rm") (match_operand:QI 2 "nonmemory_operand" "c,,c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; switch (get_attr_type (insn)) @@ -17168,8 +17129,7 @@ (define_insn "*3_1" (any_rotate:SWI12 (match_operand:SWI12 1 "nonimmediate_operand" "0,rm") (match_operand:QI 2 "nonmemory_operand" "c,c"))) (clobber (reg:CC FLAGS_REG))] - "ix86_binary_operator_ok (, mode, operands, - TARGET_APX_NDD)" + "ix86_binary_operator_ok (, mode, operands, TARGET_APX_NDD)" { bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD; if (operands[2] == const1_rtx