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. */ ...@@ -107,26 +107,37 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
tree decl; \ tree decl; \
int i; \ int i; \
\ \
for (i=1;*dtyps[i];i++) { \ for (i=1;*dtyps[i];i++) \
decl = IDENTIFIER_GLOBAL_VALUE (get_identifier (dtyps[i])); \ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
if (decl) { \ if ((TREE_CODE (decl) == TYPE_DECL) && \
!strcmp(IDENTIFIER_POINTER(DECL_NAME(decl)), dtyps[i])) { \
TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \ TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
typevec[i] = TYPE_DEFINED; \ typevec[i] = TYPE_DEFINED; \
dbxout_symbol (decl, 0); \ dbxout_symbol (decl, 0); \
break; \
} \ } \
} \
\ \
decl = IDENTIFIER_GLOBAL_VALUE (get_identifier ("long int")); \ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \ if ((TREE_CODE (decl) == TYPE_DECL) && \
typevec[i] = TYPE_DEFINED; \ !strcmp(IDENTIFIER_POINTER(DECL_NAME(decl)),"long int")) { \
fprintf(asmfile,".stab \"long int:t%d=3\",0,0x%x,0,0\n",i++,N_LSYM); \ TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
TREE_ASM_WRITTEN (decl) = 1; \ 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"));\ for (decl = syms; decl; decl = TREE_CHAIN(decl)) \
TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \ if ((TREE_CODE (decl) == TYPE_DECL) && !strcmp( \
typevec[i] = TYPE_DEFINED; \ IDENTIFIER_POINTER(DECL_NAME(decl)),"long unsigned int")) { \
fprintf(asmfile,".stab \"long unsigned int:t%d=17\",0,0x%x,0,0\n",i++,N_LSYM);\ TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = i; \
TREE_ASM_WRITTEN (decl) = 1; \ 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; }; next_type_number = i; };
/* Alliant dbx doesn't understand split names... */ /* Alliant dbx doesn't understand split names... */
......
...@@ -669,12 +669,14 @@ singlemove_string (operands) ...@@ -669,12 +669,14 @@ singlemove_string (operands)
} }
if (GET_CODE (operands[1]) == CONST_INT) if (GET_CODE (operands[1]) == CONST_INT)
{ {
if (operands[1] == const0_rtx)
return "mov %?r0,%0";
if((INTVAL (operands[1]) & 0xffff0000) == 0) if((INTVAL (operands[1]) & 0xffff0000) == 0)
return "or %L1,%?r0,%0"; return "or %L1,%?r0,%0";
if((INTVAL (operands[1]) & 0xffff8000) == 0xffff8000)
return "adds %1,%?r0,%0";
if((INTVAL (operands[1]) & 0x0000ffff) == 0) if((INTVAL (operands[1]) & 0x0000ffff) == 0)
return "orh %H1,%?r0,%0"; return "orh %H1,%?r0,%0";
if (operands[1] == const0_rtx)
return "mov %?r0,%0";
} }
return "mov %1,%0"; return "mov %1,%0";
} }
...@@ -1196,7 +1198,7 @@ output_size_for_block_move (size, reg, align) ...@@ -1196,7 +1198,7 @@ output_size_for_block_move (size, reg, align)
#if 1 #if 1
cc_status.flags &= ~ CC_KNOW_HI_R31; cc_status.flags &= ~ CC_KNOW_HI_R31;
output_asm_insn ("mov %1,%0", xoperands); output_asm_insn (singlemove_string (xoperands), xoperands);
#else #else
if (GET_CODE (size) == REG) if (GET_CODE (size) == REG)
output_asm_insn ("sub %2,%1,%0", xoperands); output_asm_insn ("sub %2,%1,%0", xoperands);
...@@ -1621,7 +1623,7 @@ sfmode_constant_to_ulong (x) ...@@ -1621,7 +1623,7 @@ sfmode_constant_to_ulong (x)
abort (); abort ();
#if TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT #if TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT
# error IEEE emulation needed error IEEE emulation needed
#endif #endif
REAL_VALUE_FROM_CONST_DOUBLE (d, x); REAL_VALUE_FROM_CONST_DOUBLE (d, x);
u2.f = d; 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