Skip to content

Commit f16d27a

Browse files
committed
Remove expect_reg
1 parent 042eb37 commit f16d27a

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

src/inline_asm.rs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ pub(crate) fn codegen_inline_asm<'tcx>(
4242
assert_eq!(operands.len(), 4);
4343
let (leaf, eax_place) = match operands[1] {
4444
InlineAsmOperand::InOut { reg, late: true, ref in_value, out_place } => {
45-
let reg = expect_reg(reg);
46-
assert_eq!(reg, InlineAsmReg::X86(X86InlineAsmReg::ax));
45+
assert_eq!(
46+
reg,
47+
InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax))
48+
);
4749
(
4850
crate::base::codegen_operand(fx, in_value).load_scalar(fx),
4951
crate::base::codegen_place(fx, out_place.unwrap()),
@@ -65,8 +67,10 @@ pub(crate) fn codegen_inline_asm<'tcx>(
6567
};
6668
let (sub_leaf, ecx_place) = match operands[2] {
6769
InlineAsmOperand::InOut { reg, late: true, ref in_value, out_place } => {
68-
let reg = expect_reg(reg);
69-
assert_eq!(reg, InlineAsmReg::X86(X86InlineAsmReg::cx));
70+
assert_eq!(
71+
reg,
72+
InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx))
73+
);
7074
(
7175
crate::base::codegen_operand(fx, in_value).load_scalar(fx),
7276
crate::base::codegen_place(fx, out_place.unwrap()),
@@ -76,8 +80,10 @@ pub(crate) fn codegen_inline_asm<'tcx>(
7680
};
7781
let edx_place = match operands[3] {
7882
InlineAsmOperand::Out { reg, late: true, place } => {
79-
let reg = expect_reg(reg);
80-
assert_eq!(reg, InlineAsmReg::X86(X86InlineAsmReg::dx));
83+
assert_eq!(
84+
reg,
85+
InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx))
86+
);
8187
crate::base::codegen_place(fx, place.unwrap())
8288
}
8389
_ => unreachable!(),
@@ -437,13 +443,6 @@ fn call_inline_asm<'tcx>(
437443
}
438444
}
439445

440-
fn expect_reg(reg_or_class: InlineAsmRegOrRegClass) -> InlineAsmReg {
441-
match reg_or_class {
442-
InlineAsmRegOrRegClass::Reg(reg) => reg,
443-
InlineAsmRegOrRegClass::RegClass(class) => unimplemented!("{:?}", class),
444-
}
445-
}
446-
447446
fn save_register(generated_asm: &mut String, arch: InlineAsmArch, reg: InlineAsmReg, offset: Size) {
448447
match arch {
449448
InlineAsmArch::X86_64 => {

0 commit comments

Comments
 (0)