#define ASSEMBLER #include "common.h" /* .file "cdot.c" .abiversion 2 .section ".text" .align 2 .p2align 4,,15 .globl cdot_k .type cdot_k, @function */ PROLOGUE cdot_k: .LCF0: 0: mr. 9,3 ble 0,.L10 cmpdi 7,5,1 beq 7,.L18 .L3: mtctr 9 xxlxor 2,2,2 sldi 5,5,3 sldi 7,7,3 #ifdef CONJ fmr 12,2 #endif fmr 8,2 #ifndef CONJ fmr 9,2 #endif fmr 1,2 .p2align 4,,15 .L9: #ifdef CONJ lfs 9,0(4) lfs 11,0(6) lfs 10,4(6) lfs 0,4(4) add 6,6,7 add 4,4,5 fmadds 1,9,11,1 fmadds 12,9,10,12 fmadds 8,0,10,8 fmadds 2,11,0,2 #else lfs 10,0(4) lfs 12,0(6) lfs 11,4(6) lfs 0,4(4) add 6,6,7 add 4,4,5 fmadds 1,10,12,1 fmadds 8,10,11,8 fmadds 9,0,11,9 fmadds 2,12,0,2 #endif bdnz .L9 .L7: #ifdef CONJ fsubs 2,12,2 fadds 1,1,8 #else fadds 2,2,8 fsubs 1,1,9 #endif blr .p2align 4,,15 .L18: cmpdi 7,7,1 bne 7,.L3 rldicr. 10,9,0,60 bne 0,.L19 xxlxor 2,2,2 li 8,0 #ifdef CONJ fmr 12,2 #endif fmr 8,2 #ifndef CONJ fmr 9,2 #endif fmr 1,2 .L4: addi 7,10,1 sldi 8,8,2 subf 10,10,9 cmpd 7,7,9 mtctr 10 add 4,4,8 add 6,6,8 bgt 7,.L16 li 10,-1 rldicr 10,10,0,0 cmpd 7,9,10 beq 7,.L16 .p2align 4,,15 .L8: #ifdef CONJ lfs 9,0(4) lfs 11,0(6) lfs 10,4(6) lfs 0,4(4) addi 6,6,8 addi 4,4,8 fmadds 1,9,11,1 fmadds 12,9,10,12 fmadds 8,0,10,8 fmadds 2,11,0,2 #else lfs 10,0(4) lfs 12,0(6) lfs 11,4(6) lfs 0,4(4) addi 6,6,8 addi 4,4,8 fmadds 1,10,12,1 fmadds 8,10,11,8 fmadds 9,0,11,9 fmadds 2,12,0,2 #endif bdnz .L8 b .L7 .p2align 4,,15 .L10: xxlxor 1,1,1 fmr 2,1 blr .L19: addis 8,2,.LANCHOR0@toc@ha sradi. 3,10,1 xxspltib 42,0 addi 8,8,.LANCHOR0@toc@l lxv 32,0(8) beq 0,.L12 xxlor 6,42,42 xxlor 4,42,42 xxlor 0,42,42 xxlor 7,42,42 xxlor 5,42,42 xxlor 3,42,42 xxlor 12,42,42 mr 7,4 mr 8,6 li 5,0 .p2align 4,,15 .L6: lxv 43,0(8) lxv 44,16(8) addi 5,5,4 addi 8,8,64 addi 7,7,64 lxv 45,-32(8) lxv 33,-16(8) lxv 8,-64(7) lxv 9,-48(7) cmpd 7,3,5 lxv 10,-32(7) lxv 11,-16(7) vpermr 6,11,11,0 vpermr 7,12,12,0 vpermr 8,13,13,0 vpermr 9,1,1,0 xvmaddasp 12,43,8 xvmaddasp 3,44,9 xvmaddasp 0,8,38 xvmaddasp 4,9,39 xvmaddasp 6,10,40 xvmaddasp 5,45,10 xvmaddasp 42,11,41 xvmaddasp 7,33,11 bgt 7,.L6 xvaddsp 12,12,3 xvaddsp 0,0,4 xvaddsp 12,12,5 xvaddsp 0,0,6 xvaddsp 12,12,7 xvaddsp 42,0,42 .L5: #ifdef CONJ xxpermdi 8,12,12,2 xxpermdi 0,42,42,2 cmpd 7,9,10 sldi 8,10,1 xvaddsp 8,8,12 xvaddsp 0,0,42 xxsldwi 1,8,8,3 xxsldwi 12,0,0,3 xxsldwi 8,8,8,2 xxsldwi 0,0,0,2 xscvspdp 1,1 xscvspdp 12,12 xscvspdp 8,8 #else xxpermdi 9,12,12,2 xxpermdi 0,42,42,2 cmpd 7,9,10 sldi 8,10,1 xvaddsp 9,9,12 xvaddsp 0,0,42 xxsldwi 1,9,9,3 xxsldwi 2,0,0,3 xxsldwi 9,9,9,2 xxsldwi 0,0,0,2 xscvspdp 8,2 xscvspdp 1,1 xscvspdp 9,9 #endif xscvspdp 2,0 bgt 7,.L4 b .L7 .L12: xxlor 12,42,42 b .L5 .L16: li 9,1 mtctr 9 b .L8 .long 0 .byte 0,0,0,0,0,0,0,0 .size cdot_k,.-cdot_k .section .rodata .align 4 .set .LANCHOR0,. + 0 .type swap_mask_arr, @object .size swap_mask_arr, 16 swap_mask_arr: .byte 4 .byte 5 .byte 6 .byte 7 .byte 0 .byte 1 .byte 2 .byte 3 .byte 12 .byte 13 .byte 14 .byte 15 .byte 8 .byte 9 .byte 10 .byte 11 .ident "GCC: (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]" .section .note.GNU-stack,"",@progbits