[dynarmic] remove bloated LUT usage that makes giant functions for no good reason #2801
			No reviewers
			
		
		
		
	
	
	
		Labels
		
	
	
	
	No labels
	
		
			
	
	android
		
			audio
		
			bug
		
			ci
		
			cmake
		
			confirmed
		
			core
		
			desktop
		
			duplicate
		
			enhancement
		
			frontend
		
			fw
		
			git
		
			graphics
		
			loader
		
			nv gpu
		
			ui
		
			vulkan
		
		
	
		No milestone
		
			
		
	No project
	
		
	
	
	
	
		No assignees
		
	
	
		
			
		
	
	
	
		3 participants
	
	
		
		
	Notifications
	
		
	
	
	
		
	
	
	Due date
No due date set.
	
		Dependencies
		
		
	
	
	No dependencies set.
	
	
		
	
	
		
			Reference
		
	
	
		
	
	
			eden-emu/eden!2801
			
		
	
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	
	No description provided.
		
		Delete branch "dynarmic-lut-obliterate"
	
	Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Long story short, each of these LUT generates a function that is only ran once, spam the entire code with bunch of little "specialized templates" (remember, N * M * L) and basically bloat codesize for no good reason
Additionally it tries to outsmart the compiler which it's not always a good idea - herein I replace most (except 1) of those "helper" LUTs with something the compiler can actually work satisfiably
Happy reminder of the sheer amount of functions spammed:
mcl::list thing generates a number from 0 to 63 for (fsize 64), add the 0-31 for fsize 32, 0-15 for fsize 16 and you got around... 64+32+16 = 112 functions for a single parameter
Now include in the equation rounding_mode, which is about, what, 6? so 112*6 = 672
Yeah
Signed-off-by: lizzie lizzie@eden-emu.dev
d5dc2da3218ce5e6213a