From patchwork Sat Aug 27 10:43:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 111869 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id BA3A3B70B2 for ; Sat, 27 Aug 2011 20:43:18 +1000 (EST) Received: (qmail 32419 invoked by alias); 27 Aug 2011 10:43:17 -0000 Received: (qmail 32409 invoked by uid 22791); 27 Aug 2011 10:43:16 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, TW_ZJ, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-pz0-f49.google.com (HELO mail-pz0-f49.google.com) (209.85.210.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 27 Aug 2011 10:43:02 +0000 Received: by pzk6 with SMTP id 6so7671087pzk.8 for ; Sat, 27 Aug 2011 03:43:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.76.10 with SMTP id d10mr1092225wfl.332.1314441782096; Sat, 27 Aug 2011 03:43:02 -0700 (PDT) Received: by 10.143.13.8 with HTTP; Sat, 27 Aug 2011 03:43:02 -0700 (PDT) Date: Sat, 27 Aug 2011 12:43:02 +0200 Message-ID: Subject: [PATCH, i386]: A couple of small fixes From: Uros Bizjak To: gcc-patches@gcc.gnu.org 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 Hello! 2011-08-27 Uros Bizjak * config/i386/sse.md (*absneg2): Fix split condition. (vec_extract_lo_): Prevent both operands in memory. (vec_extract_lo_v16hi): Ditto. (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN and 4.6 branch. Uros. Index: sse.md =================================================================== --- sse.md (revision 178130) +++ sse.md (working copy) @@ -648,7 +648,7 @@ (use (match_operand:VF 2 "nonimmediate_operand" "xm,0, xm,x"))] "TARGET_SSE" "#" - "reload_completed" + "&& reload_completed" [(const_int 0)] { enum rtx_code absneg_op; @@ -3708,7 +3708,7 @@ (vec_select: (match_operand:VI8F_256 1 "nonimmediate_operand" "xm,x") (parallel [(const_int 0) (const_int 1)])))] - "TARGET_AVX" + "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "#" "&& reload_completed" [(const_int 0)] @@ -3742,7 +3742,7 @@ (match_operand:VI4F_256 1 "nonimmediate_operand" "xm,x") (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)])))] - "TARGET_AVX" + "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "#" "&& reload_completed" [(const_int 0)] @@ -3779,7 +3779,7 @@ (const_int 2) (const_int 3) (const_int 4) (const_int 5) (const_int 6) (const_int 7)])))] - "TARGET_AVX" + "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "#" "&& reload_completed" [(const_int 0)] @@ -3822,7 +3822,7 @@ (const_int 10) (const_int 11) (const_int 12) (const_int 13) (const_int 14) (const_int 15)])))] - "TARGET_AVX" + "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "#" "&& reload_completed" [(const_int 0)] @@ -3876,9 +3876,9 @@ (vec_select:SF (match_operand:V4SF 1 "memory_operand" "o") (parallel [(match_operand 2 "const_0_to_3_operand" "n")])))] - "" + "TARGET_SSE" "#" - "reload_completed" + "&& reload_completed" [(const_int 0)] { int i = INTVAL (operands[2]);