re PR target/70510 (ICE: output_operand: invalid %-code with -mavx512bw -masm=intel...
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 5 Apr 2016 16:26:40 +0000 (18:26 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 5 Apr 2016 16:26:40 +0000 (18:26 +0200)
PR target/70510
* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.

testsuite/ChangeLog:

PR target/70510
* gcc.target/i386/pr70510.c: New test.

From-SVN: r234752

gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr70510.c [new file with mode: 0644]

index b7fc0cd9d06593d4bb77d249b2c894d7d01be710..711f6ed0510b9e91854ba530add68568a5f2490f 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/70510
+       * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
+
 2016-04-05  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/70526
@@ -82,8 +87,7 @@
        PR hsa/70402
        * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
        value that is really in range handled by SBR instruction.
-       * hsa-brig.c (emit_switch_insn): Do not emit unconditional
-       jump.
+       * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
        * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
        * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
 
 2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
        PR target/70496
-       * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM
-       and TARGET_THUMB.
+       * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
 
 2016-04-01  Nathan Sidwell  <nathan@acm.org>
 
        (pass_gen_hsail::execute): Do not call
        convert_switch_statements here.
        * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
-       * hsa.h (hsa_function_representation::m_modified_cfg):
-       New flag.
+       * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
        (hsa_function_representation::update_dominance): New function.
 
 2016-03-31  Martin Liska  <mliska@suse.cz>
        PR hsa/70391
        * hsa-brig.c (emit_directive_variable): Emit alignment
        according to hsa_symbol::m_align.
-       * hsa-dump.c (hsa_byte_alignment): Move the function to
-       another file.
+       * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
        (dump_hsa_symbol): Dump alignment of HSA symbols.
-       * hsa-gen.c (get_symbol_for_decl): Set-up alignment
-       of a symbol.
+       * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
        (gen_hsa_addr_with_align): New function.
        (hsa_bitmemref_alignment): Use newly added function.
        (gen_hsa_insns_for_load): Likewise.
        (gen_hsa_insns_for_store): Likewise.
        (gen_hsa_memory_copy): New argument added.
        (gen_hsa_insns_for_single_assignment): Respect
-       alignment for assignments processed via
-       gen_hsa_memory_copy.
+       alignment for assignments processed via gen_hsa_memory_copy.
        (gen_hsa_insns_for_direct_call): Likewise.
        (gen_hsa_insns_for_return): Likewise.
-       (gen_function_def_parameters): Set default
-       alignment.
+       (gen_function_def_parameters): Set default alignment.
        * hsa.c (hsa_object_alignment): New function.
        (hsa_byte_alignment): Pasted function.
        * hsa.h (hsa_symbol::m_align): New field.
 2016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
 
        PR target/70442
-       * config/i386/i386.c (scalar_chain::convert_op): Fix
-       description.
+       * config/i386/i386.c (scalar_chain::convert_op): Fix description.
        (scalar_chain::convert_insn): Call convert_op for reg
        moves to handle undefined registers.
 
 2016-03-31  Nathan Sidwell  <nathan@acm.org>
 
        PR c++/70393
-       * varasm.c (output_constructor_regular_field): Flush bitfield
-       earlier.  Assert we don't want to move backwards.
+       * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
+       Assert we don't want to move backwards.
 
 2016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
 
 2016-03-30  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/70450
-       * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from
-       usage.
+       * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
 
 2016-03-30  Jakub Jelinek  <jakub@redhat.com>
 
 
 2016-03-29  Jeff Law  <law@redhat.com>
 
-       * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in
-       comment.
+       * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
 
 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
 
        mode != result_mode.
 
        PR c++/70353
-       * tree-inline.c (remap_decls): Don't add_local_decl if
-       cfun is null.
+       * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
 
        PR tree-optimization/70405
        * ssa-iterators.h (num_imm_uses): Add missing braces.
 2016-03-29  Richard Henderson  <rth@redhat.com>
 
        PR middle-end/70355
-       * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical
-       subregs.
+       * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
 
 2016-03-29  Richard Biener  <rguenther@suse.de>
 
 2016-03-28  James Bowman  <james.bowman@ftdichip.com>
 
        * config/ft32/ft32.opt (mnodiv): New.
-       * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with
-       TARGET_NODIV.
+       * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
        * doc/invoke.texi (FT32 Options -mnodiv): New.
 
 2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
 
-        PR target/70406
-        * config/i386/i386.md (define_split, andn): Fix modes.
+       PR target/70406
+       * config/i386/i386.md (define_split, andn): Fix modes.
 
 2016-03-26  Richard Biener  <rguenther@suse.de>
-            Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+           Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
 
        PR ipa/70366
        * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
 
 2016-03-24  Richard Henderson  <rth@redhat.com>
 
-        PR middle-end/69845
+       PR middle-end/69845
        * fold-const.c (extract_muldiv_1): Correct test for multiplication
        overflow.
 
index 8e9d5ec7cd9e4d95acb7e652e0b7925a1f40fb1b..55f1ae732e4be41abf9f237b8d4f42214aae4dea 100644 (file)
 
 ;; Pointer size override for scalar modes (Intel asm dialect)
 (define_mode_attr iptr
-  [(V32QI "b") (V16HI "w") (V8SI "k") (V4DI "q")
+  [(V64QI "b") (V32HI "w") (V16SI "k") (V8DI "q")
+   (V32QI "b") (V16HI "w") (V8SI "k") (V4DI "q")
    (V16QI "b") (V8HI "w") (V4SI "k") (V2DI "q")
    (V8SF "k") (V4DF "q")
    (V4SF "k") (V2DF "q")
index fcb5222a1edcc53df6f4e437c8f68f5db1b41e25..7012de5007bdbb5844dd37b969c2a330289fcdd0 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/70510
+       * gcc.target/i386/pr70510.c: New test.
+
 2016-04-05  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/70526
            Tom de Vries  <tom@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
 
-       * c-c++-common/goacc/combined-directives.c: Clean up dg-*
-       directives.
+       * c-c++-common/goacc/combined-directives.c: Clean up dg-* directives.
        * c-c++-common/goacc/loop-clauses.c: Likewise.
        * g++.dg/goacc/template.C: Likewise.
        * gfortran.dg/goacc/combined-directives.f90: Likewise.
 
 2016-03-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
 
-       g++.dg/ext/fnname5.C: Update the test for Darwin.
+       g++.dg/ext/fnname5.C: Update the test for Darwin.
 
 2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
 
        PR target/70406
-        * gcc.target/i386/pr70406.c: New test.
+       * gcc.target/i386/pr70406.c: New test.
 
 2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>
 
 2016-03-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/70290
-       * g++.dg/ext/pr70290.C: Add -Wno-psabi -w to dg-options.  Formatting.
+       * g++.dg/ext/pr70290.C: Add -Wno-psabi -w to dg-options.
+       Fix formatting.
 
 2016-03-24  Richard Biener  <rguenther@suse.de>
 
diff --git a/gcc/testsuite/gcc.target/i386/pr70510.c b/gcc/testsuite/gcc.target/i386/pr70510.c
new file mode 100644 (file)
index 0000000..fdad97a
--- /dev/null
@@ -0,0 +1,14 @@
+/* PR target/70510 */
+/* { dg-do assemble { target avx512bw } } */
+/* { dg-require-effective-target masm_intel } */
+/* { dg-options "-Og -mavx512bw -masm=intel" } */
+
+typedef int V __attribute__ ((vector_size (64)));
+
+V
+foo (V u, V v)
+{
+  v[0] |= v[u[0]];
+  u /= ((V)v)[0];
+  return u;
+}