Commit 0f2fca6f by Jakub Jelinek

re PR inline-asm/84625 (ICE with empty constraint and vector constant)

	PR inline-asm/84625
	* config/i386/i386.c (ix86_print_operand): Use conditional
	output_operand_lossage instead of gcc_assert if CONST_VECTOR is not
	zero vector.

	* gcc.target/i386/pr84625.c: New test.

From-SVN: r258125
parent e8b3f7a4
2018-03-02 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/84625
* config/i386/i386.c (ix86_print_operand): Use conditional
output_operand_lossage instead of gcc_assert if CONST_VECTOR is not
zero vector.
2018-03-02 Richard Biener <rguenther@suse.de> 2018-03-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/84427 PR tree-optimization/84427
...@@ -117,7 +124,7 @@ ...@@ -117,7 +124,7 @@
they act more like predicates and should be subject to they act more like predicates and should be subject to
"lost tail" side-effect preserving. "lost tail" side-effect preserving.
2018-02-28 Alexandre Oliva <aoliva@redhat.com> 2018-02-28 Alexandre Oliva <aoliva@redhat.com>
PR rtl-optimization/81611 PR rtl-optimization/81611
* auto-inc-dec.c (attempt_change): Move dead note from * auto-inc-dec.c (attempt_change): Move dead note from
...@@ -170,7 +177,7 @@ ...@@ -170,7 +177,7 @@
'ggc' suffixes. Change first column width. 'ggc' suffixes. Change first column width.
(timer::print): Fix formatting of the column. (timer::print): Fix formatting of the column.
2018-02-27 Alexandre Oliva <aoliva@redhat.com> 2018-02-27 Alexandre Oliva <aoliva@redhat.com>
* tree-ssa-live.c (remove_unused_scope_block_p): Do not * tree-ssa-live.c (remove_unused_scope_block_p): Do not
preserve inline entry blocks for the sake of debug inline preserve inline entry blocks for the sake of debug inline
...@@ -895,7 +902,7 @@ ...@@ -895,7 +902,7 @@
(*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert (*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert
to named insn, correct maximum insn length. to named insn, correct maximum insn length.
2018-02-14 Jozef Lawrynowicz <jozefl.gcc@gmail.com> 2018-02-14 Jozef Lawrynowicz <jozefl.gcc@gmail.com>
PR target/79242 PR target/79242
* machmode.def: Define a complex mode for PARTIAL_INT. * machmode.def: Define a complex mode for PARTIAL_INT.
...@@ -939,7 +946,7 @@ ...@@ -939,7 +946,7 @@
* config/rl78/rl78.c (rl78_handle_func_attribute): Mark * config/rl78/rl78.c (rl78_handle_func_attribute): Mark
ARGS as unused. ARGS as unused.
2018-02-13 Alexandre Oliva <aoliva@redhat.com> 2018-02-13 Alexandre Oliva <aoliva@redhat.com>
PR debug/84342 PR debug/84342
PR debug/84319 PR debug/84319
...@@ -986,7 +993,7 @@ ...@@ -986,7 +993,7 @@
handling. Also check whether the anti-range contains any values handling. Also check whether the anti-range contains any values
that satisfy the mask; switch to a VR_RANGE if not. that satisfy the mask; switch to a VR_RANGE if not.
2018-02-13 Paolo Bonzini <bonzini@gnu.org> 2018-02-13 Paolo Bonzini <bonzini@gnu.org>
PR sanitizer/84340 PR sanitizer/84340
* internal-fn.def (ASAN_CHECK, ASAN_MARK): Revert changes to fnspec. * internal-fn.def (ASAN_CHECK, ASAN_MARK): Revert changes to fnspec.
...@@ -1082,7 +1089,7 @@ ...@@ -1082,7 +1089,7 @@
(vectorizable_condition): Likewise. (vectorizable_condition): Likewise.
(vectorizable_comparison): Likewise. (vectorizable_comparison): Likewise.
2018-02-12 Paolo Bonzini <bonzini@gnu.org> 2018-02-12 Paolo Bonzini <bonzini@gnu.org>
PR sanitizer/84307 PR sanitizer/84307
* internal-fn.def (ASAN_CHECK): Fix fnspec to account for return value. * internal-fn.def (ASAN_CHECK): Fix fnspec to account for return value.
...@@ -1162,7 +1169,7 @@ ...@@ -1162,7 +1169,7 @@
* config/rs6000/mmintrin.h (_mm_cmpgt_pi32 [_ARCH_PWR9]): * config/rs6000/mmintrin.h (_mm_cmpgt_pi32 [_ARCH_PWR9]):
Cast vec_cmpgt result to correct type. Cast vec_cmpgt result to correct type.
2018-02-11 Alexandre Oliva <aoliva@redhat.com> 2018-02-11 Alexandre Oliva <aoliva@redhat.com>
* final.c (final_scan_insn_1): Renamed from... * final.c (final_scan_insn_1): Renamed from...
(final_scan_insn): ... this. New wrapper, to recover (final_scan_insn): ... this. New wrapper, to recover
...@@ -1263,7 +1270,7 @@ ...@@ -1263,7 +1270,7 @@
* config/s390/s390.c (s390_set_current_function): Invoke * config/s390/s390.c (s390_set_current_function): Invoke
s390_indirect_branch_settings also if fndecl didn't change. s390_indirect_branch_settings also if fndecl didn't change.
2018-02-09 Alexandre Oliva <aoliva@redhat.com> 2018-02-09 Alexandre Oliva <aoliva@redhat.com>
* config/rs6000/rs6000.md (blockage): Set length to zero. * config/rs6000/rs6000.md (blockage): Set length to zero.
...@@ -1297,7 +1304,7 @@ ...@@ -1297,7 +1304,7 @@
Formatting fixes. Verify first that tree_fits_poly_int64_p (op01). Formatting fixes. Verify first that tree_fits_poly_int64_p (op01).
Sync some changes from cxx_fold_indirect_ref. Sync some changes from cxx_fold_indirect_ref.
2018-02-09 Alexandre Oliva <aoliva@redhat.com> 2018-02-09 Alexandre Oliva <aoliva@redhat.com>
* cfgexpand.c (expand_gimple_basic_block): Handle inline entry * cfgexpand.c (expand_gimple_basic_block): Handle inline entry
markers. markers.
...@@ -2146,7 +2153,7 @@ ...@@ -2146,7 +2153,7 @@
dependence against last_pending_memory_flush in addition to dependence against last_pending_memory_flush in addition to
pending_jump_insns. pending_jump_insns.
2018-01-30 Alexandre Oliva <aoliva@redhat.com> 2018-01-30 Alexandre Oliva <aoliva@redhat.com>
PR tree-optimization/81611 PR tree-optimization/81611
* tree-ssa-dom.c (simple_iv_increment_p): Skip intervening * tree-ssa-dom.c (simple_iv_increment_p): Skip intervening
...@@ -2223,7 +2230,7 @@ ...@@ -2223,7 +2230,7 @@
Turning off pre increment/decrement/modify allows IVOPTS to Turning off pre increment/decrement/modify allows IVOPTS to
optimize DF/SF loops where the index is an int. optimize DF/SF loops where the index is an int.
2018-01-29 Richard Biener <rguenther@suse.de> 2018-01-29 Richard Biener <rguenther@suse.de>
Kelvin Nilsen <kelvin@gcc.gnu.org> Kelvin Nilsen <kelvin@gcc.gnu.org>
PR bootstrap/80867 PR bootstrap/80867
...@@ -2231,7 +2238,7 @@ ...@@ -2231,7 +2238,7 @@
targetm.vectorize_builtin_md_vectorized_function if callee is targetm.vectorize_builtin_md_vectorized_function if callee is
NULL. NULL.
2018-01-22 Carl Love <cel@us.ibm.com> 2018-01-22 Carl Love <cel@us.ibm.com>
* doc/extend.tex: Fix typo in second arg in * doc/extend.tex: Fix typo in second arg in
__builtin_bcdadd_{lt|eq|gt|ov} and __builtin_bcdsub_{lt|eq|gt|ov}. __builtin_bcdadd_{lt|eq|gt|ov} and __builtin_bcdsub_{lt|eq|gt|ov}.
...@@ -2368,7 +2375,7 @@ ...@@ -2368,7 +2375,7 @@
* config/arc/constraints.md (Csc): New constraint. * config/arc/constraints.md (Csc): New constraint.
2018-01-26 Claudiu Zissulescu <claziss@synopsys.com> 2018-01-26 Claudiu Zissulescu <claziss@synopsys.com>
John Eric Martin <John.Martin@emmicro-us.com> John Eric Martin <John.Martin@emmicro-us.com>
* config/arc/arc-protos.h: Add arc_is_jli_call_p proto. * config/arc/arc-protos.h: Add arc_is_jli_call_p proto.
* config/arc/arc.c (_arc_jli_section): New struct. * config/arc/arc.c (_arc_jli_section): New struct.
...@@ -2810,7 +2817,7 @@ ...@@ -2810,7 +2817,7 @@
* config/rl78/rl78.md (smaxdi3): New define_expand. * config/rl78/rl78.md (smaxdi3): New define_expand.
2018-01-22 Carl Love <cel@us.ibm.com> 2018-01-22 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-builtin.def (ST_ELEMREV_V1TI, LD_ELEMREV_V1TI, * config/rs6000/rs6000-builtin.def (ST_ELEMREV_V1TI, LD_ELEMREV_V1TI,
LVX_V1TI): Add macro expansion. LVX_V1TI): Add macro expansion.
...@@ -2855,7 +2862,7 @@ ...@@ -2855,7 +2862,7 @@
Move TARGET_PORTABLE_RUNTIME check after TARGET_64BIT check. Move TARGET_PORTABLE_RUNTIME check after TARGET_64BIT check.
2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
David Edelsohn <dje.gcc@gmail.com> David Edelsohn <dje.gcc@gmail.com>
PR target/83946 PR target/83946
* config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>): * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>):
......
...@@ -18743,7 +18743,8 @@ ix86_print_operand (FILE *file, rtx x, int code) ...@@ -18743,7 +18743,8 @@ ix86_print_operand (FILE *file, rtx x, int code)
since we can in fact encode that into an immediate. */ since we can in fact encode that into an immediate. */
if (GET_CODE (x) == CONST_VECTOR) if (GET_CODE (x) == CONST_VECTOR)
{ {
gcc_assert (x == CONST0_RTX (GET_MODE (x))); if (x != CONST0_RTX (GET_MODE (x)))
output_operand_lossage ("invalid vector immediate");
x = const0_rtx; x = const0_rtx;
} }
2018-03-02 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/84625
* gcc.target/i386/pr84625.c: New test.
2018-03-02 Richard Biener <rguenther@suse.de> 2018-03-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/84427 PR tree-optimization/84427
...@@ -374,7 +379,7 @@ ...@@ -374,7 +379,7 @@
* g++.dg/gomp/pr84556.C: New test. * g++.dg/gomp/pr84556.C: New test.
* g++.dg/vect/pr84556.cc: New test. * g++.dg/vect/pr84556.cc: New test.
2018-02-26 Dominique d'Humieres <dominiq@gcc.gnu.org> 2018-02-26 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR fortran/32957 PR fortran/32957
* gfortran.dg/c_f_pointer_shape_tests_2.f03: Use explicit KIND c_int. * gfortran.dg/c_f_pointer_shape_tests_2.f03: Use explicit KIND c_int.
...@@ -420,7 +425,7 @@ ...@@ -420,7 +425,7 @@
PR fortran/78238 PR fortran/78238
* gfortran.dg/select_type_40.f90: New test. * gfortran.dg/select_type_40.f90: New test.
2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/30792 PR fortran/30792
* gfortran.dg/data_substring.f90: New test. * gfortran.dg/data_substring.f90: New test.
...@@ -3410,7 +3415,7 @@ ...@@ -3410,7 +3415,7 @@
PR target/83831 PR target/83831
* gcc.target/rx/pr83831.c: New tests. * gcc.target/rx/pr83831.c: New tests.
2018-02-14 Jozef Lawrynowicz <jozefl.gcc@gmail.com> 2018-02-14 Jozef Lawrynowicz <jozefl.gcc@gmail.com>
PR target/79242 PR target/79242
* gcc.target/msp430/pr79242.c: New test. * gcc.target/msp430/pr79242.c: New test.
...@@ -3912,7 +3917,7 @@ ...@@ -3912,7 +3917,7 @@
PR c++/71662 PR c++/71662
* g++.dg/cpp0x/scoped_enum7.C: New. * g++.dg/cpp0x/scoped_enum7.C: New.
2018-02-07 Christophe Lyon <christophe.lyon@linaro.org> 2018-02-07 Christophe Lyon <christophe.lyon@linaro.org>
PR tree-optimization/83008 PR tree-optimization/83008
* gcc.dg/cse_recip.c: Add -fno-tree-slp-vectorize. * gcc.dg/cse_recip.c: Add -fno-tree-slp-vectorize.
...@@ -4040,7 +4045,7 @@ ...@@ -4040,7 +4045,7 @@
PR middle-end/79966 PR middle-end/79966
* gfortran.dg/pr79966.f90: New testcase * gfortran.dg/pr79966.f90: New testcase
2018-02-04 Dominique d'Humieres <dominiq@gcc.gnu.org> 2018-02-04 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR fortran/84094 PR fortran/84094
* gfortran.dg/associate_23.f90: Fix invalid code. * gfortran.dg/associate_23.f90: Fix invalid code.
...@@ -4883,7 +4888,7 @@ ...@@ -4883,7 +4888,7 @@
PR c++/81933 PR c++/81933
* g++.dg/cpp1y/constexpr-empty4.C: New test. * g++.dg/cpp1y/constexpr-empty4.C: New test.
2018-01-22 Will Schmidt <will_schmidt@vnet.ibm.com> 2018-01-22 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.target/powerpc/fold-vec-abs-short-fwrap.c: Add xxspltib to * gcc.target/powerpc/fold-vec-abs-short-fwrap.c: Add xxspltib to
scan-asembler valid instructions list. scan-asembler valid instructions list.
...@@ -4927,7 +4932,7 @@ ...@@ -4927,7 +4932,7 @@
* gcc.dg/pr83666.c: Likewise. * gcc.dg/pr83666.c: Likewise.
2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
David Edelsohn <dje.gcc@gmail.com> David Edelsohn <dje.gcc@gmail.com>
PR target/83946 PR target/83946
* gcc.target/powerpc/safe-indirect-jump-1.c: Change expected * gcc.target/powerpc/safe-indirect-jump-1.c: Change expected
...@@ -5044,7 +5049,7 @@ ...@@ -5044,7 +5049,7 @@
PR c++/81013 PR c++/81013
* g++.dg/inherit/union3.C: New. * g++.dg/inherit/union3.C: New.
2018-01-18 Christophe Lyon <christophe.lyon@linaro.org> 2018-01-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/rtl/arm/stl-cond.c: Enable on arm*. * gcc.dg/rtl/arm/stl-cond.c: Enable on arm*.
...@@ -5053,7 +5058,7 @@ ...@@ -5053,7 +5058,7 @@
PR ipa/83619 PR ipa/83619
* g++.dg/torture/pr83619.C: New testcase. * g++.dg/torture/pr83619.C: New testcase.
2018-01-18 Christophe Lyon <christophe.lyon@linaro.org> 2018-01-18 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
Add function body to force error messages in some configurations. Add function body to force error messages in some configurations.
...@@ -6625,7 +6630,7 @@ ...@@ -6625,7 +6630,7 @@
PR target/83330 PR target/83330
* gcc.target/i386/pr83330.c: New test. * gcc.target/i386/pr83330.c: New test.
2018-01-11 Steven G. Kargl <kargl@gcc.gnu.org> 2018-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/79383 PR fortran/79383
* gfortran.dg/dtio_31.f03: New test. * gfortran.dg/dtio_31.f03: New test.
...@@ -6987,7 +6992,7 @@ ...@@ -6987,7 +6992,7 @@
PR fortran/83741 PR fortran/83741
* gfortran.dg/allocate_assumed_charlen_3.f90: New test. * gfortran.dg/allocate_assumed_charlen_3.f90: New test.
2018-01-08 Chih-Mao Chen <pkmx.tw@gmail.com> 2018-01-08 Chih-Mao Chen <pkmx.tw@gmail.com>
Monk Chiang <sh.chiang04@gmail.com> Monk Chiang <sh.chiang04@gmail.com>
* gcc.target/riscv/save-restore-1.c: New. * gcc.target/riscv/save-restore-1.c: New.
...@@ -7003,7 +7008,7 @@ ...@@ -7003,7 +7008,7 @@
* g++.dg/pr81308-1.C: New test. * g++.dg/pr81308-1.C: New test.
* g++.dg/pr81308-2.C: New test. * g++.dg/pr81308-2.C: New test.
2018-01-08 Vidya Praveen <vidyapraveen@arm.com> 2018-01-08 Vidya Praveen <vidyapraveen@arm.com>
PR target/83663 - Revert r255946 PR target/83663 - Revert r255946
* gcc.target/aarch64/vect-slp-dup.c: New. * gcc.target/aarch64/vect-slp-dup.c: New.
......
/* PR inline-asm/84625 */
/* { dg-do compile } */
/* { dg-options "-O2 -msse2" } */
typedef int V __attribute__((vector_size (16)));
void
foo (void)
{
asm volatile ("# %0" : : "X" ((V) { 1, 2, 3, 4 })); // { dg-error "invalid vector immediate" }
asm volatile ("# %0" : : "" ((V) { 2, 3, 4, 5 })); // { dg-error "invalid vector immediate" }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment