cranelift: Implement {u,s}extend.i128 in interpreter (#4505)
This commit is contained in:
@@ -343,15 +343,22 @@ impl Value for DataValue {
|
||||
(DataValue::U8(n), types::I16) => DataValue::U16(n as u16),
|
||||
(DataValue::U8(n), types::I32) => DataValue::U32(n as u32),
|
||||
(DataValue::U8(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U8(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I8(n), types::I16) => DataValue::I16(n as i16),
|
||||
(DataValue::I8(n), types::I32) => DataValue::I32(n as i32),
|
||||
(DataValue::I8(n), types::I64) => DataValue::I64(n as i64),
|
||||
(DataValue::I8(n), types::I128) => DataValue::I128(n as i128),
|
||||
(DataValue::U16(n), types::I32) => DataValue::U32(n as u32),
|
||||
(DataValue::U16(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U16(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I16(n), types::I32) => DataValue::I32(n as i32),
|
||||
(DataValue::I16(n), types::I64) => DataValue::I64(n as i64),
|
||||
(DataValue::I16(n), types::I128) => DataValue::I128(n as i128),
|
||||
(DataValue::U32(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U32(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I32(n), types::I64) => DataValue::I64(n as i64),
|
||||
(DataValue::I32(n), types::I128) => DataValue::I128(n as i128),
|
||||
(DataValue::U64(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I64(n), types::I128) => DataValue::I128(n as i128),
|
||||
(dv, _) => unimplemented!("conversion: {} -> {:?}", dv.ty(), kind),
|
||||
},
|
||||
@@ -359,15 +366,22 @@ impl Value for DataValue {
|
||||
(DataValue::U8(n), types::I16) => DataValue::U16(n as u16),
|
||||
(DataValue::U8(n), types::I32) => DataValue::U32(n as u32),
|
||||
(DataValue::U8(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U8(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I8(n), types::I16) => DataValue::I16(n as u8 as i16),
|
||||
(DataValue::I8(n), types::I32) => DataValue::I32(n as u8 as i32),
|
||||
(DataValue::I8(n), types::I64) => DataValue::I64(n as u8 as i64),
|
||||
(DataValue::I8(n), types::I128) => DataValue::I128(n as u8 as i128),
|
||||
(DataValue::U16(n), types::I32) => DataValue::U32(n as u32),
|
||||
(DataValue::U16(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U16(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I16(n), types::I32) => DataValue::I32(n as u16 as i32),
|
||||
(DataValue::I16(n), types::I64) => DataValue::I64(n as u16 as i64),
|
||||
(DataValue::I16(n), types::I128) => DataValue::I128(n as u16 as i128),
|
||||
(DataValue::U32(n), types::I64) => DataValue::U64(n as u64),
|
||||
(DataValue::U32(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I32(n), types::I64) => DataValue::I64(n as u32 as i64),
|
||||
(DataValue::I32(n), types::I128) => DataValue::I128(n as u32 as i128),
|
||||
(DataValue::U64(n), types::I128) => DataValue::U128(n as u128),
|
||||
(DataValue::I64(n), types::I128) => DataValue::I128(n as u64 as i128),
|
||||
(from, to) if from.ty() == to => from,
|
||||
(dv, _) => unimplemented!("conversion: {} -> {:?}", dv.ty(), kind),
|
||||
|
||||
Reference in New Issue
Block a user