]> sourceware.org Git - valgrind.git/commit
s390x: Fix/optimize Iop_64HLtoV128
authorAndreas Arnez <arnez@linux.ibm.com>
Tue, 30 Mar 2021 15:45:20 +0000 (17:45 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Fri, 7 May 2021 15:17:09 +0000 (17:17 +0200)
commit0bd4263326b2d48f782339a9bbe1a069c7de45c7
treecbec6f4de374a99facea819a1b274ec37598276b
parent6c1cb1a0128b00858b973ef9344e12d6ddbaaf57
s390x: Fix/optimize Iop_64HLtoV128

In s390_vr_fill() in guest_s390_toIR.c, filling a vector with two copies
of a 64-bit value is realized with Iop_64HLtoV128, since there is no such
operator as Iop_Dup64x2.  But the two args to Iop_64HLtoV128 use the same
expression, referenced twice.  Although this hasn't been seen to cause
real trouble yet, it's problematic and potentially inefficient, so change
it: Assign to a temp and pass that twice instead.

In the instruction selector, if Iop_64HLtoV128 is found to be used for a
duplication as above, select "v-vdup" instead of "v-vinitfromgprs".  This
mimicks the behavior we'd get if there actually was an operator
Iop_Dup64x2.
VEX/priv/guest_s390_toIR.c
VEX/priv/host_s390_isel.c
This page took 0.031224 seconds and 5 git commands to generate.