The BPF backend seems to be adding bitmasks (`&= 255` in this case, for `u8`) after loads, even though we get zero extension for free from loads. See line 9 of the output for 18.1.0 in https://godbolt.org/z/K5M6MhWxs I `git bisect`ed the introduction of the problem to this commit: https://github.com/llvm/llvm-project/commit/651e644595b72c22fd22f51358cf083146790ed4 @eddyz87