valgrind/0001-Bug-399444-s390x-Drop-unnecessary-check-in-s390_irge.patch
Dirk Mueller 4168e84d97 - add 0001-Bug-385411-s390x-Add-z13-vector-floating-point-suppo.patch
0001-Bug-385411-s390x-Tests-and-internals-for-z13-vector-.patch
  0001-Bug-399444-s390x-Drop-unnecessary-check-in-s390_irge.patch
  0001-Bug-403552-s390x-Fix-vector-facility-bit-number.patch (bsc#1124111)

OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=194
2019-02-19 22:02:58 +00:00

43 lines
1.3 KiB
Diff

From ca2f73592e8e74a5328df0a65e0831bc1fc6dd28 Mon Sep 17 00:00:00 2001
From: Andreas Arnez <arnez@linux.ibm.com>
Date: Tue, 9 Oct 2018 11:22:27 +0200
Subject: [PATCH] Bug 399444 s390x: Drop unnecessary check in s390_irgen_VSLDB
In s390_irgen_VSLDB there was special handling for the case that the
immediate operand i4 has the value 16, which would mean that the result v1
were a full copy of the third operand v3. However, this is impossible
because i4 can only assume values from 0 to 15; thus the special handling
can be removed.
---
VEX/priv/guest_s390_toIR.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c
index c594ad51b..60b608138 100644
--- a/VEX/priv/guest_s390_toIR.c
+++ b/VEX/priv/guest_s390_toIR.c
@@ -17400,16 +17400,11 @@ s390_irgen_VSLDB(UChar v1, UChar v2, UChar v3, UChar i4)
{
UChar imm = i4 & 0b00001111;
- if (imm == 0)
- {
+ if (imm == 0) {
+ /* Just copy v2. */
put_vr_qw(v1, get_vr_qw(v2));
- }
- else if (imm == 16)
- {
- put_vr_qw(v1, get_vr_qw(v3));
- }
- else
- {
+ } else {
+ /* Concatenate v2's tail with v3's head. */
put_vr_qw(v1,
binop(Iop_OrV128,
binop(Iop_ShlV128, get_vr_qw(v2), mkU8(imm * 8)),
--
2.20.1