Blame view

kernel/linux-rt-4.4.41/arch/arm/include/asm/compiler.h 939 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  #ifndef __ASM_ARM_COMPILER_H
  #define __ASM_ARM_COMPILER_H
  
  /*
   * This is used to ensure the compiler did actually allocate the register we
   * asked it for some inline assembly sequences.  Apparently we can't trust
   * the compiler from one version to another so a bit of paranoia won't hurt.
   * This string is meant to be concatenated with the inline asm string and
   * will cause compilation to stop on mismatch.
   * (for details, see gcc PR 15089)
   * For compatibility with clang, we have to specifically take the equivalence
   * of 'r11' <-> 'fp' and 'r12' <-> 'ip' into account as well.
   */
  #define __asmeq(x, y)				\
  	".ifnc " x "," y "; "			\
  	  ".ifnc " x y ",fpr11; " 		\
  	    ".ifnc " x y ",r11fp; "		\
  	      ".ifnc " x y ",ipr12; " 		\
  	        ".ifnc " x y ",r12ip; "		\
  	          ".err; "			\
  	        ".endif; "			\
  	      ".endif; "			\
  	    ".endif; "				\
  	  ".endif; "				\
  	".endif
  \t"
  
  
  #endif /* __ASM_ARM_COMPILER_H */