From patchwork Mon Apr 1 14:21:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moore, Catherine" X-Patchwork-Id: 232740 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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 2D8DD2C0116 for ; Tue, 2 Apr 2013 01:22:00 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; q=dns; s=default; b=kaj HoBTAVi0DujjvMIAoek3cEO8KC7kLO6rr02o78cb/9zgsZSMyBvDrlO7yun8PDHV 0q5k7LDMmabGn9ewh3IY+PY8YlQYro4eZGFLnS+0qJsTT1RxYQ2kan8sQlsf6EsW PnsIxyVXU2yNCj+Hl2LpXTN85JJ/6OJDiRhBAadk= 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:from :to:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; s=default; bh=oB2R3IOcL uzDXezaAzeSuH52zIw=; b=kG5PQZImC7tpLtkEB/4vtLVGbehqZCuoLfRSonECP f2INKJ2tTdnQA0TXRxowu1qP1EUNG/7vVP5tvOIaU+bCLXjibzqkY+6IivYbnR49 xEFn+yRWMSihrNiz/AzeXVRbxB/elCpohLo9thBBiOdhozVtiJVvc0gP2iXeZX2F iI= Received: (qmail 5534 invoked by alias); 1 Apr 2013 14:21:30 -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 5200 invoked by uid 89); 1 Apr 2013 14:21:23 -0000 X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_HOSTKARMA_W, RCVD_IN_HOSTKARMA_WL autolearn=ham version=3.3.1 Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 01 Apr 2013 14:21:19 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1UMfbo-0001UJ-RS from Catherine_Moore@mentor.com ; Mon, 01 Apr 2013 07:21:16 -0700 Received: from SVR-ORW-FEM-05.mgc.mentorg.com ([147.34.97.43]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 1 Apr 2013 07:21:17 -0700 Received: from NA-MBX-01.mgc.mentorg.com ([169.254.1.207]) by SVR-ORW-FEM-05.mgc.mentorg.com ([147.34.97.43]) with mapi id 14.01.0289.001; Mon, 1 Apr 2013 07:21:16 -0700 From: "Moore, Catherine" To: "rdsandiford@googlemail.com" CC: "gcc-patches@gcc.gnu.org" , "Moore, Catherine" , "Rozycki, Maciej" Subject: [PATCH] [MIPS] Support microMIPS HI/QI moves Date: Mon, 1 Apr 2013 14:21:15 +0000 Message-ID: MIME-Version: 1.0 2013-04-01 Catherine Moore * config/mips/mips.md (*movhi_internal, *movqi_internal): New operands. Record compression. Index: mips.md =================================================================== --- mips.md (revision 197114) +++ mips.md (working copy) @@ -4538,13 +4538,14 @@ }) (define_insn "*movhi_internal" - [(set (match_operand:HI 0 "nonimmediate_operand" "=d,d,d,m,*a,*d") - (match_operand:HI 1 "move_operand" "d,I,m,dJ,*d*J,*a"))] + [(set (match_operand:HI 0 "nonimmediate_operand" "=d,!u,d,!u,d,ZU,m,*a,*d") + (match_operand:HI 1 "move_operand" "d,J,I,ZU,m,!u,dJ,*d*J,*a"))] "!TARGET_MIPS16 && (register_operand (operands[0], HImode) || reg_or_0_operand (operands[1], HImode))" { return mips_output_move (operands[0], operands[1]); } - [(set_attr "move_type" "move,const,load,store,mtlo,mflo") + [(set_attr "move_type" "move,const,const,load,load,store,store,mtlo,mflo") + (set_attr "compression" "all,micromips,*,micromips,*,micromips,*,*,*") (set_attr "mode" "HI")]) (define_insn "*movhi_mips16" @@ -4613,13 +4614,14 @@ }) (define_insn "*movqi_internal" - [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,*a,*d") - (match_operand:QI 1 "move_operand" "d,I,m,dJ,*d*J,*a"))] + [(set (match_operand:QI 0 "nonimmediate_operand" "=d,!u,d,!u,d,ZV,m,*a,*d") + (match_operand:QI 1 "move_operand" "d,J,I,ZW,m,!u,dJ,*d*J,*a"))] "!TARGET_MIPS16 && (register_operand (operands[0], QImode) || reg_or_0_operand (operands[1], QImode))" { return mips_output_move (operands[0], operands[1]); } - [(set_attr "move_type" "move,const,load,store,mtlo,mflo") + [(set_attr "move_type" "move,const,const,load,load,store,store,mtlo,mflo") + (set_attr "compression" "all,micromips,*,micromips,*,micromips,*,*,*") (set_attr "mode" "QI")]) (define_insn "*movqi_mips16"