diff options
author | Torbjorn Granlund <tege@gnu.org> | 1993-03-04 18:50:56 +0000 |
---|---|---|
committer | Torbjorn Granlund <tege@gnu.org> | 1993-03-04 18:50:56 +0000 |
commit | 8365d59ba28e2e6987de4e68519b6508becde81e (patch) | |
tree | 80b29cb82401edebb45b8aca6d38ef6f83e953ac /gcc | |
parent | d5db69224ede6dbc83cc1db898cc3df5fcb8200b (diff) | |
download | gcc-8365d59ba28e2e6987de4e68519b6508becde81e.zip gcc-8365d59ba28e2e6987de4e68519b6508becde81e.tar.gz gcc-8365d59ba28e2e6987de4e68519b6508becde81e.tar.bz2 |
(output_ior): Don't handle reg operands.
From-SVN: r3636
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.c | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 1ef694f..1e2f37f 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1445,34 +1445,29 @@ char * output_ior (operands) rtx *operands; { - if (GET_CODE (operands[2]) == CONST_INT) - { - unsigned mask = INTVAL (operands[2]); - int bs0, bs1, bs2, p, len; + unsigned mask = INTVAL (operands[2]); + int bs0, bs1, bs2, p, len; - if (INTVAL (operands[2]) == 0) - return "copy %1,%0"; + if (INTVAL (operands[2]) == 0) + return "copy %1,%0"; - for (bs0 = 0; bs0 < 32; bs0++) - if ((mask & (1 << bs0)) != 0) - break; + for (bs0 = 0; bs0 < 32; bs0++) + if ((mask & (1 << bs0)) != 0) + break; - for (bs1 = bs0; bs1 < 32; bs1++) - if ((mask & (1 << bs1)) == 0) - break; + for (bs1 = bs0; bs1 < 32; bs1++) + if ((mask & (1 << bs1)) == 0) + break; - if (bs1 != 32 && ((unsigned) 1 << bs1) <= mask) - abort(); + if (bs1 != 32 && ((unsigned) 1 << bs1) <= mask) + abort(); - p = 31 - bs0; - len = bs1 - bs0; + p = 31 - bs0; + len = bs1 - bs0; - operands[2] = gen_rtx (CONST_INT, VOIDmode, p); - operands[3] = gen_rtx (CONST_INT, VOIDmode, len); - return "depi -1,%2,%3,%0"; - } - else - return "or %1,%2,%0"; + operands[2] = gen_rtx (CONST_INT, VOIDmode, p); + operands[3] = gen_rtx (CONST_INT, VOIDmode, len); + return "depi -1,%2,%3,%0"; } /* Output an ascii string. */ |