Skip to content

Commit 403ebdc

Browse files
committed
Auto merge of rust-lang#101069 - zhaixiaojuan:loongarch64-inline-asm, r=Amanieu
Add loongarch64 asm! support
2 parents 94735c7 + 7ec90e3 commit 403ebdc

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/asm.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,8 @@ fn reg_to_gcc(reg: InlineAsmRegOrRegClass) -> ConstraintOrRegister {
593593
InlineAsmRegClass::Bpf(BpfInlineAsmRegClass::reg) => "r",
594594
InlineAsmRegClass::Bpf(BpfInlineAsmRegClass::wreg) => "w",
595595
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => "r",
596+
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::reg) => "r",
597+
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::freg) => "f",
596598
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg) => "r",
597599
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg_addr) => "a",
598600
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg_data) => "d",
@@ -667,6 +669,8 @@ fn dummy_output_type<'gcc, 'tcx>(cx: &CodegenCx<'gcc, 'tcx>, reg: InlineAsmRegCl
667669
InlineAsmRegClass::Avr(_) => unimplemented!(),
668670
InlineAsmRegClass::Bpf(_) => unimplemented!(),
669671
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => cx.type_i32(),
672+
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::reg) => cx.type_i32(),
673+
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::freg) => cx.type_f32(),
670674
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg) => cx.type_i32(),
671675
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg_addr) => cx.type_i32(),
672676
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg_data) => cx.type_i32(),
@@ -804,6 +808,7 @@ fn modifier_to_gcc(arch: InlineAsmArch, reg: InlineAsmRegClass, modifier: Option
804808
}
805809
}
806810
InlineAsmRegClass::Hexagon(_) => None,
811+
InlineAsmRegClass::LoongArch(_) => None,
807812
InlineAsmRegClass::Mips(_) => None,
808813
InlineAsmRegClass::Nvptx(_) => None,
809814
InlineAsmRegClass::PowerPC(_) => None,

0 commit comments

Comments
 (0)