aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1993-03-04 18:50:56 +0000
committerTorbjorn Granlund <tege@gnu.org>1993-03-04 18:50:56 +0000
commit8365d59ba28e2e6987de4e68519b6508becde81e (patch)
tree80b29cb82401edebb45b8aca6d38ef6f83e953ac /gcc
parentd5db69224ede6dbc83cc1db898cc3df5fcb8200b (diff)
downloadgcc-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.c39
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. */