diff options
author | Andrew Stubbs <ams@codesourcery.com> | 2023-11-10 16:07:25 +0000 |
---|---|---|
committer | Andrew Stubbs <ams@codesourcery.com> | 2023-11-27 13:36:09 +0000 |
commit | e7d3414dffc98efc8424818dedac138c99c9ca79 (patch) | |
tree | 177c543bb624325a2fc79afd0552f2c4163997c6 /gcc | |
parent | 965d2327994469659ac477e337f74bf393ee2c69 (diff) | |
download | gcc-e7d3414dffc98efc8424818dedac138c99c9ca79.zip gcc-e7d3414dffc98efc8424818dedac138c99c9ca79.tar.gz gcc-e7d3414dffc98efc8424818dedac138c99c9ca79.tar.bz2 |
amdgcn: Disallow TImode vector permute
We don't support it and it doesn't happen without vector extensions, so
just remove the unhandled case.
Fixes gcc.dg/pr78575.c failure.
gcc/ChangeLog:
* config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Disallow TImode.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/gcn/gcn.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 52c8a0e..22d2b6e 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -5050,7 +5050,9 @@ gcn_vectorize_vec_perm_const (machine_mode vmode, machine_mode op_mode, rtx dst, rtx src0, rtx src1, const vec_perm_indices & sel) { - if (vmode != op_mode) + if (vmode != op_mode + || !VECTOR_MODE_P (vmode) + || GET_MODE_INNER (vmode) == TImode) return false; unsigned int nelt = GET_MODE_NUNITS (vmode); |