[raspi-internals] adc/sdc

  • From: David Given <dg@xxxxxxxxxxx>
  • To: "raspi-internals@xxxxxxxxxxxxx" <raspi-internals@xxxxxxxxxxxxx>
  • Date: Sun, 30 Mar 2014 16:01:59 +0100

...so apparently the VC4 doesn't have ADC or SBC instructions (add and
subtract with carry).

I can probably the input part of ADC with:

    addcs r0, #1 ; adds on incoming C
    add r0, r1 ; does the rest of the add

And I can probably fake the output part of ADC with:

    cmn r0, r1 ; sets C
    add r0, r1 ; actually does the add

But (a) this is horrible, and (b) combining the two such that I honour
incoming carry *and* correctly set outgoing carry is rather nontrivial.

Has anyone seen any examples of 64-bit arithmetic in compiled code?

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│ "There does not now, nor will there ever, exist a programming
│ language in which it is the least bit hard to write bad programs." ---
│ Flon's Axiom

Attachment: signature.asc
Description: OpenPGP digital signature

Other related posts:

  • » [raspi-internals] adc/sdc - David Given