OSDN Git Service

* doc/invoke.texi: Document -mbitops for SH.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8e8c215..a4fe162 100644 (file)
@@ -1,3 +1,116 @@
+2008-04-04  Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * doc/invoke.texi: Document -mbitops for SH.
+       * config/sh/constraints.md (K03, K12, Sbv, Sbw): New constraints.
+       * config/sh/predicates.md (bitwise_memory_operand): New predicate.
+       * config/sh/sh.c (print_operand): Add %t operand code.
+       * config/sh/sh.h (GO_IF_LEGITIMATE_INDEX): Add condition for SH2A.
+       * config/sh/sh.md (*iorsi3_compact): Fix condition for SH2A.
+       (extendqisi2_compact): Add the alternative for SH2A 4-byte mov.b.
+       (extendqihi2): Likewise.
+       (movqi_i): Likewise.
+       (insv): Use bset, bclr and bst instructions for SH2A if possible.
+       (extv): Use bld instruction for SH2A if possible.
+       (extzv): Likewise.
+       (bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a,
+       bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bandreg_m2a,
+       bor_m2a, borreg_m2a, bxor_m2a, bxorreg_m2a): New insns.
+       (bset.b, bclr.b): Define peepholes.
+       * config/sh/sh.opt (mbitops): New option.
+
+2008-04-04  Janis Johnson  <janis187@us.ibm.com>
+
+       PR target/35620
+       * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref
+       and view convert expression.
+
+2008-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/35364
+       * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
+
+2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
+
+       * config/i386/cpuid.h (bit_AES): New.
+       (bit_PCLMUL): Likewise.
+
+       * config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
+       (override_options): Handle PTA_AES and PTA_PCLMUL.  Enable
+       SSE2 if AES or PCLMUL is enabled.
+       (ix86_builtins): Add IX86_BUILTIN_AESENC128,
+       IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
+       IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
+       IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
+       (bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
+       (bdesc_2arg): Add IX86_BUILTIN_AESENC128,
+       IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
+       IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
+       (bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
+       (ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
+       __builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
+       __builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
+       __builtin_ia32_aeskeygenassist128 and
+       __builtin_ia32_pclmulqdq128.
+       * config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
+       (ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
+       IX86_BUILTIN_PSRLDQI128.  Handle IX86_BUILTIN_AESKEYGENASSIST128.
+
+       * config/i386/i386.h (TARGET_AES): New.
+       (TARGET_PCLMUL): Likewise.
+       (TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.
+
+       * config/i386/i386.md (UNSPEC_AESENC): New.
+       (UNSPEC_AESENCLAST): Likewise.
+       (UNSPEC_AESDEC): Likewise.
+       (UNSPEC_AESDECLAST): Likewise.
+       (UNSPEC_AESIMC): Likewise.
+       (UNSPEC_AESKEYGENASSIST): Likewise.
+       (UNSPEC_PCLMUL): Likewise.
+
+       * config/i386/i386.opt (maes): New.
+       (mpclmul): Likewise.
+
+       * config/i386/sse.md (aesenc): New pattern.
+       (aesenclast): Likewise.
+       (aesdec): Likewise.
+       (aesdeclast): Likewise.
+       (aesimc): Likewise.
+       (aeskeygenassist): Likewise.
+       (pclmulqdq): Likewise.
+
+       * config/i386/wmmintrin.h: New.
+
+       * doc/extend.texi: Document AES and PCLMUL built-in function.
+
+       * doc/invoke.texi: Document -maes and -mpclmul.
+
+2008-04-04  Paolo Bonzini  <bonzini@gnu.org>
+
+       * function.c (free_after_parsing): Replace with
+       cxx_push_function_context from C++ front-end.
+       (allocate_struct_function): Don't call langhook.
+       * langhooks.h (struct lang_hooks_for_functions): Delete.
+       (struct lang_hooks): Add back missing_noreturn_ok_p here, delete
+       member "function".
+       * langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
+       (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
+       LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
+       LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
+       (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
+       remove LANG_HOOKS_FUNCTION_INITIALIZER.
+       * tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.
+
+       * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
+       Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
+       
+2008-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/35440
+       * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
+       for all types.
+
 2008-04-04  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/35823