* config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
From-SVN: r170845
This commit is contained in:
parent
25d5c0b020
commit
d845b2f96f
@ -1,3 +1,7 @@
|
||||
2011-03-10 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
|
||||
|
||||
2011-03-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/47866
|
||||
|
@ -1643,7 +1643,7 @@
|
||||
""
|
||||
"bset\t%1, %0.B"
|
||||
[(set_attr "length" "3")
|
||||
(set_attr "timings" "34")]
|
||||
(set_attr "timings" "33")]
|
||||
)
|
||||
|
||||
(define_insn "*bitinvert"
|
||||
@ -1689,7 +1689,7 @@
|
||||
""
|
||||
"bclr\t%1, %0.B"
|
||||
[(set_attr "length" "3")
|
||||
(set_attr "timings" "34")]
|
||||
(set_attr "timings" "33")]
|
||||
)
|
||||
|
||||
(define_insn "*insv_imm"
|
||||
@ -1897,6 +1897,14 @@
|
||||
rtx addr2 = gen_rtx_REG (SImode, 2);
|
||||
rtx len = gen_rtx_REG (SImode, 3);
|
||||
|
||||
/* Do not use when the source or destination are volatile - the SMOVF
|
||||
instruction will read and write in word sized blocks, which may be
|
||||
outside of the valid address range. */
|
||||
if (MEM_P (operands[0]) && MEM_VOLATILE_P (operands[0]))
|
||||
FAIL;
|
||||
if (MEM_P (operands[1]) && MEM_VOLATILE_P (operands[1]))
|
||||
FAIL;
|
||||
|
||||
if (REG_P (operands[0]) && (REGNO (operands[0]) == 2
|
||||
|| REGNO (operands[0]) == 3))
|
||||
FAIL;
|
||||
@ -1906,6 +1914,7 @@
|
||||
if (REG_P (operands[2]) && (REGNO (operands[2]) == 1
|
||||
|| REGNO (operands[2]) == 2))
|
||||
FAIL;
|
||||
|
||||
emit_move_insn (addr1, force_operand (XEXP (operands[0], 0), NULL_RTX));
|
||||
emit_move_insn (addr2, force_operand (XEXP (operands[1], 0), NULL_RTX));
|
||||
emit_move_insn (len, force_operand (operands[2], NULL_RTX));
|
||||
|
Loading…
Reference in New Issue
Block a user