]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_target/src/asm/spirv.rs
bump version to 1.80.1+dfsg1-1~bpo12+pve1
[rustc.git] / compiler / rustc_target / src / asm / spirv.rs
CommitLineData
e8be2606 1use super::{InlineAsmArch, InlineAsmType, ModifierInfo};
5099ac24 2use rustc_span::Symbol;
29967ef6
XL
3
4def_reg_class! {
5 SpirV SpirVInlineAsmRegClass {
6 reg,
7 }
8}
9
10impl SpirVInlineAsmRegClass {
11 pub fn valid_modifiers(self, _arch: super::InlineAsmArch) -> &'static [char] {
12 &[]
13 }
14
15 pub fn suggest_class(self, _arch: InlineAsmArch, _ty: InlineAsmType) -> Option<Self> {
16 None
17 }
18
19 pub fn suggest_modifier(
20 self,
21 _arch: InlineAsmArch,
22 _ty: InlineAsmType,
e8be2606 23 ) -> Option<ModifierInfo> {
29967ef6
XL
24 None
25 }
26
e8be2606 27 pub fn default_modifier(self, _arch: InlineAsmArch) -> Option<ModifierInfo> {
29967ef6
XL
28 None
29 }
30
31 pub fn supported_types(
32 self,
33 _arch: InlineAsmArch,
5099ac24 34 ) -> &'static [(InlineAsmType, Option<Symbol>)] {
29967ef6
XL
35 match self {
36 Self::reg => {
37 types! { _: I8, I16, I32, I64, F32, F64; }
38 }
39 }
40 }
41}
42
43def_regs! {
44 // SPIR-V is SSA-based, it does not have registers.
45 SpirV SpirVInlineAsmReg SpirVInlineAsmRegClass {}
46}