@@ -13,6 +13,8 @@ def_reg_class! {
13
13
freg,
14
14
vreg,
15
15
cr,
16
+ ctr,
17
+ lr,
16
18
xer,
17
19
}
18
20
}
@@ -56,7 +58,7 @@ impl PowerPCInlineAsmRegClass {
56
58
altivec: VecI8 ( 16 ) , VecI16 ( 8 ) , VecI32 ( 4 ) , VecF32 ( 4 ) ;
57
59
vsx: F32 , F64 , VecI64 ( 2 ) , VecF64 ( 2 ) ;
58
60
} ,
59
- Self :: cr | Self :: xer => & [ ] ,
61
+ Self :: cr | Self :: ctr | Self :: lr | Self :: xer => & [ ] ,
60
62
}
61
63
}
62
64
}
@@ -195,6 +197,8 @@ def_regs! {
195
197
cr5: cr = [ "cr5" ] ,
196
198
cr6: cr = [ "cr6" ] ,
197
199
cr7: cr = [ "cr7" ] ,
200
+ ctr: ctr = [ "ctr" ] ,
201
+ lr: lr = [ "lr" ] ,
198
202
xer: xer = [ "xer" ] ,
199
203
#error = [ "r1" , "1" , "sp" ] =>
200
204
"the stack pointer cannot be used as an operand for inline asm" ,
@@ -206,10 +210,6 @@ def_regs! {
206
210
"r30 is used internally by LLVM and cannot be used as an operand for inline asm" ,
207
211
#error = [ "r31" , "31" , "fp" ] =>
208
212
"the frame pointer cannot be used as an operand for inline asm" ,
209
- #error = [ "lr" ] =>
210
- "the link register cannot be used as an operand for inline asm" ,
211
- #error = [ "ctr" ] =>
212
- "the counter register cannot be used as an operand for inline asm" ,
213
213
#error = [ "vrsave" ] =>
214
214
"the vrsave register cannot be used as an operand for inline asm" ,
215
215
}
@@ -247,6 +247,8 @@ impl PowerPCInlineAsmReg {
247
247
( v24, "24" ) , ( v25, "25" ) , ( v26, "26" ) , ( v27, "27" ) , ( v28, "28" ) , ( v29, "29" ) , ( v30, "30" ) , ( v31, "31" ) ;
248
248
( cr, "cr" ) ;
249
249
( cr0, "0" ) , ( cr1, "1" ) , ( cr2, "2" ) , ( cr3, "3" ) , ( cr4, "4" ) , ( cr5, "5" ) , ( cr6, "6" ) , ( cr7, "7" ) ;
250
+ ( ctr, "ctr" ) ;
251
+ ( lr, "lr" ) ;
250
252
( xer, "xer" ) ;
251
253
}
252
254
}
0 commit comments