mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	shader: Avoid CPU side undefined behavior on I2F
This commit is contained in:
		@@ -114,6 +114,8 @@ void I2F(TranslatorVisitor& v, u64 insn, IR::U32U64 src) {
 | 
			
		||||
            IR::U1 is_least;
 | 
			
		||||
            if (src_bitsize == 64) {
 | 
			
		||||
                is_least = v.ir.IEqual(src, v.ir.Imm64(std::numeric_limits<s64>::min()));
 | 
			
		||||
            } else if (src_bitsize == 32) {
 | 
			
		||||
                is_least = v.ir.IEqual(src, v.ir.Imm32(std::numeric_limits<s32>::min()));
 | 
			
		||||
            } else {
 | 
			
		||||
                const IR::U32 least_value{v.ir.Imm32(-(1 << (src_bitsize - 1)))};
 | 
			
		||||
                is_least = v.ir.IEqual(src, least_value);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user