https://gcc.gnu.org/g:ad8b766ba389fd970fd6cc2de35694199e23d8a7
commit ad8b766ba389fd970fd6cc2de35694199e23d8a7 Author: Surya Kumari Jangala <[email protected]> Date: Thu Jul 9 02:27:45 2026 -0500 Some miscellaneous changes Diff: --- gcc/config/rs6000/rs6000.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 501aca7913d1..0cace93fedda 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -2008,7 +2008,8 @@ static bool rs6000_modes_tieable_p (machine_mode mode1, machine_mode mode2) { if (mode1 == PTImode || mode1 == OOmode || mode1 == XOmode - || mode2 == PTImode || mode2 == OOmode || mode2 == XOmode) + || mode1 == TDOmode || mode2 == PTImode || mode2 == OOmode + || mode2 == XOmode || mode2 == TDOmode) return mode1 == mode2; if (ALTIVEC_OR_VSX_VECTOR_MODE (mode1)) @@ -2775,7 +2776,8 @@ rs6000_setup_reg_addr_masks (void) only do offset loads. */ else if ((addr_mask != 0) && ((TARGET_MMA && (m2 == OOmode || m2 == XOmode)) - || (TARGET_DMF && (m2 == TDOmode)))) + || (TARGET_DMF + && (m2 == OOmode || m2 == XOmode ||m2 == TDOmode)))) { addr_mask |= RELOAD_REG_OFFSET; if (rc == RELOAD_REG_FPR || rc == RELOAD_REG_VMX) @@ -8745,7 +8747,10 @@ reg_offset_addressing_ok_p (machine_mode mode) underlying vectors support offset addressing. */ case E_OOmode: case E_XOmode: - return TARGET_MMA; + return TARGET_MMA || TARGET_DMF; + + case E_TDOmode: ++ return TARGET_DMF; case E_SDmode: /* If we can do direct load/stores of SDmode, restrict it to reg+reg
