• @Malfeasant@lemm.ee
    link
    fedilink
    English
    4
    edit-2
    3 months ago

    an x86 assembly programmer

    Ftfy. not all CPUs have an xor register with itself instruction.

    • Q*Bert Reynolds
      cake
      link
      fedilink
      English
      43 months ago

      There are a lot more architectures than just x86 that are capable of XORing a register with itself (ie. ARM and RISC-V), and if you took OP to mean the accumulation register specifically, pretty much all CPUs going back as far as I can think have had that functionality.

      • @Malfeasant@lemm.ee
        link
        fedilink
        English
        03 months ago

        Yes, but it’s not universal that xoring a register with itself is more performant than simply loading it with 0.

            • Q*Bert Reynolds
              cake
              link
              fedilink
              English
              13 months ago

              No argument there. It’s also why it’s done in ARM, 8080, SM83, z80, 6502, and basically every other assembly language. It’s only not done in RISC-V because you can fold 0 into any instruction as an operand, therefore eliminating the need to clear a register before an instruction.

              So why correct the person with a more narrow claim that makes it seem like xor being faster than loading zero is a rarity in CPU architectures? If I said “birds can fly”, and your response was “eagles can fly. Ftfy. Not all birds can fly”, it would be both true and utterly unhelpful.