By: Freddie (freddie.delete@this.witherden.org), August 13, 2022 11:48 am
Room: Moderated Discussions
Wilco (wilco.dijkstra.delete@this.ntlworld.com) on August 13, 2022 11:12 am wrote:
> Floating point code is typically very data heavy but every ISA still uses immediate
> loads for floating point constants. Are all ISA designers stupid, or are misses
> from immediate loads not as crippling for performance as claimed?
Many AMD GCN instructions support 32-bit literal constants (although this sometimes has the cost of increasing the size from 4-bytes to 8-bytes). NVIDIA since Volta also has support for 32-bit literal constants in some instructions (perks of a 16-byte instruction). They do this despite having an L1 and L1.5 constant cache (which some instructions such as DFMA can reference directly without the need for an explicit load op).
> Floating point code is typically very data heavy but every ISA still uses immediate
> loads for floating point constants. Are all ISA designers stupid, or are misses
> from immediate loads not as crippling for performance as claimed?
Many AMD GCN instructions support 32-bit literal constants (although this sometimes has the cost of increasing the size from 4-bytes to 8-bytes). NVIDIA since Volta also has support for 32-bit literal constants in some instructions (perks of a 16-byte instruction). They do this despite having an L1 and L1.5 constant cache (which some instructions such as DFMA can reference directly without the need for an explicit load op).