summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc/cc_int/insn-output.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/cc/cc_int/insn-output.c')
-rw-r--r--gnu/usr.bin/cc/cc_int/insn-output.c7275
1 files changed, 0 insertions, 7275 deletions
diff --git a/gnu/usr.bin/cc/cc_int/insn-output.c b/gnu/usr.bin/cc/cc_int/insn-output.c
deleted file mode 100644
index 65b0ec5..0000000
--- a/gnu/usr.bin/cc/cc_int/insn-output.c
+++ /dev/null
@@ -1,7275 +0,0 @@
-/* Generated automatically by the program `genoutput'
-from the machine description file `md'. */
-
-#include "config.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "real.h"
-#include "insn-config.h"
-
-#include "conditions.h"
-#include "insn-flags.h"
-#include "insn-attr.h"
-
-#include "insn-codes.h"
-
-#include "recog.h"
-
-#include <stdio.h>
-#include "output.h"
-
-static char *
-output_0 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[0]))
- return AS2 (test%L0,%0,%0);
-
- operands[1] = const0_rtx;
- return AS2 (cmp%L0,%1,%0);
-}
-}
-
-static char *
-output_2 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[0]))
- return AS2 (test%W0,%0,%0);
-
- operands[1] = const0_rtx;
- return AS2 (cmp%W0,%1,%0);
-}
-}
-
-static char *
-output_4 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[0]))
- return AS2 (test%B0,%0,%0);
-
- operands[1] = const0_rtx;
- return AS2 (cmp%B0,%1,%0);
-}
-}
-
-static char *
-output_6 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (! STACK_TOP_P (operands[0]))
- abort ();
-
- output_asm_insn ("ftst", operands);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp,%y0), operands);
-
- return output_fp_cc0_set (insn);
-}
-}
-
-static char *
-output_8 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (! STACK_TOP_P (operands[0]))
- abort ();
-
- output_asm_insn ("ftst", operands);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp,%y0), operands);
-
- return output_fp_cc0_set (insn);
-}
-}
-
-static char *
-output_10 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (! STACK_TOP_P (operands[0]))
- abort ();
-
- output_asm_insn ("ftst", operands);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp,%y0), operands);
-
- return output_fp_cc0_set (insn);
-}
-}
-
-static char *
-output_12 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (CONSTANT_P (operands[0]) || GET_CODE (operands[1]) == MEM)
- {
- cc_status.flags |= CC_REVERSED;
- return AS2 (cmp%L0,%0,%1);
- }
- return AS2 (cmp%L0,%1,%0);
-}
-}
-
-static char *
-output_14 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (CONSTANT_P (operands[0]) || GET_CODE (operands[1]) == MEM)
- {
- cc_status.flags |= CC_REVERSED;
- return AS2 (cmp%W0,%0,%1);
- }
- return AS2 (cmp%W0,%1,%0);
-}
-}
-
-static char *
-output_16 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (CONSTANT_P (operands[0]) || GET_CODE (operands[1]) == MEM)
- {
- cc_status.flags |= CC_REVERSED;
- return AS2 (cmp%B0,%0,%1);
- }
- return AS2 (cmp%B0,%1,%0);
-}
-}
-
-static char *
-output_18 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_19 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_20 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_21 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_22 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_23 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_24 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_25 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_26 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_27 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_28 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_29 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_30 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_31 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_32 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_33 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_float_compare (insn, operands);
-}
-
-static char *
-output_43 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- /* For small integers, we may actually use testb. */
- if (GET_CODE (operands[1]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0]))
- && (! REG_P (operands[0]) || QI_REG_P (operands[0])))
- {
- /* We may set the sign bit spuriously. */
-
- if ((INTVAL (operands[1]) & ~0xff) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- return AS2 (test%B0,%1,%b0);
- }
-
- if ((INTVAL (operands[1]) & ~0xff00) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (INTVAL (operands[1]) >> 8);
-
- if (QI_REG_P (operands[0]))
- return AS2 (test%B0,%1,%h0);
- else
- {
- operands[0] = adj_offsettable_operand (operands[0], 1);
- return AS2 (test%B0,%1,%b0);
- }
- }
-
- if (GET_CODE (operands[0]) == MEM
- && (INTVAL (operands[1]) & ~0xff0000) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (INTVAL (operands[1]) >> 16);
- operands[0] = adj_offsettable_operand (operands[0], 2);
- return AS2 (test%B0,%1,%b0);
- }
-
- if (GET_CODE (operands[0]) == MEM
- && (INTVAL (operands[1]) & ~0xff000000) == 0)
- {
- operands[1] = GEN_INT ((INTVAL (operands[1]) >> 24) & 0xff);
- operands[0] = adj_offsettable_operand (operands[0], 3);
- return AS2 (test%B0,%1,%b0);
- }
- }
-
- if (CONSTANT_P (operands[1]) || GET_CODE (operands[0]) == MEM)
- return AS2 (test%L0,%1,%0);
-
- return AS2 (test%L1,%0,%1);
-}
-}
-
-static char *
-output_44 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0]))
- && (! REG_P (operands[0]) || QI_REG_P (operands[0])))
- {
- if ((INTVAL (operands[1]) & 0xff00) == 0)
- {
- /* ??? This might not be necessary. */
- if (INTVAL (operands[1]) & 0xffff0000)
- operands[1] = GEN_INT (INTVAL (operands[1]) & 0xff);
-
- /* We may set the sign bit spuriously. */
- cc_status.flags |= CC_NOT_NEGATIVE;
- return AS2 (test%B0,%1,%b0);
- }
-
- if ((INTVAL (operands[1]) & 0xff) == 0)
- {
- operands[1] = GEN_INT ((INTVAL (operands[1]) >> 8) & 0xff);
-
- if (QI_REG_P (operands[0]))
- return AS2 (test%B0,%1,%h0);
- else
- {
- operands[0] = adj_offsettable_operand (operands[0], 1);
- return AS2 (test%B0,%1,%b0);
- }
- }
- }
-
- if (CONSTANT_P (operands[1]) || GET_CODE (operands[0]) == MEM)
- return AS2 (test%W0,%1,%0);
-
- return AS2 (test%W1,%0,%1);
-}
-}
-
-static char *
-output_45 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (CONSTANT_P (operands[1]) || GET_CODE (operands[0]) == MEM)
- return AS2 (test%B0,%1,%0);
-
- return AS2 (test%B1,%0,%1);
-}
-}
-
-static char *
-output_50 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx link;
- if (operands[1] == const0_rtx && REG_P (operands[0]))
- return AS2 (xor%L0,%0,%0);
-
- if (operands[1] == const1_rtx
- && (link = find_reg_note (insn, REG_WAS_0, 0))
- /* Make sure the insn that stored the 0 is still present. */
- && ! INSN_DELETED_P (XEXP (link, 0))
- && GET_CODE (XEXP (link, 0)) != NOTE
- /* Make sure cross jumping didn't happen here. */
- && no_labels_between_p (XEXP (link, 0), insn)
- /* Make sure the reg hasn't been clobbered. */
- && ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
- /* Fastest way to change a 0 to a 1. */
- return AS1 (inc%L0,%0);
-
- if (flag_pic && SYMBOLIC_CONST (operands[1]))
- return AS2 (lea%L0,%a1,%0);
-
- return AS2 (mov%L0,%1,%0);
-}
-}
-
-static char *
-output_55 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx link;
- if (REG_P (operands[0]) && operands[1] == const0_rtx)
- return AS2 (xor%L0,%k0,%k0);
-
- if (REG_P (operands[0]) && operands[1] == const1_rtx
- && (link = find_reg_note (insn, REG_WAS_0, 0))
- /* Make sure the insn that stored the 0 is still present. */
- && ! INSN_DELETED_P (XEXP (link, 0))
- && GET_CODE (XEXP (link, 0)) != NOTE
- /* Make sure cross jumping didn't happen here. */
- && no_labels_between_p (XEXP (link, 0), insn)
- /* Make sure the reg hasn't been clobbered. */
- && ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
- /* Fastest way to change a 0 to a 1. */
- return AS1 (inc%L0,%k0);
-
- if (REG_P (operands[0]))
- {
- if (REG_P (operands[1]))
- return AS2 (mov%L0,%k1,%k0);
- else if (CONSTANT_P (operands[1]))
- return AS2 (mov%L0,%1,%k0);
- }
-
- return AS2 (mov%W0,%1,%0);
-}
-}
-
-static char *
-output_57 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx link;
- if (operands[1] == const0_rtx && REG_P (operands[0]))
- return AS2 (xor%W0,%0,%0);
-
- if (operands[1] == const1_rtx
- && (link = find_reg_note (insn, REG_WAS_0, 0))
- /* Make sure the insn that stored the 0 is still present. */
- && ! INSN_DELETED_P (XEXP (link, 0))
- && GET_CODE (XEXP (link, 0)) != NOTE
- /* Make sure cross jumping didn't happen here. */
- && no_labels_between_p (XEXP (link, 0), insn)
- /* Make sure the reg hasn't been clobbered. */
- && ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
- /* Fastest way to change a 0 to a 1. */
- return AS1 (inc%W0,%0);
-
- return AS2 (mov%W0,%1,%0);
-}
-}
-
-static char *
-output_58 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS1 (push%W0,%1);
-}
-
-static char *
-output_59 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- operands[1] = gen_rtx (REG, HImode, REGNO (operands[1]));
- return AS1 (push%W0,%1);
-}
-}
-
-static char *
-output_60 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- operands[1] = gen_rtx (REG, HImode, REGNO (operands[1]));
- return AS1 (push%W0,%1);
-}
-}
-
-static char *
-output_62 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx link;
- if (operands[1] == const0_rtx && REG_P (operands[0]))
- return AS2 (xor%B0,%0,%0);
-
- if (operands[1] == const1_rtx
- && (link = find_reg_note (insn, REG_WAS_0, 0))
- /* Make sure the insn that stored the 0 is still present. */
- && ! INSN_DELETED_P (XEXP (link, 0))
- && GET_CODE (XEXP (link, 0)) != NOTE
- /* Make sure cross jumping didn't happen here. */
- && no_labels_between_p (XEXP (link, 0), insn)
- /* Make sure the reg hasn't been clobbered. */
- && ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
- /* Fastest way to change a 0 to a 1. */
- return AS1 (inc%B0,%0);
-
- /* If mov%B0 isn't allowed for one of these regs, use mov%L0. */
- if (NON_QI_REG_P (operands[0]) || NON_QI_REG_P (operands[1]))
- return (AS2 (mov%L0,%k1,%k0));
-
- return (AS2 (mov%B0,%1,%0));
-}
-}
-
-static char *
-output_64 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx link;
- if (operands[1] == const0_rtx && REG_P (operands[0]))
- return AS2 (xor%B0,%0,%0);
-
- if (operands[1] == const1_rtx
- && (link = find_reg_note (insn, REG_WAS_0, 0))
- /* Make sure the insn that stored the 0 is still present. */
- && ! INSN_DELETED_P (XEXP (link, 0))
- && GET_CODE (XEXP (link, 0)) != NOTE
- /* Make sure cross jumping didn't happen here. */
- && no_labels_between_p (XEXP (link, 0), insn)
- /* Make sure the reg hasn't been clobbered. */
- && ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
- /* Fastest way to change a 0 to a 1. */
- return AS1 (inc%B0,%0);
-
- /* If mov%B0 isn't allowed for one of these regs, use mov%L0. */
- if (NON_QI_REG_P (operands[0]) || NON_QI_REG_P (operands[1]))
- {
- abort ();
- return (AS2 (mov%L0,%k1,%k0));
- }
-
- return AS2 (mov%B0,%1,%0);
-}
-}
-
-static char *
-output_66 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- if (! STACK_TOP_P (operands[1]))
- abort ();
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (4);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp%S0,%0), xops);
- else
- output_asm_insn (AS1 (fst%S0,%0), xops);
- RET;
- }
- return AS1 (push%L1,%1);
-}
-}
-
-static char *
-output_67 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- if (! STACK_TOP_P (operands[1]))
- abort ();
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (4);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp%S0,%0), xops);
- else
- output_asm_insn (AS1 (fst%S0,%0), xops);
- RET;
- }
-
- else if (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != REG)
- return AS1 (push%L1,%1);
-
- else
- {
- output_asm_insn (AS2 (mov%L2,%1,%2), operands);
- return AS1 (push%L2,%2);
- }
-}
-}
-
-static char *
-output_68 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- output_asm_insn (AS2 (mov%L2,%1,%2), operands);
- return AS2 (mov%L0,%2,%0);
-}
-}
-
-static char *
-output_69 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- /* First handle a `pop' insn or a `fld %st(0)' */
-
- if (STACK_TOP_P (operands[0]) && STACK_TOP_P (operands[1]))
- {
- if (stack_top_dies)
- return AS1 (fstp,%y0);
- else
- return AS1 (fld,%y0);
- }
-
- /* Handle a transfer between the 387 and a 386 register */
-
- if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- /* Handle other kinds of writes from the 387 */
-
- if (STACK_TOP_P (operands[1]))
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%y0);
- else
- return AS1 (fst%z0,%y0);
- }
-
- /* Handle other kinds of reads to the 387 */
-
- if (STACK_TOP_P (operands[0]) && GET_CODE (operands[1]) == CONST_DOUBLE)
- return output_move_const_single (operands);
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- /* Handle all SFmode moves not involving the 387 */
-
- return singlemove_string (operands);
-}
-}
-
-static char *
-output_70 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_TOP_P (operands[0]))
- return AS1 (fxch,%1);
- else
- return AS1 (fxch,%0);
-}
-}
-
-static char *
-output_72 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (8);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp%Q0,%0), xops);
- else
- output_asm_insn (AS1 (fst%Q0,%0), xops);
-
- RET;
- }
- else
- return output_move_double (operands);
-}
-}
-
-static char *
-output_73 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (8);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
-
- if (find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fstp%Q0,%0), xops);
- else
- output_asm_insn (AS1 (fst%Q0,%0), xops);
-
- RET;
- }
-
- else if (GET_CODE (operands[1]) != MEM)
- return output_move_double (operands);
-
- else
- return output_move_pushmem (operands, insn, GET_MODE_SIZE (DFmode), 2, 4);
-}
-}
-
-static char *
-output_74 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_move_memory (operands, insn, GET_MODE_SIZE (DFmode), 2, 4);
-}
-
-static char *
-output_75 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- /* First handle a `pop' insn or a `fld %st(0)' */
-
- if (STACK_TOP_P (operands[0]) && STACK_TOP_P (operands[1]))
- {
- if (stack_top_dies)
- return AS1 (fstp,%y0);
- else
- return AS1 (fld,%y0);
- }
-
- /* Handle a transfer between the 387 and a 386 register */
-
- if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- /* Handle other kinds of writes from the 387 */
-
- if (STACK_TOP_P (operands[1]))
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%y0);
- else
- return AS1 (fst%z0,%y0);
- }
-
- /* Handle other kinds of reads to the 387 */
-
- if (STACK_TOP_P (operands[0]) && GET_CODE (operands[1]) == CONST_DOUBLE)
- return output_move_const_single (operands);
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- /* Handle all DFmode moves not involving the 387 */
-
- return output_move_double (operands);
-}
-}
-
-static char *
-output_76 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_TOP_P (operands[0]))
- return AS1 (fxch,%1);
- else
- return AS1 (fxch,%0);
-}
-}
-
-static char *
-output_78 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (12);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
- output_asm_insn (AS1 (fstp%T0,%0), xops);
- if (! find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fld%T0,%0), xops);
-
- RET;
- }
- else
- return output_move_double (operands);
- }
-}
-
-static char *
-output_79 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_REG_P (operands[1]))
- {
- rtx xops[3];
-
- xops[0] = AT_SP (SFmode);
- xops[1] = GEN_INT (12);
- xops[2] = stack_pointer_rtx;
-
- output_asm_insn (AS2 (sub%L2,%1,%2), xops);
- output_asm_insn (AS1 (fstp%T0,%0), xops);
- if (! find_regno_note (insn, REG_DEAD, FIRST_STACK_REG))
- output_asm_insn (AS1 (fld%T0,%0), xops);
-
- RET;
- }
-
- else if (GET_CODE (operands[1]) != MEM
- || GET_CODE (operands[2]) != REG)
- return output_move_double (operands);
-
- else
- return output_move_pushmem (operands, insn, GET_MODE_SIZE (XFmode), 2, 4);
-}
-}
-
-static char *
-output_80 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_move_memory (operands, insn, GET_MODE_SIZE (XFmode), 2, 4);
-}
-
-static char *
-output_81 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- /* First handle a `pop' insn or a `fld %st(0)' */
-
- if (STACK_TOP_P (operands[0]) && STACK_TOP_P (operands[1]))
- {
- if (stack_top_dies)
- return AS1 (fstp,%y0);
- else
- return AS1 (fld,%y0);
- }
-
- /* Handle a transfer between the 387 and a 386 register */
-
- if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- /* Handle other kinds of writes from the 387 */
-
- if (STACK_TOP_P (operands[1]))
- {
- output_asm_insn (AS1 (fstp%z0,%y0), operands);
- if (! stack_top_dies)
- return AS1 (fld%z0,%y0);
-
- RET;
- }
-
- /* Handle other kinds of reads to the 387 */
-
- if (STACK_TOP_P (operands[0]) && GET_CODE (operands[1]) == CONST_DOUBLE)
- return output_move_const_single (operands);
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- /* Handle all XFmode moves not involving the 387 */
-
- return output_move_double (operands);
-}
-}
-
-static char *
-output_82 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (STACK_TOP_P (operands[0]))
- return AS1 (fxch,%1);
- else
- return AS1 (fxch,%0);
-}
-}
-
-static char *
-output_83 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) != MEM)
- return output_move_double (operands);
-
- else
- return output_move_pushmem (operands, insn, GET_MODE_SIZE (DImode), 2, 4);
-}
-}
-
-static char *
-output_84 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx low[2], high[2], xop[6];
-
- if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
- return output_move_double (operands);
- else
- return output_move_memory (operands, insn, GET_MODE_SIZE (DImode), 2, 4);
-}
-}
-
-static char *
-output_85 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if ((!TARGET_386 || REGNO (operands[0]) == 0)
- && REG_P (operands[1]) && REGNO (operands[0]) == REGNO (operands[1]))
- {
- rtx xops[2];
- xops[0] = operands[0];
- xops[1] = GEN_INT (0xffff);
- output_asm_insn (AS2 (and%L0,%1,%k0), xops);
- RET;
- }
-
-#ifdef INTEL_SYNTAX
- return AS2 (movzx,%1,%0);
-#else
- return AS2 (movz%W0%L0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_86 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if ((!TARGET_386 || REGNO (operands[0]) == 0)
- && REG_P (operands[1]) && REGNO (operands[0]) == REGNO (operands[1]))
- {
- rtx xops[2];
- xops[0] = operands[0];
- xops[1] = GEN_INT (0xff);
- output_asm_insn (AS2 (and%L0,%1,%k0), xops);
- RET;
- }
-
-#ifdef INTEL_SYNTAX
- return AS2 (movzx,%1,%0);
-#else
- return AS2 (movz%B0%W0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_87 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if ((!TARGET_386 || REGNO (operands[0]) == 0)
- && REG_P (operands[1]) && REGNO (operands[0]) == REGNO (operands[1]))
- {
- rtx xops[2];
- xops[0] = operands[0];
- xops[1] = GEN_INT (0xff);
- output_asm_insn (AS2 (and%L0,%1,%k0), xops);
- RET;
- }
-
-#ifdef INTEL_SYNTAX
- return AS2 (movzx,%1,%0);
-#else
- return AS2 (movz%B0%L0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_88 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- operands[0] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1);
- return AS2 (xor%L0,%0,%0);
-}
-}
-
-static char *
-output_89 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REGNO (operands[0]) == 0)
- {
- /* This used to be cwtl, but that extends HI to SI somehow. */
-#ifdef INTEL_SYNTAX
- return "cdq";
-#else
- return "cltd";
-#endif
- }
-
- operands[1] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1);
- output_asm_insn (AS2 (mov%L0,%0,%1), operands);
-
- operands[0] = GEN_INT (31);
- return AS2 (sar%L1,%0,%1);
-}
-}
-
-static char *
-output_90 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REGNO (operands[0]) == 0
- && REG_P (operands[1]) && REGNO (operands[1]) == 0)
-#ifdef INTEL_SYNTAX
- return "cwde";
-#else
- return "cwtl";
-#endif
-
-#ifdef INTEL_SYNTAX
- return AS2 (movsx,%1,%0);
-#else
- return AS2 (movs%W0%L0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_91 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REGNO (operands[0]) == 0
- && REG_P (operands[1]) && REGNO (operands[1]) == 0)
- return "cbtw";
-
-#ifdef INTEL_SYNTAX
- return AS2 (movsx,%1,%0);
-#else
- return AS2 (movs%B0%W0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_92 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
-#ifdef INTEL_SYNTAX
- return AS2 (movsx,%1,%0);
-#else
- return AS2 (movs%B0%L0,%1,%0);
-#endif
-}
-}
-
-static char *
-output_93 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- if (GET_CODE (operands[0]) == MEM)
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%y0);
- else
- return AS1 (fst%z0,%y0);
- }
-
- abort ();
-}
-}
-
-static char *
-output_94 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- if (GET_CODE (operands[0]) == MEM)
- {
- output_asm_insn (AS1 (fstp%z0,%y0), operands);
- if (! stack_top_dies)
- return AS1 (fld%z0,%y0);
- RET;
- }
-
- abort ();
-}
-}
-
-static char *
-output_95 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
- RET;
- }
-
- if (NON_STACK_REG_P (operands[0]))
- {
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
-
- if (STACK_TOP_P (operands[0]))
- return AS1 (fld%z1,%y1);
-
- if (GET_CODE (operands[0]) == MEM)
- {
- output_asm_insn (AS1 (fstp%z0,%y0), operands);
- if (! stack_top_dies)
- return AS1 (fld%z0,%y0);
- RET;
- }
-
- abort ();
-}
-}
-
-static char *
-output_97 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (GET_CODE (operands[0]) == MEM)
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%0);
- else
- return AS1 (fst%z0,%0);
- }
- else if (STACK_TOP_P (operands[0]))
- {
- output_asm_insn (AS1 (fstp%z2,%y2), operands);
- return AS1 (fld%z2,%y2);
- }
- else
- abort ();
-}
-}
-
-static char *
-output_98 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (NON_STACK_REG_P (operands[0]))
- {
- if (stack_top_dies == 0)
- {
- output_asm_insn (AS1 (fld,%y1), operands);
- stack_top_dies = 1;
- }
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
- else if (GET_CODE (operands[0]) == MEM)
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%0);
- else
- {
- output_asm_insn (AS1 (fld,%y1), operands);
- return AS1 (fstp%z0,%0);
- }
- }
- else
- abort ();
-}
-}
-
-static char *
-output_99 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- int stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
-
- if (NON_STACK_REG_P (operands[0]))
- {
- if (stack_top_dies == 0)
- {
- output_asm_insn (AS1 (fld,%y1), operands);
- stack_top_dies = 1;
- }
- output_to_reg (operands[0], stack_top_dies);
- RET;
- }
- else if (GET_CODE (operands[0]) == MEM)
- {
- if (stack_top_dies)
- return AS1 (fstp%z0,%0);
- else
- {
- output_asm_insn (AS1 (fld,%y1), operands);
- return AS1 (fstp%z0,%0);
- }
- }
- else
- abort ();
-}
-}
-
-static char *
-output_106 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_107 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_108 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_112 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_113 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_114 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_fix_trunc (insn, operands);
-}
-
-static char *
-output_121 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_122 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_123 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_124 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_125 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_126 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (NON_STACK_REG_P (operands[1]))
- {
- output_op_from_reg (operands[1], AS1 (fild%z0,%1));
- RET;
- }
- else if (GET_CODE (operands[1]) == MEM)
- return AS1 (fild%z1,%1);
- else
- abort ();
-}
-}
-
-static char *
-output_127 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx low[3], high[3], xops[7], temp;
-
- CC_STATUS_INIT;
-
- if (rtx_equal_p (operands[0], operands[2]))
- {
- temp = operands[1];
- operands[1] = operands[2];
- operands[2] = temp;
- }
-
- split_di (operands, 3, low, high);
- if (!rtx_equal_p (operands[0], operands[1]))
- {
- xops[0] = high[0];
- xops[1] = low[0];
- xops[2] = high[1];
- xops[3] = low[1];
-
- if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
- {
- output_asm_insn (AS2 (mov%L1,%3,%1), xops);
- output_asm_insn (AS2 (mov%L0,%2,%0), xops);
- }
- else
- {
- xops[4] = high[2];
- xops[5] = low[2];
- xops[6] = operands[3];
- output_asm_insn (AS2 (mov%L6,%3,%6), xops);
- output_asm_insn (AS2 (add%L6,%5,%6), xops);
- output_asm_insn (AS2 (mov%L1,%6,%1), xops);
- output_asm_insn (AS2 (mov%L6,%2,%6), xops);
- output_asm_insn (AS2 (adc%L6,%4,%6), xops);
- output_asm_insn (AS2 (mov%L0,%6,%0), xops);
- RET;
- }
- }
-
- if (GET_CODE (operands[3]) == REG && GET_CODE (operands[2]) != REG)
- {
- xops[0] = high[0];
- xops[1] = low[0];
- xops[2] = high[2];
- xops[3] = low[2];
- xops[4] = operands[3];
-
- output_asm_insn (AS2 (mov%L4,%3,%4), xops);
- output_asm_insn (AS2 (add%L1,%4,%1), xops);
- output_asm_insn (AS2 (mov%L4,%2,%4), xops);
- output_asm_insn (AS2 (adc%L0,%4,%0), xops);
- }
-
- else if (GET_CODE (low[2]) != CONST_INT || INTVAL (low[2]) != 0)
- {
- output_asm_insn (AS2 (add%L0,%2,%0), low);
- output_asm_insn (AS2 (adc%L0,%2,%0), high);
- }
-
- else
- output_asm_insn (AS2 (add%L0,%2,%0), high);
-
- RET;
-}
-}
-
-static char *
-output_128 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[0]) && REGNO (operands[0]) != REGNO (operands[1]))
- {
- if (REG_P (operands[2]) && REGNO (operands[0]) == REGNO (operands[2]))
- return AS2 (add%L0,%1,%0);
-
- if (operands[2] == stack_pointer_rtx)
- {
- rtx temp;
-
- temp = operands[1];
- operands[1] = operands[2];
- operands[2] = temp;
- }
-
- if (operands[2] != stack_pointer_rtx)
- {
- CC_STATUS_INIT;
- operands[1] = SET_SRC (PATTERN (insn));
- return AS2 (lea%L0,%a1,%0);
- }
-
- output_asm_insn (AS2 (mov%L0,%1,%0), operands);
- }
-
- if (operands[2] == const1_rtx)
- return AS1 (inc%L0,%0);
-
- if (operands[2] == constm1_rtx)
- return AS1 (dec%L0,%0);
-
- return AS2 (add%L0,%2,%0);
-}
-}
-
-static char *
-output_129 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- /* ??? what about offsettable memory references? */
- if (QI_REG_P (operands[0])
- && GET_CODE (operands[2]) == CONST_INT
- && (INTVAL (operands[2]) & 0xff) == 0)
- {
- int byteval = (INTVAL (operands[2]) >> 8) & 0xff;
- CC_STATUS_INIT;
-
- if (byteval == 1)
- return AS1 (inc%B0,%h0);
- else if (byteval == 255)
- return AS1 (dec%B0,%h0);
-
- operands[2] = GEN_INT (byteval);
- return AS2 (add%B0,%2,%h0);
- }
-
- if (operands[2] == const1_rtx)
- return AS1 (inc%W0,%0);
-
- if (operands[2] == constm1_rtx
- || (GET_CODE (operands[2]) == CONST_INT
- && INTVAL (operands[2]) == 65535))
- return AS1 (dec%W0,%0);
-
- return AS2 (add%W0,%2,%0);
-}
-}
-
-static char *
-output_130 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (operands[2] == const1_rtx)
- return AS1 (inc%B0,%0);
-
- if (operands[2] == constm1_rtx
- || (GET_CODE (operands[2]) == CONST_INT
- && INTVAL (operands[2]) == 255))
- return AS1 (dec%B0,%0);
-
- return AS2 (add%B0,%2,%0);
-}
-}
-
-static char *
-output_131 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
- /* Adding a constant to a register is faster with an add. */
- /* ??? can this ever happen? */
- if (GET_CODE (operands[1]) == PLUS
- && GET_CODE (XEXP (operands[1], 1)) == CONST_INT
- && rtx_equal_p (operands[0], XEXP (operands[1], 0)))
- {
- operands[1] = XEXP (operands[1], 1);
-
- if (operands[1] == const1_rtx)
- return AS1 (inc%L0,%0);
-
- if (operands[1] == constm1_rtx)
- return AS1 (dec%L0,%0);
-
- return AS2 (add%L0,%1,%0);
- }
- return AS2 (lea%L0,%a1,%0);
-}
-}
-
-static char *
-output_135 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx low[3], high[3], xops[7];
-
- CC_STATUS_INIT;
-
- split_di (operands, 3, low, high);
-
- if (!rtx_equal_p (operands[0], operands[1]))
- {
- xops[0] = high[0];
- xops[1] = low[0];
- xops[2] = high[1];
- xops[3] = low[1];
-
- if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
- {
- output_asm_insn (AS2 (mov%L1,%3,%1), xops);
- output_asm_insn (AS2 (mov%L0,%2,%0), xops);
- }
- else
- {
- xops[4] = high[2];
- xops[5] = low[2];
- xops[6] = operands[3];
- output_asm_insn (AS2 (mov%L6,%3,%6), xops);
- output_asm_insn (AS2 (sub%L6,%5,%6), xops);
- output_asm_insn (AS2 (mov%L1,%6,%1), xops);
- output_asm_insn (AS2 (mov%L6,%2,%6), xops);
- output_asm_insn (AS2 (sbb%L6,%4,%6), xops);
- output_asm_insn (AS2 (mov%L0,%6,%0), xops);
- RET;
- }
- }
-
- if (GET_CODE (operands[3]) == REG)
- {
- xops[0] = high[0];
- xops[1] = low[0];
- xops[2] = high[2];
- xops[3] = low[2];
- xops[4] = operands[3];
-
- output_asm_insn (AS2 (mov%L4,%3,%4), xops);
- output_asm_insn (AS2 (sub%L1,%4,%1), xops);
- output_asm_insn (AS2 (mov%L4,%2,%4), xops);
- output_asm_insn (AS2 (sbb%L0,%4,%0), xops);
- }
-
- else if (GET_CODE (low[2]) != CONST_INT || INTVAL (low[2]) != 0)
- {
- output_asm_insn (AS2 (sub%L0,%2,%0), low);
- output_asm_insn (AS2 (sbb%L0,%2,%0), high);
- }
-
- else
- output_asm_insn (AS2 (sub%L0,%2,%0), high);
-
- RET;
-}
-}
-
-static char *
-output_136 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (sub%L0,%2,%0);
-}
-
-static char *
-output_137 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (sub%W0,%2,%0);
-}
-
-static char *
-output_138 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (sub%B0,%2,%0);
-}
-
-static char *
-output_142 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (imul%W0,%2,%0);
-}
-
-static char *
-output_143 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) == REG
- && REGNO (operands[1]) == REGNO (operands[0])
- && (GET_CODE (operands[2]) == MEM || GET_CODE (operands[2]) == REG))
- /* Assembler has weird restrictions. */
- return AS2 (imul%W0,%2,%0);
- return AS3 (imul%W0,%2,%1,%0);
-}
-}
-
-static char *
-output_144 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (imul%L0,%2,%0);
-}
-
-static char *
-output_145 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) == REG
- && REGNO (operands[1]) == REGNO (operands[0])
- && (GET_CODE (operands[2]) == MEM || GET_CODE (operands[2]) == REG))
- /* Assembler has weird restrictions. */
- return AS2 (imul%L0,%2,%0);
- return AS3 (imul%L0,%2,%1,%0);
-}
-}
-
-static char *
-output_160 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
-#ifdef INTEL_SYNTAX
- output_asm_insn ("cdq", operands);
-#else
- output_asm_insn ("cltd", operands);
-#endif
- return AS1 (idiv%L0,%2);
-}
-}
-
-static char *
-output_162 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- output_asm_insn (AS2 (xor%L3,%3,%3), operands);
- return AS1 (div%L0,%2);
-}
-}
-
-static char *
-output_163 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- output_asm_insn (AS2 (xor%W0,%3,%3), operands);
- return AS1 (div%W0,%2);
-}
-}
-
-static char *
-output_164 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- if (INTVAL (operands[2]) == 0xffff && REG_P (operands[0])
- && (! REG_P (operands[1])
- || REGNO (operands[0]) != 0 || REGNO (operands[1]) != 0)
- && (TARGET_386 || ! rtx_equal_p (operands[0], operands[1])))
- {
- /* ??? tege: Should forget CC_STATUS only if we clobber a
- remembered operand. Fix that later. */
- CC_STATUS_INIT;
-#ifdef INTEL_SYNTAX
- return AS2 (movzx,%w1,%0);
-#else
- return AS2 (movz%W0%L0,%w1,%0);
-#endif
- }
-
- if (INTVAL (operands[2]) == 0xff && REG_P (operands[0])
- && !(REG_P (operands[1]) && NON_QI_REG_P (operands[1]))
- && (! REG_P (operands[1])
- || REGNO (operands[0]) != 0 || REGNO (operands[1]) != 0)
- && (TARGET_386 || ! rtx_equal_p (operands[0], operands[1])))
- {
- /* ??? tege: Should forget CC_STATUS only if we clobber a
- remembered operand. Fix that later. */
- CC_STATUS_INIT;
-#ifdef INTEL_SYNTAX
- return AS2 (movzx,%b1,%0);
-#else
- return AS2 (movz%B0%L0,%b1,%0);
-#endif
- }
-
- if (QI_REG_P (operands[0]) && ~(INTVAL (operands[2]) | 0xff) == 0)
- {
- CC_STATUS_INIT;
-
- if (INTVAL (operands[2]) == 0xffffff00)
- {
- operands[2] = const0_rtx;
- return AS2 (mov%B0,%2,%b0);
- }
-
- operands[2] = GEN_INT (INTVAL (operands[2]) & 0xff);
- return AS2 (and%B0,%2,%b0);
- }
-
- if (QI_REG_P (operands[0]) && ~(INTVAL (operands[2]) | 0xff00) == 0)
- {
- CC_STATUS_INIT;
-
- if (INTVAL (operands[2]) == 0xffff00ff)
- {
- operands[2] = const0_rtx;
- return AS2 (mov%B0,%2,%h0);
- }
-
- operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff);
- return AS2 (and%B0,%2,%h0);
- }
-
- if (GET_CODE (operands[0]) == MEM && INTVAL (operands[2]) == 0xffff0000)
- {
- operands[2] = const0_rtx;
- return AS2 (mov%W0,%2,%w0);
- }
- }
-
- return AS2 (and%L0,%2,%0);
-}
-}
-
-static char *
-output_165 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- /* Can we ignore the upper byte? */
- if ((! REG_P (operands[0]) || QI_REG_P (operands[0]))
- && (INTVAL (operands[2]) & 0xff00) == 0xff00)
- {
- CC_STATUS_INIT;
-
- if ((INTVAL (operands[2]) & 0xff) == 0)
- {
- operands[2] = const0_rtx;
- return AS2 (mov%B0,%2,%b0);
- }
-
- operands[2] = GEN_INT (INTVAL (operands[2]) & 0xff);
- return AS2 (and%B0,%2,%b0);
- }
-
- /* Can we ignore the lower byte? */
- /* ??? what about offsettable memory references? */
- if (QI_REG_P (operands[0]) && (INTVAL (operands[2]) & 0xff) == 0xff)
- {
- CC_STATUS_INIT;
-
- if ((INTVAL (operands[2]) & 0xff00) == 0)
- {
- operands[2] = const0_rtx;
- return AS2 (mov%B0,%2,%h0);
- }
-
- operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff);
- return AS2 (and%B0,%2,%h0);
- }
- }
-
- return AS2 (and%W0,%2,%0);
-}
-}
-
-static char *
-output_166 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (and%B0,%2,%0);
-}
-
-static char *
-output_167 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- if ((! REG_P (operands[0]) || QI_REG_P (operands[0]))
- && (INTVAL (operands[2]) & ~0xff) == 0)
- {
- CC_STATUS_INIT;
-
- if (INTVAL (operands[2]) == 0xff)
- return AS2 (mov%B0,%2,%b0);
-
- return AS2 (or%B0,%2,%b0);
- }
-
- if (QI_REG_P (operands[0]) && (INTVAL (operands[2]) & ~0xff00) == 0)
- {
- CC_STATUS_INIT;
- operands[2] = GEN_INT (INTVAL (operands[2]) >> 8);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS2 (mov%B0,%2,%h0);
-
- return AS2 (or%B0,%2,%h0);
- }
- }
-
- return AS2 (or%L0,%2,%0);
-}
-}
-
-static char *
-output_168 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- /* Can we ignore the upper byte? */
- if ((! REG_P (operands[0]) || QI_REG_P (operands[0]))
- && (INTVAL (operands[2]) & 0xff00) == 0)
- {
- CC_STATUS_INIT;
- if (INTVAL (operands[2]) & 0xffff0000)
- operands[2] = GEN_INT (INTVAL (operands[2]) & 0xffff);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS2 (mov%B0,%2,%b0);
-
- return AS2 (or%B0,%2,%b0);
- }
-
- /* Can we ignore the lower byte? */
- /* ??? what about offsettable memory references? */
- if (QI_REG_P (operands[0])
- && (INTVAL (operands[2]) & 0xff) == 0)
- {
- CC_STATUS_INIT;
- operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS2 (mov%B0,%2,%h0);
-
- return AS2 (or%B0,%2,%h0);
- }
- }
-
- return AS2 (or%W0,%2,%0);
-}
-}
-
-static char *
-output_169 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (or%B0,%2,%0);
-}
-
-static char *
-output_170 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- if ((! REG_P (operands[0]) || QI_REG_P (operands[0]))
- && (INTVAL (operands[2]) & ~0xff) == 0)
- {
- CC_STATUS_INIT;
-
- if (INTVAL (operands[2]) == 0xff)
- return AS1 (not%B0,%b0);
-
- return AS2 (xor%B0,%2,%b0);
- }
-
- if (QI_REG_P (operands[0]) && (INTVAL (operands[2]) & ~0xff00) == 0)
- {
- CC_STATUS_INIT;
- operands[2] = GEN_INT (INTVAL (operands[2]) >> 8);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS1 (not%B0,%h0);
-
- return AS2 (xor%B0,%2,%h0);
- }
- }
-
- return AS2 (xor%L0,%2,%0);
-}
-}
-
-static char *
-output_171 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[2]) == CONST_INT
- && ! (GET_CODE (operands[0]) == MEM && MEM_VOLATILE_P (operands[0])))
- {
- /* Can we ignore the upper byte? */
- if ((! REG_P (operands[0]) || QI_REG_P (operands[0]))
- && (INTVAL (operands[2]) & 0xff00) == 0)
- {
- CC_STATUS_INIT;
- if (INTVAL (operands[2]) & 0xffff0000)
- operands[2] = GEN_INT (INTVAL (operands[2]) & 0xffff);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS1 (not%B0,%b0);
-
- return AS2 (xor%B0,%2,%b0);
- }
-
- /* Can we ignore the lower byte? */
- /* ??? what about offsettable memory references? */
- if (QI_REG_P (operands[0])
- && (INTVAL (operands[2]) & 0xff) == 0)
- {
- CC_STATUS_INIT;
- operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff);
-
- if (INTVAL (operands[2]) == 0xff)
- return AS1 (not%B0,%h0);
-
- return AS2 (xor%B0,%2,%h0);
- }
- }
-
- return AS2 (xor%W0,%2,%0);
-}
-}
-
-static char *
-output_172 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return AS2 (xor%B0,%2,%0);
-}
-
-static char *
-output_173 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[2], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = const0_rtx;
- xops[1] = high[0];
-
- output_asm_insn (AS1 (neg%L0,%0), low);
- output_asm_insn (AS2 (adc%L1,%0,%1), xops);
- output_asm_insn (AS1 (neg%L0,%0), high);
- RET;
-}
-}
-
-static char *
-output_203 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- if (INTVAL (xops[0]) > 31)
- {
- output_asm_insn (AS2 (mov%L3,%2,%3), xops); /* Fast shift by 32 */
- output_asm_insn (AS2 (xor%L2,%2,%2), xops);
-
- if (INTVAL (xops[0]) > 32)
- {
- xops[0] = GEN_INT (INTVAL (xops[0]) - 32);
- output_asm_insn (AS2 (sal%L3,%0,%3), xops); /* Remaining shift */
- }
- }
- else
- {
- output_asm_insn (AS3 (shld%L3,%0,%2,%3), xops);
- output_asm_insn (AS2 (sal%L2,%0,%2), xops);
- }
- RET;
-}
-}
-
-static char *
-output_204 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- output_asm_insn (AS2 (ror%B0,%1,%0), xops); /* shift count / 2 */
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shld%L3,%0,%2,%3), xops);
- output_asm_insn (AS2 (sal%L2,%0,%2), xops);
- output_asm_insn (AS3_SHIFT_DOUBLE (shld%L3,%0,%2,%3), xops);
- output_asm_insn (AS2 (sal%L2,%0,%2), xops);
-
- xops[1] = GEN_INT (7); /* shift count & 1 */
-
- output_asm_insn (AS2 (shr%B0,%1,%0), xops);
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shld%L3,%0,%2,%3), xops);
- output_asm_insn (AS2 (sal%L2,%0,%2), xops);
-
- RET;
-}
-}
-
-static char *
-output_205 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[0]) && REGNO (operands[0]) != REGNO (operands[1]))
- {
- if (!TARGET_386 && INTVAL (operands[2]) == 1)
- {
- output_asm_insn (AS2 (mov%L0,%1,%0), operands);
- return AS2 (add%L0,%1,%0);
- }
- else
- {
- CC_STATUS_INIT;
-
- if (operands[1] == stack_pointer_rtx)
- {
- output_asm_insn (AS2 (mov%L0,%1,%0), operands);
- operands[1] = operands[0];
- }
- operands[1] = gen_rtx (MULT, SImode, operands[1],
- GEN_INT (1 << INTVAL (operands[2])));
- return AS2 (lea%L0,%a1,%0);
- }
- }
-
- if (REG_P (operands[2]))
- return AS2 (sal%L0,%b2,%0);
-
- if (REG_P (operands[0]) && operands[2] == const1_rtx)
- return AS2 (add%L0,%0,%0);
-
- return AS2 (sal%L0,%2,%0);
-}
-}
-
-static char *
-output_206 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (sal%W0,%b2,%0);
-
- if (REG_P (operands[0]) && operands[2] == const1_rtx)
- return AS2 (add%W0,%0,%0);
-
- return AS2 (sal%W0,%2,%0);
-}
-}
-
-static char *
-output_207 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (sal%B0,%b2,%0);
-
- if (REG_P (operands[0]) && operands[2] == const1_rtx)
- return AS2 (add%B0,%0,%0);
-
- return AS2 (sal%B0,%2,%0);
-}
-}
-
-static char *
-output_209 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- if (INTVAL (xops[0]) > 31)
- {
- xops[1] = GEN_INT (31);
- output_asm_insn (AS2 (mov%L2,%3,%2), xops);
- output_asm_insn (AS2 (sar%L3,%1,%3), xops); /* shift by 32 */
-
- if (INTVAL (xops[0]) > 32)
- {
- xops[0] = GEN_INT (INTVAL (xops[0]) - 32);
- output_asm_insn (AS2 (sar%L2,%0,%2), xops); /* Remaining shift */
- }
- }
- else
- {
- output_asm_insn (AS3 (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (sar%L3,%0,%3), xops);
- }
-
- RET;
-}
-}
-
-static char *
-output_210 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- output_asm_insn (AS2 (ror%B0,%1,%0), xops); /* shift count / 2 */
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (sar%L3,%0,%3), xops);
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (sar%L3,%0,%3), xops);
-
- xops[1] = GEN_INT (7); /* shift count & 1 */
-
- output_asm_insn (AS2 (shr%B0,%1,%0), xops);
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (sar%L3,%0,%3), xops);
-
- RET;
-}
-}
-
-static char *
-output_211 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (sar%L0,%b2,%0);
- else
- return AS2 (sar%L0,%2,%0);
-}
-}
-
-static char *
-output_212 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (sar%W0,%b2,%0);
- else
- return AS2 (sar%W0,%2,%0);
-}
-}
-
-static char *
-output_213 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (sar%B0,%b2,%0);
- else
- return AS2 (sar%B0,%2,%0);
-}
-}
-
-static char *
-output_215 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- if (INTVAL (xops[0]) > 31)
- {
- output_asm_insn (AS2 (mov%L2,%3,%2), xops); /* Fast shift by 32 */
- output_asm_insn (AS2 (xor%L3,%3,%3), xops);
-
- if (INTVAL (xops[0]) > 32)
- {
- xops[0] = GEN_INT (INTVAL (xops[0]) - 32);
- output_asm_insn (AS2 (shr%L2,%0,%2), xops); /* Remaining shift */
- }
- }
- else
- {
- output_asm_insn (AS3 (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (shr%L3,%0,%3), xops);
- }
-
- RET;
-}
-}
-
-static char *
-output_216 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], low[1], high[1];
-
- CC_STATUS_INIT;
-
- split_di (operands, 1, low, high);
- xops[0] = operands[2];
- xops[1] = const1_rtx;
- xops[2] = low[0];
- xops[3] = high[0];
-
- output_asm_insn (AS2 (ror%B0,%1,%0), xops); /* shift count / 2 */
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (shr%L3,%0,%3), xops);
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (shr%L3,%0,%3), xops);
-
- xops[1] = GEN_INT (7); /* shift count & 1 */
-
- output_asm_insn (AS2 (shr%B0,%1,%0), xops);
-
- output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
- output_asm_insn (AS2 (shr%L3,%0,%3), xops);
-
- RET;
-}
-}
-
-static char *
-output_217 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (shr%L0,%b2,%0);
- else
- return AS2 (shr%L0,%2,%1);
-}
-}
-
-static char *
-output_218 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (shr%W0,%b2,%0);
- else
- return AS2 (shr%W0,%2,%0);
-}
-}
-
-static char *
-output_219 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (shr%B0,%b2,%0);
- else
- return AS2 (shr%B0,%2,%0);
-}
-}
-
-static char *
-output_220 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (rol%L0,%b2,%0);
- else
- return AS2 (rol%L0,%2,%0);
-}
-}
-
-static char *
-output_221 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (rol%W0,%b2,%0);
- else
- return AS2 (rol%W0,%2,%0);
-}
-}
-
-static char *
-output_222 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (rol%B0,%b2,%0);
- else
- return AS2 (rol%B0,%2,%0);
-}
-}
-
-static char *
-output_223 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (ror%L0,%b2,%0);
- else
- return AS2 (ror%L0,%2,%0);
-}
-}
-
-static char *
-output_224 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (ror%W0,%b2,%0);
- else
- return AS2 (ror%W0,%2,%0);
-}
-}
-
-static char *
-output_225 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (REG_P (operands[2]))
- return AS2 (ror%B0,%b2,%0);
- else
- return AS2 (ror%B0,%2,%0);
-}
-}
-
-static char *
-output_226 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
-
- if (INTVAL (operands[3]) == 1)
- return AS2 (bts%L0,%2,%0);
- else
- return AS2 (btr%L0,%2,%0);
-}
-}
-
-static char *
-output_227 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
-
- return AS2 (btc%L0,%1,%0);
-}
-}
-
-static char *
-output_228 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
-
- return AS2 (btc%L0,%2,%0);
-}
-}
-
-static char *
-output_229 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- cc_status.flags |= CC_Z_IN_NOT_C;
- return AS2 (bt%L0,%1,%0);
-}
-}
-
-static char *
-output_230 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- unsigned int mask;
-
- mask = ((1 << INTVAL (operands[1])) - 1) << INTVAL (operands[2]);
- operands[1] = GEN_INT (mask);
-
- if (QI_REG_P (operands[0]))
- {
- if ((mask & ~0xff) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- return AS2 (test%B0,%1,%b0);
- }
-
- if ((mask & ~0xff00) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (mask >> 8);
- return AS2 (test%B0,%1,%h0);
- }
- }
-
- return AS2 (test%L0,%1,%0);
-}
-}
-
-static char *
-output_231 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- unsigned int mask;
-
- mask = ((1 << INTVAL (operands[1])) - 1) << INTVAL (operands[2]);
- operands[1] = GEN_INT (mask);
-
- if (! REG_P (operands[0]) || QI_REG_P (operands[0]))
- {
- if ((mask & ~0xff) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- return AS2 (test%B0,%1,%b0);
- }
-
- if ((mask & ~0xff00) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (mask >> 8);
-
- if (QI_REG_P (operands[0]))
- return AS2 (test%B0,%1,%h0);
- else
- {
- operands[0] = adj_offsettable_operand (operands[0], 1);
- return AS2 (test%B0,%1,%b0);
- }
- }
-
- if (GET_CODE (operands[0]) == MEM && (mask & ~0xff0000) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (mask >> 16);
- operands[0] = adj_offsettable_operand (operands[0], 2);
- return AS2 (test%B0,%1,%b0);
- }
-
- if (GET_CODE (operands[0]) == MEM && (mask & ~0xff000000) == 0)
- {
- cc_status.flags |= CC_NOT_NEGATIVE;
- operands[1] = GEN_INT (mask >> 24);
- operands[0] = adj_offsettable_operand (operands[0], 3);
- return AS2 (test%B0,%1,%b0);
- }
- }
-
- if (CONSTANT_P (operands[1]) || GET_CODE (operands[0]) == MEM)
- return AS2 (test%L0,%1,%0);
-
- return AS2 (test%L1,%0,%1);
-}
-}
-
-static char *
-output_233 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return AS1 (setnb,%0);
- else
- return AS1 (sete,%0);
-}
-}
-
-static char *
-output_235 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return AS1 (setb,%0);
- else
- return AS1 (setne,%0);
-}
-
-}
-
-static char *
-output_237 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (sete,%0);
-
- OUTPUT_JUMP ("setg %0", "seta %0", NULL_PTR);
-}
-}
-
-static char *
-output_239 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return "seta %0";
-}
-
-static char *
-output_241 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (sete,%0);
-
- OUTPUT_JUMP ("setl %0", "setb %0", "sets %0");
-}
-}
-
-static char *
-output_243 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return "setb %0";
-}
-
-static char *
-output_245 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (sete,%0);
-
- OUTPUT_JUMP ("setge %0", "setae %0", "setns %0");
-}
-}
-
-static char *
-output_247 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return "setae %0";
-}
-
-static char *
-output_249 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (setb,%0);
-
- OUTPUT_JUMP ("setle %0", "setbe %0", NULL_PTR);
-}
-}
-
-static char *
-output_251 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return "setbe %0";
-}
-
-static char *
-output_253 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return "jnc %l0";
- else
- return "je %l0";
-}
-}
-
-static char *
-output_255 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return "jc %l0";
- else
- return "jne %l0";
-}
-}
-
-static char *
-output_257 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (je,%l0);
-
- OUTPUT_JUMP ("jg %l0", "ja %l0", NULL_PTR);
-}
-}
-
-static char *
-output_261 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (je,%l0);
-
- OUTPUT_JUMP ("jl %l0", "jb %l0", "js %l0");
-}
-}
-
-static char *
-output_265 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (je,%l0);
-
- OUTPUT_JUMP ("jge %l0", "jae %l0", "jns %l0");
-}
-}
-
-static char *
-output_269 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (jb,%l0);
-
- OUTPUT_JUMP ("jle %l0", "jbe %l0", NULL_PTR);
-}
-}
-
-static char *
-output_272 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return "jc %l0";
- else
- return "jne %l0";
-}
-}
-
-static char *
-output_273 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (cc_prev_status.flags & CC_Z_IN_NOT_C)
- return "jnc %l0";
- else
- return "je %l0";
-}
-}
-
-static char *
-output_274 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (jne,%l0);
-
- OUTPUT_JUMP ("jle %l0", "jbe %l0", NULL_PTR);
-}
-}
-
-static char *
-output_276 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (jne,%l0);
-
- OUTPUT_JUMP ("jge %l0", "jae %l0", "jns %l0");
-}
-}
-
-static char *
-output_278 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (jne,%l0);
-
- OUTPUT_JUMP ("jl %l0", "jb %l0", "js %l0");
-}
-}
-
-static char *
-output_280 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (TARGET_IEEE_FP && (cc_prev_status.flags & CC_IN_80387))
- return AS1 (jae,%l0);
-
- OUTPUT_JUMP ("jg %l0", "ja %l0", NULL_PTR);
-}
-}
-
-static char *
-output_283 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
-
- return AS1 (jmp,%*%0);
-}
-}
-
-static char *
-output_285 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4];
-
- xops[0] = operands[0];
- xops[1] = operands[1];
- xops[2] = operands[2];
- xops[3] = pic_offset_table_rtx;
-
- output_asm_insn (AS2 (mov%L2,%3,%2), xops);
- output_asm_insn ("sub%L2 %l1@GOTOFF(%3,%0,4),%2", xops);
- output_asm_insn (AS1 (jmp,%*%2), xops);
- ASM_OUTPUT_ALIGN_CODE (asm_out_file);
- RET;
-}
-}
-
-static char *
-output_286 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- CC_STATUS_INIT;
-
- return AS1 (jmp,%*%0);
-}
-}
-
-static char *
-output_288 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[0]) == MEM
- && ! CONSTANT_ADDRESS_P (XEXP (operands[0], 0)))
- {
- operands[0] = XEXP (operands[0], 0);
- return AS1 (call,%*%0);
- }
- else
- return AS1 (call,%P0);
-}
-}
-
-static char *
-output_291 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[0]) == MEM
- && ! CONSTANT_ADDRESS_P (XEXP (operands[0], 0)))
- {
- operands[0] = XEXP (operands[0], 0);
- return AS1 (call,%*%0);
- }
- else
- return AS1 (call,%P0);
-}
-}
-
-static char *
-output_294 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) == MEM
- && ! CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
- {
- operands[1] = XEXP (operands[1], 0);
- output_asm_insn (AS1 (call,%*%1), operands);
- }
- else
- output_asm_insn (AS1 (call,%P1), operands);
-
- RET;
-}
-}
-
-static char *
-output_297 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- if (GET_CODE (operands[1]) == MEM
- && ! CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))
- {
- operands[1] = XEXP (operands[1], 0);
- output_asm_insn (AS1 (call,%*%1), operands);
- }
- else
- output_asm_insn (AS1 (call,%P1), operands);
-
- RET;
-}
-}
-
-static char *
-output_301 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- function_epilogue (asm_out_file, get_frame_size ());
- RET;
-}
-}
-
-static char *
-output_304 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[2];
-
- output_asm_insn ("cld", operands);
- if (GET_CODE (operands[2]) == CONST_INT)
- {
- if (INTVAL (operands[2]) & ~0x03)
- {
- xops[0] = GEN_INT ((INTVAL (operands[2]) >> 2) & 0x3fffffff);
- xops[1] = operands[4];
-
- output_asm_insn (AS2 (mov%L1,%0,%1), xops);
-#ifdef INTEL_SYNTAX
- output_asm_insn ("rep movsd", xops);
-#else
- output_asm_insn ("rep\n\tmovsl", xops);
-#endif
- }
- if (INTVAL (operands[2]) & 0x02)
- output_asm_insn ("movsw", operands);
- if (INTVAL (operands[2]) & 0x01)
- output_asm_insn ("movsb", operands);
- }
- else
- abort ();
- RET;
-}
-}
-
-static char *
-output_306 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[4], label;
-
- label = gen_label_rtx ();
-
- output_asm_insn ("cld", operands);
- output_asm_insn (AS2 (xor%L0,%0,%0), operands);
- output_asm_insn ("repz\n\tcmps%B2", operands);
- output_asm_insn ("je %l0", &label);
-
- xops[0] = operands[0];
- xops[1] = gen_rtx (MEM, QImode,
- gen_rtx (PLUS, SImode, operands[1], constm1_rtx));
- xops[2] = gen_rtx (MEM, QImode,
- gen_rtx (PLUS, SImode, operands[2], constm1_rtx));
- xops[3] = operands[3];
-
- output_asm_insn (AS2 (movz%B1%L0,%1,%0), xops);
- output_asm_insn (AS2 (movz%B2%L3,%2,%3), xops);
-
- output_asm_insn (AS2 (sub%L0,%3,%0), xops);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L", CODE_LABEL_NUMBER (label));
- RET;
-}
-}
-
-static char *
-output_307 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[2];
-
- cc_status.flags |= CC_NOT_SIGNED;
-
- xops[0] = gen_rtx (REG, QImode, 0);
- xops[1] = CONST0_RTX (QImode);
-
- output_asm_insn ("cld", operands);
- output_asm_insn (AS2 (test%B0,%1,%0), xops);
- return "repz\n\tcmps%B2";
-}
-}
-
-static char *
-output_309 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[3];
- static int ffssi_label_number;
- char buffer[30];
-
- xops[0] = operands[0];
- xops[1] = operands[1];
- xops[2] = constm1_rtx;
- /* Can there be a way to avoid the jump here? */
- output_asm_insn (AS2 (bsf%L0,%1,%0), xops);
-#ifdef LOCAL_LABEL_PREFIX
- sprintf (buffer, "jnz %sLFFSSI%d",
- LOCAL_LABEL_PREFIX, ffssi_label_number);
-#else
- sprintf (buffer, "jnz %sLFFSSI%d",
- "", ffssi_label_number);
-#endif
- output_asm_insn (buffer, xops);
- output_asm_insn (AS2 (mov%L0,%2,%0), xops);
-#ifdef LOCAL_LABEL_PREFIX
- sprintf (buffer, "%sLFFSSI%d:",
- LOCAL_LABEL_PREFIX, ffssi_label_number);
-#else
- sprintf (buffer, "%sLFFSSI%d:",
- "", ffssi_label_number);
-#endif
- output_asm_insn (buffer, xops);
-
- ffssi_label_number++;
- return "";
-}
-}
-
-static char *
-output_311 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[3];
- static int ffshi_label_number;
- char buffer[30];
-
- xops[0] = operands[0];
- xops[1] = operands[1];
- xops[2] = constm1_rtx;
- output_asm_insn (AS2 (bsf%W0,%1,%0), xops);
-#ifdef LOCAL_LABEL_PREFIX
- sprintf (buffer, "jnz %sLFFSHI%d",
- LOCAL_LABEL_PREFIX, ffshi_label_number);
-#else
- sprintf (buffer, "jnz %sLFFSHI%d",
- "", ffshi_label_number);
-#endif
- output_asm_insn (buffer, xops);
- output_asm_insn (AS2 (mov%W0,%2,%0), xops);
-#ifdef LOCAL_LABEL_PREFIX
- sprintf (buffer, "%sLFFSHI%d:",
- LOCAL_LABEL_PREFIX, ffshi_label_number);
-#else
- sprintf (buffer, "%sLFFSHI%d:",
- "", ffshi_label_number);
-#endif
- output_asm_insn (buffer, xops);
-
- ffshi_label_number++;
- return "";
-}
-}
-
-static char *
-output_312 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_313 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_314 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_315 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_316 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_317 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_318 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_319 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_320 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_321 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_322 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_323 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_324 (operands, insn)
- rtx *operands;
- rtx insn;
-{
- return output_387_binary_op (insn, operands);
-}
-
-static char *
-output_326 (operands, insn)
- rtx *operands;
- rtx insn;
-{
-
-{
- rtx xops[2];
-
- xops[0] = operands[0];
- xops[1] = constm1_rtx;
- output_asm_insn ("cld", operands);
- output_asm_insn (AS2 (mov%L0,%1,%0), xops);
- return "repnz\n\tscas%B2";
-}
-}
-
-char * const insn_template[] =
- {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "push%L0 %1",
- "push%L0 %1",
- "push%L0 %1",
- 0,
- 0,
- "push%W0 %1",
- "push%W0 %1",
- "push%W0 %1",
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "mul%B0 %2",
- "imul%B0 %2",
- "mul%L0 %2",
- "imul%L0 %2",
- "mul%L0 %2",
- "imul%L0 %2",
- 0,
- 0,
- 0,
- "idiv%B0 %2",
- "div%B0 %2",
- 0,
- 0,
- 0,
- 0,
- "cwtd\n\tidiv%W0 %2",
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "neg%L0 %0",
- "neg%W0 %0",
- "neg%B0 %0",
- "fchs",
- "fchs",
- "fchs",
- "fchs",
- "fchs",
- "fabs",
- "fabs",
- "fabs",
- "fabs",
- "fabs",
- "fsqrt",
- "fsqrt",
- "fsqrt",
- "fsqrt",
- "fsqrt",
- "fsqrt",
- "fsin",
- "fsin",
- "fsin",
- "fcos",
- "fcos",
- "fcos",
- "not%L0 %0",
- "not%W0 %0",
- "not%B0 %0",
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "ja %l0",
- 0,
- 0,
- 0,
- "jb %l0",
- 0,
- 0,
- 0,
- "jae %l0",
- 0,
- 0,
- 0,
- "jbe %l0",
- 0,
- 0,
- 0,
- "jbe %l0",
- 0,
- "jae %l0",
- 0,
- "jb %l0",
- 0,
- "ja %l0",
- "jmp %l0",
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "call %P0",
- 0,
- 0,
- "call %P0",
- 0,
- 0,
- "call %P1",
- 0,
- 0,
- "call %P1",
- 0,
- "",
- 0,
- "nop",
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- };
-
-char *(*const insn_outfun[])() =
- {
- output_0,
- 0,
- output_2,
- 0,
- output_4,
- 0,
- output_6,
- 0,
- output_8,
- 0,
- output_10,
- 0,
- output_12,
- 0,
- output_14,
- 0,
- output_16,
- 0,
- output_18,
- output_19,
- output_20,
- output_21,
- output_22,
- output_23,
- output_24,
- output_25,
- output_26,
- output_27,
- output_28,
- output_29,
- output_30,
- output_31,
- output_32,
- output_33,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- output_43,
- output_44,
- output_45,
- 0,
- 0,
- 0,
- 0,
- output_50,
- 0,
- 0,
- 0,
- 0,
- output_55,
- 0,
- output_57,
- output_58,
- output_59,
- output_60,
- 0,
- output_62,
- 0,
- output_64,
- 0,
- output_66,
- output_67,
- output_68,
- output_69,
- output_70,
- 0,
- output_72,
- output_73,
- output_74,
- output_75,
- output_76,
- 0,
- output_78,
- output_79,
- output_80,
- output_81,
- output_82,
- output_83,
- output_84,
- output_85,
- output_86,
- output_87,
- output_88,
- output_89,
- output_90,
- output_91,
- output_92,
- output_93,
- output_94,
- output_95,
- 0,
- output_97,
- output_98,
- output_99,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- output_106,
- output_107,
- output_108,
- 0,
- 0,
- 0,
- output_112,
- output_113,
- output_114,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- output_121,
- output_122,
- output_123,
- output_124,
- output_125,
- output_126,
- output_127,
- output_128,
- output_129,
- output_130,
- output_131,
- 0,
- 0,
- 0,
- output_135,
- output_136,
- output_137,
- output_138,
- 0,
- 0,
- 0,
- output_142,
- output_143,
- output_144,
- output_145,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- output_160,
- 0,
- output_162,
- output_163,
- output_164,
- output_165,
- output_166,
- output_167,
- output_168,
- output_169,
- output_170,
- output_171,
- output_172,
- output_173,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- output_203,
- output_204,
- output_205,
- output_206,
- output_207,
- 0,
- output_209,
- output_210,
- output_211,
- output_212,
- output_213,
- 0,
- output_215,
- output_216,
- output_217,
- output_218,
- output_219,
- output_220,
- output_221,
- output_222,
- output_223,
- output_224,
- output_225,
- output_226,
- output_227,
- output_228,
- output_229,
- output_230,
- output_231,
- 0,
- output_233,
- 0,
- output_235,
- 0,
- output_237,
- 0,
- output_239,
- 0,
- output_241,
- 0,
- output_243,
- 0,
- output_245,
- 0,
- output_247,
- 0,
- output_249,
- 0,
- output_251,
- 0,
- output_253,
- 0,
- output_255,
- 0,
- output_257,
- 0,
- 0,
- 0,
- output_261,
- 0,
- 0,
- 0,
- output_265,
- 0,
- 0,
- 0,
- output_269,
- 0,
- 0,
- output_272,
- output_273,
- output_274,
- 0,
- output_276,
- 0,
- output_278,
- 0,
- output_280,
- 0,
- 0,
- output_283,
- 0,
- output_285,
- output_286,
- 0,
- output_288,
- 0,
- 0,
- output_291,
- 0,
- 0,
- output_294,
- 0,
- 0,
- output_297,
- 0,
- 0,
- 0,
- output_301,
- 0,
- 0,
- output_304,
- 0,
- output_306,
- output_307,
- 0,
- output_309,
- 0,
- output_311,
- output_312,
- output_313,
- output_314,
- output_315,
- output_316,
- output_317,
- output_318,
- output_319,
- output_320,
- output_321,
- output_322,
- output_323,
- output_324,
- 0,
- output_326,
- };
-
-rtx (*const insn_gen_function[]) () =
- {
- gen_tstsi_1,
- gen_tstsi,
- gen_tsthi_1,
- gen_tsthi,
- gen_tstqi_1,
- gen_tstqi,
- gen_tstsf_cc,
- gen_tstsf,
- gen_tstdf_cc,
- gen_tstdf,
- gen_tstxf_cc,
- gen_tstxf,
- gen_cmpsi_1,
- gen_cmpsi,
- gen_cmphi_1,
- gen_cmphi,
- gen_cmpqi_1,
- gen_cmpqi,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_cmpsf_cc_1,
- 0,
- 0,
- 0,
- gen_cmpxf,
- gen_cmpdf,
- gen_cmpsf,
- gen_cmpxf_cc,
- gen_cmpxf_ccfpeq,
- gen_cmpdf_cc,
- gen_cmpdf_ccfpeq,
- gen_cmpsf_cc,
- gen_cmpsf_ccfpeq,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_movsi,
- 0,
- 0,
- 0,
- 0,
- gen_movhi,
- 0,
- gen_movstricthi,
- 0,
- 0,
- 0,
- 0,
- gen_movqi,
- 0,
- gen_movstrictqi,
- 0,
- gen_movsf,
- gen_movsf_push_nomove,
- gen_movsf_push,
- gen_movsf_mem,
- gen_movsf_normal,
- gen_swapsf,
- gen_movdf,
- gen_movdf_push_nomove,
- gen_movdf_push,
- gen_movdf_mem,
- gen_movdf_normal,
- gen_swapdf,
- gen_movxf,
- gen_movxf_push_nomove,
- gen_movxf_push,
- gen_movxf_mem,
- gen_movxf_normal,
- gen_swapxf,
- 0,
- gen_movdi,
- gen_zero_extendhisi2,
- gen_zero_extendqihi2,
- gen_zero_extendqisi2,
- gen_zero_extendsidi2,
- gen_extendsidi2,
- gen_extendhisi2,
- gen_extendqihi2,
- gen_extendqisi2,
- gen_extendsfdf2,
- gen_extenddfxf2,
- gen_extendsfxf2,
- gen_truncdfsf2,
- 0,
- gen_truncxfsf2,
- gen_truncxfdf2,
- gen_fixuns_truncxfsi2,
- gen_fixuns_truncdfsi2,
- gen_fixuns_truncsfsi2,
- gen_fix_truncxfdi2,
- gen_fix_truncdfdi2,
- gen_fix_truncsfdi2,
- 0,
- 0,
- 0,
- gen_fix_truncxfsi2,
- gen_fix_truncdfsi2,
- gen_fix_truncsfsi2,
- 0,
- 0,
- 0,
- gen_floatsisf2,
- gen_floatdisf2,
- gen_floatsidf2,
- gen_floatdidf2,
- gen_floatsixf2,
- gen_floatdixf2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_adddi3,
- gen_addsi3,
- gen_addhi3,
- gen_addqi3,
- gen_movsi_lea,
- gen_addxf3,
- gen_adddf3,
- gen_addsf3,
- gen_subdi3,
- gen_subsi3,
- gen_subhi3,
- gen_subqi3,
- gen_subxf3,
- gen_subdf3,
- gen_subsf3,
- 0,
- gen_mulhi3,
- 0,
- gen_mulsi3,
- gen_umulqihi3,
- gen_mulqihi3,
- gen_umulsidi3,
- gen_mulsidi3,
- gen_umulsi3_highpart,
- gen_smulsi3_highpart,
- gen_mulxf3,
- gen_muldf3,
- gen_mulsf3,
- gen_divqi3,
- gen_udivqi3,
- gen_divxf3,
- gen_divdf3,
- gen_divsf3,
- gen_divmodsi4,
- gen_divmodhi4,
- gen_udivmodsi4,
- gen_udivmodhi4,
- gen_andsi3,
- gen_andhi3,
- gen_andqi3,
- gen_iorsi3,
- gen_iorhi3,
- gen_iorqi3,
- gen_xorsi3,
- gen_xorhi3,
- gen_xorqi3,
- gen_negdi2,
- gen_negsi2,
- gen_neghi2,
- gen_negqi2,
- gen_negsf2,
- gen_negdf2,
- 0,
- gen_negxf2,
- 0,
- gen_abssf2,
- gen_absdf2,
- 0,
- gen_absxf2,
- 0,
- gen_sqrtsf2,
- gen_sqrtdf2,
- 0,
- gen_sqrtxf2,
- 0,
- 0,
- gen_sindf2,
- gen_sinsf2,
- 0,
- gen_cosdf2,
- gen_cossf2,
- 0,
- gen_one_cmplsi2,
- gen_one_cmplhi2,
- gen_one_cmplqi2,
- gen_ashldi3,
- gen_ashldi3_const_int,
- gen_ashldi3_non_const_int,
- gen_ashlsi3,
- gen_ashlhi3,
- gen_ashlqi3,
- gen_ashrdi3,
- gen_ashrdi3_const_int,
- gen_ashrdi3_non_const_int,
- gen_ashrsi3,
- gen_ashrhi3,
- gen_ashrqi3,
- gen_lshrdi3,
- gen_lshrdi3_const_int,
- gen_lshrdi3_non_const_int,
- gen_lshrsi3,
- gen_lshrhi3,
- gen_lshrqi3,
- gen_rotlsi3,
- gen_rotlhi3,
- gen_rotlqi3,
- gen_rotrsi3,
- gen_rotrhi3,
- gen_rotrqi3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_seq,
- 0,
- gen_sne,
- 0,
- gen_sgt,
- 0,
- gen_sgtu,
- 0,
- gen_slt,
- 0,
- gen_sltu,
- 0,
- gen_sge,
- 0,
- gen_sgeu,
- 0,
- gen_sle,
- 0,
- gen_sleu,
- 0,
- gen_beq,
- 0,
- gen_bne,
- 0,
- gen_bgt,
- 0,
- gen_bgtu,
- 0,
- gen_blt,
- 0,
- gen_bltu,
- 0,
- gen_bge,
- 0,
- gen_bgeu,
- 0,
- gen_ble,
- 0,
- gen_bleu,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_jump,
- gen_indirect_jump,
- gen_casesi,
- 0,
- gen_tablejump,
- gen_call_pop,
- 0,
- 0,
- gen_call,
- 0,
- 0,
- gen_call_value_pop,
- 0,
- 0,
- gen_call_value,
- 0,
- 0,
- gen_untyped_call,
- gen_blockage,
- gen_return,
- gen_nop,
- gen_movstrsi,
- 0,
- gen_cmpstrsi,
- 0,
- 0,
- gen_ffssi2,
- 0,
- gen_ffshi2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- gen_strlensi,
- 0,
- };
-
-char *insn_name[] =
- {
- "tstsi_1",
- "tstsi",
- "tsthi_1",
- "tsthi",
- "tstqi_1",
- "tstqi",
- "tstsf_cc",
- "tstsf",
- "tstdf_cc",
- "tstdf",
- "tstxf_cc",
- "tstxf",
- "cmpsi_1",
- "cmpsi",
- "cmphi_1",
- "cmphi",
- "cmpqi_1",
- "cmpqi",
- "cmpqi+1",
- "cmpqi+2",
- "cmpqi+3",
- "cmpqi+4",
- "cmpqi+5",
- "cmpqi+6",
- "cmpsf_cc_1-6",
- "cmpsf_cc_1-5",
- "cmpsf_cc_1-4",
- "cmpsf_cc_1-3",
- "cmpsf_cc_1-2",
- "cmpsf_cc_1-1",
- "cmpsf_cc_1",
- "cmpsf_cc_1+1",
- "cmpsf_cc_1+2",
- "cmpxf-1",
- "cmpxf",
- "cmpdf",
- "cmpsf",
- "cmpxf_cc",
- "cmpxf_ccfpeq",
- "cmpdf_cc",
- "cmpdf_ccfpeq",
- "cmpsf_cc",
- "cmpsf_ccfpeq",
- "cmpsf_ccfpeq+1",
- "cmpsf_ccfpeq+2",
- "cmpsf_ccfpeq+3",
- "movsi-3",
- "movsi-2",
- "movsi-1",
- "movsi",
- "movsi+1",
- "movsi+2",
- "movhi-2",
- "movhi-1",
- "movhi",
- "movhi+1",
- "movstricthi",
- "movstricthi+1",
- "movstricthi+2",
- "movqi-2",
- "movqi-1",
- "movqi",
- "movqi+1",
- "movstrictqi",
- "movstrictqi+1",
- "movsf",
- "movsf_push_nomove",
- "movsf_push",
- "movsf_mem",
- "movsf_normal",
- "swapsf",
- "movdf",
- "movdf_push_nomove",
- "movdf_push",
- "movdf_mem",
- "movdf_normal",
- "swapdf",
- "movxf",
- "movxf_push_nomove",
- "movxf_push",
- "movxf_mem",
- "movxf_normal",
- "swapxf",
- "swapxf+1",
- "movdi",
- "zero_extendhisi2",
- "zero_extendqihi2",
- "zero_extendqisi2",
- "zero_extendsidi2",
- "extendsidi2",
- "extendhisi2",
- "extendqihi2",
- "extendqisi2",
- "extendsfdf2",
- "extenddfxf2",
- "extendsfxf2",
- "truncdfsf2",
- "truncdfsf2+1",
- "truncxfsf2",
- "truncxfdf2",
- "fixuns_truncxfsi2",
- "fixuns_truncdfsi2",
- "fixuns_truncsfsi2",
- "fix_truncxfdi2",
- "fix_truncdfdi2",
- "fix_truncsfdi2",
- "fix_truncsfdi2+1",
- "fix_truncsfdi2+2",
- "fix_truncxfsi2-1",
- "fix_truncxfsi2",
- "fix_truncdfsi2",
- "fix_truncsfsi2",
- "fix_truncsfsi2+1",
- "fix_truncsfsi2+2",
- "floatsisf2-1",
- "floatsisf2",
- "floatdisf2",
- "floatsidf2",
- "floatdidf2",
- "floatsixf2",
- "floatdixf2",
- "floatdixf2+1",
- "floatdixf2+2",
- "floatdixf2+3",
- "adddi3-3",
- "adddi3-2",
- "adddi3-1",
- "adddi3",
- "addsi3",
- "addhi3",
- "addqi3",
- "movsi_lea",
- "addxf3",
- "adddf3",
- "addsf3",
- "subdi3",
- "subsi3",
- "subhi3",
- "subqi3",
- "subxf3",
- "subdf3",
- "subsf3",
- "subsf3+1",
- "mulhi3",
- "mulhi3+1",
- "mulsi3",
- "umulqihi3",
- "mulqihi3",
- "umulsidi3",
- "mulsidi3",
- "umulsi3_highpart",
- "smulsi3_highpart",
- "mulxf3",
- "muldf3",
- "mulsf3",
- "divqi3",
- "udivqi3",
- "divxf3",
- "divdf3",
- "divsf3",
- "divmodsi4",
- "divmodhi4",
- "udivmodsi4",
- "udivmodhi4",
- "andsi3",
- "andhi3",
- "andqi3",
- "iorsi3",
- "iorhi3",
- "iorqi3",
- "xorsi3",
- "xorhi3",
- "xorqi3",
- "negdi2",
- "negsi2",
- "neghi2",
- "negqi2",
- "negsf2",
- "negdf2",
- "negdf2+1",
- "negxf2",
- "negxf2+1",
- "abssf2",
- "absdf2",
- "absdf2+1",
- "absxf2",
- "absxf2+1",
- "sqrtsf2",
- "sqrtdf2",
- "sqrtdf2+1",
- "sqrtxf2",
- "sqrtxf2+1",
- "sindf2-1",
- "sindf2",
- "sinsf2",
- "sinsf2+1",
- "cosdf2",
- "cossf2",
- "cossf2+1",
- "one_cmplsi2",
- "one_cmplhi2",
- "one_cmplqi2",
- "ashldi3",
- "ashldi3_const_int",
- "ashldi3_non_const_int",
- "ashlsi3",
- "ashlhi3",
- "ashlqi3",
- "ashrdi3",
- "ashrdi3_const_int",
- "ashrdi3_non_const_int",
- "ashrsi3",
- "ashrhi3",
- "ashrqi3",
- "lshrdi3",
- "lshrdi3_const_int",
- "lshrdi3_non_const_int",
- "lshrsi3",
- "lshrhi3",
- "lshrqi3",
- "rotlsi3",
- "rotlhi3",
- "rotlqi3",
- "rotrsi3",
- "rotrhi3",
- "rotrqi3",
- "rotrqi3+1",
- "rotrqi3+2",
- "rotrqi3+3",
- "seq-3",
- "seq-2",
- "seq-1",
- "seq",
- "seq+1",
- "sne",
- "sne+1",
- "sgt",
- "sgt+1",
- "sgtu",
- "sgtu+1",
- "slt",
- "slt+1",
- "sltu",
- "sltu+1",
- "sge",
- "sge+1",
- "sgeu",
- "sgeu+1",
- "sle",
- "sle+1",
- "sleu",
- "sleu+1",
- "beq",
- "beq+1",
- "bne",
- "bne+1",
- "bgt",
- "bgt+1",
- "bgtu",
- "bgtu+1",
- "blt",
- "blt+1",
- "bltu",
- "bltu+1",
- "bge",
- "bge+1",
- "bgeu",
- "bgeu+1",
- "ble",
- "ble+1",
- "bleu",
- "bleu+1",
- "bleu+2",
- "bleu+3",
- "bleu+4",
- "bleu+5",
- "bleu+6",
- "jump-5",
- "jump-4",
- "jump-3",
- "jump-2",
- "jump-1",
- "jump",
- "indirect_jump",
- "casesi",
- "casesi+1",
- "tablejump",
- "call_pop",
- "call_pop+1",
- "call-1",
- "call",
- "call+1",
- "call_value_pop-1",
- "call_value_pop",
- "call_value_pop+1",
- "call_value-1",
- "call_value",
- "call_value+1",
- "untyped_call-1",
- "untyped_call",
- "blockage",
- "return",
- "nop",
- "movstrsi",
- "movstrsi+1",
- "cmpstrsi",
- "cmpstrsi+1",
- "ffssi2-1",
- "ffssi2",
- "ffssi2+1",
- "ffshi2",
- "ffshi2+1",
- "ffshi2+2",
- "ffshi2+3",
- "ffshi2+4",
- "ffshi2+5",
- "ffshi2+6",
- "ffshi2+7",
- "strlensi-7",
- "strlensi-6",
- "strlensi-5",
- "strlensi-4",
- "strlensi-3",
- "strlensi-2",
- "strlensi-1",
- "strlensi",
- "strlensi+1",
- };
-char **insn_name_ptr = insn_name;
-
-const int insn_n_operands[] =
- {
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 4,
- 4,
- 4,
- 4,
- 4,
- 3,
- 4,
- 4,
- 4,
- 4,
- 4,
- 3,
- 4,
- 4,
- 4,
- 3,
- 2,
- 2,
- 2,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 3,
- 3,
- 2,
- 2,
- 2,
- 2,
- 4,
- 4,
- 2,
- 2,
- 2,
- 2,
- 4,
- 4,
- 2,
- 2,
- 4,
- 4,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 3,
- 2,
- 2,
- 8,
- 8,
- 8,
- 6,
- 6,
- 6,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 4,
- 3,
- 3,
- 3,
- 2,
- 3,
- 3,
- 3,
- 4,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 4,
- 4,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 4,
- 4,
- 4,
- 4,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 4,
- 3,
- 3,
- 2,
- 3,
- 3,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 7,
- 3,
- 1,
- 4,
- 4,
- 4,
- 2,
- 2,
- 2,
- 5,
- 5,
- 5,
- 3,
- 3,
- 3,
- 3,
- 0,
- 0,
- 0,
- 5,
- 5,
- 5,
- 5,
- 4,
- 2,
- 2,
- 2,
- 2,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- };
-
-const int insn_n_dups[] =
- {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 7,
- 7,
- 7,
- 5,
- 5,
- 5,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 2,
- 2,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 2,
- 3,
- 3,
- 3,
- 2,
- 0,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5,
- 1,
- };
-
-char *const insn_operand_constraint[][MAX_RECOG_OPERANDS] =
- {
- { "rm", },
- { "", },
- { "rm", },
- { "", },
- { "qm", },
- { "", },
- { "f", "=a", },
- { "", "", },
- { "f", "=a", },
- { "", "", },
- { "f", "=a", },
- { "", "", },
- { "mr,r", "ri,mr", },
- { "", "", },
- { "mr,r", "ri,mr", },
- { "", "", },
- { "q,mq", "qm,nq", },
- { "", "", },
- { "f", "f", "", "=a", },
- { "f", "rm", "", "=a", },
- { "rm", "f", "", "=a", },
- { "f", "fm", "", "=a", },
- { "f", "fm", "", "=a", },
- { "f", "f", "=a", },
- { "f,fm", "fm,f", "", "=a,a", },
- { "f", "rm", "", "=a", },
- { "rm", "f", "", "=a", },
- { "f", "fm", "", "=a", },
- { "fm", "f", "", "=a", },
- { "f", "f", "=a", },
- { "f,fm", "fm,f", "", "=a,a", },
- { "f", "rm", "", "=a", },
- { "rm", "f", "", "=a", },
- { "f", "f", "=a", },
- { "", "", },
- { "", "", },
- { "", "", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "%ro", "ri", },
- { "%ro", "ri", },
- { "%qm", "qi", },
- { "=<", "g", },
- { "=<", "ri", },
- { "=<", "ri", },
- { "", "", },
- { "=g,r", "ri,m", },
- { "=<", "g", },
- { "=<", "ri", },
- { "=<", "ri", },
- { "", "", },
- { "=g,r", "ri,m", },
- { "", "", },
- { "+g,r", "ri,m", },
- { "=<", "n", },
- { "=<", "q", },
- { "=<", "q", },
- { "", "", },
- { "=q,*r,qm", "*g,q,qn", },
- { "", "", },
- { "+qm,q", "*qn,m", },
- { "", "", },
- { "=<,<", "gF,f", },
- { "=<,<,<,<", "rF,f,m,m", "=X,X,r,X", },
- { "=m", "m", "=&r", },
- { "=*rfm,*rf,f,!*rm", "*rf,*rfm,fG,fF", },
- { "f", "f", },
- { "", "", },
- { "=<,<", "gF,f", },
- { "=<,<,<,<,<", "rF,f,o,o,o", "=X,X,&r,&r,X", "=X,X,&r,X,X", },
- { "=o,o", "o,o", "=&r,&r", "=&r,X", },
- { "=f,fm,!*rf,!*rm", "fmG,f,*rfm,*rfF", },
- { "f", "f", },
- { "", "", },
- { "=<,<", "gF,f", },
- { "=<,<,<,<,<", "rF,f,o,o,o", "=X,X,&r,&r,X", "=X,X,&r,X,X", },
- { "=o,o", "o,o", "=&r,&r", "=&r,X", },
- { "=f,fm,!*rf,!*rm", "fmG,f,*rfm,*rfF", },
- { "f", "f", },
- { "=<,<,<,<", "riF,o,o,o", "=X,&r,&r,X", "=X,&r,X,X", },
- { "=o,o,r,rm", "o,o,m,riF", "=&r,&r,X,X", "=&r,X,X,X", },
- { "=r", "rm", },
- { "=r", "qm", },
- { "=r", "qm", },
- { "=r", "0", },
- { "=r", "0", },
- { "=r", "rm", },
- { "=r", "qm", },
- { "=r", "qm", },
- { "=fm,f", "f,fm", },
- { "=fm,f,f,!*r", "f,fm,!*r,f", },
- { "=fm,f,f,!*r", "f,fm,!*r,f", },
- { "", "", },
- { "=f,m", "0,f", "m,m", },
- { "=m,!*r", "f,f", },
- { "=m,!*r", "f,f", },
- { "", "", "", "", "", "", "", "", },
- { "", "", "", "", "", "", "", "", },
- { "", "", "", "", "", "", "", "", },
- { "", "", "", "", "", "", },
- { "", "", "", "", "", "", },
- { "", "", "", "", "", "", },
- { "=rm", "f", "m", "m", "=&q", },
- { "=rm", "f", "m", "m", "=&q", },
- { "=rm", "f", "m", "m", "=&q", },
- { "", "", "", "", "", },
- { "", "", "", "", "", },
- { "", "", "", "", "", },
- { "=rm", "f", "m", "m", "=&q", },
- { "=rm", "f", "m", "m", "=&q", },
- { "=rm", "f", "m", "m", "=&q", },
- { "", "", },
- { "", "", },
- { "", "", },
- { "", "", },
- { "", "", },
- { "", "", },
- { "=f", "rm", },
- { "=f", "rm", },
- { "=f", "rm", },
- { "=f", "rm", },
- { "=f,f", "m,!*r", },
- { "=f", "rm", },
- { "=&r,ro,o,&r,ro,o,&r,o,o,o", "%0,0,0,o,riF,o,or,riF,riF,o", "o,riF,o,0,0,0,oriF,riF,o,o", "=X,X,&r,X,X,&r,X,X,&r,&r", },
- { "=?r,rm,r", "%r,0,0", "ri,ri,rm", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=qm,q", "%0,0", "qn,qmn", },
- { "=r", "p", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "=&r,ro,&r,o,o", "0,0,roiF,riF,o", "o,riF,roiF,riF,o", "=X,X,X,X,&r", },
- { "=rm,r", "0,0", "ri,rm", },
- { "=rm,r", "0,0", "ri,rm", },
- { "=qm,q", "0,0", "qn,qmn", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "=r", "%0", "r", },
- { "=r,r", "%0,rm", "g,i", },
- { "=r", "%0", "r", },
- { "=r,r", "%0,rm", "g,i", },
- { "=a", "%0", "qm", },
- { "=a", "%0", "qm", },
- { "=A", "%0", "rm", },
- { "=A", "%0", "rm", },
- { "=d", "%a", "rm", "=a", },
- { "=d", "%a", "rm", "=a", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "=a", "0", "qm", },
- { "=a", "0", "qm", },
- { "", "", "", },
- { "", "", "", },
- { "", "", "", },
- { "=a", "0", "rm", "=&d", },
- { "=a", "0", "rm", "=&d", },
- { "=a", "0", "rm", "=&d", },
- { "=a", "0", "rm", "=&d", },
- { "=r,r,rm,r", "%rm,qm,0,0", "L,K,ri,rm", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=qm,q", "%0,0", "qn,qmn", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=qm,q", "%0,0", "qn,qmn", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=rm,r", "%0,0", "ri,rm", },
- { "=qm,q", "%0,0", "qn,qm", },
- { "=&ro", "0", },
- { "=rm", "0", },
- { "=rm", "0", },
- { "=qm", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=f", "0", },
- { "=rm", "0", },
- { "=rm", "0", },
- { "=qm", "0", },
- { "", "", "", },
- { "=&r", "0", "J", },
- { "=&r", "0", "c", },
- { "=r,rm", "r,0", "M,cI", },
- { "=rm", "0", "cI", },
- { "=qm", "0", "cI", },
- { "", "", "", },
- { "=&r", "0", "J", },
- { "=&r", "0", "c", },
- { "=rm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=qm", "0", "cI", },
- { "", "", "", },
- { "=&r", "0", "J", },
- { "=&r", "0", "c", },
- { "=rm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=qm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=qm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=rm", "0", "cI", },
- { "=qm", "0", "cI", },
- { "+rm", "", "r", "n", },
- { "=rm", "r", "0", },
- { "=rm", "0", "r", },
- { "r", "r", },
- { "r", "n", "n", },
- { "rm", "n", "n", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { "", },
- { "=q", },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { "rm", },
- { "", "", "", "", "", "", "", },
- { "r", "", "=&r", },
- { "rm", },
- { "", "", "", "", },
- { "m", "g", "", "i", },
- { "", "g", "", "i", },
- { "", "", },
- { "m", "g", },
- { "", "g", },
- { "", "", "", "", "", },
- { "=rf", "m", "g", "", "i", },
- { "=rf", "", "g", "", "i", },
- { "", "", "", },
- { "=rf", "m", "g", },
- { "=rf", "", "g", },
- { "", "", "", },
- { 0 },
- { 0 },
- { 0 },
- { "", "", "", "", "", },
- { "D", "S", "n", "i", "=&c", },
- { "", "", "", "", "", },
- { "=&r", "S", "D", "c", "i", },
- { "S", "D", "c", "i", },
- { "", "", },
- { "=&r", "rm", },
- { "", "", },
- { "=&r", "rm", },
- { "=f,f", "0,fm", "fm,0", "", },
- { "=f", "rm", "0", "", },
- { "=f,f", "0,f", "f,0", "", },
- { "=f", "rm", "0", "", },
- { "=f,f", "fm,0", "0,f", "", },
- { "=f", "0", "rm", "", },
- { "=f,f", "0,f", "fm,0", "", },
- { "=f,f", "fm,0", "0,f", "", },
- { "=f", "0", "rm", "", },
- { "=f,f", "0,f", "fm,0", "", },
- { "=f,f", "0,fm", "fm,0", "", },
- { "=f", "rm", "0", "", },
- { "=f", "0", "rm", "", },
- { "", "", "", "", },
- { "=&c", "D", "a", "i", },
- };
-
-const enum machine_mode insn_operand_mode[][MAX_RECOG_OPERANDS] =
- {
- { SImode, },
- { SImode, },
- { HImode, },
- { HImode, },
- { QImode, },
- { QImode, },
- { SFmode, HImode, },
- { SFmode, HImode, },
- { DFmode, HImode, },
- { DFmode, HImode, },
- { XFmode, HImode, },
- { XFmode, HImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { XFmode, XFmode, VOIDmode, HImode, },
- { XFmode, SImode, VOIDmode, HImode, },
- { SImode, XFmode, VOIDmode, HImode, },
- { XFmode, DFmode, VOIDmode, HImode, },
- { XFmode, SFmode, VOIDmode, HImode, },
- { XFmode, XFmode, HImode, },
- { DFmode, DFmode, VOIDmode, HImode, },
- { DFmode, SImode, VOIDmode, HImode, },
- { SImode, DFmode, VOIDmode, HImode, },
- { DFmode, SFmode, VOIDmode, HImode, },
- { SFmode, DFmode, VOIDmode, HImode, },
- { DFmode, DFmode, HImode, },
- { SFmode, SFmode, VOIDmode, HImode, },
- { SFmode, SImode, VOIDmode, HImode, },
- { SImode, SFmode, VOIDmode, HImode, },
- { SFmode, SFmode, HImode, },
- { XFmode, XFmode, },
- { DFmode, DFmode, },
- { SFmode, SFmode, },
- { XFmode, XFmode, HImode, },
- { XFmode, XFmode, HImode, },
- { DFmode, DFmode, HImode, },
- { DFmode, DFmode, HImode, },
- { SFmode, SFmode, HImode, },
- { SFmode, SFmode, HImode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { QImode, QImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { HImode, HImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { QImode, QImode, },
- { SFmode, SFmode, },
- { SFmode, SFmode, },
- { SFmode, SFmode, SImode, },
- { SFmode, SFmode, SImode, },
- { SFmode, SFmode, },
- { SFmode, SFmode, },
- { DFmode, DFmode, },
- { DFmode, DFmode, },
- { DFmode, DFmode, SImode, SImode, },
- { DFmode, DFmode, SImode, SImode, },
- { DFmode, DFmode, },
- { DFmode, DFmode, },
- { XFmode, XFmode, },
- { XFmode, XFmode, },
- { XFmode, XFmode, SImode, SImode, },
- { XFmode, XFmode, SImode, SImode, },
- { XFmode, XFmode, },
- { XFmode, XFmode, },
- { DImode, DImode, SImode, SImode, },
- { DImode, DImode, SImode, SImode, },
- { SImode, HImode, },
- { HImode, QImode, },
- { SImode, QImode, },
- { DImode, SImode, },
- { DImode, SImode, },
- { SImode, HImode, },
- { HImode, QImode, },
- { SImode, QImode, },
- { DFmode, SFmode, },
- { XFmode, DFmode, },
- { XFmode, SFmode, },
- { SFmode, DFmode, },
- { SFmode, DFmode, SFmode, },
- { SFmode, XFmode, },
- { DFmode, XFmode, },
- { SImode, XFmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { SImode, DFmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { SImode, SFmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { DImode, XFmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { DImode, DFmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { DImode, SFmode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { DImode, XFmode, SImode, SImode, SImode, },
- { DImode, DFmode, SImode, SImode, SImode, },
- { DImode, SFmode, SImode, SImode, SImode, },
- { SImode, XFmode, VOIDmode, VOIDmode, SImode, },
- { SImode, DFmode, VOIDmode, VOIDmode, SImode, },
- { SImode, SFmode, VOIDmode, VOIDmode, SImode, },
- { SImode, XFmode, SImode, SImode, SImode, },
- { SImode, DFmode, SImode, SImode, SImode, },
- { SImode, SFmode, SImode, SImode, SImode, },
- { SFmode, SImode, },
- { SFmode, DImode, },
- { DFmode, SImode, },
- { DFmode, DImode, },
- { XFmode, SImode, },
- { XFmode, DImode, },
- { XFmode, DImode, },
- { DFmode, DImode, },
- { SFmode, DImode, },
- { DFmode, SImode, },
- { XFmode, SImode, },
- { SFmode, SImode, },
- { DImode, DImode, DImode, SImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, QImode, },
- { XFmode, XFmode, XFmode, },
- { DFmode, DFmode, DFmode, },
- { SFmode, SFmode, SFmode, },
- { DImode, DImode, DImode, SImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { XFmode, XFmode, XFmode, },
- { DFmode, DFmode, DFmode, },
- { SFmode, SFmode, SFmode, },
- { HImode, HImode, HImode, },
- { HImode, HImode, HImode, },
- { SImode, SImode, SImode, },
- { SImode, SImode, SImode, },
- { HImode, QImode, QImode, },
- { HImode, QImode, QImode, },
- { DImode, SImode, SImode, },
- { DImode, SImode, SImode, },
- { SImode, SImode, SImode, SImode, },
- { SImode, SImode, SImode, SImode, },
- { XFmode, XFmode, XFmode, },
- { DFmode, DFmode, DFmode, },
- { SFmode, SFmode, SFmode, },
- { QImode, HImode, QImode, },
- { QImode, HImode, QImode, },
- { XFmode, XFmode, XFmode, },
- { DFmode, DFmode, DFmode, },
- { SFmode, SFmode, SFmode, },
- { SImode, SImode, SImode, SImode, },
- { HImode, HImode, HImode, HImode, },
- { SImode, SImode, SImode, SImode, },
- { HImode, HImode, HImode, HImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { DImode, DImode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { QImode, QImode, },
- { SFmode, SFmode, },
- { DFmode, DFmode, },
- { DFmode, SFmode, },
- { XFmode, XFmode, },
- { XFmode, DFmode, },
- { SFmode, SFmode, },
- { DFmode, DFmode, },
- { DFmode, SFmode, },
- { XFmode, XFmode, },
- { XFmode, DFmode, },
- { SFmode, SFmode, },
- { DFmode, DFmode, },
- { DFmode, SFmode, },
- { XFmode, XFmode, },
- { XFmode, DFmode, },
- { XFmode, SFmode, },
- { DFmode, DFmode, },
- { SFmode, SFmode, },
- { DFmode, SFmode, },
- { DFmode, DFmode, },
- { SFmode, SFmode, },
- { DFmode, SFmode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { QImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { DImode, DImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, SImode, SImode, },
- { HImode, HImode, HImode, },
- { QImode, QImode, QImode, },
- { SImode, VOIDmode, SImode, SImode, },
- { SImode, SImode, SImode, },
- { SImode, SImode, SImode, },
- { SImode, SImode, },
- { SImode, SImode, SImode, },
- { QImode, SImode, SImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { QImode, },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { SImode, },
- { SImode, SImode, SImode, VOIDmode, VOIDmode, VOIDmode, SImode, },
- { SImode, VOIDmode, SImode, },
- { SImode, },
- { QImode, SImode, VOIDmode, SImode, },
- { QImode, SImode, VOIDmode, SImode, },
- { SImode, SImode, VOIDmode, SImode, },
- { QImode, SImode, },
- { QImode, SImode, },
- { SImode, SImode, },
- { VOIDmode, QImode, SImode, VOIDmode, SImode, },
- { VOIDmode, QImode, SImode, VOIDmode, SImode, },
- { VOIDmode, SImode, SImode, VOIDmode, SImode, },
- { VOIDmode, QImode, SImode, },
- { VOIDmode, QImode, SImode, },
- { VOIDmode, SImode, SImode, },
- { VOIDmode, VOIDmode, VOIDmode, },
- { VOIDmode },
- { VOIDmode },
- { VOIDmode },
- { BLKmode, BLKmode, SImode, SImode, SImode, },
- { SImode, SImode, SImode, SImode, SImode, },
- { SImode, BLKmode, BLKmode, SImode, SImode, },
- { SImode, SImode, SImode, SImode, SImode, },
- { SImode, SImode, SImode, SImode, },
- { SImode, SImode, },
- { SImode, SImode, },
- { HImode, HImode, },
- { HImode, SImode, },
- { DFmode, DFmode, DFmode, DFmode, },
- { DFmode, SImode, DFmode, DFmode, },
- { XFmode, XFmode, XFmode, XFmode, },
- { XFmode, SImode, XFmode, XFmode, },
- { XFmode, SFmode, XFmode, XFmode, },
- { XFmode, XFmode, SImode, XFmode, },
- { XFmode, XFmode, SFmode, XFmode, },
- { DFmode, SFmode, DFmode, DFmode, },
- { DFmode, DFmode, SImode, DFmode, },
- { DFmode, DFmode, SFmode, DFmode, },
- { SFmode, SFmode, SFmode, SFmode, },
- { SFmode, SImode, SFmode, SFmode, },
- { SFmode, SFmode, SImode, SFmode, },
- { SImode, BLKmode, QImode, SImode, },
- { SImode, SImode, QImode, SImode, },
- };
-
-const char insn_operand_strict_low[][MAX_RECOG_OPERANDS] =
- {
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 1, 0, },
- { 1, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 1, 0, },
- { 1, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0, },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0, },
- { 0, 0, 0, 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0, 0, 0, },
- { 0 },
- { 0 },
- { 0 },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- { 0, 0, 0, 0, },
- };
-
-extern int nonimmediate_operand ();
-extern int register_operand ();
-extern int scratch_operand ();
-extern int general_operand ();
-extern int VOIDmode_compare_op ();
-extern int push_operand ();
-extern int nonmemory_operand ();
-extern int immediate_operand ();
-extern int memory_operand ();
-extern int address_operand ();
-extern int const_int_operand ();
-extern int indirect_operand ();
-extern int call_insn_operand ();
-extern int symbolic_operand ();
-extern int binary_387_op ();
-
-int (*const insn_operand_predicate[][MAX_RECOG_OPERANDS])() =
- {
- { nonimmediate_operand, },
- { nonimmediate_operand, },
- { nonimmediate_operand, },
- { nonimmediate_operand, },
- { nonimmediate_operand, },
- { nonimmediate_operand, },
- { register_operand, scratch_operand, },
- { register_operand, scratch_operand, },
- { register_operand, scratch_operand, },
- { register_operand, scratch_operand, },
- { register_operand, scratch_operand, },
- { register_operand, scratch_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, general_operand, },
- { nonimmediate_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { nonimmediate_operand, register_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { nonimmediate_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { nonimmediate_operand, register_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { nonimmediate_operand, register_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { nonimmediate_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, nonimmediate_operand, VOIDmode_compare_op, scratch_operand, },
- { nonimmediate_operand, register_operand, VOIDmode_compare_op, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { register_operand, register_operand, scratch_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { push_operand, general_operand, },
- { push_operand, nonmemory_operand, },
- { push_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { push_operand, general_operand, },
- { push_operand, nonmemory_operand, },
- { push_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { push_operand, immediate_operand, },
- { push_operand, nonimmediate_operand, },
- { push_operand, register_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { push_operand, general_operand, },
- { push_operand, general_operand, scratch_operand, },
- { memory_operand, memory_operand, scratch_operand, },
- { general_operand, general_operand, },
- { register_operand, register_operand, },
- { general_operand, general_operand, },
- { push_operand, general_operand, },
- { push_operand, general_operand, scratch_operand, scratch_operand, },
- { memory_operand, memory_operand, scratch_operand, scratch_operand, },
- { general_operand, general_operand, },
- { register_operand, register_operand, },
- { general_operand, general_operand, },
- { push_operand, general_operand, },
- { push_operand, general_operand, scratch_operand, scratch_operand, },
- { memory_operand, memory_operand, scratch_operand, scratch_operand, },
- { general_operand, general_operand, },
- { register_operand, register_operand, },
- { push_operand, general_operand, scratch_operand, scratch_operand, },
- { general_operand, general_operand, scratch_operand, scratch_operand, },
- { general_operand, nonimmediate_operand, },
- { general_operand, nonimmediate_operand, },
- { general_operand, nonimmediate_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { general_operand, nonimmediate_operand, },
- { general_operand, nonimmediate_operand, },
- { general_operand, nonimmediate_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { nonimmediate_operand, register_operand, },
- { nonimmediate_operand, register_operand, memory_operand, },
- { general_operand, register_operand, },
- { general_operand, register_operand, },
- { general_operand, register_operand, 0, 0, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, 0, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { general_operand, register_operand, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, scratch_operand, },
- { general_operand, register_operand, 0, 0, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { general_operand, register_operand, memory_operand, memory_operand, scratch_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, general_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, },
- { register_operand, general_operand, },
- { register_operand, nonimmediate_operand, },
- { general_operand, general_operand, general_operand, scratch_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { register_operand, address_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { general_operand, general_operand, general_operand, scratch_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, nonimmediate_operand, nonimmediate_operand, },
- { general_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, register_operand, nonimmediate_operand, },
- { register_operand, register_operand, nonimmediate_operand, },
- { register_operand, register_operand, nonimmediate_operand, scratch_operand, },
- { register_operand, register_operand, nonimmediate_operand, scratch_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, },
- { register_operand, register_operand, general_operand, register_operand, },
- { register_operand, register_operand, general_operand, register_operand, },
- { register_operand, register_operand, general_operand, register_operand, },
- { register_operand, register_operand, general_operand, register_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { register_operand, register_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { register_operand, register_operand, nonmemory_operand, },
- { register_operand, register_operand, const_int_operand, },
- { register_operand, register_operand, register_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { register_operand, register_operand, nonmemory_operand, },
- { register_operand, register_operand, const_int_operand, },
- { register_operand, register_operand, register_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { register_operand, register_operand, nonmemory_operand, },
- { register_operand, register_operand, const_int_operand, },
- { register_operand, register_operand, register_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, general_operand, nonmemory_operand, },
- { general_operand, 0, general_operand, const_int_operand, },
- { general_operand, general_operand, general_operand, },
- { general_operand, general_operand, general_operand, },
- { register_operand, general_operand, },
- { register_operand, const_int_operand, const_int_operand, },
- { general_operand, const_int_operand, const_int_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { register_operand, },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { 0 },
- { general_operand, },
- { general_operand, general_operand, general_operand, 0, 0, 0, scratch_operand, },
- { register_operand, 0, scratch_operand, },
- { general_operand, },
- { indirect_operand, general_operand, 0, immediate_operand, },
- { call_insn_operand, general_operand, 0, immediate_operand, },
- { symbolic_operand, general_operand, 0, immediate_operand, },
- { indirect_operand, general_operand, },
- { call_insn_operand, general_operand, },
- { symbolic_operand, general_operand, },
- { 0, indirect_operand, general_operand, 0, immediate_operand, },
- { 0, call_insn_operand, general_operand, 0, immediate_operand, },
- { 0, symbolic_operand, general_operand, 0, immediate_operand, },
- { 0, indirect_operand, general_operand, },
- { 0, call_insn_operand, general_operand, },
- { 0, symbolic_operand, general_operand, },
- { 0, 0, 0, },
- { 0 },
- { 0 },
- { 0 },
- { memory_operand, memory_operand, const_int_operand, const_int_operand, scratch_operand, },
- { address_operand, address_operand, const_int_operand, immediate_operand, scratch_operand, },
- { general_operand, general_operand, general_operand, general_operand, immediate_operand, },
- { general_operand, address_operand, address_operand, register_operand, immediate_operand, },
- { address_operand, address_operand, register_operand, immediate_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { general_operand, general_operand, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, nonimmediate_operand, nonimmediate_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, general_operand, binary_387_op, },
- { register_operand, general_operand, register_operand, immediate_operand, },
- { register_operand, address_operand, register_operand, immediate_operand, },
- };
-
-const int insn_n_alternatives[] =
- {
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 2,
- 0,
- 2,
- 0,
- 2,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 2,
- 1,
- 1,
- 1,
- 0,
- 2,
- 0,
- 2,
- 1,
- 1,
- 1,
- 0,
- 3,
- 0,
- 2,
- 0,
- 2,
- 4,
- 1,
- 4,
- 1,
- 0,
- 2,
- 5,
- 2,
- 4,
- 1,
- 0,
- 2,
- 5,
- 2,
- 4,
- 1,
- 4,
- 4,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 4,
- 4,
- 0,
- 2,
- 2,
- 2,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 2,
- 1,
- 10,
- 3,
- 2,
- 2,
- 1,
- 0,
- 0,
- 0,
- 5,
- 2,
- 2,
- 2,
- 0,
- 0,
- 0,
- 1,
- 2,
- 1,
- 2,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 1,
- 1,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 4,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 1,
- 1,
- 2,
- 1,
- 1,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 1,
- 0,
- 1,
- 1,
- 0,
- 1,
- 1,
- 0,
- 1,
- 1,
- 0,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 1,
- 0,
- 1,
- 0,
- 1,
- 2,
- 1,
- 2,
- 1,
- 2,
- 1,
- 2,
- 2,
- 1,
- 2,
- 2,
- 1,
- 1,
- 0,
- 1,
- };
OpenPOWER on IntegriCloud