petrpavlu / valgrind-riscv64

Valgrind with support for the RISCV64/Linux platform.
GNU General Public License v2.0
56 stars 16 forks source link

Add missing floating-point ITE/CSEL support in VEX backend #16

Closed JackGittes closed 4 months ago

JackGittes commented 1 year ago

Hi, Petr! This patch adds missing floating-point ITE/CSEL support in VEX backend. During running a floating-point application, we found that the valgrind-riscv64 crashed in VEX backend iselFltExpr. By tracing the error back, we are sure that it is caused by a missing implementation of floating-point ITE expr. This patch adds the ITE and CSEL for Fp32/Fp64 which is similar to ARM64 VFCSel, except that we use IRType instead of isD flag to distinguish different ITE types for easily extending it to support Fp16 in the future. Please help review this patch, THX.

rjiejie commented 1 year ago

LGTM, thanks. @petrpavlu double check please.

petrpavlu commented 4 months ago

Merged in c1cc1756c196ed78582924fd8635d3681b7b407c, with the review comments addressed in the follow-up commit d087725c0d68908bdebe57c528ac86d3dc11418b. Thanks.