diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2024-04-04 20:53:50 +0000 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2024-04-10 18:52:48 +0300 |
commit | b198998b7fcea19643d6aa42cdc3daef913ee8c3 (patch) | |
tree | 1dfcbd604309b717c66b41ac37da5a69059ee8a1 /tests | |
parent | fd01f5a847b4ffbe1b606f7efe0137b25c106a23 (diff) |
tcg/optimize: Do not attempt to constant fold neg_vec
Split out the tail of fold_neg to fold_neg_no_const so that we
can avoid attempting to constant fold vector negate.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2150
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit e25fe886b89a396bae5847520b70c148587d490a)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: context fixup in tests/tcg/aarch64/Makefile.target)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/tcg/aarch64/Makefile.target | 2 | ||||
-rw-r--r-- | tests/tcg/aarch64/test-2150.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target index 474f61bc30..bd29446835 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -10,7 +10,7 @@ VPATH += $(AARCH64_SRC) # Base architecture tests AARCH64_TESTS=fcvt pcalign-a64 -AARCH64_TESTS += test-2248 +AARCH64_TESTS += test-2248 test-2150 fcvt: LDFLAGS+=-lm diff --git a/tests/tcg/aarch64/test-2150.c b/tests/tcg/aarch64/test-2150.c new file mode 100644 index 0000000000..fb86c11958 --- /dev/null +++ b/tests/tcg/aarch64/test-2150.c @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* See https://gitlab.com/qemu-project/qemu/-/issues/2150 */ + +int main() +{ + asm volatile( + "movi v6.4s, #1\n" + "movi v7.4s, #0\n" + "sub v6.2d, v7.2d, v6.2d\n" + : : : "v6", "v7"); + return 0; +} |