x86 prefixes and escape opcodes flowchart

(soc.me)

47 points | by gaul 5 hours ago

5 comments

  • st_goliath 23 minutes ago
    Fun little tidbit: The 0x40-0x4f range used for the REX prefix actually clashes with the single-byte encodings for increment/decrement.

    When AMD designed the 64 bit extension, they had run out of available single-byte opcodes to use as a prefix and decided to re-use those. The INC/DEC instructions are still available in 64 bit mode, but not in their single-byte encodings.

  • debugnik 3 hours ago
    This site redirects to HN when it notices HN in the referrer.
    • st_goliath 1 hour ago
      If you have JavaScript enabled, that is. JWZ at least does the redirect on the server side.

      The following is pulled in from `https://soc.me/assets/js/turnBack.js`:

          const undesirables = [
            "news.ycombinator.com/",
            // "reddit.com/", // disable temporaily
            "lobste.rs/"
          ] ;
      
          if (undesirables.find(site => document.referrer.includes(site))) {
            window.location.replace(document.referrer);
          }
      
      I wonder why Reddit is "temporarily not undesirable".
    • therein 1 hour ago
      Wow, I didn't even notice because I have extensions that strip the referrer header. Excellent.
    • chimpontherun 2 hours ago
      open in new tab
  • dagenix 3 hours ago
  • snvzz 1 hour ago
    This is in no small part why x86 code density is awful despite variable size encoding.
    • themafia 1 hour ago
      Awful compared to what?

      I've seen benchmarks that go both ways in terms of a "winner" but in terms of overall variance there seems to be very little. There are some cases where ARM64 or RISCV do better and there are some cases where x86_64 does better. I can't see code density being a relevant factor when picking one ISA over another.

      We've got good compilers now anyways.. outside of power consumption.. the ISA wars are dead.

  • tucnak 1 hour ago
    I respect the disobedience.