Richard Kenner [Sat, 21 Oct 1995 22:22:27 +0000 (18:22 -0400)]
(find_barrier): Always use get_attr_length to compute length of instructions.
(find_barrier): Always use get_attr_length to compute length of
instructions. If count_hi or count_si out of range at end, need two
PREV_INSN calls not one.
Richard Kenner [Fri, 20 Oct 1995 22:46:03 +0000 (18:46 -0400)]
(move_to_float insns): Change move_to_float so that it doesn't have a clobber of the memory address...
(move_to_float insns): Change move_to_float so that it doesn't have a
clobber of the memory address, and instead passes the stack temp's
memory address as one of the unspec args.
(fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp.
(multiply, shift insns): Fix all cases of multiply and shift insns so
that the right mnemonics are used for -mcpu=common with both
-m{old,new}-mnemonics.
Richard Kenner [Fri, 20 Oct 1995 22:44:58 +0000 (18:44 -0400)]
(float_conv_temp): Delete global variable.
(stack_temps): New static array to hold stack temps.
(offsettable_mem_operand): Delete function.
(offsettable_addr_operand, rs6000_stack_temp): New functions.
(output_epilog): Zero stack_temps.
Richard Kenner [Thu, 19 Oct 1995 23:31:10 +0000 (19:31 -0400)]
({low_32_bit,offsettable_mem}_operand): The function low_32_bit_operand is now unused, delete it.
({low_32_bit,offsettable_mem}_operand): The function
low_32_bit_operand is now unused, delete it. New function
offsettable_mem_operand to determine if a memory address is
offsettable.
(PREDICATE_CODES): Ditto.
(float_conv_temp): New global.
Richard Kenner [Thu, 19 Oct 1995 23:30:28 +0000 (19:30 -0400)]
({low_32_bit,offsettable_mem}_operand): The function low_32_bit_operand is now unused, delete it.
({low_32_bit,offsettable_mem}_operand): The function
low_32_bit_operand is now unused, delete it. New function
offsettable_mem_operand to determine if a memory address is
offsettable.
(float_conv_temp): New global.
(output_epilog): Zero out float_conv_temp.
Richard Kenner [Thu, 19 Oct 1995 23:27:43 +0000 (19:27 -0400)]
(float{,uns}sidf2): Rewrite to break the conversion process into several general insns.
(float{,uns}sidf2): Rewrite to break the conversion process into several
general insns.
(move_to_float): New insns to move 2 integer regs into a float
register through memory, taking endianess into account. Make sure
that the floating temporary is a valid address. Use one temporary for
all floats converted.
(fix_truncdfsi2): Take endianess into account.
Richard Kenner [Thu, 19 Oct 1995 23:01:42 +0000 (19:01 -0400)]
(ASM_SPEC): If GNU as is the default, then pass -g to the assembler if -malpha-as.
(ASM_SPEC): If GNU as is the default, then pass -g to the assembler if
-malpha-as. If GNU as is not the default, then pass -g to the
assembler is not -mgas.
Richard Kenner [Tue, 3 Oct 1995 17:58:18 +0000 (13:58 -0400)]
(simplify_rtx): In code that attempts to simplify conditional expressions...
(simplify_rtx): In code that attempts to simplify conditional
expressions, if the result is an NE around another comparison, return
the original expression.
Richard Kenner [Tue, 3 Oct 1995 16:21:26 +0000 (12:21 -0400)]
(va_start...
(va_start, stdarg case): Call __builtin_next_arg, and ignore the
result, so that the compiler can report the proper error, if the
second argument is not the last argument.
Richard Kenner [Thu, 28 Sep 1995 18:29:40 +0000 (14:29 -0400)]
(rescan): Expand `#if foo && #bar' without a bogus complaint about preprocessor directives within macro args.
(rescan): Expand `#if foo && #bar' without a bogus complaint about preprocessor
directives within macro args.
Expand `foo' in `foo#bar' without requiring a space before `#'.
Richard Kenner [Tue, 19 Sep 1995 23:29:48 +0000 (19:29 -0400)]
(MACROPROLOGUE): New macro.
(FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function
prologue macros.
(FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment
problems.
(ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord.
(ASM_OUTPUT_{SHORT,ASCII}): Reworked.
Richard Kenner [Fri, 15 Sep 1995 21:43:55 +0000 (17:43 -0400)]
(decrement_and_branchsi and related insns): Don't use a "2" to select a...
(decrement_and_branchsi and related insns): Don't use a "2" to select
a register preference for operand 1 if operand 2 hasn't been seen yet.
Add appropriate clobbers in decrement_and_branchsi.
Add patterns where the pc/label_ref are interchanged.
Richard Kenner [Fri, 15 Sep 1995 21:39:39 +0000 (17:39 -0400)]
(fill_simple_delay_slots): When filling an insn's delay slot with a JUMP_INSN...
(fill_simple_delay_slots): When filling an insn's delay slot with a
JUMP_INSN, don't assume the JUMP_INSN immediately follows the insn on
the unfilled slots obstack.