X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=a4fe162f6bd8413c4d7963c3ff442329951cd2fe;hp=126309259da4bb777152a734f4db78a8fbb20fb1;hb=96a7f21610a0f1a5c8aa4f7eaf9578c1ce07e47f;hpb=d5b52ebcb904321cccc7b7f63d61c584b046ce3e diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 126309259da..a4fe162f6bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,199 @@ +2008-04-04 Naveen.H.S + + * 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 + + PR target/35620 + * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref + and view convert expression. + +2008-04-04 Jakub Jelinek + + PR target/35364 + * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers. + +2008-04-04 H.J. Lu + + * 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 + + * 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 + + PR c/35440 + * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR + for all types. + +2008-04-04 Richard Guenther + + PR middle-end/35823 + * fold-const.c (optimize_minmax_comparison): Use the correct + type for the constant in the simplified comparison. + +2008-04-04 Zuxy Meng + + * config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument. + Pass L2 size as "--param l2-cache-size" to the compiler. + (decode_l2_cache): New function to decode L2 cache parameters using + 0x8000006 extended cpuid function. + (detect_caches_amd): Determine parameters of L2 cache using + decode_l2_caches function. + (decode_caches_intel): Decode L2 cache parameters. + (detect_caches_intel): Determine L2 cache parameters using + decode_caches_intel and decode_l2_caches functions. + +2008-04-03 Bob Wilson + + * config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a + secondary input reload for subword loads from the constant pool. + +2008-04-03 Janis Johnson + + PR target/35713 + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer + constants of the appropriate size for runtime calculations. + + PR c/35712 + * dfp.c (decimal_from_decnumber): Retain trailing zeroes for + decimal-float literal constant zero. + +2008-04-03 Jakub Jelinek + + PR c/35738 + * c-parser.c (c_parser_omp_atomic): Call + default_function_array_conversion on the RHS. + + PR middle-end/35818 + * omp-low.c (scan_sharing_clauses) : Don't + call is_variable_sized if decl has incomplete type. + +2008-04-03 H.J. Lu + + * config/i386/i386-protos.h (ix86_aligned_p): Removed. + +2008-04-03 Adam Nemet + + * config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code + iterators. + (u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and + leu. + (sgt): Merge sgt and sgtu into new expander. + (sgt, sgtu): Remove expanders. + (*sgt_): Merge *sgt_ and *sgtu_ into new + pattern. + (*sgt_, *sgtu_): Remove patterns. + (*sgt__mips16): Merge *sgt__mips16 and + *sgtu__mips16 into new pattern. + (*sgt__mips16, *sgtu__mips16): Remove patterns. + (sge): Merge sge and sgeu into new expander. + (sge, sgeu): Remove expanders. + (*sge_): Merge *sge_ and second *sge_ into + new pattern. + (*sge_, second *sge_): Remove patterns. + (slt): Merge slt and sltu into new expander. + (slt, sltu): Remove expanders. + (*slt_): Merge *slt_ and *sltu_ into new + pattern. + (*slt_, *sltu_): Remove patterns. + (*slt__mips16): Merge *slt__mips16 and + *sltu__mips16 into new pattern. + (*slt__mips16, *sltu__mips16): Remove patterns. + (sle): Merge sle and sleu into new expander. + (sle, sleu): Remove expanders. + (*sle_): Merge *sle_ and *sleu_ into new + pattern. + (*sle_, *sleu_): Remove patterns. + (*sle__mips16): Merge *sle__mips16 and + *sleu__mips16 into new pattern. + (*sle__mips16, *sleu__mips16): Remove patterns. + 2008-04-03 Jan Hubicka PR tree-optimization/35795