> @@ -1024,6 +1040,31 @@ sparc_do_work_around_errata (void)
>           emit_insn_before (gen_nop (), target);
>       }
> 
> +      /* Insert a NOP between load instruction and atomic
> +      instruction.  Insert a NOP at branch target if load
> +      in delay slot and atomic instruction at branch target.  */
> +      if (sparc_fix_ut700
> +       && NONJUMP_INSN_P (insn)
> +       && (set = single_set (insn)) != NULL_RTX
> +       && MEM_P (SET_SRC (set))
> +       && REG_P (SET_DEST (set)))

Any particular reason to use MEM_P instead of mem_ref here?  It looks like 
there is also a case for the b2bst workaround (only loads are concerned).

If no, I'll make the changes along with more cosmetic fixes.

-- 
Eric Botcazou

Reply via email to