Skip to content

Commit 2b3a14c

Browse files
authored
Add CopySpan{Asc,Des} operator variants + fix decode bug (#1677)
* add CopySpan{Asc,Des} operators * fix bug in Decode for CmpBranchOp
1 parent 8d90b3a commit 2b3a14c

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

crates/ir2/build/ident.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ define_ident!(
157157
Copy: copy,
158158
Copy32: copy32,
159159
Copy64: copy64,
160-
CopySpan: copy_span,
160+
CopySpanAsc: copy_span_asc,
161+
CopySpanDes: copy_span_des,
161162

162163
Table: table,
163164
Memory: memory,

crates/ir2/build/isa.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,15 @@ fn add_copy_ops(isa: &mut Isa) {
459459
],
460460
)),
461461
Op::from(GenericOp::new(
462-
Ident::CopySpan,
462+
Ident::CopySpanAsc,
463+
[
464+
Field::new(Ident::Results, FieldTy::SlotSpan),
465+
Field::new(Ident::Values, FieldTy::SlotSpan),
466+
Field::new(Ident::Len, FieldTy::U16),
467+
],
468+
)),
469+
Op::from(GenericOp::new(
470+
Ident::CopySpanDes,
463471
[
464472
Field::new(Ident::Results, FieldTy::SlotSpan),
465473
Field::new(Ident::Values, FieldTy::SlotSpan),

crates/ir2/build/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ fn generate_encode_rs(config: &Config, isa: &Isa, contents: &mut String) -> Resu
122122
fn generate_decode_rs(config: &Config, isa: &Isa, contents: &mut String) -> Result<(), Error> {
123123
let expected_size = match config.simd {
124124
true => 55_000,
125-
false => 35_000,
125+
false => 36_000,
126126
};
127127
write_to_buffer(contents, expected_size, |buffer| {
128128
write!(buffer, "{}", DisplayDecode::new(isa, Indent::default()))

crates/ir2/src/decode/op.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ where
8787
{
8888
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
8989
Ok(Self {
90+
offset: Decode::decode(decoder)?,
9091
lhs: Decode::decode(decoder)?,
9192
rhs: Decode::decode(decoder)?,
92-
offset: Decode::decode(decoder)?,
9393
})
9494
}
9595
}

0 commit comments

Comments
 (0)