Fix casting from the same size of integer
This commit is contained in:
		
							parent
							
								
									e5f6b37210
								
							
						
					
					
						commit
						682295b04a
					
				| @ -629,14 +629,17 @@ impl Type { | ||||
|             } | ||||
|             (I32 | U32, I16 | U16 | I8 | U8) => Some(Instr::Trunc(value, other.clone())), | ||||
|             (I16 | U16, I8 | U8) => Some(Instr::Trunc(value, other.clone())), | ||||
|             (U8 | I8, U16 | I16 | U32 | I32 | U64 | I64 | U128 | I128) => { | ||||
|             (U8 | I8, U8 | I8 | U16 | I16 | U32 | I32 | U64 | I64 | U128 | I128) => { | ||||
|                 Some(Instr::ZExt(value, other.clone())) | ||||
|             } | ||||
|             (U16 | I16, U32 | I32 | U64 | I64 | U128 | I128) => { | ||||
|             (U16 | I16, U16 | I16 | U32 | I32 | U64 | I64 | U128 | I128) => { | ||||
|                 Some(Instr::ZExt(value, other.clone())) | ||||
|             } | ||||
|             (U32 | I32, U64 | I64 | U128 | I128) => Some(Instr::ZExt(value, other.clone())), | ||||
|             (U64 | I64, U128 | I128) => Some(Instr::ZExt(value, other.clone())), | ||||
|             (U32 | I32, U32 | I32 | U64 | I64 | U128 | I128) => { | ||||
|                 Some(Instr::ZExt(value, other.clone())) | ||||
|             } | ||||
|             (U64 | I64, U64 | I64 | U128 | I128) => Some(Instr::ZExt(value, other.clone())), | ||||
|             (U128 | I128, U128 | I128) => Some(Instr::ZExt(value, other.clone())), | ||||
|             (U8 | U16 | U32 | U64 | U128, F16 | F32 | F32B | F64 | F80 | F128 | F128PPC) => { | ||||
|                 Some(Instr::UIToFP(value, other.clone())) | ||||
|             } | ||||
|  | ||||
| @ -1085,7 +1085,8 @@ impl mir::Expression { | ||||
|                         }, | ||||
|                         (TypeKind::UserPtr(_), TypeKind::UserPtr(_)) | ||||
|                         | (TypeKind::Char, TypeKind::U8) | ||||
|                         | (TypeKind::U8, TypeKind::Char) => Some(StackValue( | ||||
|                         | (TypeKind::U8, TypeKind::Char) | ||||
|                         | (TypeKind::U8, TypeKind::I8) => Some(StackValue( | ||||
|                             val.0.derive( | ||||
|                                 scope | ||||
|                                     .block | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user