From: Bernd Schmidt Date: Thu, 7 Dec 2006 11:06:08 +0000 (+0000) Subject: bfin.c (print_operand): New modifier 'N' for constants. X-Git-Tag: releases/gcc-4.3.0~8087 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58f76679659f6d1e107bf9d2072a2f7bca63c763;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33bd10262222..ad6b37ed9282 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-12-07 Bernd Schmidt + + * 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 * common.opt (record-gcc-switches): New command line switch. diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index 48fcbd131496..abfeaeec2b6f 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -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') diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md index d6c5d7f55ba6..454232751937 100644 --- a/gcc/config/bfin/bfin.md +++ b/gcc/config/bfin/bfin.md @@ -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")])