GCC Administrator
2ac1a8d832
Daily bump.
...
From-SVN: r255185
2017-11-28 00:16:20 +00:00
Martin Sebor
9ca1eaacd3
PR c++/83058 - ICE on C++ code with negative array index: in warn_placement_new_too_small
...
gcc/cp/ChangeLog:
PR c++/83058
* init.c (warn_placement_new_too_small): Use offset_int instead of
HOST_WIDE_INT.
gcc/testsuite/ChangeLog:
PR c++/83058
* g++.dg/warn/Wplacement-new-size-5.C: New test.
From-SVN: r255182
2017-11-27 17:02:17 -07:00
Jakub Jelinek
de3d4fd0f5
re PR c++/81888 (Structured bindings stopped working)
...
PR c++/81888
* parser.c (cp_parser_decomposition_declaration): Reject just
BRACE_ENCLOSED_INITIALIZER_P initializers with nelts != 1 rather
than all such CONSTRUCTORs, and only if is_direct_init is true.
* g++.dg/cpp1z/decomp30.C: Add a test for structured binding with
= {} and = { a, a } initializers.
* g++.dg/cpp1z/decomp31.C: New test.
From-SVN: r255180
2017-11-27 22:54:25 +01:00
Jason Merrill
528c7559a8
pt.c (primary_template_specialization_p): Rename from
...
* pt.c (primary_template_specialization_p): Rename from
primary_template_instantiation_p. Don't check
DECL_TEMPLATE_INSTANTIATION.
* call.c, cp-tree.h, decl2.c: Adjust.
From-SVN: r255179
2017-11-27 16:31:00 -05:00
Michael Meissner
32c95bcae3
[gcc]
...
2017-11-27 Michael Meissner <meissner@linux.vnet.ibm.com>
PR middle_end/82333
* varasm.c (compare_constant): Take the mode of the constants into
account when comparing floating point constants.
[gcc/testsuite]
2017-11-27 Michael Meissner <meissner@linux.vnet.ibm.com>
PR middle_end/82333
* gcc.target/powerpc/pr82333.c: New test.
From-SVN: r255177
2017-11-27 19:45:56 +00:00
Stephan Bergmann
0f42ffd7f7
Add missing noexcept in string_view::find_first_of declaration
...
2017-11-27 Stephan Bergmann <sbergman@redhat.com>
* include/std/string_view (basic_string_view::find_first_of): Add
missing noexcept.
From-SVN: r255176
2017-11-27 19:43:40 +00:00
Gerald Pfeifer
4c71819dda
hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier from explicit instantiation of debug_helper.
...
* hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier
from explicit instantiation of debug_helper.
* vec.h (DEFINE_DEBUG_VEC): Ditto.
From-SVN: r255175
2017-11-27 17:29:06 +00:00
Stephan Bergmann
68e601d879
Fix std::unordered_map deduction guide
...
2017-11-27 Stephan Bergmann <sbergman@redhat.com>
* include/bits/unordered_map.h (unordered_map): Fix deduction guide.
* include/debug/unordered_map (unordered_map): Likewise.
From-SVN: r255174
2017-11-27 16:43:39 +00:00
Richard Biener
42f7424573
gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code, refactor a bit.
...
2017-11-27 Richard Biener <rguenther@suse.de>
* gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code,
refactor a bit.
From-SVN: r255172
2017-11-27 14:35:13 +00:00
Richard Biener
53d2b7cb86
tree.c (wide_int_to_tree): Free discarded INTEGER_CST.
...
2017-11-27 Richard Biener <rguenther@suse.de>
* tree.c (wide_int_to_tree): Free discarded INTEGER_CST.
(type_hash_canon): Also clear int_cst_hash_table entry for
TYPE_MIN/MAX_VALUE.
(build_nonstandard_integer_type): Hash all TYPE_MAX_VALUEs.
From-SVN: r255171
2017-11-27 14:30:36 +00:00
Tamar Christina
d7dccfa38d
extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
...
2017-11-27 Tamar Christina <tamar.christina@arm.com>
* doc/extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
* doc/invoke.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
* doc/sourcebuild.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
From-SVN: r255169
2017-11-27 14:21:18 +00:00
Jakub Jelinek
cb358080c9
re PR c++/81675 (attribute(noreturn) of destructor in :? not honored)
...
PR c++/81675
* cp-gimplify.c (cp_fold) <case COND_EXPR>: Don't return immediately
for VOID_TYPE_P COND_EXPRs, instead fold the operands and if op0 is
INTEGER_CST, ensure that both op1 and op2 are non-NULL and fall
through into normal folding, otherwise just rebuild x if any op
changed.
* g++.dg/warn/pr81675.C: New test.
From-SVN: r255167
2017-11-27 14:13:22 +01:00
Markus Trippelsdorf
04f9150378
Fix UB in hash-map.h
...
bootstrap-ubsan shows:
gcc/hash-map.h:277:19: runtime error: member access within null pointer of type 'struct hash_map'
Fix the issue by returning early.
From-SVN: r255166
2017-11-27 12:53:16 +00:00
Eric Botcazou
ff27462edc
cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.
...
* cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.
* loop-unroll.c (decide_unroll_constant_iterations): Implement it.
(decide_unroll_runtime_iterations): Likewise.
(decide_unroll_stupid): Likewise.
From-SVN: r255165
2017-11-27 11:56:36 +00:00
Igor Tsimbalist
39335d1486
Fix code generation for buildtin_longjmp with CET.
...
According to the description of inssp instruction from Intel CET it
adusts the shadow stack pointer (ssp) only by value in the range of
[0..255]. As a number of adjustment could be greater than 255 there
should be a loop generated to adjust ssp.
gcc/
* config/i386/i386.md: Add a loop with incssp.
* testsuite/gcc.target/i386/cet-sjlj-1.c: Fix test.
* testsuite/gcc.target/i386/cet-sjlj-4.c: Likewise.
From-SVN: r255164
2017-11-27 12:54:17 +01:00
Martin Jambor
be025a2d99
[PR 81248] Fix ipa-sra size check
...
2017-11-27 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/81248
* tree-sra.c (splice_param_accesses): Remove size check.
(decide_one_param_reduction): Fix size check.
* gimple-pretty-print.c (dump_profile): Silence warning.
* params.def (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Adjust description.
testsuite/
* g++.dg/ipa/pr81248.C: New test.
* gcc.dg/tree-ssa/ssa-pre-31.c: Disable IPA-SRA.
* gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-2.c: Likewise.
From-SVN: r255163
2017-11-27 11:33:06 +01:00
Jakub Jelinek
8cb715989f
null-8.C (bar): New function.
...
* g++.dg/ubsan/null-8.C (bar): New function.
(foo): Use bar instead of __builtin_printf.
From-SVN: r255162
2017-11-27 11:29:03 +01:00
Jakub Jelinek
b8cb3096f7
re PR debug/81307 (g++.dg/debug/debug9.C -gstabs FAILs)
...
PR debug/81307
* dbxout.c (lastlineno): New variable.
(dbx_debug_hooks): Use dbxout_switch_text_section as
switch_text_section debug hook.
(dbxout_function_end): Switch to current_function_section
rather than function_section. If crtl->has_bb_partition,
output just one N_FUN, depending on in_cold_section_p.
(dbxout_source_line): Remember last lineno in lastlineno.
(dbxout_switch_text_section): New function.
(dbxout_function_decl): Adjust dbxout_block caller.
(dbx_block_with_cold_children): New function.
(dbxout_block): Return true if any LBRAC/RBRAC have been
emitted. Use dbx_block_with_cold_children at depth == 0
in second partition. Add PARENT_BLOCKNUM argument, pass
it optionally adjusted to children. Output LBRAC/RBRAC
around recursive call only if the block is in the current
partition, if not and anything was output, emit empty
range LBRAC/RBRAC.
* final.c (final_scan_insn): Compute cold_function_name
before calling switch_text_section debug hook. Call
that hook even if dwarf2out_do_frame if not emitting
dwarf debug info.
* g++.dg/debug/debug9.C: Remove -fno-reorder-blocks-and-partition
workaround.
From-SVN: r255161
2017-11-27 09:48:56 +01:00
Jakub Jelinek
9adeb64ab9
re PR target/83100 (powerpc: internal compiler error: in get_variable_section, at varasm.c:1150 with -fdata-sections)
...
PR target/83100
* varasm.c (bss_initializer_p): Return true for DECL_COMMON
TREE_READONLY decls.
* gcc.dg/pr83100-1.c: New test.
* gcc.dg/pr83100-2.c: New test.
* gcc.dg/pr83100-3.c: New test.
* gcc.dg/pr83100-4.c: New test.
From-SVN: r255160
2017-11-27 09:34:50 +01:00
Markus Trippelsdorf
99282f81a6
Fix PR82488 - signed integer overflow in expr.c
...
bootstrap-ubsan shows:
gcc/expr.c:4103:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'
Fix by handling the saw_unknown case earlier.
PR rtl-optimization/82488
* expr.c (fixup_args_size_notes): Avoid signed integer overflow.
diff --git a/gcc/expr.c b/gcc/expr.c
index ee07de5aaa44..e9d8555c9452 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -4100,10 +4100,13 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last, int end_args_size)
if (STACK_GROWS_DOWNWARD)
this_delta = -(unsigned HOST_WIDE_INT) this_delta;
- args_size -= this_delta;
+ if (saw_unknown)
+ args_size = INT_MIN;
+ else
+ args_size -= this_delta;
}
- return saw_unknown ? INT_MIN : args_size;
+ return args_size;
}
#ifdef PUSH_ROUNDING
--
Markus
From-SVN: r255159
2017-11-27 05:20:43 +00:00
GCC Administrator
62e8530cd5
Daily bump.
...
From-SVN: r255158
2017-11-27 00:16:12 +00:00
Uros Bizjak
c234d8319b
i386.c (processor_target_table): Add skylake_cost for skylake-avx512.
...
* config/i386/i386.c (processor_target_table): Add skylake_cost for
skylake-avx512.
* config/i386/x86-tune-costs.h (skylake_memcpy, skylake_memset,
skylake_cost): New.
* config/i386/driver-i386.c (host_detect_local_cpu):
Detect skylake-avx512.
* config.gcc: Add -march=cannonlake.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect cannonlake.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle cannonlake.
* config/i386/i386.c (processor_costs): Add m_CANNONLAKE.
(PTA_CANNONLAKE): New.
(processor_target_table): Add cannonlake.
(ix86_option_override_internal): Ditto.
(fold_builtin_cpu): Ditto.
(get_builtin_code_for_version): Handle cannonlake.
(M_INTEL_COREI7_CANNONLAKE): New.
* config/i386/i386.h (TARGET_CANNONLAKE, PROCESSOR_CANNONLAKE): New.
* doc/invoke.texi: Add -march=cannonlake.
gcc/testsuite/
* gcc.target/i386/funcspec-56.inc: Handle new march.
* g++.dg/ext/mv16.C: Ditto.
libgcc/
* config/i386/cpuinfo.c (get_intel_cpu): Handle cannonlake.
* config/i386/cpuinfo.h (processor_subtypes): Add
INTEL_COREI7_CANNONLAKE.
From-SVN: r255155
2017-11-26 17:11:29 +01:00
Boris Kolpackov
8c7dbea9f1
Plugin support on Windows/MinGW
...
config/ChangeLog:
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
* gcc-plugin.m4: Add support for MinGW.
gcc/ChangeLog:
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
* plugin.c (add_new_plugin): Use platform-specific library extensions.
(try_init_one_plugin): Alternative implementation for MinGW.
* Makefile.in (plugin_implib): New.
(gengtype-lex.c): Fix broken AIX workaround.
* configure: Regenerate.
* doc/plugins.texi: Document support for MinGW.
gcc/c/ChangeLog:
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
* Make-lang.in (c.install-plugin): Install backend import library.
gcc/cp/ChangeLog:
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
* Make-lang.in (c++.install-plugin): Install backend import library.
libcc1/ChangeLog:
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
* configure: Regenerate.
From-SVN: r255154
2017-11-26 13:00:48 +00:00
GCC Administrator
44dfb82280
Daily bump.
...
From-SVN: r255153
2017-11-26 00:16:15 +00:00
Jakub Jelinek
e95be6330d
re PR rtl-optimization/81553 (ICE in immed_wide_int_const, at emit-rtl.c:607)
...
PR rtl-optimization/81553
* combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z)
to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP
is a shift where C1 has different mode than the whole shift, use C1's
mode for MULT rather than the shift's mode.
* gcc.c-torture/compile/pr81553.c: New test.
From-SVN: r255150
2017-11-25 20:35:47 +01:00
Andreas Schwab
5a2707633b
structret1.C (FrameworkObject::action): Return a value.
...
* g++.dg/abi/structret1.C (FrameworkObject::action): Return a
value.
From-SVN: r255149
2017-11-25 18:57:01 +00:00
Jakub Jelinek
b7f08b83e4
re PR target/82848 (ICE in expand_expr_real_2, at expr.c:8715)
...
PR target/82848
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Don't fold
builtins not enabled in the currently selected ISA.
* gcc.target/powerpc/pr82848.c: New test.
From-SVN: r255148
2017-11-25 11:19:16 +01:00
GCC Administrator
430ddc2279
Daily bump.
...
From-SVN: r255147
2017-11-25 00:16:16 +00:00
Jakub Jelinek
3b3e6283a4
re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type specified for intrinsic function 'min' / 'max')
...
PR fortran/81304
* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
attr.implicit_type in intrinsic_sym to avoid undesirable warning.
* testsuite/libgomp.fortran/pr81304.f90: New test.
From-SVN: r255144
2017-11-24 22:40:21 +01:00
Jackson Woodruff
19cf3a3685
Factor out division by squares
...
This patch implements the some of the division optimizations discussed in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71026 .
The division reciprocal optimization now handles divisions by squares:
x / (y * y) -> x * (1 / y) * (1 / y)
This requires at least one more division by y before it triggers - the
3 divisions of (1/ y) are then CSEd into a single division. Overall
this changes 1 division into 1 multiply, which is generally much faster.
2017-11-24 Jackson Woodruff <jackson.woodruff@arm.com>
gcc/
PR tree-optimization/71026
* tree-ssa-math-opts (is_division_by_square, is_square_of): New.
(insert_reciprocals): Change to insert reciprocals before a division
by a square and to insert the square of a reciprocal.
(execute_cse_reciprocals_1): Change to consider division by a square.
(register_division_in): Add importance parameter.
testsuite/
PR tree-optimization/71026
* gfortran.dg/extract_recip_1.f: New test.
* gcc.dg/extract_recip_3.c: New test.
* gcc.dg/extract_recip_4.c: New test.
From-SVN: r255141
2017-11-24 16:03:13 +00:00
Richard Biener
15b6695ac5
re PR tree-optimization/82402 (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)
...
2017-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/82402
* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
* gcc.dg/torture/pr82402.c: New testcase.
From-SVN: r255140
2017-11-24 12:34:23 +00:00
Marc Glisse
406520e26f
Simplify 0 - ptr.
...
2017-11-24 Marc Glisse <marc.glisse@inria.fr>
* match.pd (0-ptr): New transformation.
From-SVN: r255139
2017-11-24 12:09:14 +00:00
Jan Hubicka
f4118c878d
re PR bootstrap/83015 (bootstrap comparison failure on ia64)
...
PR bootstrap/83015
* ipa-inline.c (inline_small_functions): Set current badnes correctly
when skipping checking.
From-SVN: r255138
2017-11-24 11:24:55 +00:00
Janne Blomqvist
4dae9c641b
Whitespace fix for libgfortran/ChangeLog
...
From-SVN: r255137
2017-11-24 11:57:52 +02:00
Richard Biener
6a248fce56
re PR tree-optimization/83128 (Unable to optimize {m,c}alloc when strings builtin are used)
...
2017-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/83128
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle STRING_CSTs.
(vn_reference_lookup_3): Likewise.
* gcc.dg/tree-ssa/ssa-fre-62.c: New testcase.
From-SVN: r255136
2017-11-24 09:40:40 +00:00
Janne Blomqvist
97e1c8786b
PR 36313 Replace int with gfc_charlen_type, take 3
...
Still some prototypes that didn't match the implementation.
2017-11-24 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/36313
* m4/maxloc2s.m4: Replace int with gfc_charlen_type, take 3.
* m4/minloc2s.m4: Likewise.
* generated/maxloc2_16_s1.c: Regenerated.
* generated/maxloc2_16_s4.c: Regenerated.
* generated/maxloc2_4_s1.c: Regenerated.
* generated/maxloc2_4_s4.c: Regenerated.
* generated/maxloc2_8_s1.c: Regenerated.
* generated/maxloc2_8_s4.c: Regenerated.
* generated/minloc2_16_s1.c: Regenerated.
* generated/minloc2_16_s4.c: Regenerated.
* generated/minloc2_4_s1.c: Regenerated.
* generated/minloc2_4_s4.c: Regenerated.
* generated/minloc2_8_s1.c: Regenerated.
* generated/minloc2_8_s4.c: Regenerated.
From-SVN: r255135
2017-11-24 10:51:15 +02:00
Jakub Jelinek
96281645bd
re PR sanitizer/83014 (ICE in pretty-print with -fsanitize=bounds)
...
PR sanitizer/83014
* ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling
tree_to_uhwi twice.
* gcc.dg/ubsan/pr83014.c: New test.
From-SVN: r255134
2017-11-24 09:35:10 +01:00
Jakub Jelinek
51feb980c9
tree-object-size.c (pass_through_call): Use gimple_call_return_flags ERF_RETURN*ARG* for builtins other than...
...
* tree-object-size.c (pass_through_call): Use gimple_call_return_flags
ERF_RETURN*ARG* for builtins other than BUILT_IN_ASSUME_ALIGNED,
check for the latter with gimple_call_builtin_p. Do not handle
BUILT_IN_STPNCPY_CHK which is not a pass through call.
* gcc.dg/builtin-object-size-18.c: New test.
From-SVN: r255133
2017-11-24 09:34:13 +01:00
Kirill Yukhin
489154e71b
Add missing gcc/config.gcc hunks from r255121.
...
From-SVN: r255132
2017-11-24 07:39:57 +00:00
Kirill Yukhin
566bd102f7
Add missing hunks from r255121.
...
From-SVN: r255131
2017-11-24 06:49:04 +00:00
GCC Administrator
fcb01caa4f
Daily bump.
...
From-SVN: r255130
2017-11-24 00:16:21 +00:00
Jonathan Wakely
a8541d9021
Add [[nodiscard]] attribute to std::launder
...
* libsupc++/new (launder): Add nodiscard attribute.
* testsuite/18_support/launder/nodiscard.cc: New test.
From-SVN: r255127
2017-11-24 00:00:46 +00:00
Christophe Lyon
117e6b50b6
[ARM] Fix Dot Product NEON intrinsics
...
2017-11-24 Christophe Lyon <christophe.lyon@linaro.org>
* config/arm/arm_neon.h: Fix pragma GCC push_options before
vdot_u32.
From-SVN: r255126
2017-11-24 00:24:51 +01:00
Eric Botcazou
773076a512
re PR ada/83091 (ICE with -g in arm-eabi compilation)
...
PR ada/83091
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not build a variant
type for the implementation type of a packed array.
From-SVN: r255125
2017-11-23 22:55:05 +00:00
Jonathan Wakely
d69f1ec7d1
Add [[nodiscard]] attribute to C++17 components
...
* include/bits/fs_path.h (path::empty): Add nodiscard attribute.
* include/bits/range_access.h (empty): Likewise.
* include/std/string_view (basic_string_view::empty): Likewise.
* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New
test.
* testsuite/24_iterators/range_access_cpp17_neg.cc: New test.
* testsuite/27_io/filesystem/path/query/empty_neg.cc: New test.
From-SVN: r255124
2017-11-23 22:11:21 +00:00
Jonathan Wakely
4b9840f230
PR libstdc++/83134 Ensure std::__not_ converts B::value to bool
...
PR libstdc++/83134
* include/std/type_traits (__not_): Explicitly convert to bool.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/logical_traits/83134.cc: New test.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r255122
2017-11-23 21:35:27 +00:00
Julia Koval
de8603793a
Enable VBMI2 support [3/7]
...
gcc/
config/i386/avx512vbmi2intrin.h (_mm512_mask_expand_epi8,
_mm512_maskz_expand_epi8, _mm512_mask_expandloadu_epi8,
_mm512_maskz_expandloadu_epi8, _mm512_mask_expand_epi16,
_mm512_maskz_expand_epi16, _mm512_mask_expandloadu_epi16,
_mm512_maskz_expandloadu_epi16): New intrinsics.
config/i386/avx512vbmi2vlintrin.h (_mm_mask_expand_epi8,
_mm_maskz_expand_epi8, _mm_mask_expandloadu_epi8,
_mm_maskz_expandloadu_epi8, _mm_mask_expand_epi16,
_mm_maskz_expand_epi16, _mm_mask_expandloadu_epi16,
_mm_maskz_expandloadu_epi16, _mm256_mask_expand_epi16,
_mm256_maskz_expand_epi16, _mm256_mask_expandloadu_epi16,
_mm256_maskz_expandloadu_epi16, _mm256_mask_expand_epi8,
_mm256_maskz_expand_epi8, _mm256_mask_expandloadu_epi8,
_mm256_maskz_expandloadu_epi8): New intrinsics.
config/i386/i386-builtin-types.def (V64QI_FTYPE_PCV64QI_V64QI_UDI,
V32HI_FTYPE_PCV32HI_V32HI_USI, V32QI_FTYPE_PCV32QI_V32QI_USI,
V16HI_FTYPE_PCV16HI_V16HI_UHI, V16QI_FTYPE_PCV16QI_V16QI_UHI,
V8HI_FTYPE_PCV8HI_V8HI_UQI): New types.
config/i386/i386.c (ix86_expand_special_args_builtin): Use new types.
config/i386/sse.md (VI248_VLBW): New iterator.
(expand<mode>_mask, expand<mode>_maskz): New patterns.
gcc/testsuite/
gcc.target/i386/avx512f-vpexpandb-1.c: New test.
gcc.target/i386/avx512f-vpexpandb-2.c: Ditto.
gcc.target/i386/avx512f-vpexpandw-1.c: Ditto.
gcc.target/i386/avx512f-vpexpandw-2.c: Ditto.
gcc.target/i386/avx512vl-vpexpandb-1.c: Ditto.
gcc.target/i386/avx512vl-vpexpandb-2.c: Ditto.
gcc.target/i386/avx512vl-vpexpandw-1.c: Ditto.
gcc.target/i386/avx512vl-vpexpandw-2.c: Ditto.
From-SVN: r255121
2017-11-23 21:03:55 +00:00
Julia Koval
11cca3ca7d
Enable VBMI2 support [2/7]
...
gcc/
config.gcc (avx512vbmi2intrin.h, avx512vbmi2vlintrin): New headers.
config/i386/avx512vbmi2intrin.h (_mm512_mask_compress_epi8,
_mm512_maskz_compress_epi8, _mm512_mask_compressstoreu_epi8,
_mm512_mask_compress_epi16, _mm512_maskz_compress_epi16,
_mm512_mask_compressstoreu_epi16): New.
config/i386/avx512vbmi2vlintrin.h (_mm_mask_compress_epi8,
_mm_maskz_compress_epi8, _mm256_mask_compressstoreu_epi16,
_mm_mask_compress_epi16, _mm_maskz_compress_epi16,
_mm256_mask_compress_epi16, _mm256_maskz_compress_epi16,
_mm_mask_compressstoreu_epi8, _mm_mask_compressstoreu_epi16,
_mm256_mask_compress_epi8, _mm256_maskz_compress_epi8,
_mm256_mask_compressstoreu_epi8): New.
config/i386/i386-builtin-types.def (VOID_FTYPE_PV64QI_V64QI_UDI,
VOID_FTYPE_PV32HI_V32HI_USI, VOID_FTYPE_PV32QI_V32QI_USI,
VOID_FTYPE_PV16QI_V16QI_UHI, VOID_FTYPE_PV16HI_V16HI_UHI,
VOID_FTYPE_PV8HI_V8HI_UQI): New types.
config/i386/i386-builtin.def (__builtin_ia32_compressqi512_mask,
__builtin_ia32_compresshi512_mask, __builtin_ia32_compressqi256_mask,
__builtin_ia32_compressqi128_mask, __builtin_ia32_compresshi256_mask,
__builtin_ia32_compresshi128_mask,
__builtin_ia32_compressstoreuqi512_mask,
__builtin_ia32_compressstoreuhi512_mask,
__builtin_ia32_compressstoreuqi256_mask,
__builtin_ia32_compressstoreuqi128_mask,
__builtin_ia32_compressstoreuhi256_mask,
__builtin_ia32_compressstoreuhi128_mask): New builtins.
config/i386/i386.c (ix86_init_mmx_sse_builtins): Create special args
array for flags2.
(ix86_expand_special_args_builtin): Handle new types.
(s4fma_expand): Handle new builtin array.
config/i386/immintrin.h: Include new headers.
config/i386/sse.md (VI12_AVX512VLBW): New iterator.
(compress<mode>_mask, compressstore<mode>_mask): New patterns.
gcc/testsuite/
gcc.target/i386/avx512-check.h: Handle AVX512VBMI2 bit.
gcc.target/i386/avx512f-vpcompressb-1.c: New test.
gcc.target/i386/avx512f-vpcompressb-2.c: Ditto.
gcc.target/i386/avx512f-vpcompressw-1.c: Ditto.
gcc.target/i386/avx512f-vpcompressw-2.c: Ditto.
gcc.target/i386/avx512vl-vpcompressb-1.c: Ditto.
gcc.target/i386/avx512vl-vpcompressb-2.c: Ditto.
gcc.target/i386/avx512vl-vpcompressw-1.c: Ditto.
gcc.target/i386/avx512vl-vpcompressw-2.c: Ditto.
gcc.target/i386/i386.exp (check_effective_target_avx512vbmi2): New.
From-SVN: r255119
2017-11-23 20:57:50 +00:00
Jakub Jelinek
cd761692cb
rs6000.c (rs6000_gimple_fold_builtin): Formatting fixes.
...
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Formatting
fixes. Declare temp and g variables at the top in order to avoid
{} in most of the cases.
From-SVN: r255118
2017-11-23 21:19:01 +01:00
Jakub Jelinek
9c378aa9f4
parser.c (cp_parser_omp_declare): Change return type to bool from void, return true for declare simd.
...
* parser.c (cp_parser_omp_declare): Change return type to bool from
void, return true for declare simd.
(cp_parser_pragma): Return cp_parser_omp_declare returned value
rather than always false.
From-SVN: r255117
2017-11-23 21:18:10 +01:00