Skip to content

Commit a47b9fd

Browse files
committed
Remove stub support for 32bit inline assembly
Cranelift doesn't support any 32bit target yet and this helps with keeping everything in sync.
1 parent f1ede97 commit a47b9fd

File tree

1 file changed

+2
-42
lines changed

1 file changed

+2
-42
lines changed

src/inline_asm.rs

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -699,20 +699,10 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
699699

700700
fn prologue(generated_asm: &mut String, arch: InlineAsmArch) {
701701
match arch {
702-
InlineAsmArch::X86 => {
703-
generated_asm.push_str(" push ebp\n");
704-
generated_asm.push_str(" mov ebp,[esp+8]\n");
705-
}
706702
InlineAsmArch::X86_64 => {
707703
generated_asm.push_str(" push rbp\n");
708704
generated_asm.push_str(" mov rbp,rdi\n");
709705
}
710-
InlineAsmArch::RiscV32 => {
711-
generated_asm.push_str(" addi sp, sp, -8\n");
712-
generated_asm.push_str(" sw ra, 4(sp)\n");
713-
generated_asm.push_str(" sw s0, 0(sp)\n");
714-
generated_asm.push_str(" mv s0, a0\n");
715-
}
716706
InlineAsmArch::RiscV64 => {
717707
generated_asm.push_str(" addi sp, sp, -16\n");
718708
generated_asm.push_str(" sd ra, 8(sp)\n");
@@ -725,20 +715,10 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
725715

726716
fn epilogue(generated_asm: &mut String, arch: InlineAsmArch) {
727717
match arch {
728-
InlineAsmArch::X86 => {
729-
generated_asm.push_str(" pop ebp\n");
730-
generated_asm.push_str(" ret\n");
731-
}
732718
InlineAsmArch::X86_64 => {
733719
generated_asm.push_str(" pop rbp\n");
734720
generated_asm.push_str(" ret\n");
735721
}
736-
InlineAsmArch::RiscV32 => {
737-
generated_asm.push_str(" lw s0, 0(sp)\n");
738-
generated_asm.push_str(" lw ra, 4(sp)\n");
739-
generated_asm.push_str(" addi sp, sp, 8\n");
740-
generated_asm.push_str(" ret\n");
741-
}
742722
InlineAsmArch::RiscV64 => {
743723
generated_asm.push_str(" ld s0, 0(sp)\n");
744724
generated_asm.push_str(" ld ra, 8(sp)\n");
@@ -751,10 +731,10 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
751731

752732
fn epilogue_noreturn(generated_asm: &mut String, arch: InlineAsmArch) {
753733
match arch {
754-
InlineAsmArch::X86 | InlineAsmArch::X86_64 => {
734+
InlineAsmArch::X86_64 => {
755735
generated_asm.push_str(" ud2\n");
756736
}
757-
InlineAsmArch::RiscV32 | InlineAsmArch::RiscV64 => {
737+
InlineAsmArch::RiscV64 => {
758738
generated_asm.push_str(" ebreak\n");
759739
}
760740
_ => unimplemented!("epilogue_noreturn for {:?}", arch),
@@ -768,21 +748,11 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
768748
offset: Size,
769749
) {
770750
match arch {
771-
InlineAsmArch::X86 => {
772-
write!(generated_asm, " mov [ebp+0x{:x}], ", offset.bytes()).unwrap();
773-
reg.emit(generated_asm, InlineAsmArch::X86, None).unwrap();
774-
generated_asm.push('\n');
775-
}
776751
InlineAsmArch::X86_64 => {
777752
write!(generated_asm, " mov [rbp+0x{:x}], ", offset.bytes()).unwrap();
778753
reg.emit(generated_asm, InlineAsmArch::X86_64, None).unwrap();
779754
generated_asm.push('\n');
780755
}
781-
InlineAsmArch::RiscV32 => {
782-
generated_asm.push_str(" sw ");
783-
reg.emit(generated_asm, InlineAsmArch::RiscV32, None).unwrap();
784-
writeln!(generated_asm, ", 0x{:x}(s0)", offset.bytes()).unwrap();
785-
}
786756
InlineAsmArch::RiscV64 => {
787757
generated_asm.push_str(" sd ");
788758
reg.emit(generated_asm, InlineAsmArch::RiscV64, None).unwrap();
@@ -799,21 +769,11 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
799769
offset: Size,
800770
) {
801771
match arch {
802-
InlineAsmArch::X86 => {
803-
generated_asm.push_str(" mov ");
804-
reg.emit(generated_asm, InlineAsmArch::X86, None).unwrap();
805-
writeln!(generated_asm, ", [ebp+0x{:x}]", offset.bytes()).unwrap();
806-
}
807772
InlineAsmArch::X86_64 => {
808773
generated_asm.push_str(" mov ");
809774
reg.emit(generated_asm, InlineAsmArch::X86_64, None).unwrap();
810775
writeln!(generated_asm, ", [rbp+0x{:x}]", offset.bytes()).unwrap();
811776
}
812-
InlineAsmArch::RiscV32 => {
813-
generated_asm.push_str(" lw ");
814-
reg.emit(generated_asm, InlineAsmArch::RiscV32, None).unwrap();
815-
writeln!(generated_asm, ", 0x{:x}(s0)", offset.bytes()).unwrap();
816-
}
817777
InlineAsmArch::RiscV64 => {
818778
generated_asm.push_str(" ld ");
819779
reg.emit(generated_asm, InlineAsmArch::RiscV64, None).unwrap();

0 commit comments

Comments
 (0)