Skip to content

Commit 9e22b57

Browse files
committed
Support predicate registers (clobber-only) in Hexagon inline assembly
1 parent 968e79b commit 9e22b57

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/asm.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,9 @@ fn reg_to_gcc(reg: InlineAsmRegOrRegClass) -> ConstraintOrRegister {
634634
InlineAsmRegClass::Bpf(BpfInlineAsmRegClass::reg) => "r",
635635
InlineAsmRegClass::Bpf(BpfInlineAsmRegClass::wreg) => "w",
636636
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => "r",
637+
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::preg) => {
638+
unreachable!("clobber-only")
639+
}
637640
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::reg) => "r",
638641
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::freg) => "f",
639642
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg) => "r",
@@ -720,6 +723,9 @@ fn dummy_output_type<'gcc, 'tcx>(cx: &CodegenCx<'gcc, 'tcx>, reg: InlineAsmRegCl
720723
cx.type_vector(cx.type_i64(), 2)
721724
}
722725
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => cx.type_i32(),
726+
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::preg) => {
727+
unreachable!("clobber-only")
728+
}
723729
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::reg) => cx.type_i32(),
724730
InlineAsmRegClass::LoongArch(LoongArchInlineAsmRegClass::freg) => cx.type_f32(),
725731
InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg) => cx.type_i32(),

0 commit comments

Comments
 (0)