| @@ -0,0 +1,242 @@ | |||
| .file "cdot.c" | |||
| .abiversion 2 | |||
| .section ".text" | |||
| .align 2 | |||
| .p2align 4,,15 | |||
| .globl cdot_k | |||
| .type cdot_k, @function | |||
| cdot_k: | |||
| .LCF0: | |||
| 0: addis 2,12,.TOC.-.LCF0@ha | |||
| addi 2,2,.TOC.-.LCF0@l | |||
| .localentry cdot_k,.-cdot_k | |||
| 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 | |||