Commit 9c514326 by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

re PR target/25706 (invalid asm: "mov")

	PR target/25706
	* config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
	("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
	("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
	output pattern modifier, not %e.
	* config/cris/cris.c (cris_op_str): Update comment about pattern
	modifier.
	(cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
	before falling through into...
	<case 'E'>: Redefined from old 'e' case.

From-SVN: r109584
parent f749178d
2006-01-11 Hans-Peter Nilsson <hp@axis.com>
PR target/25706
* config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
output pattern modifier, not %e.
* config/cris/cris.c (cris_op_str): Update comment about pattern
modifier.
(cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
before falling through into...
<case 'E'>: Redefined from old 'e' case.
2006-01-11 Jan Hubicka <jh@suse.cz>
PR target/25042
......
......@@ -468,7 +468,7 @@ cris_op_str (rtx x)
break;
case UMIN:
/* Used to control the sign/zero-extend character for the 'e' modifier.
/* Used to control the sign/zero-extend character for the 'E' modifier.
BOUND has none. */
cris_output_insn_is_bound = 1;
return "bound";
......@@ -872,6 +872,13 @@ cris_print_operand (FILE *file, rtx x, int code)
break;
case 'e':
/* Like 'E', but ignore state set by 'x'. FIXME: Use code
iterators ("code macros") and attributes in cris.md to avoid
the need for %x and %E (and %e) and state passed between
those modifiers. */
cris_output_insn_is_bound = 0;
/* FALL THROUGH. */
case 'E':
/* Print 's' if operand is SIGN_EXTEND or 'u' if ZERO_EXTEND unless
cris_output_insn_is_bound is nonzero. */
if (GET_CODE (operand) != SIGN_EXTEND
......
......@@ -1686,8 +1686,8 @@
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'J')))
return "#";
if (which_alternative == 4)
return "%x5%e6.%m6 [%4=%3%S2],%0";
return "%x5%e6.%m6 [%4=%2%S3],%0";
return "%x5%E6.%m6 [%4=%3%S2],%0";
return "%x5%E6.%m6 [%4=%2%S3],%0";
})
(define_insn "*extop<mode>si_side"
......@@ -1715,8 +1715,8 @@
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'J')))
return "#";
if (which_alternative == 4)
return "%x5%e6<m> [%4=%3%S2],%0";
return "%x5%e6<m> [%4=%2%S3],%0";
return "%x5%E6<m> [%4=%3%S2],%0";
return "%x5%E6<m> [%4=%2%S3],%0";
})
......@@ -1766,7 +1766,7 @@
&& cris_side_effect_mode_ok (MULT, operands, 5, 4, 2, 3, 0)"
"@
#
%x7%e6<m> [%5=%4+%2%T3],%0")
%x7%E6<m> [%5=%4+%2%T3],%0")
;; [rx=ry+i]
;; FIXME: GCC should widen.
......@@ -1823,8 +1823,8 @@
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'J')))
return "#";
if (which_alternative == 4)
return \"%x6%e5.%m5 [%4=%3%S2],%0\";
return "%x6%e5<m> [%4=%2%S3],%0";
return \"%x6%E5.%m5 [%4=%3%S2],%0\";
return "%x6%E5<m> [%4=%2%S3],%0";
})
;; Extend versions (zero/sign) of normal add/sub (no side-effects).
......@@ -1843,10 +1843,10 @@
"GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
&& (operands[1] != frame_pointer_rtx || GET_CODE (operands[3]) != PLUS)"
"@
%x3%e4.%m4 %2,%0
%x3%e4.%m4 %2,%0
%x3%e4.%m4 %2,%0
%x3%e4.%m4 %2,%1,%0"
%x3%E4.%m4 %2,%0
%x3%E4.%m4 %2,%0
%x3%E4.%m4 %2,%0
%x3%E4.%m4 %2,%1,%0"
[(set_attr "slottable" "yes,yes,no,no")
(set_attr "cc" "clobber")])
......@@ -1864,10 +1864,10 @@
&& GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
&& (operands[1] != frame_pointer_rtx || GET_CODE (operands[3]) != PLUS)"
"@
%x3%e4<m> %2,%0
%x3%e4<m> %2,%0
%x3%e4<m> %2,%0
%x3%e4<m> %2,%1,%0"
%x3%E4<m> %2,%0
%x3%E4<m> %2,%0
%x3%E4<m> %2,%0
%x3%E4<m> %2,%1,%0"
[(set_attr "slottable" "yes,yes,no,no")])
......@@ -1903,10 +1903,10 @@
"(GET_CODE (operands[4]) != UMIN || GET_CODE (operands[3]) == ZERO_EXTEND)
&& operands[1] != frame_pointer_rtx"
"@
%x4%e3<m> %2,%0
%x4%e3<m> %2,%0
%x4%e3<m> %2,%0
%x4%e3<m> %2,%1,%0"
%x4%E3<m> %2,%0
%x4%E3<m> %2,%0
%x4%E3<m> %2,%0
%x4%E3<m> %2,%1,%0"
[(set_attr "slottable" "yes,yes,no,no")])
;; This is the special case when we use what corresponds to the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment