From 6da4025b59253312a24eb2650190a4fcd8f2e634 Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Thu, 13 Oct 2022 14:29:08 +0200 Subject: [PATCH] Bug 460356 -- s390: Fix code generation for Iop_Sqrt32Fx4 There is no instruction selector for Iop_Sqrt32Fx4, leading to Valgrind panicking with the message: s390_isel_vec_expr: cannot reduce tree Fix this. --- NEWS | 1 + VEX/priv/host_s390_isel.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/NEWS b/NEWS index fb3b05fa9..041ff5ba6 100644 --- a/NEWS +++ b/NEWS @@ -85,6 +85,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 444488 Use glibc.pthread.stack_cache_size tunable 444568 drd/tests/pth_barrier_thr_cr fails on Fedora 38 459476 vgdb: allow address reuse to avoid "address already in use" errorsuse" errors +460356 s390: Sqrt32Fx4 -- cannot reduce tree 462830 WARNING: unhandled amd64-freebsd syscall: 474 463027 broken check for MPX instruction support in assembler diff --git a/VEX/priv/host_s390_isel.c b/VEX/priv/host_s390_isel.c index f037255cb..32c209edb 100644 --- a/VEX/priv/host_s390_isel.c +++ b/VEX/priv/host_s390_isel.c @@ -4552,6 +4552,10 @@ s390_isel_vec_expr_wrk(ISelEnv *env, IRExpr *expr) goto Iop_VV_wrk; } + case Iop_Sqrt32Fx4: + size = 4; + vec_unop = S390_VEC_FLOAT_SQRT; + goto Iop_irrm_V_wrk; case Iop_Sqrt64Fx2: size = 8; vec_unop = S390_VEC_FLOAT_SQRT;