* pa.c (output_cbranch, output_bb, output_bvb): Output nop for
conditional branch to the following instruction. Use next_real_insn
instead of next_active_insn.
(output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
instead of next_active_insn.
From-SVN: r64723
* config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o' instead
of 'm' constraint in forced-split alternatives.
("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
VALIDATE_ADDRESS parameter to operand_subword.
* gcc.dg/20030321-1.c: New test.
From-SVN: r64718
2003-03-21 Jerry Quinn <jlquinn@optonline.net>
PR libstdc++/5730
* include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
* include/std/std_complex.h (norm): Use faster,
less accurate computation for builtin float types under --fast-math.
From-SVN: r64701
* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
writing .interrupt command.
* config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
if it's a far or near function.
("call_value"): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
near attributes.
(m68hc11_handle_fntype_attribute): Accept attributes on methods.
(m68hc11_override_options): Ignore -mlong-calls for 68HC11.
(m68hc11_initial_elimination_offset): Set current_function_far
according to attributes.
(expand_prologue): Likewise.
(trap_handler_symbol): New global to keep track of trap handlers.
(m68hc11_encode_section_info): Mark symbol as far if needed; set
trap symbol.
(m68hc11_is_far_symbol): New function.
(m68hc11_is_trap_symbol): New function.
* config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
(m68hc11_is_trap_symbol): Declare.
From-SVN: r64685
* i386.c (ix86_compute_frame_layout): Recompute fast prologues
only when amount of saved regs changed.
(ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
* i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
From-SVN: r64682
PR inline-asm/7916
* function.c (instantiate_virtual_regs_lossage): New function.
(instantiate_virtual_regs_1): Use it.
(instantiate_virtual_regs): Do not continue in substition when insn has
been deleted.
From-SVN: r64681
* javaop.h (jfloat, jdouble): Make them structures mirroring
the bit fields of IEEE float and double respectively.
(JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
(union Word, union DWord): Delete.
(WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
* gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
D_NAN_MASK): Delete.
(jni_print_float, jni_print_double): New. Generate
hexadecimal floating constants.
(print_field_info): Use jni_print_float/double.
* jcf-dump.c: Include math.h. Use ldexp/frexp to assemble
finite floating point numbers for output; special case
non-finite floats.
From-SVN: r64671
* config/s390/s390.h: Do not include fixdfdi.h on s390x.
(TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
(MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
From-SVN: r64669
* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
bit mode.
* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
Receive closure pointer through parameter, read args using
__builtin_dwarf_cfa.
(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
From-SVN: r64663
PR optimization/8366
* config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
(GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
PIC+SYMBOLIC_CONST in other modes than Pmode.
(GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
the form PIC+SYMBOLIC_CONST as mode dependent.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r64657
2003-03-21 Christopher Faylor <cgf@redhat.com>
* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
stub t-cygming. Use common target header cygming.h. Add extra
c_target_obj and cxx_target_obj file. Default cygwin to posix
threading. Enforce i386 as float format.
(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
Remove cygwin.h as target header. Use common target header
cygming.h Enforce i386 as float format. Correct typo.
* config/i386/cygming.h: New file, containing definitions
common to mingw32 and cygwin.
* config/i386/cygwin.h: Remove definitions common to cygwin and
mingw. Simplify special spec logic. Define "wrappers" around
certain include path defines to accommodate -mno-cygwin.
Remove some #if 0'ed code.
(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
* config/i386/mingw32.h: Remove definitions common to cygwin and
mingw.
(EXTRA_OS_CPP_BUILTINS): Adjust.
(TARGET_VERSION): Define.
* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
mingw32.h definitions.
(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
Add compilation rules for cygwin1.o cygwin2.o.
* config/i386/cygwin1.c: New file.
* config/i386/cygwin2.c: New file.
* config/i386/t-cygming: New makefile stub.
From-SVN: r64643