1 use super::{InlineAsmArch, InlineAsmType};
2 use rustc_macros::HashStable_Generic;
3 use rustc_span::Symbol;
6 Nvptx NvptxInlineAsmRegClass {
13 impl NvptxInlineAsmRegClass {
14 pub fn valid_modifiers(self, _arch: InlineAsmArch) -> &'static [char] {
18 pub fn suggest_class(self, _arch: InlineAsmArch, _ty: InlineAsmType) -> Option<Self> {
22 pub fn suggest_modifier(
26 ) -> Option<(char, &'static str)> {
30 pub fn default_modifier(self, _arch: InlineAsmArch) -> Option<(char, &'static str)> {
34 pub fn supported_types(
37 ) -> &'static [(InlineAsmType, Option<Symbol>)] {
39 Self::reg16 => types! { _: I8, I16; },
40 Self::reg32 => types! { _: I8, I16, I32, F32; },
41 Self::reg64 => types! { _: I8, I16, I32, F32, I64, F64; },
47 // Registers in PTX are declared in the assembly.
48 // There are no predefined registers that one can use.
49 Nvptx NvptxInlineAsmReg NvptxInlineAsmRegClass {}