diff options
| author | Richard Henderson | 2013-02-25 20:41:39 +0100 |
|---|---|---|
| committer | Anthony Liguori | 2013-02-25 21:32:36 +0100 |
| commit | e77f083292916ba43b940fdacd2fc1001b750d1d (patch) | |
| tree | ac7fd7f25acb15e0f1d182130d8df59ff417dfd9 /linux-headers | |
| parent | arm/translate.c: Fix adc_CC/sbc_CC implementation (diff) | |
| download | qemu-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
