@@ -17,6 +17,7 @@ def_reg_class! {
1717        kreg0, 
1818        mmx_reg, 
1919        x87_reg, 
20+         tmm_reg, 
2021    } 
2122} 
2223
@@ -41,6 +42,7 @@ impl X86InlineAsmRegClass {
4142            Self :: xmm_reg | Self :: ymm_reg | Self :: zmm_reg => & [ 'x' ,  'y' ,  'z' ] , 
4243            Self :: kreg | Self :: kreg0 => & [ ] , 
4344            Self :: mmx_reg | Self :: x87_reg => & [ ] , 
45+             Self :: tmm_reg => & [ ] , 
4446        } 
4547    } 
4648
@@ -80,6 +82,7 @@ impl X86InlineAsmRegClass {
8082            } , 
8183            Self :: kreg | Self :: kreg0 => None , 
8284            Self :: mmx_reg | Self :: x87_reg => None , 
85+             Self :: tmm_reg => None , 
8386        } 
8487    } 
8588
@@ -98,6 +101,7 @@ impl X86InlineAsmRegClass {
98101            Self :: zmm_reg => Some ( ( 'z' ,  "zmm0" ) ) , 
99102            Self :: kreg | Self :: kreg0 => None , 
100103            Self :: mmx_reg | Self :: x87_reg => None , 
104+             Self :: tmm_reg => None , 
101105        } 
102106    } 
103107
@@ -135,6 +139,7 @@ impl X86InlineAsmRegClass {
135139            } , 
136140            Self :: kreg0 => & [ ] , 
137141            Self :: mmx_reg | Self :: x87_reg => & [ ] , 
142+             Self :: tmm_reg => & [ ] , 
138143        } 
139144    } 
140145} 
@@ -320,6 +325,14 @@ def_regs! {
320325        st5:  x87_reg = [ "st(5)" ] , 
321326        st6:  x87_reg = [ "st(6)" ] , 
322327        st7:  x87_reg = [ "st(7)" ] , 
328+         tmm0:  tmm_reg = [ "tmm0" ]  % x86_64_only, 
329+         tmm1:  tmm_reg = [ "tmm1" ]  % x86_64_only, 
330+         tmm2:  tmm_reg = [ "tmm2" ]  % x86_64_only, 
331+         tmm3:  tmm_reg = [ "tmm3" ]  % x86_64_only, 
332+         tmm4:  tmm_reg = [ "tmm4" ]  % x86_64_only, 
333+         tmm5:  tmm_reg = [ "tmm5" ]  % x86_64_only, 
334+         tmm6:  tmm_reg = [ "tmm6" ]  % x86_64_only, 
335+         tmm7:  tmm_reg = [ "tmm7" ]  % x86_64_only, 
323336        #error = [ "bp" ,  "bpl" ,  "ebp" ,  "rbp" ]  =>
324337            "the frame pointer cannot be used as an operand for inline asm" , 
325338        #error = [ "sp" ,  "spl" ,  "esp" ,  "rsp" ]  =>
0 commit comments