From e772c0c05c36d0b0539effb4256be67bbedd77fb Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 6 Mar 2024 17:08:25 +0100 Subject: [PATCH] i386: Eliminate common code from x86_32 TARGET_MACHO part in ix86_expand_move Eliminate common code from x86_32 TARGET_MACHO part in ix86_expand_move and use generic code instead. No functional changes. gcc/ChangeLog: * config/i386/i386-expand.cc (ix86_expand_move) [TARGET_MACHO]: Eliminate common code and use generic code instead. --- gcc/config/i386/i386-expand.cc | 37 ++++++++++------------------------ 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc index 3b1685ae4482..2210e6f7cc85 100644 --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -471,9 +471,9 @@ ix86_expand_move (machine_mode mode, rtx operands[]) if ((flag_pic || MACHOPIC_INDIRECT) && symbolic_operand (op1, mode)) { +#if TARGET_MACHO if (TARGET_MACHO && !TARGET_64BIT) { -#if TARGET_MACHO /* dynamic-no-pic */ if (MACHOPIC_INDIRECT) { @@ -490,33 +490,18 @@ ix86_expand_move (machine_mode mode, rtx operands[]) emit_insn (insn); return; } - if (GET_CODE (op0) == MEM) - op1 = force_reg (Pmode, op1); - else - { - rtx temp = op0; - if (GET_CODE (temp) != REG) - temp = gen_reg_rtx (Pmode); - temp = legitimize_pic_address (op1, temp); - if (temp == op0) - return; - op1 = temp; - } - /* dynamic-no-pic */ -#endif } - else +#endif + + if (MEM_P (op0)) + op1 = force_reg (mode, op1); + else if (!(TARGET_64BIT && x86_64_movabs_operand (op1, DImode))) { - if (MEM_P (op0)) - op1 = force_reg (mode, op1); - else if (!(TARGET_64BIT && x86_64_movabs_operand (op1, DImode))) - { - rtx reg = can_create_pseudo_p () ? NULL_RTX : op0; - op1 = legitimize_pic_address (op1, reg); - if (op0 == op1) - return; - op1 = convert_to_mode (mode, op1, 1); - } + rtx reg = can_create_pseudo_p () ? NULL_RTX : op0; + op1 = legitimize_pic_address (op1, reg); + if (op0 == op1) + return; + op1 = convert_to_mode (mode, op1, 1); } } else -- 2.43.5