summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
Commit message (Collapse)AuthorAgeFilesLines
* gen-vect-2.c: Use "char" for vector elements if "int" is only 16 bit bits wide.Rask Ingemann Lambertsen2007-08-022-2/+6
| | | | | | | | * gcc.dg/tree-ssa/gen-vect-2.c: Use "char" for vector elements if "int" is only 16 bit bits wide. * gcc.dg/tree-ssa/gen-vect-11a.c: Likewise. From-SVN: r127152
* re PR middle-end/32668 (The type-generic builtins apply default promotions)Kaveh R. Ghazi2007-08-022-107/+14
| | | | | | | | | | | | | | gcc/cp: PR middle-end/32668 * call.c (magic_varargs_p): Honor the "type generic" attribute. gcc/testsuite: * g++.dg/torture/type-generic-1.C: New. * gcc.dg/pr28796-2.c: Move tests ... * gcc.dg/tg-tests.h: ... here. * gcc.dg/torture/type-generic-1.c: New. From-SVN: r127146
* execute.exp: Change copyright header to refer to version 3 of the GNU ↵Nick Clifton2007-08-0128-114/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General Public License... * gcc.c-torture/execute/execute.exp: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * gcc.c-torture/execute/ieee/ieee.exp, gcc.c-torture/unsorted/unsorted.exp, gcc.c-torture/compile/compile.exp, gcc.c-torture/compile/structs.c, gcc.target/powerpc/powerpc.exp, gcc.target/arm/neon/neon.exp, gcc.target/arm/arm.exp, gcc.target/cris/torture/cris-torture.exp, gcc.target/cris/cris.exp, gcc.target/ia64/ia64.exp, gcc.target/alpha/alpha.exp, gcc.target/m68k/m68k.exp, gcc.target/spu/spu.exp, gcc.target/mips/mips.exp, gcc.target/sparc/sparc.exp, gcc.target/i386/i386.exp, gcc.target/x86_64/abi/abi-x86_64.exp, gnat.dg/specs/specs.exp, gnat.dg/dg.exp, gnat.dg/style/style.exp, gcc.dg/special/mips-abi.exp, gcc.dg/special/special.exp, gcc.dg/pch/pch.exp, gcc.dg/vxworks/vxworks.exp, gcc.dg/dg.exp, gcc.dg/charset/charset.exp, gcc.dg/weak/weak.exp, gcc.dg/tree-ssa/tree-ssa.exp, gcc.dg/tls/tls.exp, gcc.dg/cpp/cpp.exp, gcc.dg/cpp/trad/trad.exp, gcc.dg/matrix/matrix.exp, gcc.dg/vmx/vmx.exp, gcc.dg/compat/struct-layout-1.exp, gcc.dg/compat/compat.exp, gcc.dg/compat/struct-layout-1_generate.c, gcc.dg/debug/debug.exp, gcc.dg/debug/dwarf2/dwarf2.exp, gcc.dg/tree-prof/tree-prof.exp, gcc.dg/ipa/ipa.exp, gcc.dg/dfp/dfp.exp, gcc.dg/noncompile/noncompile.exp, gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp, gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp, gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp, gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp, gcc.dg/vect/vect.exp, gcc.dg/format/format.exp, gcc.misc-tests/i386-prefetch.exp, gcc.misc-tests/sort2.exp, gcc.misc-tests/matrix1.exp, gcc.misc-tests/dectest.exp, gcc.misc-tests/options.exp, gcc.misc-tests/gcov.exp, gcc.misc-tests/mg-2.exp, gcc.misc-tests/mg.exp, gcc.misc-tests/bprob.exp, gcc.misc-tests/acker1.exp, gcc.misc-tests/dhry.exp, gcc.misc-tests/linkage.exp, gcc.misc-tests/arm-isr.exp, gcc.misc-tests/sieve.exp, g++.old-deja/g++.niklas/README, g++.old-deja/g++.gb/README, g++.old-deja/old-deja.exp, gfortran.fortran-torture/execute/execute.exp, gfortran.fortran-torture/compile/compile.exp, treelang/output/output-1.c, treelang/output/output-1.tree, treelang/execute/execute.exp, treelang/Makefile.in, treelang/compile/compile.exp, g++.dg/dg.exp, g++.dg/debug/debug.exp, g++.dg/debug/dwarf2/dwarf2.exp, g++.dg/charset/charset.exp, g++.dg/vect/vect.exp, g++.dg/tls/tls.exp, g++.dg/tree-prof/tree-prof.exp, g++.dg/pch/pch.exp, g++.dg/special/ecos.exp, g++.dg/compat/struct-layout-1.exp, g++.dg/compat/struct-layout-1_generate.c, g++.dg/compat/compat.exp, g++.dg/gcov/gcov.exp, g++.dg/bprob/bprob.exp, config/default.exp, gcc.test-framework/test-framework.awk, gcc.test-framework/gen_directive_tests, gcc.test-framework/test-framework.exp, objc.dg/special/special.exp, objc.dg/gnu-encoding/gnu-encoding.exp, objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c, objc.dg/pch/pch.exp, objc.dg/dg.exp, lib/copy-file.exp, lib/profopt.exp, lib/gcc.exp, lib/mike-g++.exp, lib/c-compat.exp, lib/scanrtl.exp, lib/gfortran-dg.exp, lib/g++.exp, lib/obj-c++.exp, lib/wrapper.exp, lib/gnat-dg.exp, lib/compat.exp, lib/c-torture.exp, lib/gcc-dg.exp, lib/scanasm.exp, lib/gnat.exp, lib/treelang-dg.exp, lib/prune.exp, lib/gcov.exp, lib/treelang.exp, lib/dg-pch.exp, lib/scantree.exp, lib/g++-dg.exp, lib/objc-dg.exp, lib/file-format.exp, lib/target-libpath.exp, lib/obj-c++-dg.exp, lib/scandump.exp, lib/target-supports-dg.exp, lib/gcc-defs.exp, lib/fortran-torture.exp, lib/objc.exp, lib/scanipa.exp, lib/mike-gcc.exp, lib/objc-torture.exp, lib/gfortran.exp, lib/target-supports.exp, obj-c++.dg/dg.exp, gfortran.dg/dg.exp, gfortran.dg/vect/vect.exp, objc/execute/execute.exp, objc/execute/exceptions/exceptions.exp, objc/compile/compile.exp: Likewise. From-SVN: r127127
* 2007-07-30 Jan Sjodin <jan.sjodin@amd.com>Jan Sjodin2007-07-313-2/+65
| | | | | | | | | | | | | | | | | * tree-data-ref.c (split_constant_offset): Enable split_constant_offset to extract constants from other statements. * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Generate data_ref_base to a temp var. Force base_offset to be simple. 2007-07-30 Jan Sjodin <jan.sjodin@amd.com> * gcc.dg/vect/vect-117.c: New test. * gcc.dg/vect/vect-74.c: Enabled test * gcc.dg/vect/vect-81.c: Enabled test From-SVN: r127080
* pragma-darwin.c: Run on all *-*-darwin* targets.Andrew Pinski2007-07-301-8/+8
| | | | | | | | | 2007-07-30 Andrew Pinski <pinskia@gmail.com> * gcc.dg/pragma-darwin.c: Run on all *-*-darwin* targets. s/dg-error/dg-warning where warning is expected. From-SVN: r127072
* directives-only.c: New file.Ollie Wild2007-07-3011-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcpp/ * directives-only.c: New file. * internal.h (struct _cpp_dir_only_callbacks): New. (_cpp_preprocess_dir_only): New function. * directives.c (_cpp_handle_directive): Check directives_only before disabling execution of indented directives. * files.c (_cpp_stack_file): Add directives_only check. * include/cpplib.h (struct cpp_options): Add directives_only. (cpp_init_special_builtins): New function. * init.c (cpp_init_special_builtins): New function. (cpp_init_builtins): Move builtin_array initialization to cpp_init_special_builtins. (post_options): Check directives_only before setting pfile->state.prevent_expansion = 1. * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__ is expanded inside a directive while -fdirectives-only is enabled. * Makefile.in (libcpp_a_OBJS): Add directives-only.o. (libcpp_a_SOURCES): Add directives-only.c. gcc/ * c-ppoutput.c (print_lines_directives_only): New function. (scan_translation_unit_directives_only): New function. (preprocess_file): Add call to scan_translation_unit_directives_only. * c-opts.c (c_common_handle_option): Add OPT_fdirectives_only. (sanitize_cpp_opts): Add default flag_dump_macros setting for -fdirectives-only. Add errors for -fdirectives-only conflict with -Wunused-macros and -traditional. (finish_options): Add builtin macro initialization for -fdirectives-only + -fpreprocessed. * c.opt (fdirectives-only): New. * doc/cppopts.texi (fdirectives-only): New. gcc/testsuite/ * gcc.dg/cpp/counter-2.c: New test. * gcc.dg/cpp/counter-3.c: New test. * gcc.dg/cpp/dir-only-1.c: New test. * gcc.dg/cpp/dir-only-1.h: New file. * gcc.dg/cpp/dir-only-2.c: New test. * gcc.dg/cpp/dir-only-3.c: New test. * gcc.dg/cpp/dir-only-3a.h: New file. * gcc.dg/cpp/dir-only-3b.h: New file. * gcc.dg/cpp/dir-only-4.c: New test. * gcc.dg/cpp/dir-only-5.c: New test. * gcc.dg/cpp/dir-only-6.c: New test. From-SVN: r127066
* re PR testsuite/32471 (Testcases which always fail on targets where an int ↵Rask Ingemann Lambertsen2007-07-273-12/+15
| | | | | | | | | | | | is 16 bits) PR testsuite/32471 * gcc.dg/torture/pr30364-1.c (f)(main): Use INT_MAX instead of assuming it is 0x7ffffffff. * gcc.dg/torture/pr30364-2.c (f)(main): Likewise. * gcc.dg/torture/pr30364-3.c (f)(main): Likewise. From-SVN: r127005
* pr27743.c (bar): Use an integer of exactly 32 bits because the test relies ↵Rask Ingemann Lambertsen2007-07-271-3/+4
| | | | | | | | | on bit 31 to be the... * gcc.dg/torture/pr27743.c (bar): Use an integer of exactly 32 bits because the test relies on bit 31 to be the sign bit. From-SVN: r126990
* pr28651.c (main): Use INT_MAX instead of assuming it is 0x7fffffff.Rask Ingemann Lambertsen2007-07-272-5/+6
| | | | | | | | | * gcc.c-torture/execute/pr28651.c (main): Use INT_MAX instead of assuming it is 0x7fffffff. * gcc.dg/tree-ssa/vrp29.c (decCompare)(main): Likewise. * gcc.dg/Wconversion-integer-no-sign.c (h): Likewise. From-SVN: r126989
* assign-warn-3.c (f0): Declare as inline.Nathan Froyd2007-07-261-2/+2
| | | | | | | | PR/19232 * gcc.dg/assign-warn-3.c (f0): Declare as inline. (f1): Likewise. From-SVN: r126955
* 20070725-1.c: Split the spare field in two to avoid: error: width of 'spare' ↵Andreas Krebbel2007-07-261-1/+2
| | | | | | | | | | | exceeds its type. 2007-07-26 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.dg/20070725-1.c: Split the spare field in two to avoid: error: width of 'spare' exceeds its type. From-SVN: r126949
* sibcall-3.c: Skip on PowerPC targets when -mlongcall.Nathan Froyd2007-07-262-0/+4
| | | | | | | * gcc.dg/sibcall-3.c: Skip on PowerPC targets when -mlongcall. * gcc.dg/sibcall-4.c: Likewise. From-SVN: r126943
* re PR rtl-optimization/31500 (FAIL: gcc.dg/Warray-bounds.c (internal ↵John David Anglin2007-07-251-2/+1
| | | | | | | | | | compiler error)) PR rtl-optimization/31500 * gcc.dg/Warray-bounds.c: Remove hppa xfails. * g++.dg/warn/Warray-bounds.C: Likewise. From-SVN: r126924
* costmodel-vect-reduc-1char.c: Updated.H.J. Lu2007-07-251-2/+2
| | | | | | | | 2007-07-25 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Updated. From-SVN: r126913
* Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.Julian Brown2007-07-252-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi. * config.gcc (arm*-*-*): Add arm_neon.h to extra headers. (with_fpu): Allow --with-fpu=neon. * config/arm/aof.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15. * config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15. * config/arm/arm-modes.def (EI, OI, CI, XI): New modes. * config/arm/arm-protos.h (neon_immediate_valid_for_move) (neon_immediate_valid_for_logic, neon_output_logic_immediate) (neon_pairwise_reduce, neon_expand_vector_init, neon_reinterpret) (neon_emit_pair_result_insn, neon_disambiguate_copy) (neon_vector_mem_operand, neon_struct_mem_operand, output_move_quad) (output_move_neon): Add prototypes. * config/arm/arm.c (FL_NEON): New flag for NEON processor capability. (all_fpus): Add FPUTYPE_NEON. (fp_model_for_fpu): Add NEON field. (arm_return_in_memory): Return vectors <= 16 bytes in ARM registers. (arm_arg_partial_bytes): Allow NEON vectors to be passed partially in registers. (arm_legitimate_address_p): Don't support fancy addressing for NEON structure moves. (thumb2_legitimate_address_p): Likewise. (neon_valid_immediate): Recognize and prepare constants suitable for NEON instructions. (neon_immediate_valid_for_move): New function. Recognize and prepare immediates for NEON move instructions. (neon_immediate_valid_for_logic): New function. Recognize and prepare immediates for NEON logic instructions. (neon_output_logic_immediate): New function. Create asm string suitable for outputting immediate logic instructions. (neon_pairwise_reduce): New function. Implement reduction using pairwise operations. (neon_expand_vector_init): New function. Expand a (possibly non-constant) vector initialization. (neon_vector_mem_operand): New function. Memory operands supported for quad-word loads/stores to/from ARM or NEON registers. Don't allow base+offset addressing for core regs. (neon_struct_mem_operand): New function. Valid mems for NEON structure moves. (coproc_secondary_reload_class): Enable NEON registers to be loaded from neon_vector_mem_operand addresses without a secondary register. (add_minipool_forward_ref): Handle >8-byte minipool entries. (add_minipool_backward_ref): Likewise. (dump_minipool): Likewise. (push_minipool_fix): Likewise. (output_move_quad): New function. Output quad-word moves, loads and stores using ARM registers. (output_move_vfp): Add support for vectors in VFP (NEON) D registers. (output_move_neon): Output a NEON load/store to/from a quadword register. (arm_print_operand): Implement new codes: - 'c' for unadorned integers (without a # sign). - 'J', 'K' for reg+2/reg+3, reg+3/reg+2 in little/big-endian mode. - 'e', 'f' for the low and high D parts of a NEON Q register. - 'q' outputs a NEON Q register. - 'h' outputs ranges of D registers for VLDM/VSTM etc. - 'T' prints NEON opcode features from a coded bitmask. - 'F' is similar to T, but signed/unsigned codes both print as 'i'. - 't' is similar to T, but 'u' is printed instead of 'p'. - 'O' prints 'r' if NEON instruction should perform rounding (as specified by bitmask), else prints nothing. - '#' is a punctuation character to stop operand numbers from running together with following digits in the assembler strings for instructions (when using mode attributes). (arm_assemble_integer): Handle extra NEON vector modes. Permute constant vectors in big-endian mode, where necessary. (arm_hard_regno_mode_ok): Allow vectors in VFP/NEON registers. Handle EI, OI, CI, XI modes. (ashlv4hi3, ashlv2si3, lshrv4hi3, lshrv2si3, ashrv4hi3) (ashrv2si3): Rename IWMMXT2_BUILTINs to... (ashlv4hi3_iwmmxt, ashlv2si3_iwmmxt, lshrv4hi3_iwmmxt) (lshrv2si3_iwmmxt, ashrv4hi3_iwmmxt, ashrv2si3_iwmmxt): New names. (neon_builtin_type_bits): Add enumeration, one bit for each vector type. (v8qi_UP, v4hi_UP, v2si_UP, v2sf_UP, di_UP, v16qi_UP, v8hi_UP) (v4si_UP, v4sf_UP, v2di_UP, ti_UP, ei_UP, oi_UP, UP): Define macros to turn v8qi, etc. into bits defined above. (neon_itype): New enumeration. Classifications of NEON builtins. (neon_builtin_datum): Define struct. Contains information about a single builtin (with multiple modes). (CF): Define helper macro for... (VAR1...VAR10): Define builtins with a type, name and 1-10 different modes. (neon_builtin_data): New array. Define information about builtins for use during initialization/expansion. (arm_init_neon_builtins): New function. (arm_init_builtins): Call arm_init_neon_builtins if TARGET_NEON is true. (neon_builtin_compare): New function. (locate_neon_builtin_icode): New function. Find an insn code for a builtin given a function code for that builtin. Also return type of builtin (NEON_BINOP, NEON_UNOP etc.). (builtin_arg): New enumeration. Types of arguments for builtins. (arm_expand_neon_args): New function. Expand a generic NEON builtin. Takes a variable argument list of builtin_arg types, terminated by NEON_ARG_STOP. (arm_expand_neon_builtin): New function. Expand a NEON builtin. (neon_reinterpret): New function. Expand NEON reinterpret intrinsic. (neon_emit_pair_result_insn): New function. Support returning pairs of vectors via a pointer. (neon_disambiguate_copy): New function. Set up operands for a multi-word copy such that registers do not get clobbered. (arm_expand_builtin): Call arm_expand_neon_builtin if fcode >= ARM_BUILTIN_NEON_BASE. (arm_file_start): Set float-abi attribute for NEON. (arm_vector_mode_supported_p): Enable NEON vector modes. (arm_mangle_map_entry): New. (arm_mangle_map): New. (arm_mangle_vector_type): New. * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_NEON__ when appropriate. (TARGET_NEON): New macro. Target supports NEON. (fputype): Add FPUTYPE_NEON. (UNITS_PER_SIMD_WORD): Define. Allow quad-word registers to be used for vectorization based on command-line arg. (NEON_REGNO_OK_FOR_NREGS): Define. (VALID_NEON_DREG_MODE, VALID_NEON_QREG_MODE) (VALID_NEON_STRUCT_MODE): Define. (PRINT_OPERAND_PUNCT_VALID_P): '#' is valid punctuation. (arm_builtins): Add ARM_BUILTIN_NEON_BASE. * config/arm/arm.md (VUNSPEC_POOL_16): Insert constant for unspec. (consttable_16): Add pattern for outputting 16-byte minipool entries. (movv2si, movv4hi, movv8qi): Remove blank expanders (redefined in vec-common.md). (vec-common.md, neon.md): Include md files. * config/arm/arm.opt (mvectorize-with-neon-quad): Add option. * config/arm/constraints.md (constraint "Dn", "Dl", "DL"): Define. (memory_constraint "Ut", "Un", "Us"): Define. * config/arm/iwmmxt.md (VMMX, VSHFT): New mode macros. (MMX_char): New mode attribute. (addv8qi3, addv4hi3, addv2si3): Remove. Replace with... (*add<mode>3_iwmmxt): New insn pattern. (subv8qi3, subv4hi3, subv2si3): Remove. Replace with... (*sub<mode>3_iwmmxt): New insn pattern. (mulv4hi3): Rename to... (*mulv4hi3_iwmmxt): This. (smaxv8qi3, smaxv4hi3, smaxv2si3, umaxv8qi3, umaxv4hi3) (umaxv2si3, sminv8qi3, sminv4hi3, sminv2si3, uminv8qi3) (uminv4hi3, uminv2si3): Remove. Replace with... (*smax<mode>3_iwmmxt, *umax<mode>3_iwmmxt, *smin<mode>3_iwmmxt) (*umin<mode>3_iwmmxt): These. (ashrv4hi3, ashrv2si3, ashrdi3_iwmmxt): Replace with... (ashr<mode>3_iwmmxt): This new pattern. (lshrv4hi3, lshrv2si3, lshrdi3_iwmmxt): Replace with... (lshr<mode>3_iwmmxt): This new pattern. (ashlv4hi3, ashlv2si3, ashldi3_iwmmxt): Replace with... (ashl<mode>3_iwmmxt): This new pattern. * config/arm/neon-docgen.ml: New file. Generate documentation for intrinsics. * config/arm/neon-gen.ml: New file. Generate arm_neon.h header. * config/arm/arm_neon.h: New (autogenerated). * config/arm/neon-testgen.ml: New file. Generate NEON tests automatically. * config/arm/neon.md: New file. Define NEON instructions. * config/arm/neon.ml: New file. Abstract description of NEON instructions, used to generate arm_neon.h header, documentation and tests. * config/arm/t-arm (MD_INCLUDES): Add vec-common.md, neon.md. * vec-common.md: New file. Shared parts for iWMMXt and NEON vector support. * doc/extend.texi (ARM Built-in Functions): Rename and remove extraneous comma. (ARM NEON Intrinsics): New subsection. * doc/arm-neon-intrinsics.texi: New (autogenerated). gcc/testsuite/ * gcc.dg/vect/vect.exp: Check is-effective-target arm_neon_hw. * gcc.dg/vect/tree-vect.h: Check for NEON SIMD support. * lib/gcc-dg.exp (cleanup-saved-temps): Fix comment. * lib/target-supports.exp (check_effective_target_arm_neon_ok) (check_effective_target_arm_neon_hw): New. * gcc.target/arm/neon/neon.exp: New file. * gcc.target/arm/neon/polytypes.c: New file. * gcc.target/arm/neon/v*.c (1870 files): New (autogenerated). Co-Authored-By: Joseph Myers <joseph@codesourcery.com> Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com> Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r126911
* 20070725-1.c: Testcase for revision 126876 added.Andreas Krebbel2007-07-251-0/+63
| | | | | | | | 2007-07-25 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.dg/20070725-1.c: Testcase for revision 126876 added. From-SVN: r126909
* predcom-1.c (count_averages): Avoid overflow during addition if an int is ↵Rask Ingemann Lambertsen2007-07-252-2/+2
| | | | | | | | | | only 16 bits wide. * gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow during addition if an int is only 16 bits wide. * gcc.dg/tree-ssa/predcom-2.c (fib): Avoid overflow of 16-bit int. From-SVN: r126908
* pr29584.c: Only run test if pointers have the same size as "long int" and ↵Rask Ingemann Lambertsen2007-07-252-2/+2
| | | | | | | | | | are 32 or 64... * gcc.dg/torture/pr29584.c: Only run test if pointers have the same size as "long int" and are 32 or 64 bits wide. * gcc.dg/torture/pr28814.c: Likewise. From-SVN: r126907
* pr30313.c (struct S): Make sure the bit-field is exactly as wide as an int.Rask Ingemann Lambertsen2007-07-251-0/+8
| | | | | | | * gcc.dg/torture/pr30313.c (struct S): Make sure the bit-field is exactly as wide as an int. From-SVN: r126906
* struct-layout-1_generate.c (COMPAT_PRLL): Define and use throughout as long ↵Danny Smith2007-07-251-11/+25
| | | | | | | | | | | long printf format specifier. * gcc.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL): Define and use throughout as long long printf format specifier. * g++.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL): Likewise. From-SVN: r126903
* fe-convert-2.c: Unconditionally enable testing for converting from 1.0e-96 ↵H.J. Lu2007-07-241-5/+2
| | | | | | | | | | | and 0.00048828125 to... 2007-07-24 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/dfp/fe-convert-2.c: Unconditionally enable testing for converting from 1.0e-96 and 0.00048828125 to _Decimal32. From-SVN: r126898
* * gcc.dg/dfp/fe-convert-1.c: Fix typo in comments.Ben Elliston2007-07-251-1/+1
| | | | From-SVN: r126892
* 2007-07-24 Dorit Nuzman <dorit@il.ibm.com>Dorit Nuzman2007-07-243-8/+8
| | | | | | | | | | | | | * lib/target-support.exp (check_effective_target_natural_alignment): (check_effective_target_vector_alignment_reachable): New. * config/spu/spu.c (spu_vector_alignment_reachable): New. (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define. * * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target check. * gcc.dg/vect/pr25413.c: Likewise. * gcc.dg/vect/pr31699.c: Likewise. From-SVN: r126872
* * gcc.dg/inline-23.c: Use pointer sized type for cast from pointer.Rask Ingemann Lambertsen2007-07-211-2/+3
| | | | From-SVN: r126809
* re PR tree-optimization/19910 (ICE with -ftree-loop-linear)Uros Bizjak2007-07-201-0/+16
| | | | | | | PR tree-optimization/19910 * gcc.dg/pr19910.c: New test. From-SVN: r126799
* re PR target/32641 (C99 fpclassify, isinf, isfinite, isnormal may raise FP ↵Kaveh R. Ghazi2007-07-184-35/+154
| | | | | | | | | | | | | | | | | | | | | | | exceptions) fixincludes: PR target/32641 * inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6, solaris_math_7): Constify and make FP exception-safe. * tests/base/iso/math_c99.h: Update. * fixincl.x: Regenerate. gcc/testsuite: * gcc.dg/c99-math-double-1.c: Mark test variables as volatile. Test negative numbers also. * gcc.dg/c99-math-float-1.c: Likewise. * gcc.dg/c99-math-long-double-1.c: Likewise. * gcc.dg/c99-math.h: Check for FP exceptions. Update for negative test inputs. From-SVN: r126730
* re PR target/30652 (SSE expansion is missing for isinf() and other ↵Kaveh R. Ghazi2007-07-181-9/+28
| | | | | | | | | | | | | | | | | fpclassify functions) PR target/30652 * builtins.c (expand_builtin_interclass_mathfn): Provide a generic transformation for builtin ISNORMAL. (expand_builtin): Handle BUILT_IN_ISNORMAL. * builtins.def (BUILT_IN_ISNORMAL): New. * doc/extend.texi: Document isnormal. testsuite: * gcc.dg/pr28796-2.c: Add more cases. From-SVN: r126726
* re PR target/30652 (SSE expansion is missing for isinf() and other ↵Kaveh R. Ghazi2007-07-182-0/+27
| | | | | | | | | | | | | | | | | | | | | | | fpclassify functions) PR target/30652 * builtins.c (expand_builtin_interclass_mathfn): Allow for missing optabs infrastructure. Provide generic implementation for FINITE/ISFINITE. (expand_builtin): Handle FINITE/ISFINITE. (fold_builtin_classify): Make ISFINITE canonical instead of FINITE. (fold_builtin_1): Likewise. * builtins.def (BUILT_IN_ISFINITE): New. * doc/extend.texi: Document isfinite. testsuite: * gcc.dg/pr28796-1.c: Add more cases. * gcc.dg/pr28796-2.c: Likewise. From-SVN: r126725
* re PR target/30652 (SSE expansion is missing for isinf() and other ↵Kaveh R. Ghazi2007-07-182-6/+97
| | | | | | | | | | | | | | | | | | | | fpclassify functions) PR target/30652 PR middle-end/20558 * builtins.c (expand_builtin_interclass_mathfn): Provide a generic fallback for isinf. * c-cppbuiltin.c (builtin_define_float_constants): Move FP max calculation code ... * real.c (get_max_float): ... to here. * real.h (get_max_float): New. testsuite: * gcc.dg/pr28796-1.c: Add more cases. * gcc.dg/pr28796-2.c: Likewise. From-SVN: r126724
* re PR rtl-optimization/32773 (SH: ICE in create_pre_exit, at ↵Zdenek Dvorak2007-07-171-0/+11
| | | | | | | | | | | | mode-switching.c:223) PR rtl-optimization/32773 * cfglayout.c (force_one_exit_fallthru): New function. (cfg_layout_finalize): Use it. * gcc.dg/pr32773.c: New test. From-SVN: r126700
* 20061101-2.c: Variant of 20061101-1.c adapted to work on targets with 16-bit ↵Rask Ingemann Lambertsen2007-07-162-0/+111
| | | | | | | | | | | | | | | or wider int. 2007-07-16 Rask Ingemann Lambertsen <rask@sygehus.dk> * gcc.c-torture/execute/20061101-2.c: Variant of 20061101-1.c adapted to work on targets with 16-bit or wider int. * gcc.c-torture/execute/pr29797-2.c: Likewise for pr29797-1.c. * gcc.c-torture/execute/pr31448-2.c: Likewise for pr31448.c. * gcc.dg/20061109-2.c: Likewise for 20061109-1.c. * gcc.dg/pr27959-2.c: Likewise for pr27959.c. From-SVN: r126693
* ltrans-5.c: Only run test on targets which support large arrays.Rask Ingemann Lambertsen2007-07-163-3/+3
| | | | | | | | | | | | | | 2007-07-16 Rask Ingemann Lambertsen <rask@sygehus.dk> * gcc.dg/tree-ssa/ltrans-5.c: Only run test on targets which support large arrays. * gcc.dg/pr27959.c: Only run test if an int is at least 32 bits wide. * gcc.dg/20061109-1.c: Likewise. * gcc.c-torture/execute/20061101-1.x: Likewise. * gcc.c-torture/execute/pr29797-1.x: Likewise. * gcc.c-torture/execute/pr31448.x: Likewise. From-SVN: r126691
* 20001013-1.c: Move to gcc.target/sparc.Eric Botcazou2007-07-1425-849/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/20001013-1.c: Move to gcc.target/sparc. * gcc.dg/20001101-1.c: Likewise. * gcc.dg/20001102-1.c: Likewise. * gcc.dg/20020116-2.c: Likewise. * gcc.dg/20020416-1.c: Likewise. * gcc.dg/sparc-constant-1.c: Likewise. * gcc.dg/sparc-dwarf2.c: Likewise. * gcc.dg/sparc-frame-1.c: Likewise. * gcc.dg/sparc-getcontext-1.c: Likewise. * gcc.dg/sparc-loop-1.c: Likewise. * gcc.dg/sparc-reg-1.c: Likewise. * gcc.dg/sparc-ret.c: Likewise. * gcc.dg/sparc-trap-1.c: Likewise. * gcc.dg/ultrasp10.c: Likewise. * gcc.dg/ultrasp11.c: Likewise. * gcc.dg/ultrasp1.c: Likewise. * gcc.dg/ultrasp2.c: Likewise. * gcc.dg/ultrasp3.c: Likewise. * gcc.dg/ultrasp4.c: Likewise. * gcc.dg/ultrasp5.c: Likewise. * gcc.dg/ultrasp6.c: Likewise. * gcc.dg/ultrasp7.c: Likewise. * gcc.dg/ultrasp8.c: Likewise. * gcc.dg/ultrasp9.c: Likewise. * gcc.dg/splet-1.c: Delete. From-SVN: r126641
* target-supports.exp (check_effective_target_vect_aligned_arrays): New ↵Uros Bizjak2007-07-143-10/+11
| | | | | | | | | | | | | | | | procedure to check if arrays are naturally aligned to the vector alignment... * lib/target-supports.exp (check_effective_target_vect_aligned_arrays): New procedure to check if arrays are naturally aligned to the vector alignment boundary. * gcc.dg/vect/pr25413a.c: Do not include stdarg.h. Use __SIZE_TYPE__ in size_t typedef. Adjust tree dump scan results according to vect_aligned_arrays target check. * gcc.dg/vect/pr25413.c: Adjust tree dump scan results according to vect_aligned_arrays target check. * gcc.dg/vect/pr31699.c: Ditto. From-SVN: r126636
* config.gcc: Add options for arch and tune on SPU.Sa Liu2007-07-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-13 Sa Liu <saliu@de.ibm.com> * config.gcc: Add options for arch and tune on SPU. * config/spu/predicates.md: Add constant operands 0 and 1. * config/spu/spu-builtins.def: Add builtins for double precision floating point comparison: si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv, spu_cmpeq_13, spu_cmpabseq_1, spu_cmpgt_13, spu_cmpabsgt_1, spu_testsv. * config/spu/spu-c.c: Define __SPU_EDP__ when builtins invoked with a CELLEDP target. * config/spu/spu-protos.h: Add new function prototypes. * config/spu/spu.c (spu_override_options): Check options -march and -mtune. (spu_comp_icode): Add comparison code for DFmode and vector mode. (spu_emit_branch_or_set): Use the new code for DFmode and vector mode comparison. (spu_const_from_int): New. Create a vector constant from 4 ints. (get_vec_cmp_insn): New. Get insn index of vector compare instruction. (spu_emit_vector_compare): New. Emit vector compare. (spu_emit_vector_cond_expr): New. Emit vector conditional expression. * config/spu/spu.h: Add options -march and -mtune. Define processor types PROCESSOR_CELL and PROCESSOR_CELLEDP. Define macro CANONICALIZE_COMPARISON. * config/spu/spu.md: Add new insns for double precision compare and double precision vector compare. Add vcond and smax/smin patterns to enable DFmode vector conditional expression. * config/spu/spu.opt: Add options -march and -mtune. * config/spu/spu_internals.h: Add builtins for CELLEDP target: si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv. Add builtin for both CELL and CELLEDP targets: spu_testsv. * config/spu/spu_intrinsics.h: Add flag mnemonics for test special values. testsuite/ * gcc.dg/vect/fast-math-vect-reduc-7.c: Switch on test for V2DFmode vector conditional expression. * gcc.target/spu/dfcmeq.c: New. Test combination of abs and dfceq patterns. * gcc.target/spu/dfcmgt.c: New. Test combination of abs and dfcgt patterns. * gcc.target/spu/intrinsics-2.c: New. Test intrinsics for V2DFmode comparison and test special values. * lib/target-supports.exp: Switch on test for V2DFmode vector conditional expression. From-SVN: r126626
* re PR tree-optimization/32721 (CCP removes volatile qualifiers.)Richard Guenther2007-07-131-0/+18
| | | | | | | | | | | | | | 2007-07-13 Richard Guenther <rguenther@suse.de> PR tree-optimization/32721 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve TREE_THIS_VOLATILE on the folded reference. * tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops if the array reference has TREE_THIS_VOLATILE set. * gcc.dg/pr32721.c: New testcase. From-SVN: r126624
* 20011127-1.c: Use dg-message...Hans-Peter Nilsson2007-07-131-2/+2
| | | | | | | * gcc.dg/20011127-1.c: Use dg-message, not dg-error to match the error message part that continues on a new line. From-SVN: r126618
* Index: gcc/ChangeLogGeoffrey Keating2007-07-134-0/+289
| | | | | | | | | | | | | | | | | | | | 2007-07-12 Geoffrey Keating <geoffk@apple.com> * ginclude/tgmath.h: New. * config.gcc: Use GCC's tgmath.h on non-glibc systems. * doc/sourcebuild.texi (Headers): Document use_gcc_tgmath. * configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath. * configure: Regenerate. Index: gcc/testsuite/ChangeLog 2007-07-11 Geoffrey Keating <geoffk@apple.com> * gcc.dg/c99-tgmath-1.c: New. * gcc.dg/c99-tgmath-2.c: New. * gcc.dg/c99-tgmath-3.c: New. * gcc.dg/c99-tgmath-4.c: New. From-SVN: r126613
* re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and ↵Manuel López-Ibáñez2007-07-12223-5558/+5558
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warnings) 2007-07-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org> Janis Johnson <janis187@us.ibm.com> PR testsuite/25241 gcc/testsuite/ * gcc.test-framework/dg-error-exp-F.c: New test. * gcc.test-framework/dg-warning-exp-F.c: New test. * lib/gcc.exp: Enable warning and error prefixes. * lib/gcc-dg.exp (dg-warning): Wrap original dg-warning. (dg-error): Wrap original dg-error. * gcc.target/powerpc/altivec-types-1.c: Remove explicit error/warning markers from dg-error/dg-warning directives. * gcc.dg/20040322-1.c: Likewise. * gcc.dg/Wchar-subscripts-1.c: Likewise. * gcc.dg/Wdeclaration-after-statement-1.c: Likewise. * gcc.dg/Wdeclaration-after-statement-2.c: Likewise. * gcc.dg/Werror-1.c: Likewise. * gcc.dg/Werror-10.c: Likewise. * gcc.dg/Werror-11.c: Likewise. * gcc.dg/Werror-2.c: Likewise. * gcc.dg/Werror-3.c: Likewise. * gcc.dg/Werror-4.c: Likewise. * gcc.dg/Werror-5.c: Likewise. * gcc.dg/Werror-6.c: Likewise. * gcc.dg/Werror-7.c: Likewise. * gcc.dg/Werror-8.c: Likewise. * gcc.dg/Werror-9.c: Likewise. * gcc.dg/Werror-implicit-function-declaration.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c89.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c99.c: Likewise. * gcc.dg/Wint-to-pointer-cast-1.c: Likewise. * gcc.dg/Wint-to-pointer-cast-2.c: Likewise. * gcc.dg/Wint-to-pointer-cast-3.c: Likewise. * gcc.dg/Wnested-externs-1.c: Likewise. * gcc.dg/Wpointer-to-int-cast-1.c: Likewise. * gcc.dg/Wpointer-to-int-cast-2.c: Likewise. * gcc.dg/Wpointer-to-int-cast-3.c: Likewise. * gcc.dg/Wshadow-3.c: Likewise. * gcc.dg/Wtraditional-conversion-2.c: Likewise. * gcc.dg/Wwrite-strings-1.c: Likewise. * gcc.dg/anon-struct-5.c: Likewise. * gcc.dg/anon-struct-6.c: Likewise. * gcc.dg/anon-struct-7.c: Likewise. * gcc.dg/anon-struct-8.c: Likewise. * gcc.dg/array-8.c: Likewise. * gcc.dg/array-quals-2.c: Likewise. * gcc.dg/asm-qual-1.c: Likewise. * gcc.dg/asm-wide-1.c: Likewise. * gcc.dg/assign-warn-1.c: Likewise. * gcc.dg/assign-warn-2.c: Likewise. * gcc.dg/bitfld-10.c: Likewise. * gcc.dg/bitfld-11.c: Likewise. * gcc.dg/bitfld-12.c: Likewise. * gcc.dg/bitfld-13.c: Likewise. * gcc.dg/bitfld-14.c: Likewise. * gcc.dg/builtin-choose-expr-2.c: Likewise. * gcc.dg/builtins-30.c: Likewise. * gcc.dg/c90-const-expr-5.c: Likewise. * gcc.dg/c90-typespec-1.c: Likewise. * gcc.dg/c99-const-expr-5.c: Likewise. * gcc.dg/c99-flex-array-5.c: Likewise. * gcc.dg/c99-fordecl-3.c: Likewise. * gcc.dg/c99-tag-3.c: Likewise. * gcc.dg/c99-typespec-1.c: Likewise. * gcc.dg/c99-vla-jump-1.c: Likewise. * gcc.dg/c99-vla-jump-2.c: Likewise. * gcc.dg/c99-vla-jump-3.c: Likewise. * gcc.dg/c99-vla-jump-4.c: Likewise. * gcc.dg/c99-vla-jump-5.c: Likewise. * gcc.dg/cast-1.c: Likewise. * gcc.dg/cast-2.c: Likewise. * gcc.dg/cast-3.c: Likewise. * gcc.dg/cast-4.c: Likewise. * gcc.dg/cast-pretty-print-1.c: Likewise. * gcc.dg/comp-goto-2.c: Likewise. * gcc.dg/comp-goto-3.c: Likewise. * gcc.dg/cpp/error-1.c: Likewise. * gcc.dg/cpp/if-paren.c: Likewise. * gcc.dg/decl-7.c: Likewise. * gcc.dg/decl-8.c: Likewise. * gcc.dg/decl-nospec-1.c: Likewise. * gcc.dg/decl-nospec-2.c: Likewise. * gcc.dg/decl-nospec-3.c: Likewise. * gcc.dg/declspec-10.c: Likewise. * gcc.dg/declspec-11.c: Likewise. * gcc.dg/declspec-12.c: Likewise. * gcc.dg/declspec-13.c: Likewise. * gcc.dg/declspec-14.c: Likewise. * gcc.dg/declspec-15.c: Likewise. * gcc.dg/declspec-16.c: Likewise. * gcc.dg/declspec-17.c: Likewise. * gcc.dg/declspec-4.c: Likewise. * gcc.dg/declspec-5.c: Likewise. * gcc.dg/declspec-6.c: Likewise. * gcc.dg/declspec-7.c: Likewise. * gcc.dg/declspec-8.c: Likewise. * gcc.dg/declspec-9.c: Likewise. * gcc.dg/dfp/Wtraditional-conversion-2.c: Likewise. * gcc.dg/dfp/constants-c99.c: Likewise. * gcc.dg/dfp/keywords-c89.c: Likewise. * gcc.dg/dfp/keywords-c99.c: Likewise. * gcc.dg/dfp/keywords-reserved.c: Likewise. * gcc.dg/dfp/typespec.c: Likewise. * gcc.dg/dremf-type-compat-2.c: Likewise. * gcc.dg/dremf-type-compat-3.c: Likewise. * gcc.dg/dremf-type-compat-4.c: Likewise. * gcc.dg/empty-source-2.c: Likewise. * gcc.dg/empty-source-3.c: Likewise. * gcc.dg/enum3.c: Likewise. * gcc.dg/extra-semi-2.c: Likewise. * gcc.dg/extra-semi-3.c: Likewise. * gcc.dg/float-range-1.c: Likewise. * gcc.dg/float-range-2.c: Likewise. * gcc.dg/float-range-3.c: Likewise. * gcc.dg/float-range-5.c: Likewise. * gcc.dg/format/asm_fprintf-2.c: Likewise. * gcc.dg/format/asm_fprintf-3.c: Likewise. * gcc.dg/format/asm_fprintf-4.c: Likewise. * gcc.dg/format/asm_fprintf-5.c: Likewise. * gcc.dg/format/cast-1.c: Likewise. * gcc.dg/format/gcc_diag-3.c: Likewise. * gcc.dg/format/gcc_diag-4.c: Likewise. * gcc.dg/format/gcc_diag-6.c: Likewise. * gcc.dg/format/gcc_diag-8.c: Likewise. * gcc.dg/format/gcc_diag-9.c: Likewise. * gcc.dg/format/nul-2.c: Likewise. * gcc.dg/format/opt-1.c: Likewise. * gcc.dg/format/opt-2.c: Likewise. * gcc.dg/format/opt-3.c: Likewise. * gcc.dg/format/opt-4.c: Likewise. * gcc.dg/format/opt-5.c: Likewise. * gcc.dg/format/opt-6.c: Likewise. * gcc.dg/framework-2.c: Likewise. * gcc.dg/func-args-1.c: Likewise. * gcc.dg/func-outside-1.c: Likewise. * gcc.dg/func-outside-2.c: Likewise. * gcc.dg/gnu-cond-expr-2.c: Likewise. * gcc.dg/gnu-cond-expr-3.c: Likewise. * gcc.dg/if-empty-1.c: Likewise. * gcc.dg/init-bad-1.c: Likewise. * gcc.dg/init-bad-2.c: Likewise. * gcc.dg/init-bad-3.c: Likewise. * gcc.dg/init-desig-obs-2.c: Likewise. * gcc.dg/init-desig-obs-3.c: Likewise. * gcc.dg/init-empty-2.c: Likewise. * gcc.dg/init-empty-3.c: Likewise. * gcc.dg/inline-11.c: Likewise. * gcc.dg/inline-12.c: Likewise. * gcc.dg/inline-8.c: Likewise. * gcc.dg/inline-9.c: Likewise. * gcc.dg/inline3.c: Likewise. * gcc.dg/label-decl-1.c: Likewise. * gcc.dg/label-decl-2.c: Likewise. * gcc.dg/label-decl-3.c: Likewise. * gcc.dg/label-decl-4.c: Likewise. * gcc.dg/long-long-typespec-1.c: Likewise. * gcc.dg/lvalue-2.c: Likewise. * gcc.dg/lvalue-3.c: Likewise. * gcc.dg/nested-func-3.c: Likewise. * gcc.dg/nested-redef-1.c: Likewise. * gcc.dg/noreturn-4.c: Likewise. * gcc.dg/old-style-prom-2.c: Likewise. * gcc.dg/old-style-prom-3.c: Likewise. * gcc.dg/old-style-then-proto-1.c: Likewise. * gcc.dg/overflow-warn-1.c: Likewise. * gcc.dg/overflow-warn-2.c: Likewise. * gcc.dg/overflow-warn-3.c: Likewise. * gcc.dg/overflow-warn-4.c: Likewise. * gcc.dg/overflow-warn-6.c: Likewise. * gcc.dg/parm-forwdecl-2.c: Likewise. * gcc.dg/parm-forwdecl-3.c: Likewise. * gcc.dg/parm-impl-decl-1.c: Likewise. * gcc.dg/parm-impl-decl-2.c: Likewise. * gcc.dg/parm-incomplete-1.c: Likewise. * gcc.dg/parm-mismatch-1.c: Likewise. * gcc.dg/pointer-arith-1.c: Likewise. * gcc.dg/pointer-arith-2.c: Likewise. * gcc.dg/pointer-arith-3.c: Likewise. * gcc.dg/pointer-arith-4.c: Likewise. * gcc.dg/pointer-arith-6.c: Likewise. * gcc.dg/pointer-arith-7.c: Likewise. * gcc.dg/pointer-arith-8.c: Likewise. * gcc.dg/pr13804-1.c: Likewise. * gcc.dg/pr15698-1.c: Likewise. * gcc.dg/pr15698-2.c: Likewise. * gcc.dg/pr15698-3.c: Likewise. * gcc.dg/pr15698-4.c: Likewise. * gcc.dg/pr15698-5.c: Likewise. * gcc.dg/pr15698-6.c: Likewise. * gcc.dg/pr15698-7.c: Likewise. * gcc.dg/pr15698-8.c: Likewise. * gcc.dg/pr17188-1.c: Likewise. * gcc.dg/pr17301-1.c: Likewise. * gcc.dg/pr17301-2.c: Likewise. * gcc.dg/pr17730-1.c: Likewise. * gcc.dg/pr20368-1.c: Likewise. * gcc.dg/pr20368-2.c: Likewise. * gcc.dg/pr20368-3.c: Likewise. * gcc.dg/pr22308-1.c: Likewise. * gcc.dg/qual-component-1.c: Likewise. * gcc.dg/redecl-1.c: Likewise. * gcc.dg/redecl-11.c: Likewise. * gcc.dg/redecl-12.c: Likewise. * gcc.dg/redecl-13.c: Likewise. * gcc.dg/redecl-14.c: Likewise. * gcc.dg/redecl-15.c: Likewise. * gcc.dg/register-var-1.c: Likewise. * gcc.dg/register-var-2.c: Likewise. * gcc.dg/stmt-expr-2.c: Likewise. * gcc.dg/stmt-expr-3.c: Likewise. * gcc.dg/stmt-expr-label-1.c: Likewise. * gcc.dg/stmt-expr-label-2.c: Likewise. * gcc.dg/stmt-expr-label-3.c: Likewise. * gcc.dg/struct-empty-2.c: Likewise. * gcc.dg/struct-empty-3.c: Likewise. * gcc.dg/struct-parse-1.c: Likewise. * gcc.dg/struct-semi-1.c: Likewise. * gcc.dg/struct-semi-2.c: Likewise. * gcc.dg/struct-semi-3.c: Likewise. * gcc.dg/switch-5.c: Likewise. * gcc.dg/switch-6.c: Likewise. * gcc.dg/switch-7.c: Likewise. * gcc.dg/tls/diag-5.c: Likewise. * gcc.dg/transparent-union-1.c: Likewise. * gcc.dg/transparent-union-3.c: Likewise. * gcc.dg/typespec-1.c: Likewise. * gcc.dg/vla-init-2.c: Likewise. * gcc.dg/vla-init-3.c: Likewise. * gcc.dg/vla-init-4.c: Likewise. * gcc.dg/vla-init-5.c: Likewise. * gcc.dg/void-cast-2.c: Likewise. * gcc.dg/wvla-3.c: Likewise. * gcc.dg/wvla-7.c: Likewise. * gcc.target/i386/991209-1.c: Likewise. * gcc.target/ia64/fpreg-1.c: Likewise. * gcc.target/m68k/interrupt_thread-2.c: Likewise. * gcc.target/m68k/interrupt_thread-3.c: Likewise. From-SVN: r126606
* re PR target/25413 (wrong alignment or incorrect address computation in ↵Dorit Nuzman2007-07-125-1/+264
| | | | | | | | | | | | | | | | | | | | | | | | | vectorized code on Pentium 4 SSE) 2007-07-12 Dorit Nuzman <dorit@il.ibm.com> Devang Patel <dpatel@apple.com> PR tree-optimization/25413 * targhooks.c (default_builtin_vector_alignment_reachable): New. * targhooks.h (default_builtin_vector_alignment_reachable): New. * tree.h (contains_packed_reference): New. * expr.c (contains_packed_reference): New. * tree-vect-analyze.c (vector_alignment_reachable_p): New. (vect_enhance_data_refs_alignment): Call vector_alignment_reachable_p. * target.h (vector_alignment_reachable): New builtin. * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New. * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New. (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define. Co-Authored-By: Devang Patel <dpatel@apple.com> From-SVN: r126591
* target-support.exp (check_ultrasparc_hw_available): New function.Nathan Froyd2007-07-126-6/+10
| | | | | | | | | | | | | | | | | * lib/target-support.exp (check_ultrasparc_hw_available): New function. (is-effective-target): Check $arg for ultrasparc_hw. (is-effective-target-keyword): Likewise. * gcc.dg/vect/vect.exp: Call check_effective_target_ultrasparc_hw when determining what to do on sparc platforms. * gcc.dg/20001013-1.c: Check for an ultrasparc_hw target. * gcc.dg/20001101-1.c: Likewise. * gcc.dg/20001101-2.c: Likewise. * gcc.dg/ultrasp9.c: Likewise. * gcc.dg/ultrasp10.c: Likewise. * gcc.target/sparc/pdist-3.c: Likewise. From-SVN: r126589
* target.h (builtin_vectorization_cost): Add new target builtin.Dorit Nuzman2007-07-1217-4/+730
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-12 Dorit Nuzman <dorit@il.ibm.com> * target.h (builtin_vectorization_cost): Add new target builtin. * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New. * tree-vectorizer.h (TARG_SCALAR_STMT_COST): New. (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New. * tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze uninitialized variables. * tree-vect-transform.c (cost_for_stmt): New function. (vect_estimate_min_profitable_iters): Call cost_for_stmt instead of using cost 1 for all scalar stmts. Be less conservative when estimating the number of prologue/epulogue iterations. Call targetm.vectorize.builtin_vectorization_cost. Return min_profitable_iters-1. (vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for initialization cost instead of TARG_VEC_STMT_COST. Use TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction epilogue code. Fix epilogue cost computation. * config/spu/spu.c (spu_builtin_vectorization_cost): New. (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement. * config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST): (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST): (TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST): (TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define. 2007-07-12 Dorit Nuzman <dorit@il.ibm.com> * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Loops now get vectorized. * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Loops now get vectorized. * gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp: New. * gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-31a.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-31b.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-31c.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-31d.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-68a.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-68b.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-68c.c: New. * gcc.dg/vect/costmodel/spu/costmodel-vect-68d.c: New. * lib/target-supports.exp (check_effective_target_vect_int_mul): Add spu. From-SVN: r126584
* re PR tree-optimization/32663 (revision 126369 went into an infinite loop)Daniel Berlin2007-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-11 Daniel Berlin <dberlin@dberlin.org> PR tree-optimization/32663 * tree.h (VALUE_HANDLE_VUSES): Remove. (struct tree_value_handle): Remove vuses. * tree-vn.c (create_value_handle_for_expr): Don't set VALUE_HANDLE_VUSES. * tree-ssa-pre.c (expression_vuses): New. (alloc_expression_id): Set up expression_vuses. (get_expression_vuses): New. (set_expression_vuses): Ditto. (clear_expression_ids): Modify for expression_vuses. (phi_translate_1): Ditto. (phi_translate_set): Ditto. (value_dies_in_block_x): Ditto (valid_in_sets): Ditto. (add_to_sets): Ditto. (find_existing_value_expr): Ditto. (create_value_handle_for_expr): Ditto. (make_values_for_stmt): Ditto. (vuse_equiv): Remove. From-SVN: r126568
* builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.David Daney2007-07-111-0/+8
| | | | | | | | | | | | | | 2007-07-10 David Daney <ddaney@avtrex.com> * builtins.def (BUILT_IN_CLEAR_CACHE): New builtin. * builtins.c (expand_builtin___clear_cache): New function. (expand_builtin): Call expand_builtin___clear_cache for BUILT_IN_CLEAR_CACHE case. * doc/extend.texi (__builtin___clear_cache): Document new builtin. * doc/md.texi (clear_cache): Document new instruction pattern. * testsuite/gcc.dg/builtins-64.c: New test. From-SVN: r126535
* * gcc.dg/vect/vect-116.c: Add vect_int target requirement.Nathan Froyd2007-07-101-0/+1
| | | | From-SVN: r126514
* * gcc.dg/ultrasp7.c: Add fpic target requirement.Nathan Froyd2007-07-101-0/+1
| | | | From-SVN: r126513
* re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and ↵Manuel López-Ibáñez2007-07-101-1/+3
| | | | | | | | | | | | warnings) 2007-07-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR testsuite/25241 * gcc.dg/pch/counter-2.c: Match every message with its appropriate directive. From-SVN: r126511
* fesd-any.c: Move to gcc.dg/debug/dwarf2 directory.Eric Botcazou2007-07-0911-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/fesd-any.c: Move to gcc.dg/debug/dwarf2 directory. * gcc.dg/fesd-any.h: Likewise. * gcc.dg/fesd-baseonly.c: Likewise. * gcc.dg/fesd-baseonly.h: Likewise. * gcc.dg/fesd-none.c: Likewise. * gcc.dg/fesd-none.h: Likewise. * gcc.dg/fesd-reduced.c: Likewise. * gcc.dg/fesd-reduced.h: Likewise. * gcc.dg/fesd-sys.c: Likewise. * gcc.dg/fesd-sys.h: Likewise * gcc.dg/fesd.h: Likewise. * g++.dg/debug/dwarf2: New directory. * g++.dg/debug/dwarf2/dwarf2.exp: New driver. * g++.dg/other/fesd-any.C: Move to g++.dg/debug/dwarf2 directory. * g++.dg/other/fesd-any.h: Likewise. * g++.dg/other/fesd-baseonly.C: Likewise. * g++.dg/other/fesd-baseonly.h: Likewise. * g++.dg/other/fesd-none.C: Likewise. * g++.dg/other/fesd-none.h: Likewise. * g++.dg/other/fesd-reduced.C: Likewise. * g++.dg/other/fesd-reduced.h: Likewise. * g++.dg/other/fesd-sys.C: Likewise. * g++.dg/other/fesd-sys.h: Likewise. * g++.dg/other/fesd.h: Likewise. From-SVN: r126497
* re PR tree-optimization/32681 (ice for legal C code with flags -ffast-math ↵Uros Bizjak2007-07-091-0/+21
| | | | | | | | | | | | | | | -O3 -ftree-vectorize) PR tree-optimization/32681 * tree-if-conv.c (find_phi_replacement_condition): Use the condition saved in second_edge->aux when first_bb is a loop header. testsuite/ChangeLog: PR tree-optimization/32681 * gcc.dg/tree-ssa/pr32681.c: New test. From-SVN: r126482
* c99-math-double-1.c, [...]: Test subnormals.Kaveh R. Ghazi2007-07-084-4/+22
| | | | | | | * gcc.dg/c99-math-double-1.c, gcc.dg/c99-math-float-1.c, c99-math-long-double-1.c, c99-math.h: Test subnormals. From-SVN: r126463