Commit Graph

5177 Commits

Author SHA1 Message Date
Ian Lance Taylor
7560d6cb1e Correct last change.
From-SVN: r5190
1993-08-20 16:25:56 +00:00
Jim Wilson
00d4ca1c64 (simplify_shift_const...
(simplify_shift_const, XOR case): When applying
distributive law, use shift_mode and GET_MODE (varop) instead of
result_mode.

From-SVN: r5189
1993-08-19 16:17:58 -07:00
Richard Kenner
2aaf11def1 (scc): Fix typo in scc with compare and set.
From-SVN: r5188
1993-08-19 18:27:01 -04:00
Richard Kenner
423012407e (can_combine_p): Don't reject SUBREG assignments here.
(subst): Instead, do it here, but also allow it in as a nested SUBREG since
the inner one will be eliminated.
(simplify_and_const_int): Convert (and (neg X) (const_int 1)) to a shift
when X is known to be either 0 or 1.

From-SVN: r5187
1993-08-19 16:20:37 -04:00
Richard Kenner
2df46b06a2 (fold): Handle EQ_EXPR and NE_EXPR where both args are comparisons or
BIT_AND_EXPR with constant 1.

From-SVN: r5186
1993-08-19 08:28:38 -04:00
Jim Wilson
0dc92bf6bc (SELECT_SECTION): Put object in sdata only if size is known, i.e.
(SELECT_SECTION): Put object in sdata only if size is
known, i.e. greater than 0.

From-SVN: r5185
1993-08-18 20:36:41 -07:00
Richard Kenner
f0343c7490 (try_combine): Don't split a PARALLEL of a SIGN_EXTEND and the object being...
(try_combine): Don't split a PARALLEL of a SIGN_EXTEND and the object
being sign extended if we have made assumptions about the form the
I2DEST.

From-SVN: r5184
1993-08-18 19:30:08 -04:00
Richard Kenner
0840fd91a3 (nonzero_bits): Handle case when BYTE_LOADS_EXTEND is not on and we
are asked for something in a mode wider than it.

From-SVN: r5183
1993-08-18 17:48:33 -04:00
Jeff Law
9d53c94264 pa.md (movdf insn): Distinguish between offsettable and nonoffsettable memory locations when...
* pa.md (movdf insn): Distinguish between offsettable and
        nonoffsettable memory locations when loading/storing a GR.
        (movdi insn): Likewise.  Loading a DImode constant can take
        as many os 4 insns.

From-SVN: r5182
1993-08-18 10:34:05 -06:00
Jeff Law
42e86f8524 pa.md (zero_extendqihi2): No need to explicitly set a length, the defaults are correct.
* pa.md (zero_extendqihi2): No need to explicitly set a length,
        the defaults are correct.
        (zero_extendqisi2, floatsisf2, floatsidf2): Likewise.
        (floatdisf2, floatdidf2, fix_truncsfsi2): Likewise.
        (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2): Likewise.

From-SVN: r5181
1993-08-18 10:26:12 -06:00
Jeff Law
1bc695cdac pa.c (emit_move_sequence): Check both reload_in_progress and reload_completed when...
* pa.c (emit_move_sequence): Check both reload_in_progress and
	reload_completed when choosing a scratch/temporary register.

From-SVN: r5180
1993-08-18 00:50:55 -06:00
Jeff Law
44552b6a5b pa.md (high for symbolic operands): TARGET_KERNEL version is now default.
* pa.md (high for symbolic operands): TARGET_KERNEL version is
        now default.  Delete ! TARGET_KERNEL version.

From-SVN: r5179
1993-08-18 00:45:51 -06:00
Jeff Law
ba365a1952 pa.c (emit_move_sequence): Always handle secondary reloads for symbolic addresses.
* pa.c (emit_move_sequence): Always handle secondary reloads for
        symbolic addresses.
        (secondary_reload_class): Symbolic operands always need a secondary
        reload from R1_REGS if their target class is not R1_REGS.

From-SVN: r5178
1993-08-18 00:45:41 -06:00
Jeff Law
6641552950 * pa.h (TARGET_KERNEL): Delete switch and all references to it.
From-SVN: r5177
1993-08-18 00:45:29 -06:00
Jeff Law
7b0ba51e9b pa-hpux.h (DEFAULT_GDB_EXTENSIONS): Turn GDB extensions off.
* pa-hpux.h (DEFAULT_GDB_EXTENSIONS): Turn GDB extensions off.
        * pa-hpux7.h (DEFAULT_GDB_EXTENSIONS): Likewise.

From-SVN: r5176
1993-08-18 00:41:27 -06:00
Jeff Law
794b7f5667 * pa.h (DEFAULT_GDB_EXTENSIONS): GDB extensions are on by default.
From-SVN: r5175
1993-08-18 00:38:13 -06:00
Jeff Law
9a735993c7 pa-ghpux.h (TARGET_DEFAULT): Enable TARGET_GAS.
* pa-ghpux.h (TARGET_DEFAULT): Enable TARGET_GAS.
        * pa-gux7.h, pa-utahmach.h, pa.h (TARGET_DEFAULT): Likewise.
        * pa1-ghpux.h, pa1-utahmach.h, pa1.h (TARGET_DEFAULT): Likewise.

From-SVN: r5174
1993-08-18 00:35:21 -06:00
Jeff Law
c87ba6712c pa.h (TARGET_GAS): New target flag to control use of GAS specific assembler directives.
* pa.h (TARGET_GAS): New target flag to control use of GAS specific
        assembler directives.
        (TARGET_SWITCHES): Support -mgas and -mno-gas.
        (ASM_DECLARE_FUNCTION_NAME): If TARGET_GAS, then emit .PARAM directives
        for static functions so that argument relocations work.

From-SVN: r5173
1993-08-18 00:34:51 -06:00
Jeff Law
7426c95997 pa.c (hppa_legitimize_address): Rework address computation for x[n - m] so that problems with implicit space...
* pa.c (hppa_legitimize_address): Rework address computation
        for x[n - m] so that problems with implicit space register
        selection are avoided.

From-SVN: r5172
1993-08-18 00:28:39 -06:00
Jeff Law
e30f390e6f * pa.h (EXTRA_CONSTRAINT): Delete unused 'S' constraint.
From-SVN: r5171
1993-08-18 00:23:25 -06:00
Jeff Law
9ec9ad5798 pa.md (call_internal_symref): Make pattern unavailable if TARGET_LONG_CALLS.
* pa.md (call_internal_symref): Make pattern unavailable if
        TARGET_LONG_CALLS.
        (call_value_internal_symref): Likewise.

From-SVN: r5170
1993-08-18 00:22:49 -06:00
Richard Kenner
228e0c5f6c (tablejump): Now SImode and uses cased.
From-SVN: r5169
1993-08-16 18:59:00 -04:00
Richard Kenner
386d1816b7 (ASM_OUTPUT_ADDR_DIFF_ELT): Use .double instead of .word.
(CASE_VECTOR_MODE): Now SImode; was HImode.

From-SVN: r5168
1993-08-16 18:58:36 -04:00
Richard Kenner
8edfb249b9 (ASM_OUTPUT_ADDR_DIFF_ELT): Use .double instead of .word.
From-SVN: r5167
1993-08-16 18:58:03 -04:00
Richard Kenner
79bf94d3ea (fold...
(fold, case EQ_EXPR): Re-enable converting signed MOD operations to
unsigned when inside comparisons against zero, but only when the
second operand of the MOD is an integral power of two.

From-SVN: r5166
1993-08-16 18:47:39 -04:00
John Hassey
41fe0b83ba Fixed va_list problem in _int_varargs.h
From-SVN: r5165
1993-08-16 19:42:38 +00:00
Roland McGrath
9c5501daf4 *** empty log message ***
From-SVN: r5164
1993-08-16 19:10:25 +00:00
Richard Kenner
e28f57321d (use_crosses_set_p): Check for partially overlapping hard regs.
From-SVN: r5163
1993-08-16 11:16:14 -04:00
Jeff Law
e572bad3c6 reorg.c (find_end_label): If a suitable RETURN insn exists at the end of the current function...
* reorg.c (find_end_label): If a suitable RETURN insn exists at
        the end of the current function, place a label in front of it
        for the end_of_function_label.

From-SVN: r5162
1993-08-15 18:16:56 -06:00
Richard Stallman
4724b3dea0 (declare_hidden_char_array): New function to factor out duplicate code in declare_function_name.
(declare_hidden_char_array): New function to
factor out duplicate code in declare_function_name.
Don't set DECL_EXTERNAL (which is illegal without TREE_PUBLIC)
to prevent output; instead, set TREE_ASM_WRITTEN.

(declare_function_name): Use declare_hidden_char_array.

From-SVN: r5161
1993-08-15 09:30:20 +00:00
Richard Stallman
0bc9c25268 (check_format): For scan of "%["...
(check_format): For scan of "%[", skip over scan set
til closing ']' to avoid processing it as ordinary format characters.

From-SVN: r5160
1993-08-14 03:22:24 +00:00
Richard Kenner
34a25822f3 (expand_expr, case SAVE_EXPR): Set MEM_IN_STRUCT_P appropriately when
the result is a MEM.

From-SVN: r5159
1993-08-13 19:26:34 -04:00
Richard Stallman
8e90a239ee (ASM_OUTPUT_ALIGN_CODE): Override as no-op.
From-SVN: r5158
1993-08-13 21:09:57 +00:00
Richard Stallman
e5ec2eb878 Comment fix.
From-SVN: r5157
1993-08-13 19:00:02 +00:00
Richard Stallman
5c23d95b4f (ASM_OUTPUT_ALIGN_CODE): Override to avoid generating a second argument.
From-SVN: r5156
1993-08-13 18:59:37 +00:00
Jim Wilson
aabe87cd7e (LONG_DOUBLE_TYPE_SIZE): Define to 128.
From-SVN: r5155
1993-08-13 11:32:32 -07:00
Richard Kenner
23d5d23d23 (expand_inline_function): Copy args that are in hard regs instead of
substiting them directly into insns.

From-SVN: r5154
1993-08-13 14:30:00 -04:00
Jim Wilson
842fbaaafe (GET_REAL, PUT_REAL): Add TFmode versions.
(MAXDECEXP, MINDECEXP): New decimal exponent limits
that vary with definition of LONG_DOUBLE_TYPE_SIZE.
(endian, ereal_atof, real_value_truncate, einfin, emdnorm, asctoeg):
Add cases for TFmode.
(etartdouble): New function converts REAL_VALUE_TYPE to TFmode
for use by ASM_OUTPUT_LONG_DOUBLE.
(edivm, emulm): Ifdef out, replace by faster multiply and divide.
(etoe113, toe113, e113toe): New type conversions for TFmode.
(asctoe113, e113toasc): New TFmode binary <-> decimal conversions.
(at top level): Define constants ezero, eone, emtens, etens, ...
in a new 20-byte format when LONG_DOUBLE_TYPE_SIZE = 128 and
set NE to 10.  Otherwise, the internal format remains 12 bytes wide.
(etoudi, etodi, ditoe, uditoe): New functions, signed and unsigned
DImode float and fix, for real.c used in a libgcc-of-last-resort.
(esqrt): New function, correctly rounded square root for libgcc.
(etodec): Delete ifdef'd version.
(eroundi, eroundui): Rename to efixi, efixui and always
round towards zero.
From frank@atom.ansto.gov.au (Frank Crawford):
(etoibm, toibm, ibmtoe): New conversions for IBM 370 float format.
(e53toe, e64toe, toe64, etoe53, toe53, etoe24, toe24, asctoe53,
asctoeg, make_nan): Ifdef for IBM.

From-SVN: r5153
1993-08-13 11:28:49 -07:00
Jim Wilson
7bb5d01e32 (REAL_VALUE_TYPE): Define array at least 20 bytes wide if LONG_DOUBLE_TYPE_SIZE is 128 bits.
(REAL_VALUE_TYPE): Define array at least 20 bytes wide
if LONG_DOUBLE_TYPE_SIZE is 128 bits.
(etartdouble): Declare and use for REAL_VALUE_TO_TARGET_LONG_DOUBLE
when long double is TFmode.
(REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX): Must always round
towards zero.

From-SVN: r5152
1993-08-13 11:27:32 -07:00
Richard Kenner
3d91674b87 (subsi3): Merge alternatives.
(comparison patterns): Eliminate generation of "sfi."; no such instruction
exists.

From-SVN: r5151
1993-08-13 07:50:22 -04:00
Richard Stallman
fd5d5b94a1 (output_init_element): Don't call default_conversion for a STRING_CST if type is directly suitable for it.
(output_init_element): Don't call default_conversion
for a STRING_CST if type is directly suitable for it.
(digest_init): Eliminate a lot of code that checks the variable
'element', since element is always 0 in these code paths.

(build_c_cast): For (void *) (FOO *) 0, return a nop_expr
so it doesn't count as a null pointer constant.
(convert_for_assignment, build_binary_op): Pedantically warn about
that case if looking for a null_pointer_constant.
(build_conditional_expr): Likewise.

From-SVN: r5150
1993-08-13 05:59:36 +00:00
Richard Stallman
1930a6180e (CPP_PREDEFINES): Define _CROSS_TARGET_ARCH.
From-SVN: r5149
1993-08-13 01:24:18 +00:00
Richard Kenner
b19003d879 (attribute "type"): Add new type, "branch".
(attribute "length"): New attribute; put on all insns that don't have default
length.
(branch patterns): If conditional branch won't reach, take conditional branch
around an unconditional branch.

(plus): Split (plus (COMPARISON FOO ...) ...) at FOO.

From-SVN: r5148
1993-08-12 19:02:25 -04:00
Michael Meissner
967d1506d5 Add -m{,no-}underscore support.
From-SVN: r5147
1993-08-12 21:16:23 +00:00
Michael Meissner
6e026f481e Do not report -Wnested-extern errors for __FUNCTION__/__PRETTY_FUNCTION__.
From-SVN: r5146
1993-08-12 21:14:02 +00:00
Jim Wilson
7e2feebfc7 (legitimize_pic_address): Delete 4th arg SCRATCH.
Fix all callers.
(emit_move_sequence): Delete 3rd arg SCRATCH_REG.  Fix all
callers.  If operand1 is an invalid PIC address, then legitimize
it before doing anything else.

From-SVN: r5145
1993-08-12 10:52:48 -07:00
Jim Wilson
7aca9b9c4e (SECONDARY_INPUT_RELOAD_CLASS): Delete case for invalid PIC addresses.
(SECONDARY_INPUT_RELOAD_CLASS): Delete case for invalid
PIC addresses.
(CONSTANT_ADDRESS_P): Reject invalid PIC addresses.
(LEGITIMATE_PIC_OPERAND_P): New macro.
(GO_IF_LEGITIMATE_ADDRESS): Reject invalid PIC addresses.
(LEGITIMIZE_ADDRESS): Fix call to legitimize_pic_address.

From-SVN: r5144
1993-08-12 10:52:01 -07:00
Jim Wilson
d0fc7beaa2 (reload_insi): Delete.
(*): Fix all callers of legitimize_pic_address and emit_move_sequence.

From-SVN: r5143
1993-08-12 10:51:16 -07:00
Jim Wilson
a78bdb3850 (thread_prologue_and_epilogue_insns): For the
epilogue, put USE insns immediately before the return insn.

From-SVN: r5142
1993-08-12 10:45:57 -07:00
Jim Wilson
46aea93218 (sched_analyze_insn): Handle USE before a JUMP_INSN just
like a USE before a CALL_INSN.

From-SVN: r5141
1993-08-12 10:45:15 -07:00