diff options
| author | Jack Palevich <jackpal@google.com> | 2009-07-23 11:45:15 -0700 |
|---|---|---|
| committer | Jack Palevich <jackpal@google.com> | 2009-07-23 11:45:15 -0700 |
| commit | 89baa2083fbc71d3a9fb50ddd59c1b58347bf2f3 (patch) | |
| tree | d8b78acf6178b315f37ea4264927925f8d134351 /libacc/acc.cpp | |
| parent | c1e49f96f97c9f19f9a87ea93336919fb1a04f26 (diff) | |
| download | system_core-89baa2083fbc71d3a9fb50ddd59c1b58347bf2f3.tar.gz system_core-89baa2083fbc71d3a9fb50ddd59c1b58347bf2f3.tar.bz2 system_core-89baa2083fbc71d3a9fb50ddd59c1b58347bf2f3.zip | |
Fix the ARM postdecrement operator.
Add a test for ++ and -- so this bug won't happen again.
Diffstat (limited to 'libacc/acc.cpp')
| -rw-r--r-- | libacc/acc.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libacc/acc.cpp b/libacc/acc.cpp index bf484901..2b0964d3 100644 --- a/libacc/acc.cpp +++ b/libacc/acc.cpp @@ -1628,7 +1628,7 @@ class Compiler : public ErrorSink { o4((0xE3A00000 + t) | rN); // mov rN, #0 } else if (t >= -256 && t < 0) { // mvn means move constant ^ ~0 - o4((0xE3E00001 - t) | rN); // mvn rN, #0 + o4((0xE3E00000 - (t+1)) | rN); // mvn rN, #0 } else { o4(0xE51F0000 | rN); // ldr rN, .L3 o4(0xEA000000); // b .L99 |
