@@ -278,6 +278,7 @@ impl<'ll, 'tcx> AsmBuilderMethods<'tcx> for Builder<'_, 'll, 'tcx> {
278278 }
279279 InlineAsmArch :: SpirV => { }
280280 InlineAsmArch :: Wasm32 | InlineAsmArch :: Wasm64 => { }
281+ InlineAsmArch :: Xtensa => { }
281282 InlineAsmArch :: Bpf => { }
282283 InlineAsmArch :: Msp430 => {
283284 constraints. push ( "~{sr}" . to_string ( ) ) ;
@@ -740,6 +741,11 @@ fn reg_to_llvm(reg: InlineAsmRegOrRegClass, layout: Option<&TyAndLayout<'_>>) ->
740741 | X86InlineAsmRegClass :: kreg0
741742 | X86InlineAsmRegClass :: tmm_reg,
742743 ) => unreachable ! ( "clobber-only" ) ,
744+ Xtensa ( XtensaInlineAsmRegClass :: freg) => "f" ,
745+ Xtensa ( XtensaInlineAsmRegClass :: reg) => "r" ,
746+ Xtensa ( XtensaInlineAsmRegClass :: sreg | XtensaInlineAsmRegClass :: breg) => {
747+ unreachable ! ( "clobber-only" )
748+ }
743749 Wasm ( WasmInlineAsmRegClass :: local) => "r" ,
744750 Bpf ( BpfInlineAsmRegClass :: reg) => "r" ,
745751 Bpf ( BpfInlineAsmRegClass :: wreg) => "w" ,
@@ -845,6 +851,7 @@ fn modifier_to_llvm(
845851 | X86InlineAsmRegClass :: kreg0
846852 | X86InlineAsmRegClass :: tmm_reg,
847853 ) => unreachable ! ( "clobber-only" ) ,
854+ Xtensa ( _) => None ,
848855 Wasm ( WasmInlineAsmRegClass :: local) => None ,
849856 Bpf ( _) => None ,
850857 Avr ( AvrInlineAsmRegClass :: reg_pair)
@@ -939,6 +946,11 @@ fn dummy_output_type<'ll>(cx: &CodegenCx<'ll, '_>, reg: InlineAsmRegClass) -> &'
939946 | X86InlineAsmRegClass :: kreg0
940947 | X86InlineAsmRegClass :: tmm_reg,
941948 ) => unreachable ! ( "clobber-only" ) ,
949+ Xtensa ( XtensaInlineAsmRegClass :: reg) => cx. type_i32 ( ) ,
950+ Xtensa ( XtensaInlineAsmRegClass :: freg) => cx. type_f32 ( ) ,
951+ Xtensa ( XtensaInlineAsmRegClass :: sreg | XtensaInlineAsmRegClass :: breg) => {
952+ unreachable ! ( "clobber-only" )
953+ }
942954 Wasm ( WasmInlineAsmRegClass :: local) => cx. type_i32 ( ) ,
943955 Bpf ( BpfInlineAsmRegClass :: reg) => cx. type_i64 ( ) ,
944956 Bpf ( BpfInlineAsmRegClass :: wreg) => cx. type_i32 ( ) ,
0 commit comments