bfin.c (print_operand): New modifier 'N' for constants.

* config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
	* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
	lshifthi3): Use it, and fix the order of alternatives.

From-SVN: r119616
This commit is contained in:
Bernd Schmidt 2006-12-07 11:06:08 +00:00 committed by Bernd Schmidt
parent e0d9d0ddb6
commit 58f7667965
3 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
lshifthi3): Use it, and fix the order of alternatives.
2006-12-07 Nick Clifton <nickc@redhat.com>
* common.opt (record-gcc-switches): New command line switch.

View File

@ -1381,6 +1381,8 @@ print_operand (FILE *file, rtx x, char code)
x = GEN_INT ((INTVAL (x) >> 16) & 0xffff);
else if (code == 'h')
x = GEN_INT (INTVAL (x) & 0xffff);
else if (code == 'N')
x = GEN_INT (-INTVAL (x));
else if (code == 'X')
x = GEN_INT (exact_log2 (0xffffffff & INTVAL (x)));
else if (code == 'Y')

View File

@ -3312,8 +3312,8 @@
""
"@
%0 = ASHIFT %1 BY %2 (V, S)%!
%0 = %1 >>> %2 (V,S)%!
%0 = %1 << %2 (V,S)%!"
%0 = %1 << %2 (V,S)%!
%0 = %1 >>> %N2 (V,S)%!"
[(set_attr "type" "dsp32")])
(define_insn "ssashifthi3"
@ -3326,8 +3326,8 @@
""
"@
%0 = ASHIFT %1 BY %2 (V, S)%!
%0 = %1 >>> %2 (V,S)%!
%0 = %1 << %2 (V,S)%!"
%0 = %1 << %2 (V,S)%!
%0 = %1 >>> %N2 (V,S)%!"
[(set_attr "type" "dsp32")])
(define_insn "lshiftv2hi3"
@ -3340,8 +3340,8 @@
""
"@
%0 = LSHIFT %1 BY %2 (V)%!
%0 = %1 >> %2 (V)%!
%0 = %1 << %2 (V)%!"
%0 = %1 << %2 (V)%!
%0 = %1 >> %N2 (V)%!"
[(set_attr "type" "dsp32")])
(define_insn "lshifthi3"
@ -3354,7 +3354,7 @@
""
"@
%0 = LSHIFT %1 BY %2 (V)%!
%0 = %1 >> %2 (V)%!
%0 = %1 << %2 (V)%!"
%0 = %1 << %2 (V)%!
%0 = %1 >> %N2 (V)%!"
[(set_attr "type" "dsp32")])