- {
- { '1', "o" }, /* jump on overflow / if ones */
- { '2', "h" }, /* jump on A high */
- { '2', "p" }, /* jump on plus */
- { '3', "nle" }, /* jump on not low or equal */
- { '4', "l" }, /* jump on A low */
- { '4', "m" }, /* jump on minus / if mixed */
- { '5', "nhe" }, /* jump on not high or equal */
- { '6', "lh" }, /* jump on low or high */
- { '7', "ne" }, /* jump on A not equal B */
- { '7', "nz" }, /* jump on not zero / if not zeros */
- { '8', "e" }, /* jump on A equal B */
- { '8', "z" }, /* jump on zero / if zeros */
- { '9', "nlh" }, /* jump on not low or high */
- { 'a', "he" }, /* jump on high or equal */
- { 'b', "nl" }, /* jump on A not low */
- { 'b', "nm" }, /* jump on not minus / if not mixed */
- { 'c', "le" }, /* jump on low or equal */
- { 'd', "nh" }, /* jump on A not high */
- { 'd', "np" }, /* jump on not plus */
- { 'e', "no" }, /* jump on not overflow / if not ones */
- };
+{ { '1', "o" }, /* jump on overflow / if ones */
+ { '2', "h" }, /* jump on A high */
+ { '2', "p" }, /* jump on plus */
+ { '3', "nle" }, /* jump on not low or equal */
+ { '4', "l" }, /* jump on A low */
+ { '4', "m" }, /* jump on minus / if mixed */
+ { '5', "nhe" }, /* jump on not high or equal */
+ { '6', "lh" }, /* jump on low or high */
+ { '7', "ne" }, /* jump on A not equal B */
+ { '7', "nz" }, /* jump on not zero / if not zeros */
+ { '8', "e" }, /* jump on A equal B */
+ { '8', "z" }, /* jump on zero / if zeros */
+ { '9', "nlh" }, /* jump on not low or high */
+ { 'a', "he" }, /* jump on high or equal */
+ { 'b', "nl" }, /* jump on A not low */
+ { 'b', "nm" }, /* jump on not minus / if not mixed */
+ { 'c', "le" }, /* jump on low or equal */
+ { 'd', "nh" }, /* jump on A not high */
+ { 'd', "np" }, /* jump on not plus */
+ { 'e', "no" }, /* jump on not overflow / if not ones */
+};
+
+/* The mnemonic extensions for conditional branches used to replace
+ the '$' tag. */
+#define NUM_CRB_EXTENSIONS 12
+const struct s390_cond_ext_format s390_crb_extensions[NUM_CRB_EXTENSIONS] =
+{ { '2', "h" }, /* jump on A high */
+ { '2', "nle" }, /* jump on not low or equal */
+ { '4', "l" }, /* jump on A low */
+ { '4', "nhe" }, /* jump on not high or equal */
+ { '6', "ne" }, /* jump on A not equal B */
+ { '6', "lh" }, /* jump on low or high */
+ { '8', "e" }, /* jump on A equal B */
+ { '8', "nlh" }, /* jump on not low or high */
+ { 'a', "nl" }, /* jump on A not low */
+ { 'a', "he" }, /* jump on high or equal */
+ { 'c', "nh" }, /* jump on A not high */
+ { 'c', "le" }, /* jump on low or equal */
+};