tree decl; \
int i; \
\
- for (i=1;*dtyps[i];i++) { \
- decl = IDENTIFIER_GLOBAL_VALUE (get_identifier (dtyps[i])); \
- if (decl) { \
+ for (i=1;*dtyps[i];i++) \
+ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
+ if ((TREE_CODE (decl) == TYPE_DECL) && \
+ !strcmp(IDENTIFIER_POINTER(DECL_NAME(decl)), dtyps[i])) { \
TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
typevec[i] = TYPE_DEFINED; \
dbxout_symbol (decl, 0); \
+ break; \
} \
- } \
\
- decl = IDENTIFIER_GLOBAL_VALUE (get_identifier ("long int")); \
- TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
- typevec[i] = TYPE_DEFINED; \
- fprintf(asmfile,".stab \"long int:t%d=3\",0,0x%x,0,0\n",i++,N_LSYM); \
- TREE_ASM_WRITTEN (decl) = 1; \
+ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
+ if ((TREE_CODE (decl) == TYPE_DECL) && \
+ !strcmp(IDENTIFIER_POINTER(DECL_NAME(decl)),"long int")) { \
+ TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
+ typevec[i] = TYPE_DEFINED; \
+ fprintf(asmfile,".stab \"long int:t%d=3\",0,0x%x,0,0\n", \
+ i++,N_LSYM); \
+ TREE_ASM_WRITTEN (decl) = 1; \
+ break; \
+ } \
\
- decl = IDENTIFIER_GLOBAL_VALUE (get_identifier ("long unsigned int"));\
- TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
- typevec[i] = TYPE_DEFINED; \
- fprintf(asmfile,".stab \"long unsigned int:t%d=17\",0,0x%x,0,0\n",i++,N_LSYM);\
- TREE_ASM_WRITTEN (decl) = 1; \
+ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
+ if ((TREE_CODE (decl) == TYPE_DECL) && !strcmp( \
+ IDENTIFIER_POINTER(DECL_NAME(decl)),"long unsigned int")) { \
+ TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
+ typevec[i] = TYPE_DEFINED; \
+ fprintf(asmfile,".stab \"long unsigned int:t%d=17\",0,0x%x,0,0\n",\
+ i++,N_LSYM); \
+ TREE_ASM_WRITTEN (decl) = 1; \
+ break; \
+ } \
next_type_number = i; };
/* Alliant dbx doesn't understand split names... */
}
if (GET_CODE (operands[1]) == CONST_INT)
{
+ if (operands[1] == const0_rtx)
+ return "mov %?r0,%0";
if((INTVAL (operands[1]) & 0xffff0000) == 0)
return "or %L1,%?r0,%0";
+ if((INTVAL (operands[1]) & 0xffff8000) == 0xffff8000)
+ return "adds %1,%?r0,%0";
if((INTVAL (operands[1]) & 0x0000ffff) == 0)
return "orh %H1,%?r0,%0";
- if (operands[1] == const0_rtx)
- return "mov %?r0,%0";
}
return "mov %1,%0";
}
#if 1
cc_status.flags &= ~ CC_KNOW_HI_R31;
- output_asm_insn ("mov %1,%0", xoperands);
+ output_asm_insn (singlemove_string (xoperands), xoperands);
#else
if (GET_CODE (size) == REG)
output_asm_insn ("sub %2,%1,%0", xoperands);
abort ();
#if TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT
-# error IEEE emulation needed
+ error IEEE emulation needed
#endif
REAL_VALUE_FROM_CONST_DOUBLE (d, x);
u2.f = d;