Hi, As shown, three uses of operands[3] are totally useless, so this patch is to remove them to avoid any confusion.
Bootstrapped and regtested on powerpc64-linux-gnu P8/P9 and powerpc64le-linux-gnu P9 and P10. I'm going to push this soon if no objections. BR, Kewen ----- gcc/ChangeLog: * config/rs6000/rs6000.md (@ieee_128bit_vsx_neg<IEEE128>2): Remove the use of operands[3]. (@ieee_128bit_vsx_neg<IEEE128>2): Likewise. (*ieee_128bit_vsx_nabs<mode>2): Likewise. --- gcc/config/rs6000/rs6000.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 4b70b50edca..daae2f81061 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9256,7 +9256,6 @@ (define_insn_and_split "@ieee_128bit_vsx_neg<mode>2" if (GET_CODE (operands[2]) == SCRATCH) operands[2] = gen_reg_rtx (V16QImode); - operands[3] = gen_reg_rtx (V16QImode); emit_insn (gen_ieee_128bit_negative_zero (operands[2])); } [(set_attr "length" "8") @@ -9285,7 +9284,6 @@ (define_insn_and_split "@ieee_128bit_vsx_abs<mode>2" if (GET_CODE (operands[2]) == SCRATCH) operands[2] = gen_reg_rtx (V16QImode); - operands[3] = gen_reg_rtx (V16QImode); emit_insn (gen_ieee_128bit_negative_zero (operands[2])); } [(set_attr "length" "8") @@ -9317,7 +9315,6 @@ (define_insn_and_split "*ieee_128bit_vsx_nabs<mode>2" if (GET_CODE (operands[2]) == SCRATCH) operands[2] = gen_reg_rtx (V16QImode); - operands[3] = gen_reg_rtx (V16QImode); emit_insn (gen_ieee_128bit_negative_zero (operands[2])); } [(set_attr "length" "8") -- 2.39.1