From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 83E4A3858D39; Wed, 19 Oct 2022 03:51:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83E4A3858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666151502; bh=6XjcpRdZ/xkBkzEywC/bDttyG2cdu1UDMILEdQRTzkA=; h=From:To:Subject:Date:From; b=Imn90xtFBe+q40NSBKf7aAzPyMf3uXvGqATsVxD/NS8/musRJHi+dUgOyPVCKaweM CKc2OM1rlTa+EoSD3LTcf9svPkYliUBKe/CQ5jLK8mwQ/l1c+gSunmQcOgU8GnFmAz y5bT1tIosc5bTOMg6Q9ezJ72GvCENN9Pkl6KqelE= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/dmf001)] Add Dwarf support for DMR registers. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/dmf001 X-Git-Oldrev: 5828134cccba61a2b79684ad333cea2eb54baddf X-Git-Newrev: 7cad3ad426b400fd3207f63cebf53f694a98dc3c Message-Id: <20221019035142.83E4A3858D39@sourceware.org> Date: Wed, 19 Oct 2022 03:51:42 +0000 (GMT) List-Id: https://gcc.gnu.org/g:7cad3ad426b400fd3207f63cebf53f694a98dc3c commit 7cad3ad426b400fd3207f63cebf53f694a98dc3c Author: Michael Meissner Date: Tue Oct 18 23:51:26 2022 -0400 Add Dwarf support for DMR registers. 2022-10-18 Michael Meissner gcc/ * config/rs6000/rs6000.cc (rs6000_memory_move_cost): Tweak last change. (rs6000_debugger_regno): Add support for DMF registers. Diff: --- gcc/config/rs6000/rs6000.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 9d5d1ce1930..9b9fa75d8ba 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -22724,7 +22724,8 @@ rs6000_memory_move_cost (machine_mode mode, reg_class_t rclass, else if (reg_classes_intersect_p (rclass, ALTIVEC_REGS)) ret = 4 * hard_regno_nregs (FIRST_ALTIVEC_REGNO, mode); else if (reg_classes_intersect_p (rclass, DMF_REGS)) - ret = 4 + rs6000_register_move_cost (mode, rclass, VSX_REGS); + ret = (rs6000_dmf_register_move_cost (mode, VSX_REGS) + + rs6000_memory_move_cost (mode, VSX_REGS, false)); else ret = 4 + rs6000_register_move_cost (mode, rclass, GENERAL_REGS); @@ -24099,6 +24100,10 @@ rs6000_debugger_regno (unsigned int regno, unsigned int format) return 67; if (regno == 64) return 64; + /* XXX: This is a guess. The GCC register number for FIRST_DMF_REGNO is 111, + but the frame pointer regnum above uses that. */ + if (DMF_REGNO_P (regno)) + return regno - FIRST_DMF_REGNO + 112; gcc_unreachable (); }