Age | Commit message (Collapse) | Author | Files | Lines |
|
Addresses PR#117869
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117869
gcc/ChangeLog:
* doc/install.texi: Add requirements for building gccrs.
|
|
We moved to a bootstrap requirement of C++11 in GCC 11, 8 years after
support was stable in GCC 4.8.
It is now 8 years since C++14 was the default mode in GCC 6 (and 9 years
since support was complete in GCC 5), and we have a few bits of optional
C++14 code in the compiler, so it seems a good time to update the bootstrap
requirement again.
The big benefit of the change is the greater constexpr power, but C++14 also
added variable templates, generic lambdas, lambda init-capture, binary
literals, and numeric literal digit separators.
C++14 was feature-complete in GCC 5, and became the default in GCC 6. 5.4.0
bootstraps trunk correctly; trunk stage1 built with 5.3.0 breaks in
eh_data_format_name due to PR69995.
gcc/ChangeLog:
* doc/install.texi (Prerequisites): Update to C++14.
ChangeLog:
* configure.ac: Update requirement to C++14.
* configure: Regenerate.
|
|
BPF cannot fall back on library calls to implement memmove, memcpy and
memset, so we attempt to expand these inline always if possible.
However, this inline expansion was being attempted even for excessively
large operations, which could result in gcc consuming huge amounts of
memory and hanging.
Add a size threshold in the BPF backend below which to always expand
these operations inline, and introduce an option
-minline-memops-threshold= to control the threshold. Defaults to
1024 bytes.
gcc/
* config/bpf/bpf.cc (bpf_expand_cpymem, bpf_expand_setmem): Do
not attempt inline expansion if size is above threshold.
* config/bpf/bpf.opt (-minline-memops-threshold): New option.
* doc/invoke.texi (eBPF Options) <-minline-memops-threshold>:
Document.
gcc/testsuite/
* gcc.target/bpf/inline-memops-threshold-1.c: New test.
* gcc.target/bpf/inline-memops-threshold-2.c: New test.
|
|
-mnoreturn-no-callee-saved-registers [PR38534]
The following patch hides the noreturn no_callee_saved_registers (except bp)
optimization with a not enabled by default option.
The reason is that most noreturn functions should be called just once in a
program (unless they are recursive or invoke longjmp or similar, for exceptions
we already punt), so it isn't that essential to save a few instructions in their
prologue, but more importantly because it interferes with debugging.
And unlike most other optimizations, doesn't actually make it harder to debug
the given function, which can be solved by recompiling the given function if
it is too hard to debug, but makes it harder to debug the callers of that
noreturn function. Those can be from a different translation unit, different
binary or even different package, so if e.g. glibc abort needs to use all
of the callee saved registers (%rbx, %rbp, %r12, %r13, %r14, %r15), debugging
any programs which abort will be harder because any DWARF expressions which
use those registers will be optimized out, not just in the immediate caller,
but in other callers as well until some frame restores a particular register
from some stack slot.
2024-03-08 Jakub Jelinek <jakub@redhat.com>
PR target/38534
* config/i386/i386.opt (mnoreturn-no-callee-saved-registers): New
option.
* config/i386/i386-options.cc (ix86_set_func_type): Don't use
TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP unless
ix86_noreturn_no_callee_saved_registers is enabled.
* doc/invoke.texi (-mnoreturn-no-callee-saved-registers): Document.
* gcc.target/i386/pr38534-1.c: Add -mnoreturn-no-callee-saved-registers
to dg-options.
* gcc.target/i386/pr38534-2.c: Likewise.
* gcc.target/i386/pr38534-3.c: Likewise.
* gcc.target/i386/pr38534-4.c: Likewise.
* gcc.target/i386/pr38534-5.c: Likewise.
* gcc.target/i386/pr38534-6.c: Likewise.
* gcc.target/i386/pr114097-1.c: Likewise.
* gcc.target/i386/stack-check-17.c: Likewise.
|
|
The manual has always claimed that -dD differs from -dM by not
outputting predefined macros, but that's untrue. It has been untrue
since GCC 3.0 (probably with the change to use libcpp as the default
preprocessor implementation).
gcc/ChangeLog:
* doc/cppopts.texi: Remove incorrect claim about -dD not
outputting predefined macros.
|
|
Issuing a hard error when the GMF doesn't consist only of preprocessing
directives happens to be inconvenient for automated testcase reduction
via cvise. This patch relaxes this diagnostic into a pedwarn that can
be disabled with -Wno-global-module.
gcc/c-family/ChangeLog:
* c.opt (Wglobal-module): New warning.
gcc/cp/ChangeLog:
* parser.cc (cp_parser_translation_unit): Relax GMF contents
error into a pedwarn.
gcc/ChangeLog:
* doc/invoke.texi (-Wno-global-module): Document.
gcc/testsuite/ChangeLog:
* g++.dg/modules/friend-6_a.C: Pass -Wno-global-module instead
of -Wno-pedantic. Remove now unnecessary preprocessing
directives from GMF.
Reviewed-by: Jason Merrill <jason@redhat.com>
|
|
...to offer a more realistic example.
gcc/ChangeLog:
* doc/extend.texi: Update [[gnu::no_dangling]].
|
|
Since -Wdangling-reference has false positives that can't be
prevented, we should offer an easy way to suppress the warning.
Currently, that is only possible by using a #pragma, either around the
enclosing class or around the call site. But #pragma GCC diagnostic tend
to be onerous. A better solution would be to have an attribute.
To that end, this patch adds a new attribute, [[gnu::no_dangling]].
This attribute takes an optional bool argument to support cases like:
template <typename T>
struct [[gnu::no_dangling(std::is_reference_v<T>)]] S {
// ...
};
PR c++/110358
PR c++/109642
gcc/cp/ChangeLog:
* call.cc (no_dangling_p): New.
(reference_like_class_p): Use it.
(do_warn_dangling_reference): Use it. Don't warn when the function
or its enclosing class has attribute gnu::no_dangling.
* tree.cc (cxx_gnu_attributes): Add gnu::no_dangling.
(handle_no_dangling_attribute): New.
gcc/ChangeLog:
* doc/extend.texi: Document gnu::no_dangling.
* doc/invoke.texi: Mention that gnu::no_dangling disables
-Wdangling-reference.
gcc/testsuite/ChangeLog:
* g++.dg/ext/attr-no-dangling1.C: New test.
* g++.dg/ext/attr-no-dangling2.C: New test.
* g++.dg/ext/attr-no-dangling3.C: New test.
* g++.dg/ext/attr-no-dangling4.C: New test.
* g++.dg/ext/attr-no-dangling5.C: New test.
* g++.dg/ext/attr-no-dangling6.C: New test.
* g++.dg/ext/attr-no-dangling7.C: New test.
* g++.dg/ext/attr-no-dangling8.C: New test.
* g++.dg/ext/attr-no-dangling9.C: New test.
|
|
gcc/
* doc/invoke.texi (AVR Options) <-mfuse-add=level>: Document
valid values for level.
|
|
Standard vector calling convention variant will only enabled when function
has vector argument or returning value by default, however user may also
want to invoke function without that during a vectorized loop at some situation,
but it will cause a huge performance penalty due to vector register store/restore.
So user can declare function with this riscv_vector_cc attribute like below, that could enforce
function will use standard vector calling convention variant.
void foo() __attribute__((riscv_vector_cc));
[[riscv::vector_cc]] void foo(); // For C++11 and C23
For more details please reference the below link.
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/67
gcc/ChangeLog:
* config/riscv/riscv.cc (TARGET_GNU_ATTRIBUTES): Add riscv_vector_cc
attribute to riscv_attribute_table.
(riscv_vector_cc_function_p): Return true if FUNC is a riscv_vector_cc function.
(riscv_fntype_abi): Add riscv_vector_cc attribute check.
* doc/extend.texi: Add riscv_vector_cc attribute description.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/attribute-riscv_vector_cc-error.C: New test.
* gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-callee-saved.c: New test.
* gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-error.c: New test.
|
|
The Reduced Tiny core does not support indirect addressing with offset,
which basically means that every indirect memory access with a size
of more than one byte is effectively POST_INC or PRE_DEC. The lack of
that addressing mode is currently handled by pretending to support it,
and then let the insn printers add and subtract again offsets as needed.
For example, the following C code
int vars[10];
void inc_var2 (void) {
++vars[2];
}
is compiled to:
ldi r30,lo8(vars) ; 14 [c=4 l=2] *movhi/4
ldi r31,hi8(vars)
subi r30,lo8(-(4)) ; 15 [c=8 l=6] *movhi/2
sbci r31,hi8(-(4))
ld r20,Z+
ld r21,Z
subi r30,lo8((4+1))
sbci r31,hi8((4+1))
subi r20,-1 ; 16 [c=4 l=2] *addhi3_clobber/1
sbci r21,-1
subi r30,lo8(-(4+1)) ; 17 [c=4 l=4] *movhi/3
sbci r31,hi8(-(4+1))
st Z,r21
st -Z,r20
where the code could be -- and with this patch actually is -- like
ldi r30,lo8(vars+4) ; 28 [c=4 l=2] *movhi/4
ldi r31,hi8(vars+4)
ld r20,Z+ ; 17 [c=8 l=2] *movhi/2
ld r21,Z+
subi r20,-1 ; 19 [c=4 l=2] *addhi3_clobber/1
sbci r21,-1
st -Z,r21 ; 30 [c=4 l=2] *movhi/3
st -Z,r20
This is achieved in two steps:
- A post-reload split into "real" instructions during .split2.
- A new avr-specific mini pass .avr-fuse-add that runs before
RTL peephole and that tries to combine the generated pointer
additions into memory accesses to form POST_INC or PRE_DEC.
gcc/
PR target/114100
* doc/invoke.texi (AVR Options) <-mfuse-add>: Document.
* config/avr/avr.opt (-mfuse-add=): New target option.
* common/config/avr/avr-common.cc (avr_option_optimization_table)
[OPT_LEVELS_1_PLUS]: Set -mfuse-add=1.
[OPT_LEVELS_2_PLUS]: Set -mfuse-add=2.
* config/avr/avr-passes.def (avr_pass_fuse_add): Insert new pass.
* config/avr/avr-protos.h (avr_split_tiny_move)
(make_avr_pass_fuse_add): New protos.
* config/avr/avr.md [AVR_TINY]: New post-reload splitter uses
avr_split_tiny_move to split indirect memory accesses.
(gen_move_clobbercc): New define_expand helper.
* config/avr/avr.cc (avr_pass_data_fuse_add): New pass data.
(avr_pass_fuse_add): New class from rtl_opt_pass.
(make_avr_pass_fuse_add, avr_split_tiny_move): New functions.
(reg_seen_between_p, emit_move_ccc, emit_move_ccc_after): New functions.
(avr_legitimate_address_p) [AVR_TINY]: Don't restrict offsets
of PLUS addressing for AVR_TINY.
(avr_regno_mode_code_ok_for_base_p) [AVR_TINY]: Ignore -mstrict-X.
(avr_out_plus_1) [AVR_TINY]: Tweak ++Y and --Y.
(avr_mode_code_base_reg_class) [AVR_TINY]: Always return POINTER_REGS.
|
|
This came up recently as Edwin was looking through the test suite. A
few of us were talking about this during the patchwork meeting and were
surprised. Looks like this is the desired behavior, so let's at least
document it.
gcc/ChangeLog:
* doc/invoke.texi: Document -mcpu.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
changes in -std=c11 etc. modes [PR114007]
We aren't able to parse __has_attribute (vendor::attr) (and __has_c_attribute
and __has_cpp_attribute) in strict C < C23 modes. While in -std=gnu* modes
or in -std=c23 there is CPP_SCOPE token, in -std=c* (except for -std=c23)
there are is just a pair of CPP_COLON tokens.
The c-lex.cc hunk adds support for that.
That leads to a question if we should return 1 or 0 from
__has_attribute (gnu::unused) or not, because while
[[gnu::unused]] is parsed fine in -std=gnu*/-std=c23 modes (sure, with
pedwarn for < C23), we do not parse it at all in -std=c* (except for
-std=c23), we only parse [[__extension__ gnu::unused]] there. While
the __extension__ in there helps to avoid the pedwarn, I think it is
better to be consistent between GNU and strict C < C23 modes and
parse [[gnu::unused]] too; on the other side, I think parsing
[[__extension__ gnu : : unused]] is too weird and undesirable.
So, the following patch adds a flag during preprocessing at the point
where we normally create CPP_SCOPE tokens out of 2 consecutive colons
on the first CPP_COLON to mark the consecutive case (as we are tight
on the bits, I've reused the PURE_ZERO flag, which is used just by the
C++ FE and only ever set (both C and C++) on CPP_NUMBER tokens, this
new flag has the same value and is only ever used on CPP_COLON tokens)
and instead of checking loose_scope_p argument (i.e. whether it is
[[__extension__ ...]] or not), it just parses CPP_SCOPE or CPP_COLON
with CLONE_SCOPE flag followed by another CPP_COLON the same.
The latter will never appear in >= C23 or -std=gnu* modes, though
guarding its use say with flag_iso && !flag_isoc23 && doesn't really
work because the __extension__ case temporarily clears flag_iso flag.
This makes the -std=c11 etc. behavior more similar to -std=gnu11 or
-std=c23, the only difference I'm aware of are the
#define JOIN2(A, B) A##B
[[vendor JOIN2(:,:) attr]]
[[__extension__ vendor JOIN2(:,:) attr]]
cases, which are accepted in the latter modes, but results in error
in -std=c11; but the error is during preprocessing that :: doesn't
form a valid preprocessing token, which is true, so just don't do that if
you try to have __STRICT_ANSI__ && __STDC_VERSION__ <= 201710L
compatibility.
2024-02-22 Jakub Jelinek <jakub@redhat.com>
PR c/114007
gcc/
* doc/extend.texi: (__extension__): Remove comments about scope
tokens vs. two colons.
gcc/c-family/
* c-lex.cc (c_common_has_attribute): Parse 2 CPP_COLONs with
the first one with COLON_SCOPE flag the same as CPP_SCOPE.
gcc/c/
* c-parser.cc (c_parser_std_attribute): Remove loose_scope_p argument.
Instead of checking it, parse 2 CPP_COLONs with the first one with
COLON_SCOPE flag the same as CPP_SCOPE.
(c_parser_std_attribute_list): Remove loose_scope_p argument, don't
pass it to c_parser_std_attribute.
(c_parser_std_attribute_specifier): Adjust c_parser_std_attribute_list
caller.
gcc/testsuite/
* gcc.dg/c23-attr-syntax-6.c: Adjust testcase for :: being valid
even in -std=c11 even without __extension__ and : : etc. not being
valid anymore even with __extension__.
* gcc.dg/c23-attr-syntax-7.c: Likewise.
* gcc.dg/c23-attr-syntax-8.c: New test.
libcpp/
* include/cpplib.h (COLON_SCOPE): Define to PURE_ZERO.
* lex.cc (_cpp_lex_direct): When lexing CPP_COLON with another
colon after it, if !CPP_OPTION (pfile, scope) set COLON_SCOPE
flag on the first CPP_COLON token.
|
|
The problem is that, there are these lines in mips.opt.urls:
; skipping UrlSuffix for 'mabi=' due to finding no URLs
; skipping UrlSuffix for 'mno-flush-func' due to finding no URLs
; skipping UrlSuffix for 'mexplicit-relocs' due to finding no URLs
These lines is not fixed by this patch due to that we don't
document these options:
; skipping UrlSuffix for 'mlra' due to finding no URLs
; skipping UrlSuffix for 'mdebug' due to finding no URLs
; skipping UrlSuffix for 'meb' due to finding no URLs
; skipping UrlSuffix for 'mel' due to finding no URLs
gcc
* doc/invoke.texi(MIPS Options): Fix skipping UrlSuffix
problem of mabi=, mno-flush-func, mexplicit-relocs;
add missing leading - of mbranch-cost option.
* config/mips/mips.opt.urls: Regenerate.
|
|
As PR109987 and its duplicated bugs show, -mno-power8-vector
(and -mno-power9-vector) cause some problems and as Segher
pointed out in [1] they are workaround options, so this patch
is to remove -m{no,}-power{8,9}-options. Like what we did
for option -mdirect-move before, this patch still keep the
corresponding internal flags and they are automatically set
based on -mcpu. The test suite update takes some efforts,
it consists of some aspects:
- effective target powerpc_p{8,9}vector_ok are removed
and replaced with powerpc_vsx_ok.
- Some cases having -mpower{8,9}-vector are updated with
-mvsx, some of them already have -mdejagnu-cpu. For
those that don't have -mdejagnu-cpu, if -mdejagnu-cpu
is needed for the test point, then it's appended;
otherwise, add additional-options -mdejagnu-cpu=power{8,9}
if has_arch_pwr{8,9} isn't satisfied.
- Some test cases are updated with explicit -mvsx.
- Some test cases with those two option mixed are adjusted
to keep the test points, like -mpower8-vector
-mno-power9-vector are updated with -mdejagnu-cpu=power8
-mvsx etc.
- Some test cases with -mno-power{8,9}-vector are updated
by replacing -mno-power{8,9}-vector with -mno-vsx, or
just removing it.
- For some cases, we don't always specify -mdejagnu-cpu to
avoid to restrict the testing coverage, it would check
has_arch_pwr{8,9} and appended that as need.
- For vect test cases run, it doesn't specify -mcpu=power9
for power10 and up.
Bootstrapped and regtested on:
- powerpc64-linux-gnu P7/P8/P9 {-m32,-m64}
- powerpc64le-linux-gnu P8/P9/P10
Although it's stage4 now, as the discussion in PR113115 we
are still eager to neuter these two options, so is it ok
for trunk?
[1] https://gcc.gnu.org/pipermail/gcc-patches/2022-January/589303.html
PR target/109987
gcc/ChangeLog:
* config/rs6000/constraints.md (we): Update internal doc without
referring to option -mpower9-vector.
* config/rs6000/driver-rs6000.cc (asm_names): Remove mpower9-vector
special handlings.
* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS,
OTHER_P8_VECTOR_MASKS): Merge to ...
(OTHER_VSX_VECTOR_MASKS): ... here.
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove
some error message handlings and explicit option mask adjustments on
explicit option power{8,9}-vector conflicting with other options.
(rs6000_print_isa_options): Update comments.
(rs6000_disable_incompatible_switches): Remove power{8,9}-vector
related array items and handlings.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Remove mpower9-vector
special handlings.
* config/rs6000/rs6000.opt: Make option power{8,9}-vector as
WarnRemoved.
* doc/extend.texi: Remove documentation referring to option
-mpower8-vector.
* doc/invoke.texi: Remove documentation for option
-mpower{8,9}-vector and adjust some documentation referring to them.
* doc/md.texi: Update documentation for constraint we.
* doc/sourcebuild.texi: Remove documentation for powerpc_p8vector_ok.
libgcc/ChangeLog:
* config/rs6000/t-float128-hw: Replace options -mpower{8,9}-vector
with -mcpu=power9.
* configure.ac: Update use of option -mpower9-vector with
-mcpu=power9.
* configure: Regenerate.
gcc/testsuite/ChangeLog:
* lib/target-supports.exp
(check_effective_target_powerpc_p8vector_ok): Remove.
(check_effective_target_powerpc_p9vector_ok): Remove.
(check_p8vector_hw_available): Replace -mpower8-vector with
-mcpu=power8.
(check_p9vector_hw_available): Replace -mpower9-vector with
-mcpu=power9.
(check_ppc_float128_hw_available): Likewise.
(check_vect_support_and_set_flags): Replace -mpower8-vector with
-mcpu=power8, replace -mpower9-vector with -mcpu=power9 or
nothing if check_power10_hw_available and place -mcpu=970 first
if needed to avoid possible overriding.
* g++.target/powerpc/altivec-19.C: Replace powerpc_p9vector_ok with
powerpc_vsx_ok and append -mvsx to dg-options.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise.
* gcc.target/powerpc/builtins-3-p9.c: Likewise.
* gcc.target/powerpc/byte-in-either-range-0.c: Likewise.
* gcc.target/powerpc/byte-in-either-range-1.c: Likewise.
* gcc.target/powerpc/byte-in-range-0.c: Likewise.
* gcc.target/powerpc/byte-in-range-1.c: Likewise.
* gcc.target/powerpc/byte-in-set-0.c: Likewise.
* gcc.target/powerpc/byte-in-set-1.c: Likewise.
* gcc.target/powerpc/byte-in-set-2.c: Likewise.
* gcc.target/powerpc/clone1.c: Likewise.
* gcc.target/powerpc/ctz-3.c: Likewise.
* gcc.target/powerpc/ctz-4.c: Likewise.
* gcc.target/powerpc/darn-0.c: Likewise.
* gcc.target/powerpc/darn-1.c: Likewise.
* gcc.target/powerpc/darn-2.c: Likewise.
* gcc.target/powerpc/dform-3.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise.
* gcc.target/powerpc/direct-move-vector.c: Likewise.
* gcc.target/powerpc/float128-type-2.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
* gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise.
* gcc.target/powerpc/p9-dimode1.c: Likewise.
* gcc.target/powerpc/p9-dimode2.c: Likewise.
* gcc.target/powerpc/p9-extract-1.c: Likewise.
* gcc.target/powerpc/p9-extract-2.c: Likewise.
* gcc.target/powerpc/p9-extract-3.c: Likewise.
* gcc.target/powerpc/p9-extract-4.c: Likewise.
* gcc.target/powerpc/p9-fpcvt-1.c: Likewise.
* gcc.target/powerpc/p9-fpcvt-2.c: Likewise.
* gcc.target/powerpc/p9-fpcvt-3.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
* gcc.target/powerpc/p9-minmax-1.c: Likewise.
* gcc.target/powerpc/p9-minmax-2.c: Likewise.
* gcc.target/powerpc/p9-minmax-3.c: Likewise.
* gcc.target/powerpc/p9-novsx.c: Likewise.
* gcc.target/powerpc/p9-permute.c: Likewise.
* gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise.
* gcc.target/powerpc/p9-splat-1.c: Likewise.
* gcc.target/powerpc/p9-splat-2.c: Likewise.
* gcc.target/powerpc/p9-splat-3.c: Likewise.
* gcc.target/powerpc/p9-splat-4.c: Likewise.
* gcc.target/powerpc/p9-splat-5.c: Likewise.
* gcc.target/powerpc/p9-vbpermd.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-1.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise.
* gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-1.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-2.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-3.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-4.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-5.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-6.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-7.c: Likewise.
* gcc.target/powerpc/p9-vec-length-full-8.c: Likewise.
* gcc.target/powerpc/p9-vneg.c: Likewise.
* gcc.target/powerpc/p9-vparity.c: Likewise.
* gcc.target/powerpc/p9-vpermr.c: Likewise.
* gcc.target/powerpc/p9-xxbr-1.c: Likewise.
* gcc.target/powerpc/p9-xxbr-2.c: Likewise.
* gcc.target/powerpc/p9-xxbr-3.c: Likewise.
* gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Likewise.
* gcc.target/powerpc/ppc-round3.c: Likewise.
* gcc.target/powerpc/pr103124.c: Likewise.
* gcc.target/powerpc/pr104015-1.c: Likewise.
* gcc.target/powerpc/pr106769-p9.c: Likewise.
* gcc.target/powerpc/pr107412.c: Likewise.
* gcc.target/powerpc/pr110429.c: Likewise.
* gcc.target/powerpc/pr66144-1.c: Likewise.
* gcc.target/powerpc/pr71186.c: Likewise.
* gcc.target/powerpc/pr71309.c: Likewise.
* gcc.target/powerpc/pr71670.c: Likewise.
* gcc.target/powerpc/pr71698.c: Likewise.
* gcc.target/powerpc/pr71720.c: Likewise.
* gcc.target/powerpc/pr72853.c: Likewise.
* gcc.target/powerpc/pr78056-1.c: Likewise.
* gcc.target/powerpc/pr78658.c: Likewise.
* gcc.target/powerpc/pr78953.c: Likewise.
* gcc.target/powerpc/pr79004.c: Likewise.
* gcc.target/powerpc/pr79038-1.c: Likewise.
* gcc.target/powerpc/pr79179.c: Likewise.
* gcc.target/powerpc/pr79251.p9.c: Likewise.
* gcc.target/powerpc/pr79799-1.c: Likewise.
* gcc.target/powerpc/pr79799-2.c: Likewise.
* gcc.target/powerpc/pr79799-3.c: Likewise.
* gcc.target/powerpc/pr79799-5.c: Likewise.
* gcc.target/powerpc/pr80695-p9.c: Likewise.
* gcc.target/powerpc/pr81348.c: Likewise.
* gcc.target/powerpc/pr81622.c: Likewise.
* gcc.target/powerpc/pr84154-3.c: Likewise.
* gcc.target/powerpc/pr90763.c: Likewise.
* gcc.target/powerpc/pr96933-1.c: Likewise.
* gcc.target/powerpc/sad-vectorize-1.c: Likewise.
* gcc.target/powerpc/sad-vectorize-2.c: Likewise.
* gcc.target/powerpc/signbit-2.c: Likewise.
* gcc.target/powerpc/vadsdu-0.c: Likewise.
* gcc.target/powerpc/vadsdu-1.c: Likewise.
* gcc.target/powerpc/vadsdu-2.c: Likewise.
* gcc.target/powerpc/vadsdu-3.c: Likewise.
* gcc.target/powerpc/vadsdu-4.c: Likewise.
* gcc.target/powerpc/vadsdu-5.c: Likewise.
* gcc.target/powerpc/vadsdub-1.c: Likewise.
* gcc.target/powerpc/vadsdub-2.c: Likewise.
* gcc.target/powerpc/vadsduh-1.c: Likewise.
* gcc.target/powerpc/vadsduh-2.c: Likewise.
* gcc.target/powerpc/vadsduw-1.c: Likewise.
* gcc.target/powerpc/vadsduw-2.c: Likewise.
* gcc.target/powerpc/vec-extract-4.c: Likewise.
* gcc.target/powerpc/vec-init-3.c: Likewise.
* gcc.target/powerpc/vec-minmax-1.c: Likewise.
* gcc.target/powerpc/vec-minmax-2.c: Likewise.
* gcc.target/powerpc/vec-set-char.c: Likewise.
* gcc.target/powerpc/vec-set-int.c: Likewise.
* gcc.target/powerpc/vec-set-short.c: Likewise.
* gcc.target/powerpc/vec_reve_2.c: Likewise.
* gcc.target/powerpc/vector_float.c: Likewise.
* gcc.target/powerpc/vslv-0.c: Likewise.
* gcc.target/powerpc/vslv-1.c: Likewise.
* gcc.target/powerpc/vsrv-0.c: Likewise.
* gcc.target/powerpc/vsrv-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise.
* gcc.target/powerpc/vsx-builtin-msum.c: Likewise.
* gcc.target/powerpc/vsx-himode.c: Likewise.
* gcc.target/powerpc/vsx-himode2.c: Likewise.
* gcc.target/powerpc/vsx-himode3.c: Likewise.
* gcc.target/powerpc/vsx-qimode.c: Likewise.
* gcc.target/powerpc/vsx-qimode2.c: Likewise.
* gcc.target/powerpc/vsx-qimode3.c: Likewise.
* g++.target/powerpc/pr65240-1.C: Replace powerpc_p8vector_ok with
powerpc_vsx_ok and append -mvsx to dg-options.
* g++.target/powerpc/pr65240-2.C: Likewise.
* g++.target/powerpc/pr65240-3.C: Likewise.
* g++.target/powerpc/pr65242.C: Likewise.
* g++.target/powerpc/pr67211.C: Likewise.
* g++.target/powerpc/pr71294.C: Likewise.
* g++.target/powerpc/pr84279.C: Likewise.
* g++.target/powerpc/pr93974.C: Likewise.
* gcc.target/powerpc/atomic-p8.c: Likewise.
* gcc.target/powerpc/atomic_load_store-p8.c: Likewise.
* gcc.target/powerpc/bcd-2.c: Likewise.
* gcc.target/powerpc/bcd-3.c: Likewise.
* gcc.target/powerpc/bool2-p8.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.
* gcc.target/powerpc/builtins-1.c: Likewise.
* gcc.target/powerpc/builtins-3-p8.c: Likewise.
* gcc.target/powerpc/builtins-5.c: Likewise.
* gcc.target/powerpc/builtins-9.c: Likewise.
* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
* gcc.target/powerpc/crypto-builtin-2.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Likewise.
* gcc.target/powerpc/float128-type-1.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-char.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-short.c: Likewise.
* gcc.target/powerpc/fold-vec-select-double.c: Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise.
* gcc.target/powerpc/fusion.c: Likewise.
* gcc.target/powerpc/fusion2.c: Likewise.
* gcc.target/powerpc/mul-vectorize-1.c: Likewise.
* gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise.
* gcc.target/powerpc/p8-vec-xl-xst.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
* gcc.target/powerpc/p8vector-fp.c: Likewise.
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
* gcc.target/powerpc/p8vector-ldst.c: Likewise.
* gcc.target/powerpc/p8vector-vbpermq.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
* gcc.target/powerpc/ppc-round2.c: Likewise.
* gcc.target/powerpc/pr100866-1.c: Likewise.
* gcc.target/powerpc/pr100866-2.c: Likewise.
* gcc.target/powerpc/pr104239-1.c: Likewise.
* gcc.target/powerpc/pr104239-2.c: Likewise.
* gcc.target/powerpc/pr104239-3.c: Likewise.
* gcc.target/powerpc/pr106769-p8.c: Likewise.
* gcc.target/powerpc/pr108396.c: Likewise.
* gcc.target/powerpc/pr111449-1.c: Likewise.
* gcc.target/powerpc/pr57744.c: Likewise.
* gcc.target/powerpc/pr58673-1.c: Likewise.
* gcc.target/powerpc/pr58673-2.c: Likewise.
* gcc.target/powerpc/pr60137.c: Likewise.
* gcc.target/powerpc/pr60203.c: Likewise.
* gcc.target/powerpc/pr66144-2.c: Likewise.
* gcc.target/powerpc/pr66144-3.c: Likewise.
* gcc.target/powerpc/pr68163.c: Likewise.
* gcc.target/powerpc/pr69548.c: Likewise.
* gcc.target/powerpc/pr70669.c: Likewise.
* gcc.target/powerpc/pr71977-1.c: Likewise.
* gcc.target/powerpc/pr71977-2.c: Likewise.
* gcc.target/powerpc/pr72717.c: Likewise.
* gcc.target/powerpc/pr78056-3.c: Likewise.
* gcc.target/powerpc/pr78056-4.c: Likewise.
* gcc.target/powerpc/pr78102.c: Likewise.
* gcc.target/powerpc/pr78543.c: Likewise.
* gcc.target/powerpc/pr78604.c: Likewise.
* gcc.target/powerpc/pr79251.p8.c: Likewise.
* gcc.target/powerpc/pr79354.c: Likewise.
* gcc.target/powerpc/pr79544.c: Likewise.
* gcc.target/powerpc/pr79907.c: Likewise.
* gcc.target/powerpc/pr79951.c: Likewise.
* gcc.target/powerpc/pr80315-1.c: Likewise.
* gcc.target/powerpc/pr80315-2.c: Likewise.
* gcc.target/powerpc/pr80315-3.c: Likewise.
* gcc.target/powerpc/pr80315-4.c: Likewise.
* gcc.target/powerpc/pr80510-2.c: Likewise.
* gcc.target/powerpc/pr80695-p8.c: Likewise.
* gcc.target/powerpc/pr80718.c: Likewise.
* gcc.target/powerpc/pr84154-2.c: Likewise.
* gcc.target/powerpc/pr88558-p8.c: Likewise.
* gcc.target/powerpc/pr88845.c: Likewise.
* gcc.target/powerpc/pr91903.c: Likewise.
* gcc.target/powerpc/pr92923-2.c: Likewise.
* gcc.target/powerpc/pr96933-2.c: Likewise.
* gcc.target/powerpc/pr97019.c: Likewise.
* gcc.target/powerpc/pragma_power8.c: Likewise.
* gcc.target/powerpc/signbit-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-12.c: Likewise.
* gcc.target/powerpc/swaps-p8-14.c: Likewise.
* gcc.target/powerpc/swaps-p8-15.c: Likewise.
* gcc.target/powerpc/swaps-p8-16.c: Likewise.
* gcc.target/powerpc/swaps-p8-17.c: Likewise.
* gcc.target/powerpc/swaps-p8-18.c: Likewise.
* gcc.target/powerpc/swaps-p8-19.c: Likewise.
* gcc.target/powerpc/swaps-p8-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-22.c: Likewise.
* gcc.target/powerpc/swaps-p8-23.c: Likewise.
* gcc.target/powerpc/swaps-p8-24.c: Likewise.
* gcc.target/powerpc/swaps-p8-25.c: Likewise.
* gcc.target/powerpc/swaps-p8-26.c: Likewise.
* gcc.target/powerpc/swaps-p8-27.c: Likewise.
* gcc.target/powerpc/swaps-p8-3.c: Likewise.
* gcc.target/powerpc/swaps-p8-30.c: Likewise.
* gcc.target/powerpc/swaps-p8-33.c: Likewise.
* gcc.target/powerpc/swaps-p8-36.c: Likewise.
* gcc.target/powerpc/swaps-p8-39.c: Likewise.
* gcc.target/powerpc/swaps-p8-4.c: Likewise.
* gcc.target/powerpc/swaps-p8-42.c: Likewise.
* gcc.target/powerpc/swaps-p8-45.c: Likewise.
* gcc.target/powerpc/swaps-p8-46.c: Likewise.
* gcc.target/powerpc/swaps-p8-5.c: Likewise.
* gcc.target/powerpc/unpack-vectorize-3.c: Likewise.
* gcc.target/powerpc/upper-regs-sf.c: Likewise.
* gcc.target/powerpc/vec-cmp.c: Likewise.
* gcc.target/powerpc/vec-extract-1.c: Likewise.
* gcc.target/powerpc/vec-extract-3.c: Likewise.
* gcc.target/powerpc/vec-extract-5.c: Likewise.
* gcc.target/powerpc/vec-extract-6.c: Likewise.
* gcc.target/powerpc/vec-extract-7.c: Likewise.
* gcc.target/powerpc/vec-extract-8.c: Likewise.
* gcc.target/powerpc/vec-extract-9.c: Likewise.
* gcc.target/powerpc/vec-init-10.c: Likewise.
* gcc.target/powerpc/vec-init-6.c: Likewise.
* gcc.target/powerpc/vec-init-7.c: Likewise.
* gcc.target/powerpc/vsx-extract-3.c: Likewise.
* gcc.target/powerpc/vsx-extract-4.c: Likewise.
* gcc.target/powerpc/vsx-extract-5.c: Likewise.
* gcc.target/powerpc/vsx-simode.c: Likewise.
* gcc.target/powerpc/vsx-simode2.c: Likewise.
* gcc.target/powerpc/vsx-simode3.c: Likewise.
* gcc.target/powerpc/builtins-4-int128-runnable.c: Replace
powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector
with -mvsx, and add dg-additional-options -mdejagnu-cpu=power8
if !has_arch_pwr8.
* gcc.target/powerpc/builtins-mergew-mergow.c: Likewise.
* gcc.target/powerpc/direct-move-float3.c: Likewise.
* gcc.target/powerpc/divkc3-2.c: Likewise.
* gcc.target/powerpc/divkc3-3.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-add-4.c: Likewise.
* gcc.target/powerpc/fold-vec-add-7.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-int.h: Likewise.
* gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-short.h: Likewise.
* gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise.
* gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise.
* gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise.
* gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-other-char.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-other-int.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-other-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-logical-other-short.c: Likewise.
* gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-mult-int.c: Likewise.
* gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-int.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise.
* gcc.target/powerpc/fold-vec-pack-double.c: Likewise.
* gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise.
* gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-st-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-sub-int128.c: Likewise.
* gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-unpack-float.c: Likewise.
* gcc.target/powerpc/fold-vec-unpack-int.c: Likewise.
* gcc.target/powerpc/mmx-packs.c: Likewise.
* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
* gcc.target/powerpc/mmx-packuswb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddd-1.c: Likewise.
* gcc.target/powerpc/mmx-paddsb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddsw-1.c: Likewise.
* gcc.target/powerpc/mmx-paddusb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddusw-1.c: Likewise.
* gcc.target/powerpc/mmx-paddw-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise.
* gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise.
* gcc.target/powerpc/mmx-pmulhw-1.c: Likewise.
* gcc.target/powerpc/mmx-pmullw-1.c: Likewise.
* gcc.target/powerpc/mmx-pslld-1.c: Likewise.
* gcc.target/powerpc/mmx-psllw-1.c: Likewise.
* gcc.target/powerpc/mmx-psrad-1.c: Likewise.
* gcc.target/powerpc/mmx-psraw-1.c: Likewise.
* gcc.target/powerpc/mmx-psrld-1.c: Likewise.
* gcc.target/powerpc/mmx-psrlw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubb-2.c: Likewise.
* gcc.target/powerpc/mmx-psubd-2.c: Likewise.
* gcc.target/powerpc/mmx-psubsb-1.c: Likewise.
* gcc.target/powerpc/mmx-psubsw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubusb-1.c: Likewise.
* gcc.target/powerpc/mmx-psubusw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubw-2.c: Likewise.
* gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise.
* gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckldq-1.c: Likewise.
* gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise.
* gcc.target/powerpc/mulkc3-2.c: Likewise.
* gcc.target/powerpc/mulkc3-3.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-8.c: Likewise.
* gcc.target/powerpc/pr37191.c: Likewise.
* gcc.target/powerpc/pr83862.c: Likewise.
* gcc.target/powerpc/pr84154-1.c: Likewise.
* gcc.target/powerpc/pr84220-sld2.c: Likewise.
* gcc.target/powerpc/pr85456.c: Likewise.
* gcc.target/powerpc/pr86731-longlong.c: Likewise.
* gcc.target/powerpc/sse-addps-1.c: Likewise.
* gcc.target/powerpc/sse-addss-1.c: Likewise.
* gcc.target/powerpc/sse-andnps-1.c: Likewise.
* gcc.target/powerpc/sse-andps-1.c: Likewise.
* gcc.target/powerpc/sse-cmpss-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise.
* gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/powerpc/sse-cvtss2si-1.c: Likewise.
* gcc.target/powerpc/sse-cvtss2si-2.c: Likewise.
* gcc.target/powerpc/sse-cvttss2si-1.c: Likewise.
* gcc.target/powerpc/sse-cvttss2si-2.c: Likewise.
* gcc.target/powerpc/sse-divps-1.c: Likewise.
* gcc.target/powerpc/sse-divss-1.c: Likewise.
* gcc.target/powerpc/sse-maxps-1.c: Likewise.
* gcc.target/powerpc/sse-maxps-2.c: Likewise.
* gcc.target/powerpc/sse-maxss-1.c: Likewise.
* gcc.target/powerpc/sse-minps-1.c: Likewise.
* gcc.target/powerpc/sse-minps-2.c: Likewise.
* gcc.target/powerpc/sse-minss-1.c: Likewise.
* gcc.target/powerpc/sse-movaps-1.c: Likewise.
* gcc.target/powerpc/sse-movaps-2.c: Likewise.
* gcc.target/powerpc/sse-movhlps-1.c: Likewise.
* gcc.target/powerpc/sse-movhps-1.c: Likewise.
* gcc.target/powerpc/sse-movhps-2.c: Likewise.
* gcc.target/powerpc/sse-movlhps-1.c: Likewise.
* gcc.target/powerpc/sse-movlps-1.c: Likewise.
* gcc.target/powerpc/sse-movlps-2.c: Likewise.
* gcc.target/powerpc/sse-movmskb-1.c: Likewise.
* gcc.target/powerpc/sse-movmskps-1.c: Likewise.
* gcc.target/powerpc/sse-movss-1.c: Likewise.
* gcc.target/powerpc/sse-movss-2.c: Likewise.
* gcc.target/powerpc/sse-movss-3.c: Likewise.
* gcc.target/powerpc/sse-mulps-1.c: Likewise.
* gcc.target/powerpc/sse-mulss-1.c: Likewise.
* gcc.target/powerpc/sse-orps-1.c: Likewise.
* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
* gcc.target/powerpc/sse-pmaxsw-1.c: Likewise.
* gcc.target/powerpc/sse-pmaxub-1.c: Likewise.
* gcc.target/powerpc/sse-pminsw-1.c: Likewise.
* gcc.target/powerpc/sse-pminub-1.c: Likewise.
* gcc.target/powerpc/sse-pmulhuw-1.c: Likewise.
* gcc.target/powerpc/sse-psadbw-1.c: Likewise.
* gcc.target/powerpc/sse-rcpps-1.c: Likewise.
* gcc.target/powerpc/sse-rsqrtps-1.c: Likewise.
* gcc.target/powerpc/sse-shufps-1.c: Likewise.
* gcc.target/powerpc/sse-sqrtps-1.c: Likewise.
* gcc.target/powerpc/sse-subps-1.c: Likewise.
* gcc.target/powerpc/sse-subss-1.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-1.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-2.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-3.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-4.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-5.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-6.c: Likewise.
* gcc.target/powerpc/sse-unpckhps-1.c: Likewise.
* gcc.target/powerpc/sse-unpcklps-1.c: Likewise.
* gcc.target/powerpc/sse-xorps-1.c: Likewise.
* gcc.target/powerpc/sse2-addpd-1.c: Likewise.
* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
* gcc.target/powerpc/sse2-andnpd-1.c: Likewise.
* gcc.target/powerpc/sse2-andpd-1.c: Likewise.
* gcc.target/powerpc/sse2-cmppd-1.c: Likewise.
* gcc.target/powerpc/sse2-cmpsd-1.c: Likewise.
* gcc.target/powerpc/sse2-comisd-1.c: Likewise.
* gcc.target/powerpc/sse2-comisd-2.c: Likewise.
* gcc.target/powerpc/sse2-comisd-3.c: Likewise.
* gcc.target/powerpc/sse2-comisd-4.c: Likewise.
* gcc.target/powerpc/sse2-comisd-5.c: Likewise.
* gcc.target/powerpc/sse2-comisd-6.c: Likewise.
* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise.
* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise.
* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
* gcc.target/powerpc/sse2-maxpd-1.c: Likewise.
* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
* gcc.target/powerpc/sse2-minpd-1.c: Likewise.
* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
* gcc.target/powerpc/sse2-mmx.c: Likewise.
* gcc.target/powerpc/sse2-movhpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movhpd-2.c: Likewise.
* gcc.target/powerpc/sse2-movlpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movlpd-2.c: Likewise.
* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movq-1.c: Likewise.
* gcc.target/powerpc/sse2-movq-2.c: Likewise.
* gcc.target/powerpc/sse2-movq-3.c: Likewise.
* gcc.target/powerpc/sse2-movsd-1.c: Likewise.
* gcc.target/powerpc/sse2-movsd-2.c: Likewise.
* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
* gcc.target/powerpc/sse2-orpd-1.c: Likewise.
* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddd-1.c: Likewise.
* gcc.target/powerpc/sse2-paddq-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddusw-1.c: Likewise.
* gcc.target/powerpc/sse2-paddw-1.c: Likewise.
* gcc.target/powerpc/sse2-pand-1.c: Likewise.
* gcc.target/powerpc/sse2-pandn-1.c: Likewise.
* gcc.target/powerpc/sse2-pavgb-1.c: Likewise.
* gcc.target/powerpc/sse2-pavgw-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise.
* gcc.target/powerpc/sse2-pextrw.c: Likewise.
* gcc.target/powerpc/sse2-pinsrw.c: Likewise.
* gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise.
* gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmaxub-1.c: Likewise.
* gcc.target/powerpc/sse2-pminsw-1.c: Likewise.
* gcc.target/powerpc/sse2-pminub-1.c: Likewise.
* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
* gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmullw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmuludq-1.c: Likewise.
* gcc.target/powerpc/sse2-por-1.c: Likewise.
* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
* gcc.target/powerpc/sse2-pslld-1.c: Likewise.
* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psllq-1.c: Likewise.
* gcc.target/powerpc/sse2-psllq-2.c: Likewise.
* gcc.target/powerpc/sse2-psllw-1.c: Likewise.
* gcc.target/powerpc/sse2-psllw-2.c: Likewise.
* gcc.target/powerpc/sse2-psrad-1.c: Likewise.
* gcc.target/powerpc/sse2-psrad-2.c: Likewise.
* gcc.target/powerpc/sse2-psraw-1.c: Likewise.
* gcc.target/powerpc/sse2-psraw-2.c: Likewise.
* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlq-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlq-2.c: Likewise.
* gcc.target/powerpc/sse2-psrlw-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlw-2.c: Likewise.
* gcc.target/powerpc/sse2-psubb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubd-1.c: Likewise.
* gcc.target/powerpc/sse2-psubq-1.c: Likewise.
* gcc.target/powerpc/sse2-psubsb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubsw-1.c: Likewise.
* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubusw-1.c: Likewise.
* gcc.target/powerpc/sse2-psubw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckldq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise.
* gcc.target/powerpc/sse2-pxor-1.c: Likewise.
* gcc.target/powerpc/sse2-shufpd-1.c: Likewise.
* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
* gcc.target/powerpc/sse2-subpd-1.c: Likewise.
* gcc.target/powerpc/sse2-subsd-1.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-1.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-2.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-3.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-4.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-5.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-6.c: Likewise.
* gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise.
* gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise.
* gcc.target/powerpc/sse2-xorpd-1.c: Likewise.
* gcc.target/powerpc/sse3-addsubpd.c: Likewise.
* gcc.target/powerpc/sse3-addsubps.c: Likewise.
* gcc.target/powerpc/sse3-haddpd.c: Likewise.
* gcc.target/powerpc/sse3-haddps.c: Likewise.
* gcc.target/powerpc/sse3-hsubpd.c: Likewise.
* gcc.target/powerpc/sse3-hsubps.c: Likewise.
* gcc.target/powerpc/sse3-lddqu.c: Likewise.
* gcc.target/powerpc/sse3-movddup.c: Likewise.
* gcc.target/powerpc/sse3-movshdup.c: Likewise.
* gcc.target/powerpc/sse3-movsldup.c: Likewise.
* gcc.target/powerpc/sse4_1-blendpd.c: Likewise.
* gcc.target/powerpc/sse4_1-blendps-2.c: Likewise.
* gcc.target/powerpc/sse4_1-blendps.c: Likewise.
* gcc.target/powerpc/sse4_1-blendvpd.c: Likewise.
* gcc.target/powerpc/sse4_1-blendvps.c: Likewise.
* gcc.target/powerpc/sse4_1-ceilpd.c: Likewise.
* gcc.target/powerpc/sse4_1-ceilps.c: Likewise.
* gcc.target/powerpc/sse4_1-ceilsd.c: Likewise.
* gcc.target/powerpc/sse4_1-ceilss.c: Likewise.
* gcc.target/powerpc/sse4_1-floorpd.c: Likewise.
* gcc.target/powerpc/sse4_1-floorps.c: Likewise.
* gcc.target/powerpc/sse4_1-floorsd.c: Likewise.
* gcc.target/powerpc/sse4_1-floorss.c: Likewise.
* gcc.target/powerpc/sse4_1-pblendvb.c: Likewise.
* gcc.target/powerpc/sse4_1-pblendw-2.c: Likewise.
* gcc.target/powerpc/sse4_1-pblendw.c: Likewise.
* gcc.target/powerpc/sse4_1-pcmpeqq.c: Likewise.
* gcc.target/powerpc/sse4_1-pinsrb.c: Likewise.
* gcc.target/powerpc/sse4_1-pinsrd.c: Likewise.
* gcc.target/powerpc/sse4_1-pinsrq.c: Likewise.
* gcc.target/powerpc/sse4_1-pmovsxbq.c: Likewise.
* gcc.target/powerpc/sse4_1-pmovsxdq.c: Likewise.
* gcc.target/powerpc/sse4_1-pmovsxwq.c: Likewise.
* gcc.target/powerpc/sse4_1-pmuldq.c: Likewise.
* gcc.target/powerpc/sse4_1-ptest-1.c: Likewise.
* gcc.target/powerpc/sse4_1-roundpd-2.c: Likewise.
* gcc.target/powerpc/sse4_1-roundpd-3.c: Likewise.
* gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise.
* gcc.target/powerpc/ssse3-pabsb.c: Likewise.
* gcc.target/powerpc/ssse3-pabsd.c: Likewise.
* gcc.target/powerpc/ssse3-pabsw.c: Likewise.
* gcc.target/powerpc/ssse3-palignr.c: Likewise.
* gcc.target/powerpc/ssse3-phaddd.c: Likewise.
* gcc.target/powerpc/ssse3-phaddsw.c: Likewise.
* gcc.target/powerpc/ssse3-phaddw.c: Likewise.
* gcc.target/powerpc/ssse3-phsubd.c: Likewise.
* gcc.target/powerpc/ssse3-phsubsw.c: Likewise.
* gcc.target/powerpc/ssse3-phsubw.c: Likewise.
* gcc.target/powerpc/ssse3-pmaddubsw.c: Likewise.
* gcc.target/powerpc/ssse3-pmulhrsw.c: Likewise.
* gcc.target/powerpc/ssse3-pshufb.c: Likewise.
* gcc.target/powerpc/ssse3-psignb.c: Likewise.
* gcc.target/powerpc/ssse3-psignd.c: Likewise.
* gcc.target/powerpc/ssse3-psignw.c: Likewise.
* gcc.target/powerpc/vec-cmp-sel.c: Likewise.
* gcc.target/powerpc/vec-sld-modulo.c: Likewise.
* gcc.target/powerpc/vec-srad-modulo.c: Likewise.
* gcc.target/powerpc/vec-srd-modulo.c: Likewise.
* gcc.target/powerpc/amo1.c: Replace powerpc_p9vector_ok with
powerpc_vsx_ok, replace -mpower9-vector with -mvsx, and add
dg-additional-options -mdejagnu-cpu=power9 if !has_arch_pwr9.
* gcc.target/powerpc/amo2.c: Likewise.
* gcc.target/powerpc/dform-1.c: Likewise.
* gcc.target/powerpc/dform-2.c: Likewise.
* gcc.target/powerpc/float128-5.c: Likewise.
* gcc.target/powerpc/float128-complex-2.c: Likewise.
* gcc.target/powerpc/float128-fma1.c: Likewise.
* gcc.target/powerpc/float128-hw.c: Likewise.
* gcc.target/powerpc/float128-hw10.c: Likewise.
* gcc.target/powerpc/float128-hw11.c: Likewise.
* gcc.target/powerpc/float128-hw2.c: Likewise.
* gcc.target/powerpc/float128-hw3.c: Likewise.
* gcc.target/powerpc/float128-hw4.c: Likewise.
* gcc.target/powerpc/float128-hw5.c: Likewise.
* gcc.target/powerpc/float128-hw6.c: Likewise.
* gcc.target/powerpc/float128-hw7.c: Likewise.
* gcc.target/powerpc/float128-hw8.c: Likewise.
* gcc.target/powerpc/float128-hw9.c: Likewise.
* gcc.target/powerpc/float128-minmax.c: Likewise.
* gcc.target/powerpc/float128-odd.c: Likewise.
* gcc.target/powerpc/float128-sqrt1.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise.
* gcc.target/powerpc/gnuattr2.c: Likewise.
* gcc.target/powerpc/pr71656-1.c: Likewise.
* gcc.target/powerpc/pr71656-2.c: Likewise.
* gcc.target/powerpc/pr81959.c: Likewise.
* gcc.target/powerpc/pr82748-1.c: Likewise.
* gcc.target/powerpc/pr82748-2.c: Likewise.
* gcc.target/powerpc/pr111449-2.c: Replace powerpc_p8vector_ok
with powerpc_vsx_ok.
* gcc.target/powerpc/pr98914.c: Likewise.
* gcc.target/powerpc/versioned-copy-loop.c: Replace
powerpc_p8vector_ok with powerpc_vsx_ok and append -mvsx to
dg-options.
* gcc.target/powerpc/clone2.c: Replace powerpc_p9vector_ok with
powerpc_vsx_ok.
* gcc.target/powerpc/p9-options-1.c: Replace powerpc_p9vector_ok
with powerpc_vsx_ok, replace -mno-power9-vector with -mno-vsx.
* gcc.target/powerpc/pr84226.c: Replace powerpc_p9vector_ok with
powerpc_vsx_ok and append -mvsx to dg-options.
* g++.dg/pr69667.C: Replace powerpc_p8vector_ok with
powerpc_vsx_ok and append -mvsx to dg-options.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Replace
powerpc_p9vector_ok with powerpc_vsx_ok and replace
-mpower9-vector with -mvsx.
* gcc.dg/vect/pr109011-1.c: Replace powerpc_p8vector_ok with
powerpc_vsx_ok, and replace -mpower8-vector with
-mdejagnu-cpu=power8 -mvsx or -mvsx under different conditions.
* gcc.dg/vect/pr109011-2.c: Replace powerpc_p9vector_ok
with powerpc_vsx_ok, and replace -mpower9-vector with
-mdejagnu-cpu=power9 -mvsx or -mvsx under different conditions.
* gcc.dg/vect/pr109011-4.c: Likewise.
* gcc.dg/vect/pr109011-3.c: Replace powerpc_p8vector_ok with
powerpc_vsx_ok, and replace -mpower8-vector -mno-power9-vector
with -mdejagnu-cpu=power8 -mvsx.
* gcc.dg/vect/pr109011-5.c: Likewise.
* gcc.target/powerpc/altivec-35.c: Remove -mno-power8-vector.
* gcc.target/powerpc/vsx-vector-7.c: Replace -mno-power8-vector
with -mdejagnu-cpu=power7.
* gcc.dg/vect/O3-pr70130.c: Replace -mcpu=power7 with options
-mdejagnu-cpu=power7 -mvsx and remove option -mno-power9-vector
-mno-power8-vector.
* gfortran.dg/vect/pr45714-b.f: Likewise.
* gcc.dg/vect/pr48765.c: Remove dg-skip-if and replace -mcpu=power7
with option -mdejagnu-cpu=power6.
* gcc.target/powerpc/pr78056-2.c: Likewise.
* gcc.target/powerpc/altivec-2-runnable.c: Replace
powerpc_p8vector_ok with powerpc_vsx_ok, remove -mpower8-vector
and add dg-additional-options -mdejagnu-cpu=power8 if !has_arch_pwr8.
* gcc.target/powerpc/altivec-37.c: Likewise.
* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Replace
powerpc_p8vector_ok with powerpc_vsx_ok and replace -mpower8-vector
with -mvsx.
* gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise.
* gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise.
* gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise.
* gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise.
* gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise.
* gcc.target/powerpc/pr104124.c: Likewise.
* gcc.target/powerpc/vec-cmpne-long.c: Likewise.
* gcc.target/powerpc/pr86731-fwrapv-longlong.c: Replace
powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector with
-mvsx and add dg-additional-options -mdejagnu-cpu=power8 if
!has_arch_pwr8.
* gcc.target/powerpc/pr80098-1.c: Replace powerpc_p9vector_ok with
powerpc_vsx_ok and replace -mno-power9-vector with -mno-vsx.
* gcc.target/powerpc/pr80098-2.c: Replace powerpc_p8vector_ok with
powerpc_vsx_ok and replace -mno-power8-vector with -mno-vsx.
* gcc.target/powerpc/pragma_misc9.c: Replace powerpc_p9vector_ok
with powerpc_vsx_ok.
|
|
gcc/ChangeLog:
* doc/invoke.texi (Warning Options): Fix typos.
|
|
The plan to maintain PRU hardware-specific specs in newlib tree has been
abandoned in favour of a new distinct GIT project. Update the
documentation accordingly.
gcc/ChangeLog:
* doc/invoke.texi (-mmcu): Add information about MCU specs.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
|
|
The minimal runtime has been documented from the beginning to break some
standard features in order to reduce code size, while keeping
the features required by typical firmware programs. Document one more
imposed restriction - the main() function must take no arguments.
gcc/ChangeLog:
* doc/invoke.texi (-minrt): Clarify that main
must take no arguments.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
|
|
The AVR built-ins used types like "int" or "char" that don't
have exact signedness or type size which depend on -mint8
and -f[no-][un-]signed-char etc. As the built-ins are modelling
machine instructions of given type sizes and signedness, also
use according types in their prototypes.
gcc/
* config/avr/builtins.def: Use function prototypes of given size
and signedness.
* config/avr/avr.cc (avr_init_builtins): Adjust types required
by builtins.def.
* doc/extend.texi (AVR Built-in Functions): Adjust accordingly.
|
|
gcc/
* doc/extend.texi (AVR Built-in Functions): Use @defbuiltin
instead of @table.
|
|
gcc/
* doc/invoke.texi (AVR Options) <-mmcu>: Remove "Atmel".
Note on complete device support.
|
|
gcc/
* doc/extend.texi (AVR Function Attributes): Fuse description
of "signal" and "interrupt" attribute. Link pseudo instruction.
|
|
There is currently no support for matching at least x lines of assembly
(only scan-assembler-times). This patch would allow setting upper or lower
bounds.
Use case: using different scheduler descriptions and/or cost models will change
assembler output. Testing common functionality across tunes would require a
separate testcase per tune since each assembly output would be different. If we
know a base number of lines should appear across all tunes (i.e. testing return
values: we expect at minimum n stores into register x), we can lower-bound the
test to search for scan-assembler-bound {RE for storing into register x} >= n.
This avoids artificially inflating the scan-assembler-times expected count due
to the assembler choosing to perform extra stores into register x (using it as
a temporary register).
The testcase would be more robust to cpu/tune changes at the cost of not being
as granular towards specific cpu tuning.
gcc/ChangeLog:
* doc/sourcebuild.texi: add scan-assembler-bound
gcc/testsuite/ChangeLog:
* lib/scanasm.exp: add scan-assembler-bound
Signed-off-by: Edwin Lu <ewlu@rivosinc.com>
|
|
gcc.dg/lto/modref-3 etc. FAIL on Solaris with the native linker:
FAIL: gcc-dg-lto-modref-3-01.exe scan-wpa-ipa-dump modref "parm 1 flags: no_direct_clobber no_direct_escape"
FAIL: gcc-dg-lto-modref-4-01.exe scan-wpa-ipa-dump modref "parm 1 flags: no_direct_clobber no_direct_escape"
FAIL: gcc.dg/lto/modref-3 c_lto_modref-3_0.o-c_lto_modref-3_1.o execute -O2 -flto-partition=max -fdump-ipa-modref -fno-ipa-sra -fno-ipa-cp -flto
FAIL: gcc.dg/lto/modref-4 c_lto_modref-4_0.o-c_lto_modref-4_1.o execute -O2 -flto-partition=max -fdump-ipa-modref -fno-ipa-sra -flto
The issue is that the tests require the linker plugin, which isn't
available with Solaris ld. Thus, it also FAILs when gcc is configured
with --disable-lto-plugin.
This patch thus declares the requirement. As it turns out, there's an
undocumented dg-require-linker-plugin already, but I introduce and use
the corresponding effective-target keyword and document both.
Given that the effective-target form is more flexible, I'm tempted to
remove dg-require-* with an empty arg as already mentioned in
sourcebuild.texi. That is not this patch, however.
Tested on i386-pc-solaris2.11 with ld and gld.
2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
PR ipa/98237
* lib/target-supports.exp (is-effective-target): Handle
linker_plugin.
* gcc.dg/lto/modref-3_0.c: Require linker_plugin support.
* gcc.dg/lto/modref-4_0.c: Likewise.
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Other
attribugs): Document linker_plugin.
(Require Support): Document dg-require-linker-plugin.
|
|
The output of -march=help is like below:
```
All available -march extensions for RISC-V:
Name Version
i 2.0, 2.1
e 2.0
m 2.0
a 2.0, 2.1
f 2.0, 2.2
d 2.0, 2.2
...
```
Also support -print-supported-extensions and --print-supported-extensions for
clang compatibility.
gcc/ChangeLog:
PR target/109349
* common/config/riscv/riscv-common.cc (riscv_arch_help): New.
* config/riscv/riscv-protos.h (RISCV_MAJOR_VERSION_BASE): New.
(RISCV_MINOR_VERSION_BASE): Ditto.
(RISCV_REVISION_VERSION_BASE): Ditto.
* config/riscv/riscv-c.cc (riscv_ext_version_value): Use enum
rather than magic number.
* config/riscv/riscv.h (riscv_arch_help): New.
(EXTRA_SPEC_FUNCTIONS): Add riscv_arch_help.
(DRIVER_SELF_SPECS): Handle -march=help, -print-supported-extensions and
--print-supported-extensions.
* config/riscv/riscv.opt (march=help): New.
(print-supported-extensions): New.
(-print-supported-extensions): New.
* doc/invoke.texi (RISC-V Options): Document -march=help.
Reviewed-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
The -mmcu=avrtiny cores have no ADIW and SBIW instructions. This was
implemented by clearing all regs out of regclass ADDW_REGS so that
constraint "w" never matched. This corrupted the subset relations of
the register classes as they appear in enum reg_class.
This patch keeps ADDW_REGS like for all other cores, i.e. it contains
R24...R31. Instead of tests like test_hard_reg_class (ADDW_REGS, *)
the code now uses avr_adiw_reg_p (*). And all insns with constraint "w"
get "isa" insn attribute value of "adiw".
Plus, a new built-in macro __AVR_HAVE_ADIW__ is provided, which is more
specific than __AVR_TINY__.
gcc/
PR target/113927
* config/avr/avr.h (AVR_HAVE_ADIW): New macro.
* config/avr/avr-protos.h (avr_adiw_reg_p): New proto.
* config/avr/avr.cc (avr_adiw_reg_p): New function.
(avr_conditional_register_usage) [AVR_TINY]: Don't clear ADDW_REGS.
Replace test_hard_reg_class (ADDW_REGS, ...) with calls to
* config/avr/avr.md: Same.
(attr "isa") <tiny, no_tiny>: Remove.
<adiw, no_adiw>: Add.
(define_insn, define_insn_and_split): When an alternative has
constraint "w", then set attribute "isa" to "adiw".
* config/avr/avr-c.cc (avr_cpu_cpp_builtins) [AVR_HAVE_ADIW]:
Built-in define __AVR_HAVE_ADIW__.
* doc/invoke.texi (AVR Options): Document it.
|
|
pattern name [PR113508]
In some of the standard pattern names, it is not obvious which mode is being used in the pattern
name. Is it operand 0, 1, or 2? Is it the wider mode or the narrower mode?
This fixes that so there is no confusion by adding a sentence to some of them.
Built the documentation to make sure that it builds.
gcc/ChangeLog:
PR middle-end/113508
* doc/md.texi (sdot_prod@var{m}, udot_prod@var{m},
usdot_prod@var{m}, ssad@var{m}, usad@var{m}, widen_usum@var{m}3,
smulhs@var{m}3, umulhs@var{m}3, smulhrs@var{m}3, umulhrs@var{m}3):
Add sentence about what the mode m is.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
|
|
Currently these use `@var{m3}` but the 3 here is a literal 3
and not part of the mode itself so it should not be inside
the var. Fixed as such.
Built the documentation to make sure it looks correct now.
gcc/ChangeLog:
* doc/md.texi (widen_ssum, widen_usum, smulhs, umulhs,
smulhrs, umulhrs, sdiv_pow2): Move the 3 outside of the
var.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
|
|
gcc:
* doc/install.texi (Prerequisites): Update gettext link.
|
|
Since my r11-532 changes to implement DR2237, for this test:
template<typename T>
struct S {
S<T>();
};
in C++20 we emit the ugly:
q.C:3:8: error: expected unqualified-id before ')' token
3 | S<T>();
which doesn't explain what the problem is. This patch improves that
diagnostic, reduces the error to a pedwarn, and adds a -Wc++20-compat
diagnostic. We now say:
q.C:3:7: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
3 | S<T>();
q.C:3:7: note: remove the '< >'
This patch also fixes
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97202#c8>
where the C++20 diagnostic was missing altogether: The problem was that I checked
for CPP_TEMPLATE_ID too early, at a point at which cp_parser_template_id may not
have been called yet. So let's check for it at the end of the function, after
the tentative parse and rollback.
-Wc++20-compat triggered in libitm/; I sent a patch for that.
DR 2237
PR c++/107126
PR c++/97202
gcc/c-family/ChangeLog:
* c-opts.cc (c_common_post_options): In C++20 or with -Wc++20-compat,
turn on -Wtemplate-id-cdtor.
* c.opt (Wtemplate-id-cdtor): New.
gcc/cp/ChangeLog:
* parser.cc (cp_parser_unqualified_id): Downgrade the DR2237 error to
a pedwarn.
(cp_parser_constructor_declarator_p): Likewise.
gcc/ChangeLog:
* doc/invoke.texi: Document -Wtemplate-id-cdtor.
gcc/testsuite/ChangeLog:
* g++.dg/DRs/dr2237.C: Adjust dg-error.
* g++.dg/parse/constructor2.C: Likewise.
* g++.dg/template/error34.C: Likewise.
* g++.old-deja/g++.pt/ctor2.C: Likewise.
* g++.dg/DRs/dr2237-2.C: New test.
* g++.dg/DRs/dr2237-3.C: New test.
* g++.dg/DRs/dr2237-4.C: New test.
* g++.dg/DRs/dr2237-5.C: New test.
* g++.dg/warn/Wtemplate-id-cdtor-1.C: New test.
* g++.dg/warn/Wtemplate-id-cdtor-2.C: New test.
* g++.dg/warn/Wtemplate-id-cdtor-3.C: New test.
* g++.dg/warn/Wtemplate-id-cdtor-4.C: New test.
|
|
gcc/
PR target/113824
* config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4.
* doc/avr-mmcu.texi: Rebuild.
|
|
gcc/ChangeLog:
* config/riscv/riscv-cores.def: Add sifive-p450, sifive-p670.
* doc/invoke.texi (RISC-V Options): Add sifive-p450,
sifive-p670.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/mcpu-sifive-p450.c: New test.
* gcc.target/riscv/mcpu-sifive-p670.c: New test.
|
|
Add sifive p400 series scheduler module. For more information
see https://www.sifive.com/cores/performance-p450-470.
gcc/ChangeLog:
* config/riscv/riscv.md: Include sifive-p400.md.
* config/riscv/sifive-p400.md: New file.
* config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter.
* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type):
Add sifive_p400.
* config/riscv/riscv.cc (sifive_p400_tune_info): New.
* config/riscv/riscv.h (TARGET_SFB_ALU): Update.
* doc/invoke.texi (RISC-V Options): Add sifive-p400-series
|
|
gcc/ChangeLog:
* doc/extend.texi (Common Type Attributes): Fix typo in
description of hardbool.
|
|
My recent -Wdangling-reference change to not warn on std::span-like classes
unfortunately caused a new warning: extending reference_like_class_p also
opens the door to new warnings since we use reference_like_class_p for
checking the return type of the function: either it must be a reference
or a reference_like_class_p.
We can consider even non-templates as std::span-like to get rid of the
warning here.
gcc/cp/ChangeLog:
* call.cc (reference_like_class_p): Consider even non-templates for
std::span-like classes.
gcc/ChangeLog:
* doc/invoke.texi: Update -Wdangling-reference documentation.
gcc/testsuite/ChangeLog:
* g++.dg/warn/Wdangling-reference21.C: New test.
|
|
Add sifive p600 series scheduler module. For more information
see https://www.sifive.com/cores/performance-p650-670.
Add sifive-p650, sifive-p670 for mcpu option will come in separate patches.
gcc/ChangeLog:
* config/riscv/riscv.md: Add "fcvt_i2f", "fcvt_f2i" type
attribute, and include sifive-p600.md.
* config/riscv/generic-ooo.md: Update type attribute.
* config/riscv/generic.md: Update type attribute.
* config/riscv/sifive-7.md: Update type attribute.
* config/riscv/sifive-p600.md: New file.
* config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter.
* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type):
Add sifive_p600.
* config/riscv/riscv.cc (sifive_p600_tune_info): New.
* config/riscv/riscv.h (TARGET_SFB_ALU): Update.
* doc/invoke.texi (RISC-V Options): Add sifive-p600-series
|
|
The RISC-V Profiles specification here:
https://github.com/riscv/riscv-profiles/blob/main/profiles.adoc#7-new-isa-extensions
These extensions don't add any new features but
describe existing features. So this patch only adds parsing.
Za64rs: Reservation set size of 64 bytes
Za128rs: Reservation set size of 128 bytes
Ziccif: Main memory supports instruction fetch with atomicity requirement
Ziccrse: Main memory supports forward progress on LR/SC sequences
Ziccamoa: Main memory supports all atomics in A
Zicclsm: Main memory supports misaligned loads/stores
Zic64b: Cache block size isf 64 bytes
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: Add Za64rs, Za128rs,
Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b items.
* config/riscv/riscv.opt: New macro for 7 new unprivileged
extensions.
* doc/invoke.texi (RISC-V Options): Add Za64rs, Za128rs,
Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b extensions.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/za-ext.c: New test.
* gcc.target/riscv/zi-ext.c: New test.
|
|
We plan to remove -fconcepts-ts in GCC 15 and thus remove the flag_concepts_ts
code. This note is an admonishing reminder to convert the Concepts TS
code to C++20 Concepts.
gcc/c-family/ChangeLog:
* c-opts.cc (c_common_post_options): Add an inform saying that
-fconcepts-ts is deprecated and will be removed in GCC 15.
gcc/ChangeLog:
* doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14.
|
|
gcc/
* config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787,
ATA5835, ATtiny64AUTO, ATA5700M322.
* doc/avr-mmcu.texi: Rebuild.
|
|
strub: introduce STACK_ADDRESS_OFFSET
Since STACK_POINTER_OFFSET is not necessarily at the boundary between
caller- and callee-owned stack, as desired by
__builtin_stack_address(), and using it as if it were or not causes
problems, introduce a new macro so that ports can define it suitably,
without modifying STACK_POINTER_OFFSET.
for gcc/ChangeLog
PR middle-end/112917
PR middle-end/113100
* builtins.cc (expand_builtin_stack_address): Use
STACK_ADDRESS_OFFSET.
* doc/extend.texi (__builtin_stack_address): Adjust.
* config/sparc/sparc.h (STACK_ADDRESS_OFFSET): Define.
* doc/tm.texi.in (STACK_ADDRESS_OFFSET): Document.
* doc/tm.texi: Rebuilt.
|
|
Printing the raw symbol is useful in inline asm (e.g. in C++ to get the
mangled name). Similar constraints are available in other targets (e.g.
"S" for aarch64/riscv, "Cs" for m68k).
There isn't a good way for x86 yet, e.g. "i" doesn't work for
PIC/-mcmodel=large. This patch adds "Ws". Here are possible use cases:
```
namespace ns { extern int var; }
asm (".pushsection .xxx,\"aw\"; .dc.a %0; .popsection" :: "Ws"(&var));
asm (".reloc ., BFD_RELOC_NONE, %0" :: "Ws"(&var));
```
gcc/ChangeLog:
PR target/105576
* config/i386/constraints.md: Define constraint "Ws".
* doc/md.texi: Document it.
gcc/testsuite/ChangeLog:
PR target/105576
* gcc.target/i386/asm-raw-symbol.c: New testcase.
|
|
Real-world experience shows that -Wdangling-reference triggers for
user-defined std::span-like classes a lot. We can easily avoid that
by considering classes like
template<typename T>
struct Span {
T* data_;
std::size len_;
};
to be std::span-like, and not warning for them. Unlike the previous
patch, this one considers a non-union class template that has a pointer
data member and a trivial destructor as std::span-like.
PR c++/110358
PR c++/109640
gcc/cp/ChangeLog:
* call.cc (reference_like_class_p): Don't warn for std::span-like
classes.
gcc/ChangeLog:
* doc/invoke.texi: Update -Wdangling-reference description.
gcc/testsuite/ChangeLog:
* g++.dg/warn/Wdangling-reference18.C: New test.
* g++.dg/warn/Wdangling-reference19.C: New test.
* g++.dg/warn/Wdangling-reference20.C: New test.
|
|
gcc/ChangeLog:
* doc/install.texi (amdgcn): Recommend LLVM 15+ and newlib 4.4+,
but keep requiring only newlib 4.3+ and, if gfx1100 is disabled,
LLVM 13.0.1+.
Signed-off-by: Tobias Burnus <tburnus@baylibre.com>
|
|
The symbols for the functions supporting heap-based trampolines were
exported at an incorrect symbol version, the following patch fixes that.
As requested in the PR, this also renames __builtin_nested_func_ptr* to
__gcc_nested_func_ptr*. In carrying our the rename, we move the builtins
to use DEF_EXT_LIB_BUILTIN.
PR libgcc/113402
gcc/ChangeLog:
* builtins.cc (expand_builtin): Handle BUILT_IN_GCC_NESTED_PTR_CREATED
and BUILT_IN_GCC_NESTED_PTR_DELETED.
* builtins.def (BUILT_IN_GCC_NESTED_PTR_CREATED,
BUILT_IN_GCC_NESTED_PTR_DELETED): Make these builtins LIB-EXT and
rename the library fallbacks to __gcc_nested_func_ptr_created and
__gcc_nested_func_ptr_deleted.
* doc/invoke.texi: Rename these to __gcc_nested_func_ptr_created
and __gcc_nested_func_ptr_deleted.
* tree-nested.cc (finalize_nesting_tree_1): Use builtin_explicit for
BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED.
* tree.cc (build_common_builtin_nodes): Build the
BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED local
builtins only for non-explicit.
libgcc/ChangeLog:
* config/aarch64/heap-trampoline.c: Rename
__builtin_nested_func_ptr_created to __gcc_nested_func_ptr_created and
__builtin_nested_func_ptr_deleted to __gcc_nested_func_ptr_deleted.
* config/i386/heap-trampoline.c: Likewise.
* libgcc2.h: Likewise.
* libgcc-std.ver.in (GCC_7.0.0): Likewise and then move
__gcc_nested_func_ptr_created and
__gcc_nested_func_ptr_deleted from this symbol version to ...
(GCC_14.0.0): ... this one.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
Co-authored-by: Jakub Jelinek <jakub@redhat.com>
|
|
When add new style -mexplicit-relocs=, the old style was not removed.
gcc
* doc/invoke.texi: Remove duplicate MIPS explicit-relocs option.
|
|
When an interrupt handler is implemented by an assembly stub which does:
1. Save all registers.
2. Call a C function.
3. Restore all registers.
4. Return from interrupt.
it is completely unnecessary to save and restore any registers in the C
function called by the assembly stub, even if they would normally be
callee-saved.
Add no_callee_saved_registers function attribute, which is complementary
to no_caller_saved_registers function attribute, to mark a function which
doesn't have any callee-saved registers. Such a function won't save and
restore any registers. Classify function call-saved register handling
type with:
1. Default call-saved registers.
2. No caller-saved registers with no_caller_saved_registers attribute.
3. No callee-saved registers with no_callee_saved_registers attribute.
Disallow sibcall if callee is a no_callee_saved_registers function
and caller isn't a no_callee_saved_registers function. Otherwise,
callee-saved registers won't be preserved.
After a no_callee_saved_registers function is called, all registers may
be clobbered. If the calling function isn't a no_callee_saved_registers
function, we need to preserve all registers which aren't used by function
calls.
gcc/
PR target/103503
PR target/113312
* config/i386/i386-expand.cc (ix86_expand_call): Replace
no_caller_saved_registers check with call_saved_registers check.
Clobber all registers that are not used by the callee with
no_callee_saved_registers attribute.
* config/i386/i386-options.cc (ix86_set_func_type): Set
call_saved_registers to TYPE_NO_CALLEE_SAVED_REGISTERS for
noreturn function. Disallow no_callee_saved_registers with
interrupt or no_caller_saved_registers attributes together.
(ix86_set_current_function): Replace no_caller_saved_registers
check with call_saved_registers check.
(ix86_handle_no_caller_saved_registers_attribute): Renamed to ...
(ix86_handle_call_saved_registers_attribute): This.
(ix86_gnu_attributes): Add
ix86_handle_call_saved_registers_attribute.
* config/i386/i386.cc (ix86_conditional_register_usage): Replace
no_caller_saved_registers check with call_saved_registers check.
(ix86_function_ok_for_sibcall): Don't allow callee with
no_callee_saved_registers attribute when the calling function
has callee-saved registers.
(ix86_comp_type_attributes): Also check
no_callee_saved_registers.
(ix86_epilogue_uses): Replace no_caller_saved_registers check
with call_saved_registers check.
(ix86_hard_regno_scratch_ok): Likewise.
(ix86_save_reg): Replace no_caller_saved_registers check with
call_saved_registers check. Don't save any registers for
TYPE_NO_CALLEE_SAVED_REGISTERS. Save all registers with
TYPE_DEFAULT_CALL_SAVED_REGISTERS if function with
no_callee_saved_registers attribute is called.
(find_drap_reg): Replace no_caller_saved_registers check with
call_saved_registers check.
* config/i386/i386.h (call_saved_registers_type): New enum.
(machine_function): Replace no_caller_saved_registers with
call_saved_registers.
* doc/extend.texi: Document no_callee_saved_registers attribute.
gcc/testsuite/
PR target/103503
PR target/113312
* gcc.dg/torture/no-callee-saved-run-1a.c: New file.
* gcc.dg/torture/no-callee-saved-run-1b.c: Likewise.
* gcc.target/i386/no-callee-saved-1.c: Likewise.
* gcc.target/i386/no-callee-saved-2.c: Likewise.
* gcc.target/i386/no-callee-saved-3.c: Likewise.
* gcc.target/i386/no-callee-saved-4.c: Likewise.
* gcc.target/i386/no-callee-saved-5.c: Likewise.
* gcc.target/i386/no-callee-saved-6.c: Likewise.
* gcc.target/i386/no-callee-saved-7.c: Likewise.
* gcc.target/i386/no-callee-saved-8.c: Likewise.
* gcc.target/i386/no-callee-saved-9.c: Likewise.
* gcc.target/i386/no-callee-saved-10.c: Likewise.
* gcc.target/i386/no-callee-saved-11.c: Likewise.
* gcc.target/i386/no-callee-saved-12.c: Likewise.
* gcc.target/i386/no-callee-saved-13.c: Likewise.
* gcc.target/i386/no-callee-saved-14.c: Likewise.
* gcc.target/i386/no-callee-saved-15.c: Likewise.
* gcc.target/i386/no-callee-saved-16.c: Likewise.
* gcc.target/i386/no-callee-saved-17.c: Likewise.
* gcc.target/i386/no-callee-saved-18.c: Likewise.
|
|
gcc/ChangeLog:
* config.gcc (amdgcn-*-*): Add gfx1030 and gfx1100 to
TM_MULTILIB_CONFIG.
* doc/install.texi (Configuration amdgcn-*-*): Mention gfx1030/gfx1100.
* doc/invoke.texi (AMD GCN Options): Add gfx1030 and gfx1100 to
-march/-mtune.
libgomp/ChangeLog:
* testsuite/libgomp.c/declare-variant-4.h: Add variant functions
for gfx1030 and gfx1100.
* testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
* testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
Signed-off-by: Tobias Burnus <tburnus@baylibre.com>
|
|
Spec: github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md
Contributors:
Mary Bennett <mary.bennett@embecosm.com>
Nandni Jamnadas <nandni.jamnadas@embecosm.com>
Pietra Ferreira <pietra.ferreira@embecosm.com>
Charlie Keaney
Jessica Mills
Craig Blackmore <craig.blackmore@embecosm.com>
Simon Cook <simon.cook@embecosm.com>
Jeremy Bennett <jeremy.bennett@embecosm.com>
Helene Chelin <helene.chelin@embecosm.com>
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: Add XCVbitmanip.
* config/riscv/constraints.md: Likewise.
* config/riscv/corev.def: Likewise.
* config/riscv/corev.md: Likewise.
* config/riscv/predicates.md: Likewise.
* config/riscv/riscv-builtins.cc (AVAIL): Likewise.
* config/riscv/riscv-ftypes.def: Likewise.
* config/riscv/riscv.opt: Likewise.
* config/riscv/riscv.cc (riscv_print_operand): Add new operand 'Y'.
* doc/extend.texi: Add XCVbitmanip builtin documentation.
* doc/sourcebuild.texi: Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/cv-simd-abs-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-abs-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-div2-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-div4-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-div8-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-and-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-and-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avg-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avg-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avgu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avgu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmple-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmple-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxconj-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: New test.
* gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotup-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotup-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-extract-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-extract-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-extractu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-extractu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-insert-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-insert-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-march-compile-1.c: New test.
* gcc.target/riscv/cv-simd-max-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-max-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-maxu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-maxu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-min-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-min-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-minu-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-minu-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-neg-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-neg-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-or-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-or-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-pack-compile-1.c: New test.
* gcc.target/riscv/cv-simd-pack-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-packhi-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-packlo-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sll-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sll-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sra-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sra-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-srl-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-srl-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-div2-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-div4-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-div8-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-subrotmj-compile-1.c: New test.
* gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: New test.
* gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: New test.
* gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: New test.
* gcc.target/riscv/cv-simd-xor-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-xor-h-compile-1.c: New test.
* gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: New test.
* gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: New test.
* lib/target-supports.exp: Add proc for XCVsimd extension.
|
|
When looking into PR113572, I've noticed a typo in VECTOR_CST documentation
and grep found pasto of it elsewhere.
2024-01-25 Jakub Jelinek <jakub@redhat.com>
* doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns.
* doc/rtl.texi (CONST_VECTOR): Likewise.
|
|
-falign-functions is ignored in cold code, since it is an optimization intended to
improve instruction prefetch. In some case it is necessary to force alignment for
all functions, so this patch adds -fmin-function-alignment for this purpose.
gcc/ChangeLog:
PR middle-end/88345
* common.opt: (flimit-function-alignment): Reorder alphabeticaly
(fmin-function-alignment): New parameter.
* doc/invoke.texi: (-fmin-function-alignment): Document.
(-falign-functions,-falign-loops,-falign-labels): Mention that
aglinments are ignored in cold code.
* varasm.cc (assemble_start_function): Handle min-function-alignment.
|