From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 21A2E3858C50; Tue, 18 Oct 2022 01:27:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 21A2E3858C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666056478; bh=bdUmaOA2dGBOYdUoGTgw4In6n/5WYuUPTvIGm5lGhr4=; h=From:To:Subject:Date:From; b=Kv9gkYuez7HYtpU5rDFPBbnROJdVA2/IQISWh9tqEA5ZEwbyFpUO8t1fdasvB6uFg kY8qkTGClR1hBtzzvbYvqRrDfpOIAO6ZY/r21ZSkFsdN8WxzOV6g453mClvNRlMGBg CF8uQn/ieSsUvOhI5IX+gkZrmIUJxIKlIQ2BNydk= 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)] Initial support for __dmr type. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/dmf001 X-Git-Oldrev: 7bd9791b245a9ffef556f27645b81d82670dd91c X-Git-Newrev: fe91e0bb5e3f2d0ddf7a1b2bc1503726172d175f Message-Id: <20221018012758.21A2E3858C50@sourceware.org> Date: Tue, 18 Oct 2022 01:27:57 +0000 (GMT) List-Id: https://gcc.gnu.org/g:fe91e0bb5e3f2d0ddf7a1b2bc1503726172d175f commit fe91e0bb5e3f2d0ddf7a1b2bc1503726172d175f Author: Michael Meissner Date: Mon Oct 17 21:27:41 2022 -0400 Initial support for __dmr type. 2022-10-17 Michael Meissner gcc/ * config/rs6000/rs6000-call.cc (rs6000_return_in_memory): TDOmode needs to be returned in memory. (rs6000_function_arg): TDOmode can't be passed in a register. * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Relax XOmode requirement that the register number must be divisible by 4 if -mdmf. Add support for TDOmode registers. (rs6000_modes_tieable_p): Reorder tests for TDOmode. (rs6000_setup_reg_addr_masks): Allow TDOmode in DMR registers. (reg_offset_addressing_ok_p): Allow loading/storing TDOmode values with offset instructions. (rs6000_split_multireg_move): Update comment. (rs6000_invalid_conversion): Likewise. * config/rs6000/rs6000.h (VECTOR_ALIGNMENT_P): TDOmode has 512 bit alignment. (rs6000_builtin_type_index): Add support for dmr type node and pointer to dmr type node. (dmr_type_node): Likewise. (ptr_dmr_type_node): Likewise. Diff: --- gcc/ChangeLog.meissner | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index ba6cb792369..f14c3956d65 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,3 +1,30 @@ +==================== dmf001, patch #15 + +Initial support for __dmr type. + +2022-10-17 Michael Meissner + +gcc/ + + * config/rs6000/rs6000-call.cc (rs6000_return_in_memory): TDOmode needs + to be returned in memory. + (rs6000_function_arg): TDOmode can't be passed in a register. + * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Relax + XOmode requirement that the register number must be divisible by 4 if + -mdmf. Add support for TDOmode registers. + (rs6000_modes_tieable_p): Reorder tests for TDOmode. + (rs6000_setup_reg_addr_masks): Allow TDOmode in DMR registers. + (reg_offset_addressing_ok_p): Allow loading/storing TDOmode values with + offset instructions. + (rs6000_split_multireg_move): Update comment. + (rs6000_invalid_conversion): Likewise. + * config/rs6000/rs6000.h (VECTOR_ALIGNMENT_P): TDOmode has 512 bit + alignment. + (rs6000_builtin_type_index): Add support for dmr type node and pointer + to dmr type node. + (dmr_type_node): Likewise. + (ptr_dmr_type_node): Likewise. + ==================== dmf001, patch #14 Update comment.