mirror of
				https://github.com/hedge-dev/XenonRecomp.git
				synced 2025-10-30 07:11:38 +00:00 
			
		
		
		
	fix vaddsws implementation
This commit is contained in:
		
							parent
							
								
									a5d6382975
								
							
						
					
					
						commit
						830be1f69a
					
				
					 1 changed files with 6 additions and 1 deletions
				
			
		|  | @ -1928,7 +1928,12 @@ bool Recompiler::Recompile( | ||||||
|         break; |         break; | ||||||
| 
 | 
 | ||||||
|     case PPC_INST_VADDSWS: |     case PPC_INST_VADDSWS: | ||||||
|         println("\t_mm_store_si128((__m128i*){}.s32, _mm_adds_epi32(_mm_load_si128((__m128i*){}.s32), _mm_load_si128((__m128i*){}.s32)));", v(insn.operands[0]), v(insn.operands[1]), v(insn.operands[2])); |         // TODO: vectorize
 | ||||||
|  |         for (size_t i = 0; i < 4; i++) | ||||||
|  |         { | ||||||
|  |             println("\t{}.s64 = int64_t({}.s32[{}]) + int64_t({}.s32[{}]);", temp(), v(insn.operands[1]), i, v(insn.operands[2]), i); | ||||||
|  |             println("\t{}.s32[{}] = {}.s64 > INT_MAX ? INT_MAX : {}.s64 < INT_MIN ? INT_MIN : {}.s64;", v(insn.operands[0]), i, temp(), temp(), temp()); | ||||||
|  |         } | ||||||
|         break; |         break; | ||||||
| 
 | 
 | ||||||
|     case PPC_INST_VADDUBM: |     case PPC_INST_VADDUBM: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 DeaTh-G
						DeaTh-G