Commit b505fab8 by Richard Stallman

*** empty log message ***

From-SVN: r991
parent 963dc8f5
......@@ -107,26 +107,37 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
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... */
......
......@@ -669,12 +669,14 @@ singlemove_string (operands)
}
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";
}
......@@ -1196,7 +1198,7 @@ output_size_for_block_move (size, reg, align)
#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);
......@@ -1621,7 +1623,7 @@ sfmode_constant_to_ulong (x)
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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment