Skip to content

Commit 62d8df5

Browse files
committed
Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly
1 parent 6c69e2f commit 62d8df5

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/asm.rs

+8
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,11 @@ fn reg_to_gcc(reg: InlineAsmRegOrRegClass) -> ConstraintOrRegister {
682682
InlineAsmRegClass::S390x(S390xInlineAsmRegClass::reg) => "r",
683683
InlineAsmRegClass::S390x(S390xInlineAsmRegClass::reg_addr) => "a",
684684
InlineAsmRegClass::S390x(S390xInlineAsmRegClass::freg) => "f",
685+
InlineAsmRegClass::S390x(
686+
S390xInlineAsmRegClass::vreg | S390xInlineAsmRegClass::areg,
687+
) => {
688+
unreachable!("clobber-only")
689+
}
685690
InlineAsmRegClass::Err => unreachable!(),
686691
},
687692
};
@@ -757,6 +762,9 @@ fn dummy_output_type<'gcc, 'tcx>(cx: &CodegenCx<'gcc, 'tcx>, reg: InlineAsmRegCl
757762
S390xInlineAsmRegClass::reg | S390xInlineAsmRegClass::reg_addr,
758763
) => cx.type_i32(),
759764
InlineAsmRegClass::S390x(S390xInlineAsmRegClass::freg) => cx.type_f64(),
765+
InlineAsmRegClass::S390x(S390xInlineAsmRegClass::vreg | S390xInlineAsmRegClass::areg) => {
766+
unreachable!("clobber-only")
767+
}
760768
InlineAsmRegClass::Msp430(Msp430InlineAsmRegClass::reg) => cx.type_i16(),
761769
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg) => cx.type_i32(),
762770
InlineAsmRegClass::M68k(M68kInlineAsmRegClass::reg_addr) => cx.type_i32(),

0 commit comments

Comments
 (0)