Skip to content

Commit 41b7b26

Browse files
authored
Winch: Refactor masm signatures to take kinds (#10242)
1 parent 9afc64b commit 41b7b26

File tree

4 files changed

+384
-427
lines changed

4 files changed

+384
-427
lines changed

winch/codegen/src/isa/aarch64/masm.rs

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ use crate::{
1313
CallingConvention,
1414
},
1515
masm::{
16-
CalleeKind, DivKind, Extend, ExtendKind, ExtractLaneKind, FloatCmpKind, HandleOverflowKind,
17-
Imm as I, IntCmpKind, LoadKind, MacroAssembler as Masm, MaxKind, MinKind, MulWideKind,
18-
OperandSize, RegImm, RemKind, ReplaceLaneKind, RmwOp, RoundingMode, SPOffset, ShiftKind,
19-
SplatKind, StackSlot, StoreKind, TrapCode, TruncKind, V128AbsKind, V128ConvertKind,
20-
V128ExtendKind, V128NarrowKind, V128TruncSatKind, VectorCompareKind, VectorEqualityKind,
21-
Zero, TRUSTED_FLAGS, UNTRUSTED_FLAGS,
16+
CalleeKind, DivKind, Extend, ExtendKind, ExtractLaneKind, FloatCmpKind, Imm as I,
17+
IntCmpKind, LoadKind, MacroAssembler as Masm, MulWideKind, OperandSize, RegImm, RemKind,
18+
ReplaceLaneKind, RmwOp, RoundingMode, SPOffset, ShiftKind, SplatKind, StackSlot, StoreKind,
19+
TrapCode, TruncKind, V128AbsKind, V128AddKind, V128ConvertKind, V128ExtAddKind,
20+
V128ExtMulKind, V128ExtendKind, V128MaxKind, V128MinKind, V128MulKind, V128NarrowKind,
21+
V128NegKind, V128SubKind, V128TruncKind, VectorCompareKind, VectorEqualityKind, Zero,
22+
TRUSTED_FLAGS, UNTRUSTED_FLAGS,
2223
},
2324
stack::TypedReg,
2425
};
@@ -1134,8 +1135,7 @@ impl Masm for MacroAssembler {
11341135
_lhs: Reg,
11351136
_rhs: Reg,
11361137
_dst: WritableReg,
1137-
_size: OperandSize,
1138-
_handle_overflow: HandleOverflowKind,
1138+
_kind: V128AddKind,
11391139
) -> Result<()> {
11401140
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
11411141
}
@@ -1145,16 +1145,15 @@ impl Masm for MacroAssembler {
11451145
_lhs: Reg,
11461146
_rhs: Reg,
11471147
_dst: WritableReg,
1148-
_size: OperandSize,
1149-
_handle_overflow: HandleOverflowKind,
1148+
_kind: V128SubKind,
11501149
) -> Result<()> {
11511150
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
11521151
}
11531152

11541153
fn v128_mul(
11551154
&mut self,
11561155
_context: &mut CodeGenContext<Emission>,
1157-
_lane_width: OperandSize,
1156+
_kind: V128MulKind,
11581157
) -> Result<()> {
11591158
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
11601159
}
@@ -1163,7 +1162,7 @@ impl Masm for MacroAssembler {
11631162
bail!(CodeGenError::unimplemented_masm_instruction())
11641163
}
11651164

1166-
fn v128_neg(&mut self, _op: WritableReg, _size: OperandSize) -> Result<()> {
1165+
fn v128_neg(&mut self, _op: WritableReg, _kind: V128NegKind) -> Result<()> {
11671166
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
11681167
}
11691168

@@ -1197,7 +1196,7 @@ impl Masm for MacroAssembler {
11971196
fn v128_trunc_sat(
11981197
&mut self,
11991198
_context: &mut CodeGenContext<Emission>,
1200-
_kind: V128TruncSatKind,
1199+
_kind: V128TruncKind,
12011200
) -> Result<()> {
12021201
bail!(CodeGenError::unimplemented_masm_instruction())
12031202
}
@@ -1207,8 +1206,7 @@ impl Masm for MacroAssembler {
12071206
_src1: Reg,
12081207
_src2: Reg,
12091208
_dst: WritableReg,
1210-
_lane_width: OperandSize,
1211-
_kind: MinKind,
1209+
_kind: V128MinKind,
12121210
) -> Result<()> {
12131211
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
12141212
}
@@ -1218,17 +1216,15 @@ impl Masm for MacroAssembler {
12181216
_src1: Reg,
12191217
_src2: Reg,
12201218
_dst: WritableReg,
1221-
_lane_width: OperandSize,
1222-
_kind: MaxKind,
1219+
_kind: V128MaxKind,
12231220
) -> Result<()> {
12241221
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
12251222
}
12261223

12271224
fn v128_extmul(
12281225
&mut self,
12291226
_context: &mut CodeGenContext<Emission>,
1230-
_lane_width: OperandSize,
1231-
_kind: crate::masm::ExtMulKind,
1227+
_kind: V128ExtMulKind,
12321228
) -> Result<()> {
12331229
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
12341230
}
@@ -1237,8 +1233,7 @@ impl Masm for MacroAssembler {
12371233
&mut self,
12381234
_src: Reg,
12391235
_dst: WritableReg,
1240-
_lane_width: OperandSize,
1241-
_kind: crate::masm::ExtAddKind,
1236+
_kind: V128ExtAddKind,
12421237
) -> Result<()> {
12431238
Err(anyhow!(CodeGenError::unimplemented_masm_instruction()))
12441239
}

0 commit comments

Comments
 (0)