summaryrefslogtreecommitdiffstats
path: root/linux-headers
diff options
context:
space:
mode:
authorRichard Henderson2013-02-25 20:41:39 +0100
committerAnthony Liguori2013-02-25 21:32:36 +0100
commite77f083292916ba43b940fdacd2fc1001b750d1d (patch)
treeac7fd7f25acb15e0f1d182130d8df59ff417dfd9 /linux-headers
parentarm/translate.c: Fix adc_CC/sbc_CC implementation (diff)
downloadqemu-e77f083292916ba43b940fdacd2fc1001b750d1d.tar.gz
qemu-e77f083292916ba43b940fdacd2fc1001b750d1d.tar.xz
qemu-e77f083292916ba43b940fdacd2fc1001b750d1d.zip
target-arm: Fix sbc_CC carry
While T0+~T1+CF = T0-T1+CF-1 is true for the low 32-bits, it does not produce the correct carry-out to bit 33. Do exactly what the manual says. Using the ~T1 makes the add and subtract code paths nearly identical, so have sbc_CC use adc_CC. Cc: Peter Maydell <peter.maydell@linaro.org> Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'linux-headers')
0 files changed, 0 insertions, 0 deletions