1 diff --git a/include/asm-ia64/gcc_intrin.h b/include/asm-ia64/gcc_intrin.h
2 index 4fb4e43..0bb24df 100644
3 --- a/include/asm-ia64/gcc_intrin.h
4 +++ b/include/asm-ia64/gcc_intrin.h
7 /* Optimization barrier */
8 /* The "volatile" is due to gcc bugs */
9 -#define ia64_barrier() asm volatile ("":::"memory")
10 +#define ia64_barrier() __asm__ __volatile__ ("":::"memory")
12 -#define ia64_stop() asm volatile (";;"::)
13 +#define ia64_stop() __asm__ __volatile__ (";;"::)
15 -#define ia64_invala_gr(regnum) asm volatile ("invala.e r%0" :: "i"(regnum))
16 +#define ia64_invala_gr(regnum) __asm__ __volatile__ ("invala.e r%0" :: "i"(regnum))
18 -#define ia64_invala_fr(regnum) asm volatile ("invala.e f%0" :: "i"(regnum))
19 +#define ia64_invala_fr(regnum) __asm__ __volatile__ ("invala.e f%0" :: "i"(regnum))
21 extern void ia64_bad_param_for_setreg (void);
22 extern void ia64_bad_param_for_getreg (void);
24 -register unsigned long ia64_r13 asm ("r13") __attribute_used__;
25 +register unsigned long ia64_r13 __asm__ ("r13") __attribute_used__;
27 #define ia64_setreg(regnum, val) \
30 case _IA64_REG_PSR_L: \
31 - asm volatile ("mov psr.l=%0" :: "r"(val) : "memory"); \
32 + __asm__ __volatile__ ("mov psr.l=%0" :: "r"(val) : "memory"); \
34 case _IA64_REG_AR_KR0 ... _IA64_REG_AR_EC: \
35 - asm volatile ("mov ar%0=%1" :: \
36 + __asm__ __volatile__ ("mov ar%0=%1" :: \
37 "i" (regnum - _IA64_REG_AR_KR0), \
38 "r"(val): "memory"); \
40 case _IA64_REG_CR_DCR ... _IA64_REG_CR_LRR1: \
41 - asm volatile ("mov cr%0=%1" :: \
42 + __asm__ __volatile__ ("mov cr%0=%1" :: \
43 "i" (regnum - _IA64_REG_CR_DCR), \
44 "r"(val): "memory" ); \
47 - asm volatile ("mov r12=%0" :: \
48 + __asm__ __volatile__ ("mov r12=%0" :: \
49 "r"(val): "memory"); \
52 - asm volatile ("mov gp=%0" :: "r"(val) : "memory"); \
53 + __asm__ __volatile__ ("mov gp=%0" :: "r"(val) : "memory"); \
56 ia64_bad_param_for_setreg(); \
57 @@ -61,27 +61,27 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
61 - asm volatile ("mov %0=gp" : "=r"(ia64_intri_res)); \
62 + __asm__ __volatile__ ("mov %0=gp" : "=r"(ia64_intri_res)); \
65 - asm volatile ("mov %0=ip" : "=r"(ia64_intri_res)); \
66 + __asm__ __volatile__ ("mov %0=ip" : "=r"(ia64_intri_res)); \
69 - asm volatile ("mov %0=psr" : "=r"(ia64_intri_res)); \
70 + __asm__ __volatile__ ("mov %0=psr" : "=r"(ia64_intri_res)); \
72 case _IA64_REG_TP: /* for current() */ \
73 ia64_intri_res = ia64_r13; \
75 case _IA64_REG_AR_KR0 ... _IA64_REG_AR_EC: \
76 - asm volatile ("mov %0=ar%1" : "=r" (ia64_intri_res) \
77 + __asm__ __volatile__ ("mov %0=ar%1" : "=r" (ia64_intri_res) \
78 : "i"(regnum - _IA64_REG_AR_KR0)); \
80 case _IA64_REG_CR_DCR ... _IA64_REG_CR_LRR1: \
81 - asm volatile ("mov %0=cr%1" : "=r" (ia64_intri_res) \
82 + __asm__ __volatile__ ("mov %0=cr%1" : "=r" (ia64_intri_res) \
83 : "i" (regnum - _IA64_REG_CR_DCR)); \
86 - asm volatile ("mov %0=sp" : "=r" (ia64_intri_res)); \
87 + __asm__ __volatile__ ("mov %0=sp" : "=r" (ia64_intri_res)); \
90 ia64_bad_param_for_getreg(); \
91 @@ -96,7 +96,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
94 case ia64_hint_pause: \
95 - asm volatile ("hint @pause" ::: "memory"); \
96 + __asm__ __volatile__ ("hint @pause" ::: "memory"); \
100 @@ -115,19 +115,19 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
103 case ia64_mux1_brcst: \
104 - asm ("mux1 %0=%1,@brcst" : "=r" (ia64_intri_res) : "r" (x)); \
105 + __asm__ ("mux1 %0=%1,@brcst" : "=r" (ia64_intri_res) : "r" (x)); \
107 case ia64_mux1_mix: \
108 - asm ("mux1 %0=%1,@mix" : "=r" (ia64_intri_res) : "r" (x)); \
109 + __asm__ ("mux1 %0=%1,@mix" : "=r" (ia64_intri_res) : "r" (x)); \
111 case ia64_mux1_shuf: \
112 - asm ("mux1 %0=%1,@shuf" : "=r" (ia64_intri_res) : "r" (x)); \
113 + __asm__ ("mux1 %0=%1,@shuf" : "=r" (ia64_intri_res) : "r" (x)); \
115 case ia64_mux1_alt: \
116 - asm ("mux1 %0=%1,@alt" : "=r" (ia64_intri_res) : "r" (x)); \
117 + __asm__ ("mux1 %0=%1,@alt" : "=r" (ia64_intri_res) : "r" (x)); \
119 case ia64_mux1_rev: \
120 - asm ("mux1 %0=%1,@rev" : "=r" (ia64_intri_res) : "r" (x)); \
121 + __asm__ ("mux1 %0=%1,@rev" : "=r" (ia64_intri_res) : "r" (x)); \
125 @@ -139,7 +139,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
126 # define ia64_popcnt(x) \
128 __u64 ia64_intri_res; \
129 - asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
130 + __asm__ ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
134 @@ -149,7 +149,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
136 long ia64_intri_res; \
138 - asm ("getf.exp %0=%1" : "=r"(ia64_intri_res) : "f"(x)); \
139 + __asm__ ("getf.exp %0=%1" : "=r"(ia64_intri_res) : "f"(x)); \
143 @@ -157,75 +157,75 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
144 #define ia64_shrp(a, b, count) \
146 __u64 ia64_intri_res; \
147 - asm ("shrp %0=%1,%2,%3" : "=r"(ia64_intri_res) : "r"(a), "r"(b), "i"(count)); \
148 + __asm__ ("shrp %0=%1,%2,%3" : "=r"(ia64_intri_res) : "r"(a), "r"(b), "i"(count)); \
152 #define ia64_ldfs(regnum, x) \
154 - register double __f__ asm ("f"#regnum); \
155 - asm volatile ("ldfs %0=[%1]" :"=f"(__f__): "r"(x)); \
156 + register double __f__ __asm__ ("f"#regnum); \
157 + __asm__ __volatile__ ("ldfs %0=[%1]" :"=f"(__f__): "r"(x)); \
160 #define ia64_ldfd(regnum, x) \
162 - register double __f__ asm ("f"#regnum); \
163 - asm volatile ("ldfd %0=[%1]" :"=f"(__f__): "r"(x)); \
164 + register double __f__ __asm__ ("f"#regnum); \
165 + __asm__ __volatile__ ("ldfd %0=[%1]" :"=f"(__f__): "r"(x)); \
168 #define ia64_ldfe(regnum, x) \
170 - register double __f__ asm ("f"#regnum); \
171 - asm volatile ("ldfe %0=[%1]" :"=f"(__f__): "r"(x)); \
172 + register double __f__ __asm__ ("f"#regnum); \
173 + __asm__ __volatile__ ("ldfe %0=[%1]" :"=f"(__f__): "r"(x)); \
176 #define ia64_ldf8(regnum, x) \
178 - register double __f__ asm ("f"#regnum); \
179 - asm volatile ("ldf8 %0=[%1]" :"=f"(__f__): "r"(x)); \
180 + register double __f__ __asm__ ("f"#regnum); \
181 + __asm__ __volatile__ ("ldf8 %0=[%1]" :"=f"(__f__): "r"(x)); \
184 #define ia64_ldf_fill(regnum, x) \
186 - register double __f__ asm ("f"#regnum); \
187 - asm volatile ("ldf.fill %0=[%1]" :"=f"(__f__): "r"(x)); \
188 + register double __f__ __asm__ ("f"#regnum); \
189 + __asm__ __volatile__ ("ldf.fill %0=[%1]" :"=f"(__f__): "r"(x)); \
192 #define ia64_stfs(x, regnum) \
194 - register double __f__ asm ("f"#regnum); \
195 - asm volatile ("stfs [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
196 + register double __f__ __asm__ ("f"#regnum); \
197 + __asm__ __volatile__ ("stfs [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
200 #define ia64_stfd(x, regnum) \
202 - register double __f__ asm ("f"#regnum); \
203 - asm volatile ("stfd [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
204 + register double __f__ __asm__ ("f"#regnum); \
205 + __asm__ __volatile__ ("stfd [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
208 #define ia64_stfe(x, regnum) \
210 - register double __f__ asm ("f"#regnum); \
211 - asm volatile ("stfe [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
212 + register double __f__ __asm__ ("f"#regnum); \
213 + __asm__ __volatile__ ("stfe [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
216 #define ia64_stf8(x, regnum) \
218 - register double __f__ asm ("f"#regnum); \
219 - asm volatile ("stf8 [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
220 + register double __f__ __asm__ ("f"#regnum); \
221 + __asm__ __volatile__ ("stf8 [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
224 #define ia64_stf_spill(x, regnum) \
226 - register double __f__ asm ("f"#regnum); \
227 - asm volatile ("stf.spill [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
228 + register double __f__ __asm__ ("f"#regnum); \
229 + __asm__ __volatile__ ("stf.spill [%0]=%1" :: "r"(x), "f"(__f__) : "memory"); \
232 #define ia64_fetchadd4_acq(p, inc) \
235 __u64 ia64_intri_res; \
236 - asm volatile ("fetchadd4.acq %0=[%1],%2" \
237 + __asm__ __volatile__ ("fetchadd4.acq %0=[%1],%2" \
238 : "=r"(ia64_intri_res) : "r"(p), "i" (inc) \
241 @@ -235,7 +235,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
242 #define ia64_fetchadd4_rel(p, inc) \
244 __u64 ia64_intri_res; \
245 - asm volatile ("fetchadd4.rel %0=[%1],%2" \
246 + __asm__ __volatile__ ("fetchadd4.rel %0=[%1],%2" \
247 : "=r"(ia64_intri_res) : "r"(p), "i" (inc) \
250 @@ -246,7 +246,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
253 __u64 ia64_intri_res; \
254 - asm volatile ("fetchadd8.acq %0=[%1],%2" \
255 + __asm__ __volatile__ ("fetchadd8.acq %0=[%1],%2" \
256 : "=r"(ia64_intri_res) : "r"(p), "i" (inc) \
259 @@ -256,7 +256,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
260 #define ia64_fetchadd8_rel(p, inc) \
262 __u64 ia64_intri_res; \
263 - asm volatile ("fetchadd8.rel %0=[%1],%2" \
264 + __asm__ __volatile__ ("fetchadd8.rel %0=[%1],%2" \
265 : "=r"(ia64_intri_res) : "r"(p), "i" (inc) \
268 @@ -266,7 +266,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
269 #define ia64_xchg1(ptr,x) \
271 __u64 ia64_intri_res; \
272 - asm volatile ("xchg1 %0=[%1],%2" \
273 + __asm__ __volatile__ ("xchg1 %0=[%1],%2" \
274 : "=r" (ia64_intri_res) : "r" (ptr), "r" (x) : "memory"); \
277 @@ -274,7 +274,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
278 #define ia64_xchg2(ptr,x) \
280 __u64 ia64_intri_res; \
281 - asm volatile ("xchg2 %0=[%1],%2" : "=r" (ia64_intri_res) \
282 + __asm__ __volatile__ ("xchg2 %0=[%1],%2" : "=r" (ia64_intri_res) \
283 : "r" (ptr), "r" (x) : "memory"); \
286 @@ -282,7 +282,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
287 #define ia64_xchg4(ptr,x) \
289 __u64 ia64_intri_res; \
290 - asm volatile ("xchg4 %0=[%1],%2" : "=r" (ia64_intri_res) \
291 + __asm__ __volatile__ ("xchg4 %0=[%1],%2" : "=r" (ia64_intri_res) \
292 : "r" (ptr), "r" (x) : "memory"); \
295 @@ -290,7 +290,7 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
296 #define ia64_xchg8(ptr,x) \
298 __u64 ia64_intri_res; \
299 - asm volatile ("xchg8 %0=[%1],%2" : "=r" (ia64_intri_res) \
300 + __asm__ __volatile__ ("xchg8 %0=[%1],%2" : "=r" (ia64_intri_res) \
301 : "r" (ptr), "r" (x) : "memory"); \
304 @@ -298,8 +298,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
305 #define ia64_cmpxchg1_acq(ptr, new, old) \
307 __u64 ia64_intri_res; \
308 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
309 - asm volatile ("cmpxchg1.acq %0=[%1],%2,ar.ccv": \
310 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
311 + __asm__ __volatile__ ("cmpxchg1.acq %0=[%1],%2,ar.ccv": \
312 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
315 @@ -307,8 +307,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
316 #define ia64_cmpxchg1_rel(ptr, new, old) \
318 __u64 ia64_intri_res; \
319 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
320 - asm volatile ("cmpxchg1.rel %0=[%1],%2,ar.ccv": \
321 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
322 + __asm__ __volatile__ ("cmpxchg1.rel %0=[%1],%2,ar.ccv": \
323 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
326 @@ -316,8 +316,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
327 #define ia64_cmpxchg2_acq(ptr, new, old) \
329 __u64 ia64_intri_res; \
330 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
331 - asm volatile ("cmpxchg2.acq %0=[%1],%2,ar.ccv": \
332 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
333 + __asm__ __volatile__ ("cmpxchg2.acq %0=[%1],%2,ar.ccv": \
334 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
337 @@ -325,9 +325,9 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
338 #define ia64_cmpxchg2_rel(ptr, new, old) \
340 __u64 ia64_intri_res; \
341 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
342 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
344 - asm volatile ("cmpxchg2.rel %0=[%1],%2,ar.ccv": \
345 + __asm__ __volatile__ ("cmpxchg2.rel %0=[%1],%2,ar.ccv": \
346 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
349 @@ -335,8 +335,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
350 #define ia64_cmpxchg4_acq(ptr, new, old) \
352 __u64 ia64_intri_res; \
353 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
354 - asm volatile ("cmpxchg4.acq %0=[%1],%2,ar.ccv": \
355 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
356 + __asm__ __volatile__ ("cmpxchg4.acq %0=[%1],%2,ar.ccv": \
357 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
360 @@ -344,8 +344,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
361 #define ia64_cmpxchg4_rel(ptr, new, old) \
363 __u64 ia64_intri_res; \
364 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
365 - asm volatile ("cmpxchg4.rel %0=[%1],%2,ar.ccv": \
366 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
367 + __asm__ __volatile__ ("cmpxchg4.rel %0=[%1],%2,ar.ccv": \
368 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
371 @@ -353,8 +353,8 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
372 #define ia64_cmpxchg8_acq(ptr, new, old) \
374 __u64 ia64_intri_res; \
375 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
376 - asm volatile ("cmpxchg8.acq %0=[%1],%2,ar.ccv": \
377 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
378 + __asm__ __volatile__ ("cmpxchg8.acq %0=[%1],%2,ar.ccv": \
379 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
382 @@ -362,106 +362,106 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
383 #define ia64_cmpxchg8_rel(ptr, new, old) \
385 __u64 ia64_intri_res; \
386 - asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
387 + __asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(old)); \
389 - asm volatile ("cmpxchg8.rel %0=[%1],%2,ar.ccv": \
390 + __asm__ __volatile__ ("cmpxchg8.rel %0=[%1],%2,ar.ccv": \
391 "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory"); \
395 -#define ia64_mf() asm volatile ("mf" ::: "memory")
396 -#define ia64_mfa() asm volatile ("mf.a" ::: "memory")
397 +#define ia64_mf() __asm__ __volatile__ ("mf" ::: "memory")
398 +#define ia64_mfa() __asm__ __volatile__ ("mf.a" ::: "memory")
400 -#define ia64_invala() asm volatile ("invala" ::: "memory")
401 +#define ia64_invala() __asm__ __volatile__ ("invala" ::: "memory")
403 #define ia64_thash(addr) \
405 __u64 ia64_intri_res; \
406 - asm volatile ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \
407 + __asm__ __volatile__ ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \
411 -#define ia64_srlz_i() asm volatile (";; srlz.i ;;" ::: "memory")
412 -#define ia64_srlz_d() asm volatile (";; srlz.d" ::: "memory");
413 +#define ia64_srlz_i() __asm__ __volatile__ (";; srlz.i ;;" ::: "memory")
414 +#define ia64_srlz_d() __asm__ __volatile__ (";; srlz.d" ::: "memory");
416 #ifdef HAVE_SERIALIZE_DIRECTIVE
417 -# define ia64_dv_serialize_data() asm volatile (".serialize.data");
418 -# define ia64_dv_serialize_instruction() asm volatile (".serialize.instruction");
419 +# define ia64_dv_serialize_data() __asm__ __volatile__ (".serialize.data");
420 +# define ia64_dv_serialize_instruction() __asm__ __volatile__ (".serialize.instruction");
422 # define ia64_dv_serialize_data()
423 # define ia64_dv_serialize_instruction()
426 -#define ia64_nop(x) asm volatile ("nop %0"::"i"(x));
427 +#define ia64_nop(x) __asm__ __volatile__ ("nop %0"::"i"(x));
429 -#define ia64_itci(addr) asm volatile ("itc.i %0;;" :: "r"(addr) : "memory")
430 +#define ia64_itci(addr) __asm__ __volatile__ ("itc.i %0;;" :: "r"(addr) : "memory")
432 -#define ia64_itcd(addr) asm volatile ("itc.d %0;;" :: "r"(addr) : "memory")
433 +#define ia64_itcd(addr) __asm__ __volatile__ ("itc.d %0;;" :: "r"(addr) : "memory")
436 -#define ia64_itri(trnum, addr) asm volatile ("itr.i itr[%0]=%1" \
437 +#define ia64_itri(trnum, addr) __asm__ __volatile__ ("itr.i itr[%0]=%1" \
438 :: "r"(trnum), "r"(addr) : "memory")
440 -#define ia64_itrd(trnum, addr) asm volatile ("itr.d dtr[%0]=%1" \
441 +#define ia64_itrd(trnum, addr) __asm__ __volatile__ ("itr.d dtr[%0]=%1" \
442 :: "r"(trnum), "r"(addr) : "memory")
444 #define ia64_tpa(addr) \
447 - asm volatile ("tpa %0 = %1" : "=r"(ia64_pa) : "r"(addr) : "memory"); \
448 + __asm__ __volatile__ ("tpa %0 = %1" : "=r"(ia64_pa) : "r"(addr) : "memory"); \
452 #define __ia64_set_dbr(index, val) \
453 - asm volatile ("mov dbr[%0]=%1" :: "r"(index), "r"(val) : "memory")
454 + __asm__ __volatile__ ("mov dbr[%0]=%1" :: "r"(index), "r"(val) : "memory")
456 #define ia64_set_ibr(index, val) \
457 - asm volatile ("mov ibr[%0]=%1" :: "r"(index), "r"(val) : "memory")
458 + __asm__ __volatile__ ("mov ibr[%0]=%1" :: "r"(index), "r"(val) : "memory")
460 #define ia64_set_pkr(index, val) \
461 - asm volatile ("mov pkr[%0]=%1" :: "r"(index), "r"(val) : "memory")
462 + __asm__ __volatile__ ("mov pkr[%0]=%1" :: "r"(index), "r"(val) : "memory")
464 #define ia64_set_pmc(index, val) \
465 - asm volatile ("mov pmc[%0]=%1" :: "r"(index), "r"(val) : "memory")
466 + __asm__ __volatile__ ("mov pmc[%0]=%1" :: "r"(index), "r"(val) : "memory")
468 #define ia64_set_pmd(index, val) \
469 - asm volatile ("mov pmd[%0]=%1" :: "r"(index), "r"(val) : "memory")
470 + __asm__ __volatile__ ("mov pmd[%0]=%1" :: "r"(index), "r"(val) : "memory")
472 #define ia64_set_rr(index, val) \
473 - asm volatile ("mov rr[%0]=%1" :: "r"(index), "r"(val) : "memory");
474 + __asm__ __volatile__ ("mov rr[%0]=%1" :: "r"(index), "r"(val) : "memory");
476 #define ia64_get_cpuid(index) \
478 __u64 ia64_intri_res; \
479 - asm volatile ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \
480 + __asm__ __volatile__ ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \
484 #define __ia64_get_dbr(index) \
486 __u64 ia64_intri_res; \
487 - asm volatile ("mov %0=dbr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
488 + __asm__ __volatile__ ("mov %0=dbr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
492 #define ia64_get_ibr(index) \
494 __u64 ia64_intri_res; \
495 - asm volatile ("mov %0=ibr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
496 + __asm__ __volatile__ ("mov %0=ibr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
500 #define ia64_get_pkr(index) \
502 __u64 ia64_intri_res; \
503 - asm volatile ("mov %0=pkr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
504 + __asm__ __volatile__ ("mov %0=pkr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
508 #define ia64_get_pmc(index) \
510 __u64 ia64_intri_res; \
511 - asm volatile ("mov %0=pmc[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
512 + __asm__ __volatile__ ("mov %0=pmc[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
516 @@ -469,46 +469,46 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
517 #define ia64_get_pmd(index) \
519 __u64 ia64_intri_res; \
520 - asm volatile ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
521 + __asm__ __volatile__ ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
525 #define ia64_get_rr(index) \
527 __u64 ia64_intri_res; \
528 - asm volatile ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \
529 + __asm__ __volatile__ ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \
533 -#define ia64_fc(addr) asm volatile ("fc %0" :: "r"(addr) : "memory")
534 +#define ia64_fc(addr) __asm__ __volatile__ ("fc %0" :: "r"(addr) : "memory")
537 -#define ia64_sync_i() asm volatile (";; sync.i" ::: "memory")
538 +#define ia64_sync_i() __asm__ __volatile__ (";; sync.i" ::: "memory")
540 -#define ia64_ssm(mask) asm volatile ("ssm %0":: "i"((mask)) : "memory")
541 -#define ia64_rsm(mask) asm volatile ("rsm %0":: "i"((mask)) : "memory")
542 -#define ia64_sum(mask) asm volatile ("sum %0":: "i"((mask)) : "memory")
543 -#define ia64_rum(mask) asm volatile ("rum %0":: "i"((mask)) : "memory")
544 +#define ia64_ssm(mask) __asm__ __volatile__ ("ssm %0":: "i"((mask)) : "memory")
545 +#define ia64_rsm(mask) __asm__ __volatile__ ("rsm %0":: "i"((mask)) : "memory")
546 +#define ia64_sum(mask) __asm__ __volatile__ ("sum %0":: "i"((mask)) : "memory")
547 +#define ia64_rum(mask) __asm__ __volatile__ ("rum %0":: "i"((mask)) : "memory")
549 -#define ia64_ptce(addr) asm volatile ("ptc.e %0" :: "r"(addr))
550 +#define ia64_ptce(addr) __asm__ __volatile__ ("ptc.e %0" :: "r"(addr))
552 #define ia64_ptcga(addr, size) \
554 - asm volatile ("ptc.ga %0,%1" :: "r"(addr), "r"(size) : "memory"); \
555 + __asm__ __volatile__ ("ptc.ga %0,%1" :: "r"(addr), "r"(size) : "memory"); \
556 ia64_dv_serialize_data(); \
559 #define ia64_ptcl(addr, size) \
561 - asm volatile ("ptc.l %0,%1" :: "r"(addr), "r"(size) : "memory"); \
562 + __asm__ __volatile__ ("ptc.l %0,%1" :: "r"(addr), "r"(size) : "memory"); \
563 ia64_dv_serialize_data(); \
566 #define ia64_ptri(addr, size) \
567 - asm volatile ("ptr.i %0,%1" :: "r"(addr), "r"(size) : "memory")
568 + __asm__ __volatile__ ("ptr.i %0,%1" :: "r"(addr), "r"(size) : "memory")
570 #define ia64_ptrd(addr, size) \
571 - asm volatile ("ptr.d %0,%1" :: "r"(addr), "r"(size) : "memory")
572 + __asm__ __volatile__ ("ptr.d %0,%1" :: "r"(addr), "r"(size) : "memory")
574 /* Values for lfhint in ia64_lfetch and ia64_lfetch_fault */
576 @@ -521,16 +521,16 @@ do { \
579 case ia64_lfhint_none: \
580 - asm volatile ("lfetch [%0]" : : "r"(y)); \
581 + __asm__ __volatile__ ("lfetch [%0]" : : "r"(y)); \
583 case ia64_lfhint_nt1: \
584 - asm volatile ("lfetch.nt1 [%0]" : : "r"(y)); \
585 + __asm__ __volatile__ ("lfetch.nt1 [%0]" : : "r"(y)); \
587 case ia64_lfhint_nt2: \
588 - asm volatile ("lfetch.nt2 [%0]" : : "r"(y)); \
589 + __asm__ __volatile__ ("lfetch.nt2 [%0]" : : "r"(y)); \
591 case ia64_lfhint_nta: \
592 - asm volatile ("lfetch.nta [%0]" : : "r"(y)); \
593 + __asm__ __volatile__ ("lfetch.nta [%0]" : : "r"(y)); \
597 @@ -539,16 +539,16 @@ do { \
600 case ia64_lfhint_none: \
601 - asm volatile ("lfetch.excl [%0]" :: "r"(y)); \
602 + __asm__ __volatile__ ("lfetch.excl [%0]" :: "r"(y)); \
604 case ia64_lfhint_nt1: \
605 - asm volatile ("lfetch.excl.nt1 [%0]" :: "r"(y)); \
606 + __asm__ __volatile__ ("lfetch.excl.nt1 [%0]" :: "r"(y)); \
608 case ia64_lfhint_nt2: \
609 - asm volatile ("lfetch.excl.nt2 [%0]" :: "r"(y)); \
610 + __asm__ __volatile__ ("lfetch.excl.nt2 [%0]" :: "r"(y)); \
612 case ia64_lfhint_nta: \
613 - asm volatile ("lfetch.excl.nta [%0]" :: "r"(y)); \
614 + __asm__ __volatile__ ("lfetch.excl.nta [%0]" :: "r"(y)); \
618 @@ -557,16 +557,16 @@ do { \
621 case ia64_lfhint_none: \
622 - asm volatile ("lfetch.fault [%0]" : : "r"(y)); \
623 + __asm__ __volatile__ ("lfetch.fault [%0]" : : "r"(y)); \
625 case ia64_lfhint_nt1: \
626 - asm volatile ("lfetch.fault.nt1 [%0]" : : "r"(y)); \
627 + __asm__ __volatile__ ("lfetch.fault.nt1 [%0]" : : "r"(y)); \
629 case ia64_lfhint_nt2: \
630 - asm volatile ("lfetch.fault.nt2 [%0]" : : "r"(y)); \
631 + __asm__ __volatile__ ("lfetch.fault.nt2 [%0]" : : "r"(y)); \
633 case ia64_lfhint_nta: \
634 - asm volatile ("lfetch.fault.nta [%0]" : : "r"(y)); \
635 + __asm__ __volatile__ ("lfetch.fault.nta [%0]" : : "r"(y)); \
639 @@ -575,23 +575,23 @@ do { \
642 case ia64_lfhint_none: \
643 - asm volatile ("lfetch.fault.excl [%0]" :: "r"(y)); \
644 + __asm__ __volatile__ ("lfetch.fault.excl [%0]" :: "r"(y)); \
646 case ia64_lfhint_nt1: \
647 - asm volatile ("lfetch.fault.excl.nt1 [%0]" :: "r"(y)); \
648 + __asm__ __volatile__ ("lfetch.fault.excl.nt1 [%0]" :: "r"(y)); \
650 case ia64_lfhint_nt2: \
651 - asm volatile ("lfetch.fault.excl.nt2 [%0]" :: "r"(y)); \
652 + __asm__ __volatile__ ("lfetch.fault.excl.nt2 [%0]" :: "r"(y)); \
654 case ia64_lfhint_nta: \
655 - asm volatile ("lfetch.fault.excl.nta [%0]" :: "r"(y)); \
656 + __asm__ __volatile__ ("lfetch.fault.excl.nta [%0]" :: "r"(y)); \
661 #define ia64_intrin_local_irq_restore(x) \
663 - asm volatile (";; cmp.ne p6,p7=%0,r0;;" \
664 + __asm__ __volatile__ (";; cmp.ne p6,p7=%0,r0;;" \