case M32C_OPERAND_DSP_48_U8 :
errmsg = insert_normal (cd, fields->f_dsp_48_u8, 0, 32, 16, 8, 32, total_length, buffer);
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ {
+ long value = fields->f_dsp_8_s24;
+ value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
+ errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, buffer);
+ }
+ break;
case M32C_OPERAND_DSP_8_S8 :
errmsg = insert_normal (cd, fields->f_dsp_8_s8, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, buffer);
break;
case M32C_OPERAND_IMM_12_S4 :
errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
+ break;
case M32C_OPERAND_IMM_13_U3 :
errmsg = insert_normal (cd, fields->f_imm_13_u3, 0, 0, 13, 3, 32, total_length, buffer);
break;
case M32C_OPERAND_IMM_8_S4 :
errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
break;
case M32C_OPERAND_DSP_48_U8 :
length = extract_normal (cd, ex_info, insn_value, 0, 32, 16, 8, 32, total_length, pc, & fields->f_dsp_48_u8);
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ {
+ long value;
+ length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, pc, & value);
+ value = ((((((unsigned int) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
+ fields->f_dsp_8_s24 = value;
+ }
+ break;
case M32C_OPERAND_DSP_8_S8 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 8, 32, total_length, pc, & fields->f_dsp_8_s8);
break;
case M32C_OPERAND_IMM_12_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
+ break;
case M32C_OPERAND_IMM_13_U3 :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_imm_13_u3);
break;
case M32C_OPERAND_IMM_8_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
break;
case M32C_OPERAND_DSP_48_U8 :
value = fields->f_dsp_48_u8;
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ value = fields->f_dsp_8_s24;
+ break;
case M32C_OPERAND_DSP_8_S8 :
value = fields->f_dsp_8_s8;
break;
case M32C_OPERAND_IMM_12_S4 :
value = fields->f_imm_12_s4;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ value = fields->f_imm_12_s4;
+ break;
case M32C_OPERAND_IMM_13_U3 :
value = fields->f_imm_13_u3;
break;
case M32C_OPERAND_IMM_8_S4 :
value = fields->f_imm_8_s4;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ value = fields->f_imm_8_s4;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
value = fields->f_imm_12_s4;
break;
case M32C_OPERAND_DSP_48_U8 :
value = fields->f_dsp_48_u8;
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ value = fields->f_dsp_8_s24;
+ break;
case M32C_OPERAND_DSP_8_S8 :
value = fields->f_dsp_8_s8;
break;
case M32C_OPERAND_IMM_12_S4 :
value = fields->f_imm_12_s4;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ value = fields->f_imm_12_s4;
+ break;
case M32C_OPERAND_IMM_13_U3 :
value = fields->f_imm_13_u3;
break;
case M32C_OPERAND_IMM_8_S4 :
value = fields->f_imm_8_s4;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ value = fields->f_imm_8_s4;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
value = fields->f_imm_12_s4;
break;
case M32C_OPERAND_DSP_48_U8 :
fields->f_dsp_48_u8 = value;
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ fields->f_dsp_8_s24 = value;
+ break;
case M32C_OPERAND_DSP_8_S8 :
fields->f_dsp_8_s8 = value;
break;
case M32C_OPERAND_IMM_12_S4 :
fields->f_imm_12_s4 = value;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ fields->f_imm_12_s4 = value;
+ break;
case M32C_OPERAND_IMM_13_U3 :
fields->f_imm_13_u3 = value;
break;
case M32C_OPERAND_IMM_8_S4 :
fields->f_imm_8_s4 = value;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ fields->f_imm_8_s4 = value;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
fields->f_imm_12_s4 = value;
break;
case M32C_OPERAND_DSP_48_U8 :
fields->f_dsp_48_u8 = value;
break;
+ case M32C_OPERAND_DSP_8_S24 :
+ fields->f_dsp_8_s24 = value;
+ break;
case M32C_OPERAND_DSP_8_S8 :
fields->f_dsp_8_s8 = value;
break;
case M32C_OPERAND_IMM_12_S4 :
fields->f_imm_12_s4 = value;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ fields->f_imm_12_s4 = value;
+ break;
case M32C_OPERAND_IMM_13_U3 :
fields->f_imm_13_u3 = value;
break;
case M32C_OPERAND_IMM_8_S4 :
fields->f_imm_8_s4 = value;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ fields->f_imm_8_s4 = value;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
fields->f_imm_12_s4 = value;
break;