X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ia64%2Fgcc_intrin.h;h=d3d94e85c8eb62991f81949aab3ff07f0b5fd950;hb=746550cff061581f89c687ada8523670768364f2;hp=a2274aa3fb8fbce073d7e6a428542358932d0281;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/include/asm-ia64/gcc_intrin.h b/include/asm-ia64/gcc_intrin.h index a2274aa3f..d3d94e85c 100644 --- a/include/asm-ia64/gcc_intrin.h +++ b/include/asm-ia64/gcc_intrin.h @@ -4,9 +4,10 @@ * * Copyright (C) 2002,2003 Jun Nakajima * Copyright (C) 2002,2003 Suresh Siddha - * */ +#include + /* define this macro to get some asm stmts included in 'c' files */ #define ASM_SUPPORTED @@ -23,7 +24,7 @@ extern void ia64_bad_param_for_setreg (void); extern void ia64_bad_param_for_getreg (void); -register unsigned long ia64_r13 asm ("r13"); +register unsigned long ia64_r13 asm ("r13") __attribute_used__; #define ia64_setreg(regnum, val) \ ({ \ @@ -377,9 +378,16 @@ register unsigned long ia64_r13 asm ("r13"); }) #define ia64_srlz_i() asm volatile (";; srlz.i ;;" ::: "memory") - #define ia64_srlz_d() asm volatile (";; srlz.d" ::: "memory"); +#ifdef HAVE_SERIALIZE_DIRECTIVE +# define ia64_dv_serialize_data() asm volatile (".serialize.data"); +# define ia64_dv_serialize_instruction() asm volatile (".serialize.instruction"); +#else +# define ia64_dv_serialize_data() +# define ia64_dv_serialize_instruction() +#endif + #define ia64_nop(x) asm volatile ("nop %0"::"i"(x)); #define ia64_itci(addr) asm volatile ("itc.i %0;;" :: "r"(addr) : "memory")