@@ -65,7 +65,7 @@ macro_rules! check_reg { ($func:ident, $ty:ty, $reg:tt, $mov:literal) => {
65
65
dont_merge( stringify!( $func) ) ;
66
66
67
67
let y;
68
- asm!( concat!( $mov, " " , $reg, ", " , $reg) , lateout( $reg) y, in( $reg) x) ;
68
+ asm!( concat!( $mov, " % " , $reg, ", % " , $reg) , lateout( $reg) y, in( $reg) x) ;
69
69
y
70
70
}
71
71
} ; }
@@ -130,3 +130,39 @@ check!(reg_f64, f64, freg, "ldr");
130
130
// CHECK: lgr %r{{[0-9]+}}, %r{{[0-9]+}}
131
131
// CHECK: #NO_APP
132
132
check ! ( reg_ptr, ptr, reg, "lgr" ) ;
133
+
134
+ // CHECK-LABEL: r0_i8:
135
+ // CHECK: #APP
136
+ // CHECK: lr %r0, %r0
137
+ // CHECK: #NO_APP
138
+ check_reg ! ( r0_i8, i8 , "r0" , "lr" ) ;
139
+
140
+ // CHECK-LABEL: r0_i16:
141
+ // CHECK: #APP
142
+ // CHECK: lr %r0, %r0
143
+ // CHECK: #NO_APP
144
+ check_reg ! ( r0_i16, i16 , "r0" , "lr" ) ;
145
+
146
+ // CHECK-LABEL: r0_i32:
147
+ // CHECK: #APP
148
+ // CHECK: lr %r0, %r0
149
+ // CHECK: #NO_APP
150
+ check_reg ! ( r0_i32, i32 , "r0" , "lr" ) ;
151
+
152
+ // CHECK-LABEL: r0_i64:
153
+ // CHECK: #APP
154
+ // CHECK: lr %r0, %r0
155
+ // CHECK: #NO_APP
156
+ check_reg ! ( r0_i64, i64 , "r0" , "lr" ) ;
157
+
158
+ // CHECK-LABEL: f0_f32:
159
+ // CHECK: #APP
160
+ // CHECK: ler %f0, %f0
161
+ // CHECK: #NO_APP
162
+ check_reg ! ( f0_f32, f32 , "f0" , "ler" ) ;
163
+
164
+ // CHECK-LABEL: f0_f64:
165
+ // CHECK: #APP
166
+ // CHECK: ldr %f0, %f0
167
+ // CHECK: #NO_APP
168
+ check_reg ! ( f0_f64, f64 , "f0" , "ldr" ) ;
0 commit comments