Source

Branch

1/ @axelgneiting

@NOTimothyLottes

I will never ever understand how a company literally spends hundreds of millions on hardware R&D and tapeouts and then squanders half the performance with its absymal compiler. This has been going on for at least a decade.

2/ @DaveAirlie

@axelgneiting @NOTimothyLottes

Even worse when another company writes a replacement compiler and they don’t adopt it :-)

3/ @b_nieuwen

@DaveAirlie @axelgneiting @NOTimothyLottes

tbh this problem is also kinda messy. Like as a compiler introducing the subgroupElect on uniform addresses makes sense in general. Detecting all the myriad ways in which the app could be doing the same already is the hard part. I’m pretty sure we’d be missing some in ACO.

4/ @NOTimothyLottes

@b_nieuwen @DaveAirlie @axelgneiting

Having a “[preoptimized]” that one places in the source to disable these compiler workarounds for bad programmer behavior, that would be a good start.

5/ @olson_dan

@axelgneiting @NOTimothyLottes

I don’t think this is the only case, either.

6/ @NOTimothyLottes

@olson_dan @axelgneiting

It isn’t the worst compiler. They are just brave enough to have a public {disassembly extension and compiler+disassembly analysis tool}, paired with an audience who actually uses it.