public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* New branch instructions for s/390.
@ 2001-08-20  2:01 Martin Schwidefsky
  2001-08-22 23:39 ` Andreas Jaeger
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Schwidefsky @ 2001-08-20  2:01 UTC (permalink / raw)
  To: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 584 bytes --]

Hi,
gcc 3.0 wants to have branch instructions for "low or high" and
"not low or high". Here is a patch that adds them to the s/390
instruction list.

2001-08-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

     * opcodes/s390-opc.c: Add "low or high" and "not low or high"
     branch instructions for gcc 3.0.
     * opcodes/s390-opc.txt: Likewise.

(See attached file: lh_nlh.diff)

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com

[-- Attachment #2: lh_nlh.diff --]
[-- Type: text/x-diff, Size: 5528 bytes --]

diff -urN src/opcodes/s390-opc.c src-s390/opcodes/s390-opc.c
--- src/opcodes/s390-opc.c	Thu Jul 26 21:09:15 2001
+++ src-s390/opcodes/s390-opc.c	Thu Aug 16 13:02:43 2001
@@ -506,10 +506,12 @@
   { "jgnl",  OP16(0xc0b4LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgnm",  OP16(0xc0b4LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jghe",  OP16(0xc0a4LL), MASK_RIL_B, INSTR_RIL_B, 2},
+  { "jgnlh", OP16(0xc094LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jge",   OP16(0xc084LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgz",   OP16(0xc084LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgne",  OP16(0xc074LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgnz",  OP16(0xc074LL), MASK_RIL_B, INSTR_RIL_B, 2},
+  { "jglh",  OP16(0xc064LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgnhe", OP16(0xc054LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgl",   OP16(0xc044LL), MASK_RIL_B, INSTR_RIL_B, 2},
   { "jgm",   OP16(0xc044LL), MASK_RIL_B, INSTR_RIL_B, 2},
@@ -751,10 +753,12 @@
   { "jnl",   OP16(0xa7b4LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jnm",   OP16(0xa7b4LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jhe",   OP16(0xa7a4LL), MASK_RI_B, INSTR_RI_B, 3},
+  { "jnlh",  OP16(0xa794LL), MASK_RI_B, INSTR_RI_B, 3},
   { "je",    OP16(0xa784LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jz",    OP16(0xa784LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jne",   OP16(0xa774LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jnz",   OP16(0xa774LL), MASK_RI_B, INSTR_RI_B, 3},
+  { "jlh",   OP16(0xa764LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jnhe",  OP16(0xa754LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jl",    OP16(0xa744LL), MASK_RI_B, INSTR_RI_B, 3},
   { "jm",    OP16(0xa744LL), MASK_RI_B, INSTR_RI_B, 3},
@@ -873,10 +877,12 @@
   { "bnl",   OP16(0x47b0LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bnm",   OP16(0x47b0LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bhe",   OP16(0x47a0LL), MASK_RX_B, INSTR_RX_B, 3},
+  { "bnlh",  OP16(0x4790LL), MASK_RX_B, INSTR_RX_B, 3},
   { "be",    OP16(0x4780LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bz",    OP16(0x4780LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bne",   OP16(0x4770LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bnz",   OP16(0x4770LL), MASK_RX_B, INSTR_RX_B, 3},
+  { "blh",   OP16(0x4760LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bnhe",  OP16(0x4750LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bl",    OP16(0x4740LL), MASK_RX_B, INSTR_RX_B, 3},
   { "bm",    OP16(0x4740LL), MASK_RX_B, INSTR_RX_B, 3},
@@ -955,10 +961,12 @@
   { "bnlr",  OP16(0x07b0LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bnmr",  OP16(0x07b0LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bher",  OP16(0x07a0LL), MASK_RR_B, INSTR_RR_B, 3},
+  { "bnlhr", OP16(0x0790LL), MASK_RR_B, INSTR_RR_B, 3},
   { "ber",   OP16(0x0780LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bzr",   OP16(0x0780LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bner",  OP16(0x0770LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bnzr",  OP16(0x0770LL), MASK_RR_B, INSTR_RR_B, 3},
+  { "blhr",  OP16(0x0760LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bnher", OP16(0x0750LL), MASK_RR_B, INSTR_RR_B, 3},
   { "blr",   OP16(0x0740LL), MASK_RR_B, INSTR_RR_B, 3},
   { "bmr",   OP16(0x0740LL), MASK_RR_B, INSTR_RR_B, 3},
diff -urN src/opcodes/s390-opc.txt src-s390/opcodes/s390-opc.txt
--- src/opcodes/s390-opc.txt	Thu Jul 26 21:09:15 2001
+++ src-s390/opcodes/s390-opc.txt	Thu Aug 16 12:51:22 2001
@@ -265,10 +265,12 @@
 0740 blr RR_B "branch on low" esa
 0740 bmr RR_B "branch on minus / if mixed" esa
 0750 bnher RR_B "branch on not high or equal" esa
+0760 blhr RR_B "branch on low or high" esa
 0770 bner RR_B "branch on not equal" esa
 0770 bnzr RR_B "branch on not zero / if not zeros" esa
 0780 ber RR_B "branch on equal" esa
 0780 bzr RR_B "branch on zero / if zeros" esa
+0790 bnlhr RR_B "branch on not low or high" esa
 07a0 bher RR_B "branch on high or equal" esa
 07b0 bnlr RR_B "branch on not low" esa
 07b0 bnmr RR_B "branch on not minus / if not mixed" esa
@@ -285,10 +287,12 @@
 4740 bl RX_B "branch on low" esa
 4740 bm RX_B "branch on minus / if mixed" esa
 4750 bnhe RX_B "branch on not high or equal" esa
+4760 blh RX_B "branch on low or high" esa
 4770 bne RX_B "branch on not equal" esa
 4770 bnz RX_B "branch on not zero / if not zeros" esa
 4780 be RX_B "branch on equal" esa
 4780 bz RX_B "branch on zero / if zeros" esa
+4790 bnlh RX_B "branch on not low or high" esa
 47a0 bhe RX_B "branch on high or equal" esa
 47b0 bnl RX_B "branch on not low" esa
 47b0 bnm RX_B "branch on not minus / if not mixed" esa
@@ -304,10 +308,12 @@
 a744 jl RI_B "jump on A low" esa
 a744 jm RI_B "jump on minus / if mixed" esa
 a754 jnhe RI_B "jump on not high or equal" esa
+a764 jlh RI_B "jump on low or high" esa
 a774 jne RI_B "jump on A not equal B" esa
 a774 jnz RI_B "jump on not zero / if not zeros" esa
 a784 je RI_B "jump on A equal B" esa
 a784 jz RI_B "jump on zero / if zeros" esa
+a794 jnlh RI_B "jump on not low or high" esa
 a7a4 jhe RI_B "jump on high or equal" esa
 a7b4 jnl RI_B "jump on A not low" esa
 a7b4 jnm RI_B "jump on not minus / if not mixed" esa
@@ -500,10 +506,12 @@
 c044 jgl RIL_B "jump long on low" esame
 c044 jgm RIL_B "jump long on minus / if mixed" esame
 c054 jgnhe RIL_B "jump long on not high or equal" esame
+c064 jglh RIL_B "jump long on low or high" esame
 c074 jgne RIL_B "jump long on not equal" esame
 c074 jgnz RIL_B "jump long on not zero / if not zeros" esame
 c084 jge RIL_B "jump long on equal" esame
 c084 jgz RIL_B "jump long on zero / if zeros" esame
+c094 jgnlh RIL_B "jump long on not low or high" esame
 c0a4 jghe RIL_B "jump long on high or equal" esame
 c0b4 jgnl RIL_B "jump long on not low" esame
 c0b4 jgnm RIL_B "jump long on not minus / if not mixed" esame

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New branch instructions for s/390.
  2001-08-20  2:01 New branch instructions for s/390 Martin Schwidefsky
@ 2001-08-22 23:39 ` Andreas Jaeger
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Jaeger @ 2001-08-22 23:39 UTC (permalink / raw)
  To: Martin Schwidefsky; +Cc: binutils

"Martin Schwidefsky" <schwidefsky@de.ibm.com> writes:

> Hi,
> gcc 3.0 wants to have branch instructions for "low or high" and
> "not low or high". Here is a patch that adds them to the s/390
> instruction list.
>
> 2001-08-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
>
>      * opcodes/s390-opc.c: Add "low or high" and "not low or high"
>      branch instructions for gcc 3.0.
>      * opcodes/s390-opc.txt: Likewise.
>
> (See attached file: lh_nlh.diff)

I've added this to CVS since you're the maintainer and don't have CVS
access.

Thanks,
Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New branch instructions for s/390.
@ 2001-08-23 11:19 Martin Schwidefsky
  0 siblings, 0 replies; 3+ messages in thread
From: Martin Schwidefsky @ 2001-08-23 11:19 UTC (permalink / raw)
  To: Andreas Jaeger; +Cc: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 287 bytes --]

>I've added this to CVS since you're the maintainer and don't have CVS
>access.
Thanks.

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-08-23 11:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-20  2:01 New branch instructions for s/390 Martin Schwidefsky
2001-08-22 23:39 ` Andreas Jaeger
2001-08-23 11:19 Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).