From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5344 invoked by alias); 3 Aug 2015 17:44:50 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 5333 invoked by uid 89); 3 Aug 2015 17:44:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: BLU004-OMC3S26.hotmail.com Received: from blu004-omc3s26.hotmail.com (HELO BLU004-OMC3S26.hotmail.com) (65.55.116.101) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Mon, 03 Aug 2015 17:44:48 +0000 Received: from BLU437-SMTP68 ([65.55.116.74]) by BLU004-OMC3S26.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Mon, 3 Aug 2015 10:44:46 -0700 X-TMN: [axvn+3Q3ZDm5BuO6RCDhhBtwR0IUk3UX] Message-ID: From: John David Anglin Content-Type: multipart/mixed; boundary="Apple-Mail-17-755182968" Date: Mon, 03 Aug 2015 17:44:00 -0000 Subject: [committed] Fix "error: unable to find a register to spill in class 'R1_REGS'" reloading indirect call operand To: GCC Patches MIME-Version: 1.0 (Apple Message framework v1085) X-SW-Source: 2015-08/txt/msg00106.txt.bz2 --Apple-Mail-17-755182968 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="us-ascii" Content-length: 542 The 64-bit register indirect call does not use register %r1. So, %r1 shoul= dn't be clobbered in the call pattern. Normally, this doesn't matter as register %r1 is call cl= obbered. However, reload can fail when the register used for the indirect call needs to be re= loaded from a static location. In this case, register %r1 is needed for the reload and the clob= ber blocks the reload. Tested on hppa64-hp-hpux11.11 and hppa2.0w-hp-hpux11.11. Committed to trun= k, gcc-5 and gcc-4.9. Dave -- John David Anglin dave.anglin@bell.net --Apple-Mail-17-755182968 Content-Disposition: attachment; filename="pa.md.d.txt" Content-Type: text/plain; name="pa.md.d.txt" Content-Transfer-Encoding: 7bit Content-length: 1822 2015-08-03 John David Anglin PR target/67060 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. Adjust splits to match new pattern. Index: config/pa/pa.md =================================================================== --- config/pa/pa.md (revision 226363) +++ config/pa/pa.md (working copy) @@ -7440,7 +7440,6 @@ (define_insn "call_reg_64bit" [(call (mem:SI (match_operand:DI 0 "register_operand" "r")) (match_operand 1 "" "i")) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (clobber (match_operand 2)) (use (reg:DI 27)) @@ -7461,7 +7460,6 @@ (define_split [(parallel [(call (mem:SI (match_operand 0 "register_operand" "")) (match_operand 1 "" "")) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (clobber (match_operand 2)) (use (reg:DI 27)) @@ -7472,7 +7470,6 @@ [(set (match_dup 2) (reg:DI 27)) (parallel [(call (mem:SI (match_dup 0)) (match_dup 1)) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (use (reg:DI 27)) (use (reg:DI 29)) @@ -7482,7 +7479,6 @@ (define_split [(parallel [(call (mem:SI (match_operand 0 "register_operand" "")) (match_operand 1 "" "")) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (clobber (match_operand 2)) (use (reg:DI 27)) @@ -7492,7 +7488,6 @@ [(set (match_dup 2) (reg:DI 27)) (parallel [(call (mem:SI (match_dup 0)) (match_dup 1)) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (use (reg:DI 27)) (use (reg:DI 29)) @@ -7503,7 +7498,6 @@ (define_insn "*call_reg_64bit_post_reload" [(call (mem:SI (match_operand:DI 0 "register_operand" "r")) (match_operand 1 "" "i")) - (clobber (reg:DI 1)) (clobber (reg:DI 2)) (use (reg:DI 27)) (use (reg:DI 29)) --Apple-Mail-17-755182968--