Botan  1.11.15
Defines
src/lib/utils/asm_x86_64/asm_x86_64.h File Reference

Go to the source code of this file.

Defines

#define ADD(TO, FROM)   add FROM, TO
#define ADD3_IMM(TO, FROM, NUM)   lea NUM(TO,FROM,1), TO
#define ADD_IMM(TO, NUM)   ADD(TO, IMM(NUM))
#define ADD_LAST_CARRY(REG)   adc IMM(0), REG
#define ADD_W_CARRY(TO1, TO2, FROM)   add FROM, TO1; adc IMM(0), TO2;
#define ALIGN   .p2align 4,,15
#define AND(TO, FROM)   and FROM, TO
#define ARG_1   R7
#define ARG_2   R6
#define ARG_2_32   R6_32
#define ARG_3   R3
#define ARG_3_32   R3_32
#define ARG_4   R2
#define ARG_4_32   R2_32
#define ARG_5   R8
#define ARG_6   R9
#define ARG_6_32   R9_32
#define ARRAY4(REG, NUM)   4*(NUM)(REG)
#define ARRAY8(REG, NUM)   8*(NUM)(REG)
#define ASSIGN(TO, FROM)   mov FROM, TO
#define END_FUNCTION(func_name)   ret
#define IMM(VAL)   $VAL
#define JUMP_IF_LT(REG, NUM, LABEL)
#define JUMP_IF_ZERO(REG, LABEL)
#define MUL(REG)   mul REG
#define NOT(REG)   not REG
#define OR(TO, FROM)   or FROM, TO
#define R0   %rax
#define R1   %rbx
#define R10   %r10
#define R11   %r11
#define R12   %r12
#define R13   %r13
#define R14   %r14
#define R15   %r15
#define R16   %r16
#define R2   %rcx
#define R2_32   %ecx
#define R3   %rdx
#define R3_32   %edx
#define R4   %rsp
#define R5   %rbp
#define R6   %rsi
#define R6_32   %esi
#define R7   %rdi
#define R8   %r8
#define R9   %r9
#define R9_32   %r9d
#define RETURN_VALUE_IS(V)   ASSIGN(%rax, V)
#define ROTL_IMM(REG, NUM)   rol IMM(NUM), REG
#define ROTR_IMM(REG, NUM)   ror IMM(NUM), REG
#define START_FUNCTION(func_name)
#define START_LISTING(FILENAME)
#define SUB_IMM(TO, NUM)   sub IMM(NUM), TO
#define TEMP_1   R10
#define TEMP_2   R11
#define TEMP_3   ARG_6
#define TEMP_4   ARG_5
#define TEMP_5   ARG_4
#define TEMP_5_32   ARG_4_32
#define TEMP_6   ARG_3
#define TEMP_7   ARG_2
#define TEMP_8   ARG_1
#define TEMP_9   R0
#define XOR(TO, FROM)   xor FROM, TO
#define ZEROIZE(REG)   XOR(REG, REG)

Define Documentation

#define ADD (   TO,
  FROM 
)    add FROM, TO

Definition at line 108 of file asm_x86_64.h.

#define ADD3_IMM (   TO,
  FROM,
  NUM 
)    lea NUM(TO,FROM,1), TO

Definition at line 125 of file asm_x86_64.h.

#define ADD_IMM (   TO,
  NUM 
)    ADD(TO, IMM(NUM))

Definition at line 110 of file asm_x86_64.h.

#define ADD_LAST_CARRY (   REG)    adc IMM(0), REG

Definition at line 109 of file asm_x86_64.h.

#define ADD_W_CARRY (   TO1,
  TO2,
  FROM 
)    add FROM, TO1; adc IMM(0), TO2;

Definition at line 111 of file asm_x86_64.h.

#define ALIGN   .p2align 4,,15

Definition at line 14 of file asm_x86_64.h.

#define AND (   TO,
  FROM 
)    and FROM, TO

Definition at line 116 of file asm_x86_64.h.

#define ARG_1   R7

Definition at line 73 of file asm_x86_64.h.

#define ARG_2   R6

Definition at line 74 of file asm_x86_64.h.

#define ARG_2_32   R6_32

Definition at line 75 of file asm_x86_64.h.

#define ARG_3   R3

Definition at line 76 of file asm_x86_64.h.

#define ARG_3_32   R3_32

Definition at line 77 of file asm_x86_64.h.

#define ARG_4   R2

Definition at line 78 of file asm_x86_64.h.

#define ARG_4_32   R2_32

Definition at line 79 of file asm_x86_64.h.

#define ARG_5   R8

Definition at line 80 of file asm_x86_64.h.

#define ARG_6   R9

Definition at line 81 of file asm_x86_64.h.

#define ARG_6_32   R9_32

Definition at line 82 of file asm_x86_64.h.

#define ARRAY4 (   REG,
  NUM 
)    4*(NUM)(REG)

Definition at line 99 of file asm_x86_64.h.

#define ARRAY8 (   REG,
  NUM 
)    8*(NUM)(REG)

Definition at line 98 of file asm_x86_64.h.

#define ASSIGN (   TO,
  FROM 
)    mov FROM, TO

Definition at line 101 of file asm_x86_64.h.

#define END_FUNCTION (   func_name)    ret

Definition at line 34 of file asm_x86_64.h.

#define IMM (   VAL)    $VAL

Definition at line 106 of file asm_x86_64.h.

#define JUMP_IF_LT (   REG,
  NUM,
  LABEL 
)
Value:
cmp IMM(NUM), REG;               \
   jl LABEL

Definition at line 44 of file asm_x86_64.h.

#define JUMP_IF_ZERO (   REG,
  LABEL 
)
Value:
cmp IMM(0), REG;              \
   jz LABEL

Definition at line 40 of file asm_x86_64.h.

#define MUL (   REG)    mul REG

Definition at line 113 of file asm_x86_64.h.

#define NOT (   REG)    not REG

Definition at line 118 of file asm_x86_64.h.

#define OR (   TO,
  FROM 
)    or FROM, TO

Definition at line 117 of file asm_x86_64.h.

#define R0   %rax

Definition at line 51 of file asm_x86_64.h.

Referenced by Botan::RC2::decrypt_n(), and Botan::RC2::encrypt_n().

#define R1   %rbx
#define R10   %r10

Definition at line 65 of file asm_x86_64.h.

#define R11   %r11

Definition at line 66 of file asm_x86_64.h.

#define R12   %r12

Definition at line 67 of file asm_x86_64.h.

#define R13   %r13

Definition at line 68 of file asm_x86_64.h.

#define R14   %r14

Definition at line 69 of file asm_x86_64.h.

#define R15   %r15

Definition at line 70 of file asm_x86_64.h.

#define R16   %r16

Definition at line 71 of file asm_x86_64.h.

#define R2   %rcx
#define R2_32   %ecx

Definition at line 54 of file asm_x86_64.h.

#define R3   %rdx
#define R3_32   %edx

Definition at line 56 of file asm_x86_64.h.

#define R4   %rsp

Definition at line 57 of file asm_x86_64.h.

#define R5   %rbp

Definition at line 58 of file asm_x86_64.h.

#define R6   %rsi

Definition at line 59 of file asm_x86_64.h.

#define R6_32   %esi

Definition at line 60 of file asm_x86_64.h.

#define R7   %rdi

Definition at line 61 of file asm_x86_64.h.

#define R8   %r8

Definition at line 62 of file asm_x86_64.h.

#define R9   %r9

Definition at line 63 of file asm_x86_64.h.

#define R9_32   %r9d

Definition at line 64 of file asm_x86_64.h.

#define RETURN_VALUE_IS (   V)    ASSIGN(%rax, V)

Definition at line 121 of file asm_x86_64.h.

#define ROTL_IMM (   REG,
  NUM 
)    rol IMM(NUM), REG

Definition at line 123 of file asm_x86_64.h.

#define ROTR_IMM (   REG,
  NUM 
)    ror IMM(NUM), REG

Definition at line 124 of file asm_x86_64.h.

#define START_FUNCTION (   func_name)
Value:
ALIGN;                         \
   .global  func_name;            \
   .type    func_name,@function;  \
func_name:

Definition at line 28 of file asm_x86_64.h.

#define START_LISTING (   FILENAME)
Value:
.file #FILENAME;             \
   .text;                       \
   ALIGN;

Definition at line 16 of file asm_x86_64.h.

#define SUB_IMM (   TO,
  NUM 
)    sub IMM(NUM), TO

Definition at line 112 of file asm_x86_64.h.

#define TEMP_1   R10

Definition at line 84 of file asm_x86_64.h.

#define TEMP_2   R11

Definition at line 85 of file asm_x86_64.h.

#define TEMP_3   ARG_6

Definition at line 86 of file asm_x86_64.h.

#define TEMP_4   ARG_5

Definition at line 87 of file asm_x86_64.h.

#define TEMP_5   ARG_4

Definition at line 88 of file asm_x86_64.h.

#define TEMP_5_32   ARG_4_32

Definition at line 89 of file asm_x86_64.h.

#define TEMP_6   ARG_3

Definition at line 90 of file asm_x86_64.h.

#define TEMP_7   ARG_2

Definition at line 91 of file asm_x86_64.h.

#define TEMP_8   ARG_1

Definition at line 92 of file asm_x86_64.h.

#define TEMP_9   R0

Definition at line 93 of file asm_x86_64.h.

#define XOR (   TO,
  FROM 
)    xor FROM, TO

Definition at line 115 of file asm_x86_64.h.

#define ZEROIZE (   REG)    XOR(REG, REG)

Definition at line 119 of file asm_x86_64.h.