1. 26 Oct, 2012 10 commits
    • ChangeLog/ · 3a0d99bb
              * gcc/common/config/i386/i386-common.c
              (OPTION_MASK_ISA_FXSR_SET): New.
              (OPTION_MASK_ISA_XSAVE_SET): Likewise.
              (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
              (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
              * gcc/config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
              xsaveintrin.h, xsaveoptintrin.h.
              (x86_64-*-*): Likewise.
              * config/i386/fxsrintrin.h: New header.
              * config/i386/xsaveintrin.h: Likewise.
              * config/i386/xsaveoptintrin.h: Likewise.
              * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect
              FXSR/XSAVE/XSAVEOPT support.
              * gcc/config/i386/i386-builtin-types.def
              (VOID_FTYPE_PVOID_INT64): New function type.
              * gcc/config/i386/i386-c.c: Define __FXSR__, __XSAVE__
              and __XSAVEOPT__ if needed.
              * gcc/config/i386/i386.c (ix86_target_string): Define -mfxsr,
               -mxsave and -mxsaveopt options.
              (PTA_FXSR): New.
              (PTA_XSAVE): Likewise.
              (PTA_XSAVEOPT): Likewise.
              (ix86_option_override_internal): Handle new option.
              (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
              (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
              OPT_mxsave, OPT_mxsaveopt.
              (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
              IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
              IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
              IX86_BUILTIN_XSAVEOPT64.
              (ix86_expand_builtin): Handle these built-ins.
              * gcc/config/i386/i386.h (TARGET_FXSR): New.
              (TARGET_XSAVE): Likewise.
              (TARGET_XSAVEOPT): Likewise.
              * gcc/config/i386/i386.md (ANY_XSAVE): New int iterator.
              (ANY_XSAVE64): Likewise.
              (xsave): New int attribute.
              (fxsave): New instruction.
              (fxsave64): Likewise.
              (fxrstor): Likewise.
              (fxrstor64): Likewise.
              (<xsave>): Likewise.
              (<xsave>_rex64): Likewise.
              (xrstor): Likewise.
              (xrstor_rex64): Likewise.
              (xrstor64): Likewise.
              * gcc/config/i386/i386.opt (mfxsr): New.
              (mxsave): Likewise.
              (mxsaveopt): Likewise.
              * gcc/config/i386/x86intrin.h: Include
              xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.
      
      testsuite/ChangeLog
              * gcc.target/i386/fxsave-1.c: New.
              * gcc.target/i386/fxsave64-1.c: Ditto.
              * gcc.target/i386/fxrstor-1.c: Ditto.
              * gcc.target/i386/fxrstor64-1.c: Ditto.
              * gcc.target/i386/xsave-1.c: Ditto.
              * gcc.target/i386/xsave64-1.c: Ditto.
              * gcc.target/i386/xrstor-1.c: Ditto.
              * gcc.target/i386/xrstor64-1.c: Ditto.
              * gcc.target/i386/xsaveopt-1.c: Ditto.
              * gcc.target/i386/xsaveopt64-1.c: Ditto.
              * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
              * gcc.target/i386/sse-13.c: Ditto.
              * gcc.target/i386/sse-14.c: Ditto.
              * gcc.target/i386/sse-22.c: Ditto.
              * gcc.target/i386/sse-23.c: Ditto.
              * g++.dg/other/i386-2.C: Ditto.
              * g++.dg/other/i386-3.C: Ditto.
      
      
      Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
      
      From-SVN: r192840
      Alexander Ivchenko committed
    • t-rtems: Revert previous commit. · 8befc91f
      2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
      
      	* config/avr/t-rtems: Revert previous commit.
      
      From-SVN: r192838
      Ralf Corsepius committed
    • re PR bootstrap/55049 (bootstrap failed with --with-multilib-list=m32,m64,mx32) · 277f65de
      gcc/
      	PR bootstrap/55049
      	* Makefile.in (rtlanal.o): Add dependency on addresses.h.
      	* rtl.h (address_info): New structure.
      	(strip_address_mutations, decompose_address, decompose_lea_address)
      	(decompose_mem_address, update_address, get_index_scale)
      	(get_index_code): Declare.
      	* rtlanal.c: Include addresses.h.
      	(strip_address_mutations, must_be_base_p, must_be_index_p)
      	(set_address_segment, set_address_base, set_address_index)
      	(set_address_disp, decompose_incdec_address, decompose_automod_address)
      	(extract_plus_operands, baseness, decompose_normal_address)
      	(decompose_address, decompose_lea_address, decompose_mem_address)
      	(update_address, get_index_scale, get_index_code): New functions.
      	* lra-constraints.c (strip_subreg): New function.
      	(address, extract_loc_address_regs, extract_address_regs)
      	(get_index_scale): Delete.
      	(process_addr_reg): Apply strip_subreg to the location.
      	(uses_hard_regs_p): Use decompose_mem_address.
      	(valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
      	(equiv_address_substitution): Take an address_info rather
      	than an address.  Remove other arguments.  Avoid using Pmode.
      	(process_address): Use decompose_mem_address and decompose_lea_address.
      	Update calls to above functions.
      
      From-SVN: r192837
      Richard Sandiford committed
    • lra-constraints.c (process_address): Tighten arguments to base_reg_class. · f9d4ecd4
      gcc/
      	* lra-constraints.c (process_address): Tighten arguments to
      	base_reg_class.  Use simplify_gen_binary to generate PLUS rtxes.
      
      From-SVN: r192836
      Richard Sandiford committed
    • lra-constraints.c (get_index_scale, [...]): New functions. · 02ea4bf4
      gcc/
      	* lra-constraints.c (get_index_scale, can_add_disp_p): New functions.
      	(equiv_address_substitution): Use them.
      
      From-SVN: r192835
      Richard Sandiford committed
    • lra-constraints.c (valid_address_p): New function, split out from... · 8bf9b489
      gcc/
      	* lra-constraints.c (valid_address_p): New function, split out from...
      	(process_address): ...here.
      
      From-SVN: r192834
      Richard Sandiford committed
    • lra-constraints.c (process_address): Describe the kinds of address that we might see. · bd3d34d4
      gcc/
      	* lra-constraints.c (process_address): Describe the kinds of address
      	that we might see.
      
      From-SVN: r192833
      Richard Sandiford committed
    • lra-int.h (lra_assert): Redefine it gcc_checking_assert. · a202e609
      2012-10-25  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* lra-int.h (lra_assert): Redefine it gcc_checking_assert.
      	* lra-constraints.c (check_and_process_move): Remove #if
      	ENABLE_ASSERT_CHECKING.
      
      From-SVN: r192832
      Vladimir Makarov committed
    • rtems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__. · c5022db0
      2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
      
      	* config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
      	__USE_INIT_FINI__.
      	* config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
      
      From-SVN: r192828
      Ralf Corsepius committed
    • Daily bump. · c4ffeb65
      From-SVN: r192827
      GCC Administrator committed
  2. 25 Oct, 2012 25 commits
  3. 24 Oct, 2012 5 commits