HN Hall of Fame Weekly email

The surprising subtleties of zeroing a register (2012)

randomascii.wordpress.com Essays & writing Essays & articles Hardware & electronics Candidate
Screenshot of randomascii.wordpress.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 5 calendar years, with breakout response in 2 of them.

submissions
6
submitters
6
observed span
2012–2021
peak thread · 59 comments
112 pts
latest 20+ return · 2021-11-04
112 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

Author in the old thread (https://news.ycombinator.com/item?id=19262249) says > An x86-64 CPU has sixteen integer registers, but 100-200 physical integer registers. Every time an instruction writes to, say, RAX the renamer chooses an available physical register and does the write to it, recording the fact that RAX is now physical-register #137. This allows the breaking of dependency chains, thus allowing execution parallelism. I'm curious why they have so many more physical registers than... logical? registers. I…

philh·112-point thread·

Author here - I just want to drop in to reiterate how awesome register renaming is. It's a bit weird to try and understand, but it is crucial to how these out-of-order processors run, and it is the trick which lets the register zeroing run so efficiently. An x86-64 CPU has sixteen integer registers, but 100-200 physical integer registers. Every time an instruction writes to, say, RAX the renamer chooses an available physical register and does the write to it…

Hey! A word for my friends who are interested in machine architecture, but like me, aren't already experts in the topic. I'd command-clicked this article to read it later, got busy with other stuff, then ran across the tab again. Found it so compelling that I wrote dang - well past midnight! - to see if it could get boosted back to the home page. Turns out this had been done once already, but he gave it another shot thanks…

"You can’t make an xor instruction take, say, 0.6 cycles. But feel free to try." 'Easy': clockless CPUs (http://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchrono...)

Someone·2-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
293

reference only — not used in Hall rules or ranking

Total comments
85

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2012-12-29The Surprising Subtleties of Zeroing a Registerjackhammer2022130
2013-07-23The Surprising Subtleties of Zeroing a Registerkenferry20
2013-09-01The Surprising Subtleties of Zeroing a Registerluu21
2016-02-08The Surprising Subtleties of Zeroing a Register (2012)qznc623
2019-02-27The Surprising Subtleties of Zeroing a Register (2013)First breakoutingve10222
2021-11-04The surprising subtleties of zeroing a register (2012)Best thread · Latest 20+ point returngtirloni11259