Because Mesa is an OpenGL system, and as such, doesn't support some of the instructions that are available for the card. Also, the Mesa GCN code didn't support GCN 1.2 until a couple months ago, while the first GCN 1.2 cards were released last year. Finally, as far as I can tell, Mesa doesn't expose an assembler and linker for shader programs, so he'd probably spend more time chopping Mesa up to get what he wanted.
There is an assembler for GCN in the AMDGPU backend of LLVM, which is what Mesa uses to compile shaders. I haven't actually tried to use the assembler stand-alone, but for any serious work in that direction, it makes sense to use that.
It will definitely be useful for something more advanced, thanks! One feature I did not want was register allocation, as I needed full control over it. I figured it would be quicker to roll something custom than wrangle a complex piece of software to my needs.