Hello! 2011-08-27 Uros Bizjak <ubiz...@gmail.com>
* config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note. (*sse2_mulv4si3): Ditto. (mulv2di3): Ditto. * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV notes to REG_EQUAL. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN. Uros.
Index: sse.md =================================================================== --- sse.md (revision 178130) +++ sse.md (working copy) @@ -4726,6 +4726,9 @@ /* Extract the even bytes and merge them back together. */ ix86_expand_vec_extract_even_odd (operands[0], t[5], t[4], 0); + + set_unique_reg_note (get_last_insn (), REG_EQUAL, + gen_rtx_MULT (V16QImode, operands[1], operands[2])); DONE; }) @@ -5179,6 +5182,9 @@ /* Merge the parts back together. */ emit_insn (gen_vec_interleave_lowv4si (op0, t5, t6)); + + set_unique_reg_note (get_last_insn (), REG_EQUAL, + gen_rtx_MULT (V4SImode, operands[1], operands[2])); DONE; }) @@ -5261,6 +5267,9 @@ emit_insn (gen_addv2di3 (t6, t1, t4)); emit_insn (gen_addv2di3 (op0, t6, t5)); } + + set_unique_reg_note (get_last_insn (), REG_EQUAL, + gen_rtx_MULT (V2DImode, operands[1], operands[2])); DONE; }) Index: i386.c =================================================================== --- i386.c (revision 178129) +++ i386.c (working copy) @@ -12268,7 +12268,7 @@ legitimize_tls_address (rtx x, enum tls_model mode tp = get_thread_pointer (true); dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, tp, dest)); - set_unique_reg_note (get_last_insn (), REG_EQUIV, x); + set_unique_reg_note (get_last_insn (), REG_EQUAL, x); } else { @@ -12315,7 +12315,7 @@ legitimize_tls_address (rtx x, enum tls_model mode emit_insn (gen_tls_dynamic_gnu2_32 (base, tmp, pic)); tp = get_thread_pointer (true); - set_unique_reg_note (get_last_insn (), REG_EQUIV, + set_unique_reg_note (get_last_insn (), REG_EQUAL, gen_rtx_MINUS (Pmode, tmp, tp)); } else @@ -12331,7 +12331,7 @@ legitimize_tls_address (rtx x, enum tls_model mode insns = get_insns (); end_sequence (); - /* Attach a unique REG_EQUIV, to allow the RTL optimizers to + /* Attach a unique REG_EQUAL, to allow the RTL optimizers to share the LD_BASE result with other LD model accesses. */ eqv = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_TLS_LD_BASE); @@ -12352,7 +12352,7 @@ legitimize_tls_address (rtx x, enum tls_model mode { dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, dest, tp)); - set_unique_reg_note (get_last_insn (), REG_EQUIV, x); + set_unique_reg_note (get_last_insn (), REG_EQUAL, x); } break;