/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
.machine	"any"
.abiversion	2
.text
.globl	poly1305_init_int
.type	poly1305_init_int,@function
.align	4
poly1305_init_int:
.localentry	poly1305_init_int,0

	xor	0,0,0
	std	0,0(3)
	std	0,8(3)
	std	0,16(3)
	stw	0,24(3)

	cmpld	4,0
	beq-	.Lno_key
	ld	10,0(4)
	ld	11,8(4)
	lis	8,0xfff
	ori	8,8,0xfffc
	insrdi	8,8,32,0
	ori	7,8,3

	and	10,10,7
	and	11,11,8

	std	10,32(3)
	std	11,40(3)

.Lno_key:
	xor	3,3,3
	blr	
.long	0
.byte	0,12,0x14,0,0,0,2,0
.size	poly1305_init_int,.-poly1305_init_int

.globl	poly1305_blocks
.type	poly1305_blocks,@function
.align	4
poly1305_blocks:
.localentry	poly1305_blocks,0

.Lpoly1305_blocks:
	srdi.	5,5,4
	beq-	.Labort

	stdu	1,-192(1)
	mflr	0
	std	27,152(1)
	std	28,160(1)
	std	29,168(1)
	std	30,176(1)
	std	31,184(1)
	std	0,208(1)

	ld	27,32(3)
	ld	28,40(3)

	ld	7,0(3)
	ld	8,8(3)
	ld	9,16(3)

	srdi	29,28,2
	mtctr	5
	add	29,29,28
	li	0,3
	b	.Loop

.align	4
.Loop:
	ld	30,0(4)
	ld	31,8(4)
	addi	4,4,16

	addc	7,7,30
	adde	8,8,31

	mulld	10,7,27
	mulhdu	11,7,27
	adde	9,9,6

	mulld	30,8,29
	mulhdu	31,8,29
	addc	10,10,30
	adde	11,11,31

	mulld	30,7,28
	mulhdu	12,7,28
	addc	11,11,30
	addze	12,12

	mulld	30,8,27
	mulhdu	31,8,27
	addc	11,11,30
	adde	12,12,31

	mulld	30,9,29
	mulld	31,9,27
	addc	11,11,30
	adde	12,12,31

	andc	30,12,0
	and	9,12,0
	srdi	31,30,2
	add	30,30,31
	addc	7,10,30
	addze	8,11
	addze	9,9

	bdnz	.Loop

	std	7,0(3)
	std	8,8(3)
	std	9,16(3)

	ld	27,152(1)
	ld	28,160(1)
	ld	29,168(1)
	ld	30,176(1)
	ld	31,184(1)
	addi	1,1,192
.Labort:
	blr	
.long	0
.byte	0,12,4,1,0x80,5,4,0
.size	poly1305_blocks,.-poly1305_blocks
.globl	poly1305_emit
.type	poly1305_emit,@function
.align	5
poly1305_emit:
.localentry	poly1305_emit,0

	lwz	7,0(3)
	lwz	8,4(3)
	lwz	9,8(3)
	lwz	10,12(3)
	lwz	11,16(3)
	lwz	0,24(3)

	sldi	8,8,26
	sldi	12,9,52
	srdi	9,9,12
	sldi	10,10,14
	add	7,7,8
	addc	7,7,12
	sldi	12,11,40
	srdi	11,11,24
	adde	8,9,10
	addc	8,8,12
	addze	9,11

	ld	10,0(3)
	ld	11,8(3)
	ld	12,16(3)

	neg	0,0
	xor	7,7,10
	xor	8,8,11
	xor	9,9,12
	and	7,7,0
	and	8,8,0
	and	9,9,0
	xor	7,7,10
	xor	8,8,11
	xor	9,9,12

	addic	10,7,5
	addze	11,8
	addze	12,9

	srdi	12,12,2
	neg	12,12

	andc	7,7,12
	and	10,10,12
	andc	8,8,12
	and	11,11,12
	or	7,7,10
	or	8,8,11

	lwz	12,4(5)
	lwz	9,12(5)
	lwz	10,0(5)
	lwz	11,8(5)

	insrdi	10,12,32,0
	insrdi	11,9,32,0

	addc	7,7,10
	adde	8,8,11

	addi	3,4,-1
	addi	4,4,7

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	srdi	7,7,8
	stbu	8,1(4)
	srdi	8,8,8

	stbu	7,1(3)
	stbu	8,1(4)

	blr	
.long	0
.byte	0,12,0x14,0,0,0,3,0
.size	poly1305_emit,.-poly1305_emit
.globl	poly1305_blocks_vsx
.type	poly1305_blocks_vsx,@function
.align	5
poly1305_blocks_vsx:
.localentry	poly1305_blocks_vsx,0

	lwz	7,24(3)
	cmpldi	5,128
	bge	__poly1305_blocks_vsx

	neg	0,7
	lwz	7,0(3)
	lwz	8,4(3)
	lwz	9,8(3)
	lwz	10,12(3)
	lwz	11,16(3)

	sldi	8,8,26
	sldi	12,9,52
	add	7,7,8
	srdi	9,9,12
	sldi	10,10,14
	addc	7,7,12
	sldi	8,11,40
	adde	9,9,10
	srdi	11,11,24
	addc	9,9,8
	addze	11,11

	ld	8,0(3)
	ld	10,8(3)
	ld	12,16(3)

	xor	7,7,8
	xor	9,9,10
	xor	11,11,12
	and	7,7,0
	and	9,9,0
	and	11,11,0
	xor	7,7,8
	xor	9,9,10
	xor	11,11,12

	li	0,0
	std	7,0(3)
	std	9,8(3)
	std	11,16(3)
	stw	0,24(3)

	b	.Lpoly1305_blocks
.long	0
.byte	0,12,0x14,0,0,0,4,0
.size	poly1305_blocks_vsx,.-poly1305_blocks_vsx

.align	5
__poly1305_mul:
	mulld	9,6,27
	mulhdu	10,6,27

	mulld	30,7,29
	mulhdu	31,7,29
	addc	9,9,30
	adde	10,10,31

	mulld	30,6,28
	mulhdu	11,6,28
	addc	10,10,30
	addze	11,11

	mulld	30,7,27
	mulhdu	31,7,27
	addc	10,10,30
	adde	11,11,31

	mulld	30,8,29
	mulld	31,8,27
	addc	10,10,30
	adde	11,11,31

	andc	30,11,0
	and	8,11,0
	srdi	31,30,2
	add	30,30,31
	addc	6,9,30
	addze	7,10
	addze	8,8

	blr	
.long	0
.byte	0,12,0x14,0,0,0,0,0
.size	__poly1305_mul,.-__poly1305_mul

.align	5
__poly1305_splat:
	rldicl	9,6,0,38
	rldicl	10,6,38,38
	stw	9,0x00(31)

	rldicl	11,6,12,52
	slwi	9,10,2
	stw	10,0x10(31)
	add	9,9,10
	stw	9,0x20(31)

	insrdi	11,7,14,38
	slwi	9,11,2
	stw	11,0x30(31)
	add	9,9,11
	stw	9,0x40(31)

	rldicl	10,7,50,38
	rldicl	11,7,24,40
	slwi	9,10,2
	stw	10,0x50(31)
	add	9,9,10
	stw	9,0x60(31)

	insrdi	11,8,3,37
	slwi	9,11,2
	stw	11,0x70(31)
	add	9,9,11
	stw	9,0x80(31)

	blr	
.long	0
.byte	0,12,0x14,0,0,0,0,0
.size	__poly1305_splat,.-__poly1305_splat

.align	5
__poly1305_blocks_vsx:
	stdu	1,-432(1)
	mflr	0
	li	10,191
	li	11,207
	li	12,-1
	stvx	20,10,1
	addi	10,10,32
	stvx	21,11,1
	addi	11,11,32
	stvx	22,10,1
	addi	10,10,32
	stvx	23,10,1
	addi	10,10,32
	stvx	24,11,1
	addi	11,11,32
	stvx	25,10,1
	addi	10,10,32
	stvx	26,10,1
	addi	10,10,32
	stvx	27,11,1
	addi	11,11,32
	stvx	28,10,1
	addi	10,10,32
	stvx	29,11,1
	addi	11,11,32
	stvx	30,10,1
	stvx	31,11,1
	stw	12,388(1)
	li	12,-1
	or	12,12,12
	std	27,392(1)
	std	28,400(1)
	std	29,408(1)
	std	30,416(1)
	std	31,424(1)
	std	0,448(1)

	bl	.LPICmeup

	li	27,0x10
	li	28,0x20
	li	29,0x30
	li	30,0x40
	li	31,0x50
	.long	0x7FA06699
	.long	0x7F3B6699
	.long	0x7F7C6699
	.long	0x7FFD6699
	.long	0x7FDE6699

	cmplwi	7,0
	bne	.Lskip_init_vsx

	ld	27,32(3)
	ld	28,40(3)
	srdi	29,28,2
	li	0,3
	add	29,29,28

	mr	6,27
	mr	7,28
	li	8,0
	addi	31,3,60
	bl	__poly1305_splat

	bl	__poly1305_mul
	addi	31,3,52
	bl	__poly1305_splat

	bl	__poly1305_mul
	addi	31,3,56
	bl	__poly1305_splat

	bl	__poly1305_mul
	addi	31,3,48
	bl	__poly1305_splat

	ld	6,0(3)
	ld	7,8(3)
	ld	8,16(3)

	rldicl	9,6,0,38
	rldicl	10,6,38,38
	rldicl	11,6,12,52
	.long	0x7C0901E7
	insrdi	11,7,14,38
	.long	0x7C2A01E7
	rldicl	10,7,50,38
	.long	0x7C4B01E7
	rldicl	11,7,24,40
	.long	0x7C6A01E7
	insrdi	11,8,3,37
	.long	0x7C8B01E7
	li	0,1
	stw	0,24(3)
	b	.Loaded_vsx

.align	4
.Lskip_init_vsx:
	li	27,4
	li	28,8
	li	29,12
	li	30,16
	.long	0x7C001819
	.long	0x7C3B1819
	.long	0x7C5C1819
	.long	0x7C7D1819
	.long	0x7C9E1819

.Loaded_vsx:
	li	27,0x10
	li	28,0x20
	li	29,0x30
	li	30,0x40
	li	31,0x50
	li	7,0x60
	li	8,0x70
	addi	10,3,64
	addi	11,1,63

	vxor	20,20,20
	.long	0xF000A057
	.long	0xF021A057
	.long	0xF042A057
	.long	0xF063A057
	.long	0xF084A057


	.long	0x7EA02699
	.long	0x7EDB2699
	.long	0x7EFC2699
	.long	0x7F1D2699





	.long	0xF0B5B057
	vspltisb	26,4
	vperm	7,21,22,31
	vspltisb	28,14
	.long	0xF115B357

	.long	0x10C5CEC4
	.long	0x10E7D6C4
	.long	0x1128DEC4
	.long	0x1108E6C4
	vand	5,5,29
	vand	6,6,29
	vand	7,7,29
	vand	8,8,29

	.long	0xF2B7C057
	vperm	22,23,24,31
	.long	0xF2F7C357

	.long	0x1295CEC4
	.long	0x12D6D6C4
	.long	0x1317DEC4
	.long	0x12F7E6C4
	vand	21,21,29
	vand	20,20,29
	vand	22,22,29
	vand	23,23,29


	.long	0x11384E8C
	.long	0x10B52E8C
	.long	0x10D4368C
	.long	0x10F63E8C
	.long	0x1117468C
	vor	9,9,30

	.long	0x7D5D1A99
	.long	0x7D605299
	.long	0x7D9B5299
	.long	0x7DBC5299
	.long	0x7DDD5299
	.long	0x7EBE5299
	.long	0x7EDF5299
	.long	0x7EE75299
	.long	0x7F085299
	stvx	11,0,11
	stvx	12,27,11
	stvx	13,28,11
	stvx	14,29,11
	stvx	21,30,11
	stvx	22,31,11
	stvx	23,7,11
	stvx	24,8,11

	addi	4,4,0x40
	addi	12,12,0x50
	addi	0,5,-64
	srdi	0,0,6
	mtctr	0
	b	.Loop_vsx

.align	4
.Loop_vsx:














	.long	0x11E55288
	.long	0x12055A88
	.long	0x12256A88
	.long	0x12466A88

	.long	0x12865288
	.long	0x1210A0C0
	.long	0x12865A88
	.long	0x1231A0C0
	.long	0x12676A88
	.long	0x12896288
	.long	0x11EFA0C0
	.long	0x12875A88
	.long	0x1252A0C0
	lvx	12,31,11
	.long	0x12885A88
	.long	0x1273A0C0
	lvx	11,30,11

	.long	0x104238C0
	.long	0x100028C0
	.long	0x106340C0
	.long	0x102130C0
	.long	0x108448C0

	.long	0x12887288
	.long	0x11EFA0C0
	.long	0x12897288
	.long	0x1210A0C0
	.long	0x12875288
	.long	0x1231A0C0
	.long	0x12885288
	.long	0x1252A0C0
	lvx	14,8,11
	.long	0x12895288
	.long	0x1273A0C0
	lvx	13,7,11

	.long	0x12876288
	.long	0x11EFA0C0
	.long	0x12886288
	.long	0x1210A0C0
	.long	0x12896288
	.long	0x1231A0C0
	.long	0x12855A88
	.long	0x1252A0C0
	.long	0x12865A88
	.long	0x1273A0C0


	.long	0x7EA02699
	.long	0x7EDB2699
	.long	0x7EFC2699
	.long	0x7F1D2699





	.long	0x12867288
	.long	0x11EFA0C0
	.long	0x12877288
	.long	0x1210A0C0
	.long	0x12887288
	.long	0x1231A0C0
	.long	0x12897288
	.long	0x1252A0C0
	.long	0x12856A88
	.long	0x1273A0C0

	.long	0xF0B5B057
	vspltisb	26,4
	vperm	7,21,22,31
	.long	0xF115B357


	.long	0x12805088
	.long	0x11EFA0C0
	.long	0x12815088
	.long	0x1210A0C0
	.long	0x12825088
	.long	0x1231A0C0
	.long	0x12835088
	.long	0x1252A0C0
	.long	0x12845088
	.long	0x1273A0C0

	.long	0xF2B7C057
	vperm	22,23,24,31
	.long	0xF2F7C357

	.long	0x12826088
	.long	0x11EFA0C0
	.long	0x12836088
	.long	0x1210A0C0
	.long	0x12846088
	.long	0x1231A0C0
	.long	0x12805888
	.long	0x1252A0C0
	lvx	12,27,11
	.long	0x12815888
	.long	0x1273A0C0
	lvx	11,0,11

	.long	0x10C5CEC4
	.long	0x10E7D6C4
	.long	0x1128DEC4
	.long	0x1108E6C4

	.long	0x12817088
	.long	0x11EFA0C0
	.long	0x12827088
	.long	0x1210A0C0
	.long	0x12837088
	.long	0x1231A0C0
	.long	0x12847088
	.long	0x1252A0C0
	lvx	14,29,11
	.long	0x12806888
	.long	0x1273A0C0
	lvx	13,28,11

	vand	5,5,29
	vand	6,6,29
	vand	7,7,29
	vand	8,8,29

	.long	0x12846088
	.long	0x11EFA0C0
	.long	0x12805888
	.long	0x1210A0C0
	.long	0x12815888
	.long	0x1231A0C0
	.long	0x12825888
	.long	0x1252A0C0
	.long	0x12835888
	.long	0x1273A0C0

	.long	0x12D6D6C4
	.long	0x1355CEC4
	.long	0x1317DEC4
	.long	0x12F7E6C4

	.long	0x12837088
	.long	0x11EFA0C0
	.long	0x12847088
	.long	0x1210A0C0
	.long	0x12806888
	.long	0x1231A0C0
	.long	0x12816888
	.long	0x1252A0C0
	.long	0x12826888
	.long	0x1273A0C0

	vand	21,21,29
	vand	26,26,29
	vand	22,22,29
	vand	23,23,29





	vspltisb	20,2
	.long	0x1092CEC4
	.long	0x102FCEC4
	vand	3,18,29
	vand	0,15,29
	.long	0x108498C0
	.long	0x102180C0

	.long	0x11384E8C
	.long	0x10B52E8C
	.long	0x10DA368C
	.long	0x10F63E8C
	.long	0x1117468C
	vor	9,9,30

	.long	0x1264CEC4
	.long	0x1201CEC4
	vand	4,4,29
	vand	1,1,29
	.long	0x100098C0
	.long	0x105180C0

	.long	0x1273A5C4
	.long	0x1222CEC4
	vand	2,2,29
	.long	0x100098C0
	.long	0x106388C0

	.long	0x11E0CEC4
	.long	0x1243CEC4
	vand	0,0,29
	vand	3,3,29
	.long	0x102178C0
	.long	0x108490C0

	addi	4,4,0x40
	bdnz	.Loop_vsx

	neg	5,5
	andi.	5,5,0x30
	sub	4,4,5

	.long	0x7D5D1E99
	.long	0x7D605699
	.long	0x7D9B5699
	.long	0x7DBC5699
	.long	0x7DDD5699

.Last_vsx:
	.long	0x11E55288
	.long	0x12065288
	.long	0x12275288
	.long	0x12485288
	.long	0x12695288

	.long	0x12896288
	.long	0x11EFA0C0
	.long	0x12855A88
	.long	0x1210A0C0
	.long	0x12865A88
	.long	0x1231A0C0
	.long	0x12875A88
	.long	0x1252A0C0
	.long	0x7D9F5699
	.long	0x12885A88
	.long	0x1273A0C0
	.long	0x7D7E5699

	.long	0x104238C0
	.long	0x100028C0
	.long	0x106340C0
	.long	0x102130C0
	.long	0x108448C0

	.long	0x12887288
	.long	0x11EFA0C0
	.long	0x12897288
	.long	0x1210A0C0
	.long	0x12856A88
	.long	0x1231A0C0
	.long	0x12866A88
	.long	0x1252A0C0
	.long	0x7DC85699
	.long	0x12876A88
	.long	0x1273A0C0
	.long	0x7DA75699

	.long	0x12876288
	.long	0x11EFA0C0
	.long	0x12886288
	.long	0x1210A0C0
	.long	0x12896288
	.long	0x1231A0C0
	.long	0x12855A88
	.long	0x1252A0C0
	.long	0x12865A88
	.long	0x1273A0C0

	.long	0x12867288
	.long	0x11EFA0C0
	.long	0x12877288
	.long	0x1210A0C0
	.long	0x12887288
	.long	0x1231A0C0
	.long	0x12897288
	.long	0x1252A0C0
	.long	0x12856A88
	.long	0x1273A0C0


	.long	0x12805088
	.long	0x11EFA0C0
	.long	0x12815088
	.long	0x1210A0C0
	.long	0x12825088
	.long	0x1231A0C0
	.long	0x12835088
	.long	0x1252A0C0
	.long	0x12845088
	.long	0x1273A0C0

	.long	0x12826088
	.long	0x11EFA0C0
	.long	0x12836088
	.long	0x1210A0C0
	.long	0x12846088
	.long	0x1231A0C0
	.long	0x12805888
	.long	0x1252A0C0
	.long	0x7D9B5699
	.long	0x12815888
	.long	0x1273A0C0
	.long	0x7D605699

	.long	0x12817088
	.long	0x11EFA0C0
	.long	0x12827088
	.long	0x1210A0C0
	.long	0x12837088
	.long	0x1231A0C0
	.long	0x12847088
	.long	0x1252A0C0
	.long	0x7DDD5699
	.long	0x12806888
	.long	0x1273A0C0
	.long	0x7DBC5699

	.long	0x12846088
	.long	0x11EFA0C0
	.long	0x12805888
	.long	0x1210A0C0
	.long	0x12815888
	.long	0x1231A0C0
	.long	0x12825888
	.long	0x1252A0C0
	.long	0x12835888
	.long	0x1273A0C0

	.long	0x12837088
	.long	0x11EFA0C0
	.long	0x12847088
	.long	0x1210A0C0
	.long	0x12806888
	.long	0x1231A0C0
	.long	0x12816888
	.long	0x1252A0C0
	.long	0x12826888
	.long	0x1273A0C0




	.long	0xF00F7A57
	.long	0xF0308257
	.long	0xF0518A57
	.long	0xF0729257
	.long	0xF0939A57
	.long	0x11EF00C0
	.long	0x121008C0
	.long	0x123110C0
	.long	0x125218C0
	.long	0x127320C0




	vspltisb	20,2
	.long	0x1092CEC4
	.long	0x102FCEC4
	vand	3,18,29
	vand	0,15,29
	.long	0x108498C0
	.long	0x102180C0

	.long	0x1264CEC4
	.long	0x1201CEC4
	vand	4,4,29
	vand	1,1,29
	.long	0x100098C0
	.long	0x105180C0

	.long	0x1273A5C4
	.long	0x1222CEC4
	vand	2,2,29
	.long	0x100098C0
	.long	0x106388C0

	.long	0x11E0CEC4
	.long	0x1243CEC4
	vand	0,0,29
	vand	3,3,29
	.long	0x102178C0
	.long	0x108490C0

	beq	.Ldone_vsx

	add	6,12,5


	.long	0x7EA02699
	.long	0x7EDB2699
	.long	0x7EFC2699
	.long	0x7F1D2699





	.long	0xF0B5B057
	vspltisb	26,4
	vperm	7,21,22,31
	.long	0xF115B357

	.long	0x10C5CEC4
	.long	0x10E7D6C4
	.long	0x1128DEC4
	.long	0x1108E6C4
	vand	5,5,29
	vand	6,6,29
	vand	7,7,29
	vand	8,8,29

	.long	0xF297C057
	vperm	21,23,24,31
	.long	0xF2D7C357

	.long	0x7DE03699
	.long	0x7E1D3699

	.long	0x12F4CEC4
	.long	0x12B5D6C4
	.long	0x1316DEC4
	.long	0x12D6E6C4
	vand	20,20,29
	vand	23,23,29
	vand	21,21,29
	vand	22,22,29


	.long	0x11384E8C
	.long	0x10B42E8C
	.long	0x10D7368C
	.long	0x10F53E8C
	.long	0x1116468C
	vor	9,9,30

	vperm	0,0,0,15
	vand	5,5,    16
	vperm	1,1,1,15
	vand	6,6,    16
	vperm	2,2,2,15
	vand	7,7,    16
	vperm	3,3,3,15
	vand	8,8,    16
	vperm	4,4,4,15
	vand	9,9,    16

	.long	0x10A500C0
	vxor	0,0,0
	.long	0x10C608C0
	vxor	1,1,1
	.long	0x10E710C0
	vxor	2,2,2
	.long	0x110818C0
	vxor	3,3,3
	.long	0x112920C0
	vxor	4,4,4

	xor.	5,5,5
	b	.Last_vsx

.align	4
.Ldone_vsx:
	ld	0,448(1)
	li	27,4
	li	28,8
	li	29,12
	li	30,16
	.long	0x7C001919
	.long	0x7C3B1919
	.long	0x7C5C1919
	.long	0x7C7D1919
	.long	0x7C9E1919

	lwz	12,388(1)
	mtlr	0
	li	10,191
	li	11,207
	or	12,12,12
	lvx	20,10,1
	addi	10,10,32
	lvx	21,10,1
	addi	10,10,32
	lvx	22,11,1
	addi	11,11,32
	lvx	23,10,1
	addi	10,10,32
	lvx	24,11,1
	addi	11,11,32
	lvx	25,10,1
	addi	10,10,32
	lvx	26,11,1
	addi	11,11,32
	lvx	27,10,1
	addi	10,10,32
	lvx	28,11,1
	addi	11,11,32
	lvx	29,10,1
	addi	10,10,32
	lvx	30,11,1
	lvx	31,10,1
	ld	27,392(1)
	ld	28,400(1)
	ld	29,408(1)
	ld	30,416(1)
	ld	31,424(1)
	addi	1,1,432
	blr	
.long	0
.byte	0,12,0x04,1,0x80,5,4,0
.long	0
.size	__poly1305_blocks_vsx,.-__poly1305_blocks_vsx

.align	6
.LPICmeup:
	mflr	0
	bcl	20,31,$+4
	mflr	12
	addi	12,12,56
	mtlr	0
	blr	
.long	0
.byte	0,12,0x14,0,0,0,0,0
.space	28

.long	0x03ffffff,0x00000000
.long	0x03ffffff,0x00000000
.long	0x0000001a,0x00000000
.long	0x0000001a,0x00000000
.long	0x00000028,0x00000000
.long	0x00000028,0x00000000
.long	0x0e0f0001,0x00000000
.long	0x1e1f1011,0x00000000
.long	0x01000000,0x01000000
.long	0x01000000,0x01000000
.long	0x03020100,0x07060504
.long	0x0b0a0908,0x0f0e0d0c

.long	0x00000000,0x00000000
.long	0x04050607,0x00000000
.long	0x00000000,0x04050607
.long	0x00000000,0x00000000
.long	0x00000000,0x00000000
.long	0x00000000,0x04050607

.long	0x00000000,0xffffffff
.long	0xffffffff,0xffffffff
.long	0x00000000,0xffffffff
.long	0x00000000,0xffffffff
.long	0x00000000,0x00000000
.long	0x00000000,0xffffffff
.byte	80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,64,100,111,116,45,97,115,109,0
.align	2