diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2024-12-20 20:31:29 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2025-01-09 14:51:46 +0000 |
commit | 823101941530d1aa0837f4e74436ea3e027c9241 (patch) | |
tree | 31adbe0f59bad1940e222832008bc081bbe039a0 /gcc/config/arm | |
parent | 310c8a6728cab1aa1c6816b5469ae4d603e2dfdd (diff) | |
download | gcc-823101941530d1aa0837f4e74436ea3e027c9241.zip gcc-823101941530d1aa0837f4e74436ea3e027c9241.tar.gz gcc-823101941530d1aa0837f4e74436ea3e027c9241.tar.bz2 |
arm: [MVE intrinsics] Another fix for moves of tuples (PR target/118131)
Commit r15-6389-g670df03e5294a3 only partially fixed support for moves
of large modes: despite the introduction of V2x* and V4x* modes in
r15-6245-g4f4e13dd235b to support MVE tuples, we still need to support
TI, OI and XI modes, which appear for instance in gcc.dg/pr100887.c.
The problem was noticed when running the testsuite with
-mthumb/-march=armv8.1-m.main+mve.fp+fp.dp/-mtune=cortex-m55/-mfloat-abi=hard/-mfpu=auto
where several tests would ICE in output_move_neon.
gcc/ChangeLog:
PR target/118131
* config/arm/arm.h (VALID_MVE_STRUCT_MODE): Accept TI, OI and XI
modes again.
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/arm.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index a06ac6f..73ca00a 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1128,7 +1128,10 @@ extern const int arm_arch_cde_coproc_bits[]; || (MODE) == CImode || (MODE) == XImode) #define VALID_MVE_STRUCT_MODE(MODE) \ - ((MODE) == V2x16QImode \ + ((MODE) == TImode \ + || (MODE) == OImode \ + || (MODE) == XImode \ + || (MODE) == V2x16QImode \ || (MODE) == V2x8HImode \ || (MODE) == V2x4SImode \ || (MODE) == V2x8HFmode \ |