An assembly language programmer has identified what appears to be a bug in AMD’s hardware random number generators (RDRAND and RDSEED instructions) on Zen 2 processors: the generators reportedly cannot output the value zero.

According to a post on the flat assembler forum, the developer discovered the issue while writing assembly code to render data into charts. When testing the same programs on both AMD and Intel processors, zeros appeared consistently on Intel systems but never on AMD systems. The developer created a test application that visualizes the frequency distribution of randomly generated 16-bit numbers across the full range from 0 to 65,535.
The test application displays results through color-coded bars, with the first bar tracking how many zeros are generated by RDRAND (red), RDSEED (blue), and a custom TSC-based random number generation technique (green). According to the developer’s report, on AMD processors the first bar never changed color from green, suggesting zero values are not being produced. On Intel processors, the bar changes color and the chart base scales beyond zero, indicating normal zero generation.
The developer reports that after nine days of testing across two AMD systems, not a single zero was produced from either RDRAND or RDSEED. The developer contacted AMD regarding the issue and received an initial response, though the developer suggested the reply may have been inadequate or AI-generated, prompting a follow-up submission with more detailed technical information and code snippets.
According to the developer’s most recent update, AMD has escalated the case internally, though no further technical feedback has been provided. The developer has also updated the test application to support processors without RDSEED and to include benchmarking functionality, which revealed varying performance across different processor generations from both manufacturers.
The potential issue raises questions about the quality and completeness of hardware random number generation on affected AMD processors, particularly for applications requiring cryptographic or statistical randomness.
Key facts
- AMD’s RDRAND and RDSEED instructions appear unable to generate zero values, unlike Intel’s implementation
- The issue was identified on AMD Zen 2 processors through a test application that visualizes random number distribution
- Intel processors tested showed normal zero generation across 16-bit output range
- AMD acknowledged the report and escalated it internally, but has not provided detailed technical feedback
- The developer tested multiple AMD systems over nine days without observing a single zero value from either instruction
