OSDN Git Service

PR target/51393
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Dec 2011 12:47:25 +0000 (12:47 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Dec 2011 12:47:25 +0000 (12:47 +0000)
* config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
parameter as long long.

testsuite/ChangeLog:

2011-12-04  Uros Bizjak  <ubizjak@gmail.com>
    Jérémie Detrey  <Jeremie.Detrey@loria.fr>

PR target/51393
* gcc.target/i386/pr51393.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181986 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/avxintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr51393.c [new file with mode: 0644]

index 791a5c8..222ff20 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-04  Jérémie Detrey  <Jeremie.Detrey@loria.fr>
+
+       PR target/51393
+       * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
+       parameter as long long.
+
 2011-12-04  Richard Sandiford  <rdsandiford@googlemail.com>
 
        PR middle-end/51351
 
 2011-12-03  Jack Howarth <howarth@bromo.med.uc.edu>
 
-       * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC):
-         Pass -no_pie for non-PIC code when targeting 10.7 or later.
+       * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Pass -no_pie for
+       non-PIC code when targeting 10.7 or later.
 
 2011-12-03  Iain Sandoe  <iains@gcc.gnu.org>
 
-       * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when 
+       * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
        Darwin >= 10.
        (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
        (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
        TARGET_SH3.
        (shl_sext_kind): Likewise.
        * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise.
-       * config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a):
-       Remove.
+       * config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a): Remove.
        (ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3.
        (ashlsi3): Likewise.
        (ashrsi3_d): Likewise.
        (lshrsi3_d): Likewise.
        (lshrsi3): Likewise.
 
-2011-12-01   Diego Novillo  <dnovillo@google.com>
+2011-12-01  Diego Novillo  <dnovillo@google.com>
 
        PR bootstrap/51346
-       * ipa-inline.c (can_inline_edge_p): If the edge E has a
-       statement, use the statement's inline indicator instead
-       of E's.
+       * ipa-inline.c (can_inline_edge_p): If the edge E has a statement,
+       use the statement's inline indicator instead of E's.
        Remove consistency check.
 
-2011-12-01   Diego Novillo  <dnovillo@google.com>
+2011-12-01  Diego Novillo  <dnovillo@google.com>
 
        PR bootstrap/51346
        Revert
 
-       2011-11-29   Diego Novillo  <dnovillo@google.com>
+       2011-11-29  Diego Novillo  <dnovillo@google.com>
 
-               * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
-               Update field call_stmt_cannot_inline_p from call
-               graph edge, if needed.
-               * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
+       * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
+       Update field call_stmt_cannot_inline_p from call
+       graph edge, if needed.
+       * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
 
 2011-12-01  Nathan Sidwell  <nathan@acm.org>
 
 
        PR middle-end/51273
        * cgraph.h (cgraph_call_node_duplication_hooks): Declare.
-       * cgraph.c (cgraph_call_node_duplication_hooks): Make global. 
+       * cgraph.c (cgraph_call_node_duplication_hooks): Make global.
        * cgraphunit.c (cgraph_copy_node_for_versioning): Call it.
 
 2011-12-01  Andrew Pinski  <apinski@cavium.com>
 2011-12-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/51246
-       * tree-predcom.c (replace_ref_with): Handle also clobber on the
-       rhs.
+       * tree-predcom.c (replace_ref_with): Handle also clobber on the rhs.
 
        PR rtl-optimization/51014
        * loop-unroll.c (apply_opt_in_copies): Ignore label DEBUG_INSNs
        code checking for a clobber of a condition register when deciding
        whether to predicate.
 
-2011-11-29   Diego Novillo  <dnovillo@google.com>
+2011-11-29  Diego Novillo  <dnovillo@google.com>
 
        * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
        Update field call_stmt_cannot_inline_p from call graph edge, if needed.
        (duplicate_insns_of_cycles): Use register indices directly,
        rather than finding instructions using PREV_INSN.  Use ps_reg_move.
        (sms_schedule): Call schedule_reg_moves before committing to
-       a partial schedule.   Try the next ii if the schedule fails.
+       a partial schedule.  Try the next ii if the schedule fails.
        Use apply_reg_moves instead of generate_reg_moves.  Adjust
        call to print_node_sched_params.  Free node_sched_param_vec
        instead of node_sched_params.
        (remove_duplicate_close_phi): Detect and repair creation of
        duplicate close-phis for a containing loop.
 
-2011-09-27   Andi Kleen <ak@linux.intel.com>
+2011-09-27  Andi Kleen  <ak@linux.intel.com>
 
        * gcc.c (get_local_tick). Rename to get_random_number.  Read from
        /dev/urandom.  Add getpid call.
        (compare_debug_dump_opt_spec_function): Drop getpid call.
 
-2011-09-26   Andi Kleen <ak@linux.intel.com>
+2011-09-26  Andi Kleen  <ak@linux.intel.com>
 
        * toplev.c (init_local_tick): Try reading random seed
        from /dev/urandom.
 
-2011-09-26   Andi Kleen <ak@linux.intel.com>
+2011-09-26  Andi Kleen  <ak@linux.intel.com>
 
        * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
        * lto-streamer.c (lto_get_section_name): Remove crc32_string.
        HImode by 1 in the case of multiplying with a CONST_INT.
        Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI.
 
-2011-09-15   Jan Hubicka  <jh@suse.cz>
+2011-09-15  Jan Hubicka  <jh@suse.cz>
 
        PR lto/50430
        * gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
        error_mark_node in the DECL_INITIAL of vtable.
 
-2011-09-15   Diego Novillo  <dnovillo@google.com>
+2011-09-15  Diego Novillo  <dnovillo@google.com>
 
        * Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from
        @SYSROOT_CFLAGS_FOR_TARGET@.
        separately.
        * tree-ssa-uninit.c (warn_uninitialized_phi): Adjust.
 
-2011-08-11   Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
+2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
 
        * config/rx/rx.md (movsicc): Allow register to register transfers.
        (*movsicc): Likewise.
        (*stcc_reg): New pattern.  Works for any comparison but only for
        register transfers.
 
-2011-08-11   Diego Novillo  <dnovillo@google.com>
+2011-08-11  Diego Novillo  <dnovillo@google.com>
 
        * tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers):
        Call stream_write_tree instead of output_record_start.
        * tree-sra.c (access_precludes_ipa_sra_p): Also check access
        memory alignment.
 
-2011-08-08   Diego Novillo  <dnovillo@google.com>
+2011-08-08  Diego Novillo  <dnovillo@google.com>
 
        * Makefile.in (LTO_STREAMER_H): Add DIAGNOSTIC_H.
        (DATA_STREAMER_H): New.
        (TARGET_INSTANTIATE_DECLS): New define.
 
 2011-08-06  Paolo Bonzini  <bonzini@gnu.org>
-           Mikael Morin   <mikael.morin@sfr.fr>
+           Mikael Morin  <mikael.morin@sfr.fr>
 
        * Makefile.in (INCLUDES_FOR_TARGET): New.
        (LIBGCC2_CFLAGS): Use it.
        * config/arm/arm.c (arm_set_fixed_optab_libfunc): Constify
        maybe_suffix.
 
-2011-08-03   David Li  <davidxl@google.com>
+2011-08-03  David Li  <davidxl@google.com>
 
        * tree-optimize.c (execute_fixup_cfg): Fix up entry
        outgoing edge counts after inlining.
 
-2011-08-03   David Li  <davidxl@google.com>
+2011-08-03  David Li  <davidxl@google.com>
 
        * profile.c (compute_branch_probabilities): Compute
        function frequency after profile annotation.
        * config/arm/neon.md (vec_pack_trunc): Set the lengths
        correctly for the case with Quad vectors.
 
-2011-06-13 Jakub Jelinek  <jakub@redhat.com>
-          Ira Rosen  <ira.rosen@linaro.org>
+2011-06-13  Jakub Jelinek  <jakub@redhat.com>
+           Ira Rosen  <ira.rosen@linaro.org>
 
        PR tree-optimization/49352
        * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at
        * calls.c (emit_call_1): Prefer the __builtin declaration of
        builtin functions.
 
-2011-06-03   Diego Novillo  <dnovillo@google.com>
+2011-06-03  Diego Novillo  <dnovillo@google.com>
 
        * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts.
        (lto_input_tree_pointers): Likewise.
        * config/m68k/m68k.c (m68k_expand_prologue): Set
        current_function_static_stack_size.
 
-2011-05-02   Jan Hubicka  <jh@suse.cz>
+2011-05-02  Jan Hubicka  <jh@suse.cz>
 
        * lto-streamer.c (lto_streamer_cache_insert_1,
        lto_streamer_cache_lookup, lto_streamer_cache_create,
index 8055cc6..6d4213d 100644 (file)
@@ -759,7 +759,7 @@ _mm256_insert_epi8 (__m256i __X, int __D, int const __N)
 
 #ifdef __x86_64__
 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insert_epi64 (__m256i __X, int __D, int const __N)
+_mm256_insert_epi64 (__m256i __X, long long __D, int const __N)
 {
   __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1);
   __Y = _mm_insert_epi64 (__Y, __D, __N % 2);
index c89974f..7b048bf 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-04  Uros Bizjak  <ubizjak@gmail.com>
+           Jérémie Detrey  <Jeremie.Detrey@loria.fr>
+
+       PR target/51393
+       * gcc.target/i386/pr51393.c: New test.
+
 2011-12-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
 
        PR obj-c++/51349
 
        * gcc.dg/tree-ssa/foldconst-3.c: Don't use short enums.
 
-2011-09-15   Diego Novillo  <dnovillo@google.com>
+2011-09-15  Diego Novillo  <dnovillo@google.com>
 
        * lib/g++.exp (g++_init): Add $TEST_ALWAYS_FLAGS to
        ALWAYS_CXXFLAGS, if defined.
diff --git a/gcc/testsuite/gcc.target/i386/pr51393.c b/gcc/testsuite/gcc.target/i386/pr51393.c
new file mode 100644 (file)
index 0000000..51175c8
--- /dev/null
@@ -0,0 +1,21 @@
+/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-require-effective-target avx } */
+/* { dg-options "-O -mavx" } */
+
+#include "avx-check.h"
+#include <immintrin.h>
+
+static void
+__attribute__((noinline))
+avx_test (void)
+{
+  long long in = 0x800000000ll;
+  long long out;
+
+  __m256i zero = _mm256_setzero_si256();
+  __m256i tmp  = _mm256_insert_epi64 (zero, in, 0);
+  out = _mm256_extract_epi64(tmp, 0);
+
+  if (in != out)
+    abort ();
+}