Home | History | Annotate | Line # | Download | only in powerpc
ghashp8-ppc.S revision 1.1
      1 .machine	"any"
      2 
      3 .text
      4 
      5 .globl	gcm_init_p8
      6 .type	gcm_init_p8,@function
      7 .align	5
      8 gcm_init_p8:
      9 	lis	0,0xfff0
     10 	li	8,0x10
     11 	mfspr	12,256
     12 	li	9,0x20
     13 	mtspr	256,0
     14 	li	10,0x30
     15 .long	0x7D202699
     16 
     17 	vspltisb	8,-16
     18 	vspltisb	5,1
     19 	vaddubm	8,8,8
     20 	vxor	4,4,4
     21 	vor	8,8,5
     22 	vsldoi	8,8,4,15
     23 	vsldoi	6,4,5,1
     24 	vaddubm	8,8,8
     25 	vspltisb	7,7
     26 	vor	8,8,6
     27 	vspltb	6,9,0
     28 	vsl	9,9,5
     29 	vsrab	6,6,7
     30 	vand	6,6,8
     31 	vxor	9,9,6
     32 
     33 	vsldoi	9,9,9,8
     34 	vsldoi	8,4,8,8
     35 	vsldoi	11,4,9,8
     36 	vsldoi	10,9,4,8
     37 
     38 .long	0x7D001F99
     39 .long	0x7D681F99
     40 .long	0x7D291F99
     41 .long	0x7D4A1F99
     42 
     43 	mtspr	256,12
     44 	blr
     45 .long	0
     46 .byte	0,12,0x14,0,0,0,2,0
     47 .long	0
     48 
     49 
     50 .globl	gcm_gmult_p8
     51 .type	gcm_gmult_p8,@function
     52 .align	5
     53 gcm_gmult_p8:
     54 	lis	0,0xfff8
     55 	li	8,0x10
     56 	mfspr	12,256
     57 	li	9,0x20
     58 	mtspr	256,0
     59 	li	10,0x30
     60 .long	0x7C601E99
     61 
     62 .long	0x7D682699
     63 
     64 .long	0x7D292699
     65 
     66 .long	0x7D4A2699
     67 
     68 .long	0x7D002699
     69 
     70 	vxor	4,4,4
     71 
     72 .long	0x10035CC8
     73 .long	0x10234CC8
     74 .long	0x104354C8
     75 
     76 .long	0x10E044C8
     77 
     78 	vsldoi	5,1,4,8
     79 	vsldoi	6,4,1,8
     80 	vxor	0,0,5
     81 	vxor	2,2,6
     82 
     83 	vsldoi	0,0,0,8
     84 	vxor	0,0,7
     85 
     86 	vsldoi	6,0,0,8
     87 .long	0x100044C8
     88 	vxor	6,6,2
     89 	vxor	0,0,6
     90 
     91 
     92 .long	0x7C001F99
     93 
     94 	mtspr	256,12
     95 	blr
     96 .long	0
     97 .byte	0,12,0x14,0,0,0,2,0
     98 .long	0
     99 
    100 
    101 .globl	gcm_ghash_p8
    102 .type	gcm_ghash_p8,@function
    103 .align	5
    104 gcm_ghash_p8:
    105 	lis	0,0xfff8
    106 	li	8,0x10
    107 	mfspr	12,256
    108 	li	9,0x20
    109 	mtspr	256,0
    110 	li	10,0x30
    111 .long	0x7C001E99
    112 
    113 .long	0x7D682699
    114 
    115 .long	0x7D292699
    116 
    117 .long	0x7D4A2699
    118 
    119 .long	0x7D002699
    120 
    121 	vxor	4,4,4
    122 
    123 .long	0x7C602E99
    124 	addi	5,5,16
    125 	subi	6,6,16
    126 
    127 	vxor	3,3,0
    128 	b	.Loop
    129 
    130 .align	5
    131 .Loop:
    132 	subic	6,6,16
    133 .long	0x10035CC8
    134 	subfe.	0,0,0
    135 .long	0x10234CC8
    136 	and	0,0,6
    137 .long	0x104354C8
    138 	add	5,5,0
    139 
    140 .long	0x10E044C8
    141 
    142 	vsldoi	5,1,4,8
    143 	vsldoi	6,4,1,8
    144 	vxor	0,0,5
    145 	vxor	2,2,6
    146 
    147 	vsldoi	0,0,0,8
    148 	vxor	0,0,7
    149 .long	0x7C602E99
    150 	addi	5,5,16
    151 
    152 	vsldoi	6,0,0,8
    153 .long	0x100044C8
    154 
    155 	vxor	6,6,2
    156 	vxor	3,3,6
    157 	vxor	3,3,0
    158 	beq	.Loop
    159 
    160 	vxor	0,0,6
    161 
    162 .long	0x7C001F99
    163 
    164 	mtspr	256,12
    165 	blr
    166 .long	0
    167 .byte	0,12,0x14,0,0,0,4,0
    168 .long	0
    169 
    170 
    171 .byte	71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
    172 .align	2
    173 .align	2
    174