• Aurelien Jarno's avatar
    target/s390x: fix COMPARE LOGICAL LONG EXTENDED · 84aa07f1
    Aurelien Jarno authored
    There are multiple issues with the COMPARE LOGICAL LONG EXTENDED
    instruction:
    - The test between the two operands is inverted, leading to an inversion
      of the cc values 1 and 2.
    - The address and length of an operand continue to be decreased after
      reaching the end of this operand. These values are then wrong write
      back to the registers.
    - We should limit the amount of bytes to process, so that interrupts can
      be served correctly.
    
    At the same time rename dest into src1 and src into src3 to match the
    operand names and make the code less confusing.
    Reviewed-by: 's avatarRichard Henderson <rth@twiddle.net>
    Signed-off-by: 's avatarAurelien Jarno <aurelien@aurel32.net>
    Message-Id: <20170531220129.27724-18-aurelien@aurel32.net>
    Signed-off-by: 's avatarRichard Henderson <rth@twiddle.net>
    84aa07f1
Name
Last commit
Last update
..
alpha Loading commit data...
arm Loading commit data...
cris Loading commit data...
hppa Loading commit data...
i386 Loading commit data...
lm32 Loading commit data...
m68k Loading commit data...
microblaze Loading commit data...
mips Loading commit data...
moxie Loading commit data...
nios2 Loading commit data...
openrisc Loading commit data...
ppc Loading commit data...
s390x Loading commit data...
sh4 Loading commit data...
sparc Loading commit data...
tilegx Loading commit data...
tricore Loading commit data...
unicore32 Loading commit data...
xtensa Loading commit data...