Ruby  2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
Macros
asm.h File Reference

Go to the source code of this file.

Macros

#define ASM_GLOBAL_DIRECTIVE   .globl
 
#define C_SYMBOL_NAME(name)   name
 
#define C_LABEL(name)   name:
 
#define ALIGNARG(log2)   log2
 
#define ASM_TYPE_DIRECTIVE(name, typearg)   .type name,typearg;
 
#define ASM_SIZE_DIRECTIVE(name)   .size name,.-name
 
#define CALL_MCOUNT   /* Do nothing. */
 
#define ENTRY(name)
 
#define EALIGN_W_0   /* No words to insert. */
 
#define EALIGN_W_1   nop
 
#define EALIGN_W_2   nop;nop
 
#define EALIGN_W_3   nop;nop;nop
 
#define EALIGN_W_4   EALIGN_W_3;nop
 
#define EALIGN_W_5   EALIGN_W_4;nop
 
#define EALIGN_W_6   EALIGN_W_5;nop
 
#define EALIGN_W_7   EALIGN_W_6;nop
 
#define EALIGN(name, alignt, words)
 
#define END(name)    ASM_SIZE_DIRECTIVE(name)
 
#define JUMPTARGET(name)   name
 
#define L(x)   .L##x
 

Macro Definition Documentation

◆ ALIGNARG

#define ALIGNARG (   log2)    log2

Definition at line 38 of file asm.h.

◆ ASM_GLOBAL_DIRECTIVE

#define ASM_GLOBAL_DIRECTIVE   .globl

Definition at line 26 of file asm.h.

◆ ASM_SIZE_DIRECTIVE

#define ASM_SIZE_DIRECTIVE (   name)    .size name,.-name

Definition at line 41 of file asm.h.

◆ ASM_TYPE_DIRECTIVE

#define ASM_TYPE_DIRECTIVE (   name,
  typearg 
)    .type name,typearg;

Definition at line 40 of file asm.h.

◆ C_LABEL

#define C_LABEL (   name)    name:

Definition at line 34 of file asm.h.

◆ C_SYMBOL_NAME

#define C_SYMBOL_NAME (   name)    name

Definition at line 29 of file asm.h.

◆ CALL_MCOUNT

#define CALL_MCOUNT   /* Do nothing. */

Definition at line 74 of file asm.h.

◆ EALIGN

#define EALIGN (   name,
  alignt,
  words 
)
Value:
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(alignt); \
EALIGN_W_##words; \
C_LABEL(name)

Definition at line 107 of file asm.h.

◆ EALIGN_W_0

#define EALIGN_W_0   /* No words to insert. */

Definition at line 84 of file asm.h.

◆ EALIGN_W_1

#define EALIGN_W_1   nop

Definition at line 85 of file asm.h.

◆ EALIGN_W_2

#define EALIGN_W_2   nop;nop

Definition at line 86 of file asm.h.

◆ EALIGN_W_3

#define EALIGN_W_3   nop;nop;nop

Definition at line 87 of file asm.h.

◆ EALIGN_W_4

#define EALIGN_W_4   EALIGN_W_3;nop

Definition at line 88 of file asm.h.

◆ EALIGN_W_5

#define EALIGN_W_5   EALIGN_W_4;nop

Definition at line 89 of file asm.h.

◆ EALIGN_W_6

#define EALIGN_W_6   EALIGN_W_5;nop

Definition at line 90 of file asm.h.

◆ EALIGN_W_7

#define EALIGN_W_7   EALIGN_W_6;nop

Definition at line 91 of file asm.h.

◆ END

#define END (   name)     ASM_SIZE_DIRECTIVE(name)

Definition at line 115 of file asm.h.

◆ ENTRY

#define ENTRY (   name)
Value:
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(2); \
C_LABEL(name) \
CALL_MCOUNT

Definition at line 77 of file asm.h.

◆ JUMPTARGET

#define JUMPTARGET (   name)    name

Definition at line 121 of file asm.h.

◆ L

#define L (   x)    .L##x

Definition at line 125 of file asm.h.

ASM_GLOBAL_DIRECTIVE
#define ASM_GLOBAL_DIRECTIVE
Definition: asm.h:26
C_SYMBOL_NAME
#define C_SYMBOL_NAME(name)
Definition: asm.h:29
ALIGNARG
#define ALIGNARG(log2)
Definition: asm.h:38
name
const char * name
Definition: nkf.c:208