@@ -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