Handle CONJ define for caxpyc
This commit is contained in:
parent
9e7e5c1185
commit
0f942a0fd6
|
@ -1,3 +1,6 @@
|
||||||
|
#define ASSEMBLER
|
||||||
|
#include "common.h"
|
||||||
|
/*
|
||||||
.file "caxpy.c"
|
.file "caxpy.c"
|
||||||
.abiversion 2
|
.abiversion 2
|
||||||
.section ".text"
|
.section ".text"
|
||||||
|
@ -5,6 +8,10 @@
|
||||||
.p2align 4,,15
|
.p2align 4,,15
|
||||||
.globl caxpy_k
|
.globl caxpy_k
|
||||||
.type caxpy_k, @function
|
.type caxpy_k, @function
|
||||||
|
*/
|
||||||
|
|
||||||
|
PROLOGUE
|
||||||
|
|
||||||
caxpy_k:
|
caxpy_k:
|
||||||
.LCF0:
|
.LCF0:
|
||||||
0: addis 2,12,.TOC.-.LCF0@ha
|
0: addis 2,12,.TOC.-.LCF0@ha
|
||||||
|
@ -26,15 +33,24 @@ caxpy_k:
|
||||||
lfs 12,0(10)
|
lfs 12,0(10)
|
||||||
lfs 0,4(10)
|
lfs 0,4(10)
|
||||||
fmuls 10,2,10
|
fmuls 10,2,10
|
||||||
|
#ifdef CONJ
|
||||||
fmsubs 11,11,1,10
|
fmsubs 11,11,1,10
|
||||||
|
#else
|
||||||
|
fmadds 11,11,1,10
|
||||||
|
#endif
|
||||||
fadds 12,12,11
|
fadds 12,12,11
|
||||||
stfs 12,0(10)
|
stfs 12,0(10)
|
||||||
lfs 11,0(8)
|
lfs 11,0(8)
|
||||||
lfs 12,4(8)
|
lfs 12,4(8)
|
||||||
add 8,8,9
|
add 8,8,9
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmsubs 12,12,1,11
|
||||||
|
fsubs 0,0,12
|
||||||
|
#else
|
||||||
fmadds 12,12,1,11
|
fmadds 12,12,1,11
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
|
#endif
|
||||||
stfs 0,4(10)
|
stfs 0,4(10)
|
||||||
add 10,10,7
|
add 10,10,7
|
||||||
bdnz .L14
|
bdnz .L14
|
||||||
|
@ -120,6 +136,28 @@ caxpy_k:
|
||||||
beq 0,.L44
|
beq 0,.L44
|
||||||
.p2align 4,,15
|
.p2align 4,,15
|
||||||
.L11:
|
.L11:
|
||||||
|
#ifdef CONJ
|
||||||
|
lxvd2x 44,3,6
|
||||||
|
lxvd2x 45,3,5
|
||||||
|
lxvd2x 33,9,6
|
||||||
|
lxvd2x 0,9,5
|
||||||
|
xxpermdi 44,44,44,2
|
||||||
|
xxpermdi 45,45,45,2
|
||||||
|
xxpermdi 32,33,33,2
|
||||||
|
xxpermdi 33,0,0,2
|
||||||
|
vperm 11,13,12,10
|
||||||
|
vperm 13,13,12,9
|
||||||
|
vperm 12,1,0,10
|
||||||
|
vperm 1,1,0,9
|
||||||
|
xvmulsp 0,11,43
|
||||||
|
xvmulsp 32,11,45
|
||||||
|
xvmsubmsp 45,12,0
|
||||||
|
xvmaddasp 32,12,43
|
||||||
|
xvaddsp 44,32,44
|
||||||
|
xvsubsp 32,33,45
|
||||||
|
vmrglw 1,0,12
|
||||||
|
vmrghw 0,0,12
|
||||||
|
#else
|
||||||
lxvd2x 45,3,6
|
lxvd2x 45,3,6
|
||||||
lxvd2x 33,3,5
|
lxvd2x 33,3,5
|
||||||
lxvd2x 43,9,6
|
lxvd2x 43,9,6
|
||||||
|
@ -140,6 +178,7 @@ caxpy_k:
|
||||||
xvaddsp 32,33,43
|
xvaddsp 32,33,43
|
||||||
vmrglw 1,0,13
|
vmrglw 1,0,13
|
||||||
vmrghw 0,0,13
|
vmrghw 0,0,13
|
||||||
|
#endif
|
||||||
xxpermdi 0,33,33,2
|
xxpermdi 0,33,33,2
|
||||||
xxpermdi 32,32,32,2
|
xxpermdi 32,32,32,2
|
||||||
stxvd2x 0,9,6
|
stxvd2x 0,9,6
|
||||||
|
@ -162,15 +201,24 @@ caxpy_k:
|
||||||
addi 9,11,2
|
addi 9,11,2
|
||||||
lfsx 11,8,5
|
lfsx 11,8,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmadds 12,12,1,11
|
||||||
|
#else
|
||||||
fmsubs 12,12,1,11
|
fmsubs 12,12,1,11
|
||||||
|
#endif
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
stfsx 0,10,6
|
stfsx 0,10,6
|
||||||
lfsx 11,8,6
|
lfsx 11,8,6
|
||||||
lfsx 12,8,5
|
lfsx 12,8,5
|
||||||
lfsx 0,10,5
|
lfsx 0,10,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmsubs 12,12,1,11
|
||||||
|
fsubs 0,0,12
|
||||||
|
#else
|
||||||
fmadds 12,12,1,11
|
fmadds 12,12,1,11
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
|
#endif
|
||||||
stfsx 0,10,5
|
stfsx 0,10,5
|
||||||
ble 7,.L39
|
ble 7,.L39
|
||||||
sldi 9,9,2
|
sldi 9,9,2
|
||||||
|
@ -182,15 +230,19 @@ caxpy_k:
|
||||||
addi 6,11,4
|
addi 6,11,4
|
||||||
lfsx 11,8,5
|
lfsx 11,8,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmadds 12,1,12,11
|
||||||
|
#else
|
||||||
fmsubs 12,1,12,11
|
fmsubs 12,1,12,11
|
||||||
|
#endif
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
stfsx 0,10,9
|
stfsx 0,10,9
|
||||||
lfsx 11,8,9
|
lfsx 11,8,9
|
||||||
lfsx 12,8,5
|
lfsx 12,8,5
|
||||||
lfsx 0,10,5
|
lfsx 0,10,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
fmadds 12,1,12,11
|
fmsubs 12,1,12,11
|
||||||
fadds 0,0,12
|
fsubs 0,0,12
|
||||||
stfsx 0,10,5
|
stfsx 0,10,5
|
||||||
ble 7,.L39
|
ble 7,.L39
|
||||||
sldi 6,6,2
|
sldi 6,6,2
|
||||||
|
@ -202,15 +254,24 @@ caxpy_k:
|
||||||
addi 9,11,6
|
addi 9,11,6
|
||||||
lfsx 11,8,5
|
lfsx 11,8,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmadds 12,1,12,11
|
||||||
|
#else
|
||||||
fmsubs 12,1,12,11
|
fmsubs 12,1,12,11
|
||||||
|
#endif
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
stfsx 0,10,6
|
stfsx 0,10,6
|
||||||
lfsx 11,8,6
|
lfsx 11,8,6
|
||||||
lfsx 12,8,5
|
lfsx 12,8,5
|
||||||
lfsx 0,10,5
|
lfsx 0,10,5
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmsubs 12,1,12,11
|
||||||
|
fsubs 0,0,12
|
||||||
|
#else
|
||||||
fmadds 12,1,12,11
|
fmadds 12,1,12,11
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
|
#endif
|
||||||
stfsx 0,10,5
|
stfsx 0,10,5
|
||||||
ble 7,.L39
|
ble 7,.L39
|
||||||
sldi 9,9,2
|
sldi 9,9,2
|
||||||
|
@ -220,15 +281,24 @@ caxpy_k:
|
||||||
lfsx 0,10,9
|
lfsx 0,10,9
|
||||||
lfsx 11,8,7
|
lfsx 11,8,7
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmadds 12,1,12,11
|
||||||
|
#else
|
||||||
fmsubs 12,1,12,11
|
fmsubs 12,1,12,11
|
||||||
|
#endif
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
stfsx 0,10,9
|
stfsx 0,10,9
|
||||||
lfsx 11,8,9
|
lfsx 11,8,9
|
||||||
lfsx 12,8,7
|
lfsx 12,8,7
|
||||||
lfsx 0,10,7
|
lfsx 0,10,7
|
||||||
fmuls 2,2,11
|
fmuls 2,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmsubs 1,1,12,2
|
||||||
|
fsubs 1,0,1
|
||||||
|
#else
|
||||||
fmadds 1,1,12,2
|
fmadds 1,1,12,2
|
||||||
fadds 1,0,1
|
fadds 1,0,1
|
||||||
|
#endif
|
||||||
stfsx 1,10,7
|
stfsx 1,10,7
|
||||||
b .L33
|
b .L33
|
||||||
.L43:
|
.L43:
|
||||||
|
@ -253,20 +323,43 @@ caxpy_k:
|
||||||
lfs 12,-8(9)
|
lfs 12,-8(9)
|
||||||
lfs 0,-4(9)
|
lfs 0,-4(9)
|
||||||
fmuls 10,2,10
|
fmuls 10,2,10
|
||||||
|
#ifdef CONJ
|
||||||
|
fmadds 11,1,11,10
|
||||||
|
#else
|
||||||
fmsubs 11,1,11,10
|
fmsubs 11,1,11,10
|
||||||
|
#endif
|
||||||
fadds 12,12,11
|
fadds 12,12,11
|
||||||
stfs 12,-8(9)
|
stfs 12,-8(9)
|
||||||
lfs 11,-8(3)
|
lfs 11,-8(3)
|
||||||
lfs 12,-4(3)
|
lfs 12,-4(3)
|
||||||
fmuls 11,2,11
|
fmuls 11,2,11
|
||||||
|
#ifdef CONJ
|
||||||
|
fmsubs 12,1,12,11
|
||||||
|
fsubs 0,0,12
|
||||||
|
#else
|
||||||
fmadds 12,1,12,11
|
fmadds 12,1,12,11
|
||||||
fadds 0,0,12
|
fadds 0,0,12
|
||||||
|
#endif
|
||||||
stfs 0,-4(9)
|
stfs 0,-4(9)
|
||||||
bdnz .L13
|
bdnz .L13
|
||||||
.L39:
|
.L39:
|
||||||
ld 31,-8(1)
|
ld 31,-8(1)
|
||||||
b .L33
|
b .L33
|
||||||
.L42:
|
.L42:
|
||||||
|
#ifdef CONJ
|
||||||
|
fneg 0,1
|
||||||
|
xxpermdi 32,1,1,0
|
||||||
|
addis 9,2,.LANCHOR0@toc@ha
|
||||||
|
std 28,-32(1)
|
||||||
|
sradi. 28,4,1
|
||||||
|
addi 9,9,.LANCHOR0@toc@l
|
||||||
|
xscvdpspn 5,2
|
||||||
|
xvcvdpsp 32,32
|
||||||
|
lxvd2x 12,0,9
|
||||||
|
xxpermdi 39,0,0,0
|
||||||
|
xxspltw 5,5,0
|
||||||
|
xvcvdpsp 39,39
|
||||||
|
#else
|
||||||
fneg 0,2
|
fneg 0,2
|
||||||
xxpermdi 39,2,2,0
|
xxpermdi 39,2,2,0
|
||||||
addis 9,2,.LANCHOR0@toc@ha
|
addis 9,2,.LANCHOR0@toc@ha
|
||||||
|
@ -279,6 +372,7 @@ caxpy_k:
|
||||||
xxpermdi 32,0,0,0
|
xxpermdi 32,0,0,0
|
||||||
xxspltw 5,5,0
|
xxspltw 5,5,0
|
||||||
xvcvdpsp 32,32
|
xvcvdpsp 32,32
|
||||||
|
#endif
|
||||||
xxpermdi 12,12,12,2
|
xxpermdi 12,12,12,2
|
||||||
vmrgew 7,7,0
|
vmrgew 7,7,0
|
||||||
beq 0,.L5
|
beq 0,.L5
|
||||||
|
@ -332,6 +426,7 @@ caxpy_k:
|
||||||
xxpermdi 11,11,11,2
|
xxpermdi 11,11,11,2
|
||||||
xxpermdi 12,12,12,2
|
xxpermdi 12,12,12,2
|
||||||
xxpermdi 0,0,0,2
|
xxpermdi 0,0,0,2
|
||||||
|
#ifndef CONJ
|
||||||
xvmaddasp 6,5,40
|
xvmaddasp 6,5,40
|
||||||
xvmaddasp 7,5,41
|
xvmaddasp 7,5,41
|
||||||
xvmaddasp 8,5,42
|
xvmaddasp 8,5,42
|
||||||
|
@ -348,6 +443,7 @@ caxpy_k:
|
||||||
vperm 13,13,13,6
|
vperm 13,13,13,6
|
||||||
vperm 1,1,1,6
|
vperm 1,1,1,6
|
||||||
vperm 0,0,0,6
|
vperm 0,0,0,6
|
||||||
|
#endif
|
||||||
xvmaddasp 6,39,40
|
xvmaddasp 6,39,40
|
||||||
xvmaddasp 7,39,41
|
xvmaddasp 7,39,41
|
||||||
xvmaddasp 8,39,42
|
xvmaddasp 8,39,42
|
||||||
|
@ -356,6 +452,24 @@ caxpy_k:
|
||||||
xvmaddasp 11,39,45
|
xvmaddasp 11,39,45
|
||||||
xvmaddasp 12,39,33
|
xvmaddasp 12,39,33
|
||||||
xvmaddasp 0,39,32
|
xvmaddasp 0,39,32
|
||||||
|
#ifdef CONJ
|
||||||
|
vperm 8,8,8,6
|
||||||
|
vperm 9,9,9,6
|
||||||
|
vperm 10,10,10,6
|
||||||
|
vperm 11,11,11,6
|
||||||
|
vperm 12,12,12,6
|
||||||
|
vperm 13,13,13,6
|
||||||
|
vperm 1,1,1,6
|
||||||
|
vperm 0,0,0,6
|
||||||
|
xvmaddasp 6,5,40
|
||||||
|
xvmaddasp 7,5,41
|
||||||
|
xvmaddasp 8,5,42
|
||||||
|
xvmaddasp 9,5,43
|
||||||
|
xvmaddasp 10,5,44
|
||||||
|
xvmaddasp 11,5,45
|
||||||
|
xvmaddasp 12,5,33
|
||||||
|
xvmaddasp 0,5,32
|
||||||
|
#endif
|
||||||
xxpermdi 6,6,6,2
|
xxpermdi 6,6,6,2
|
||||||
xxpermdi 7,7,7,2
|
xxpermdi 7,7,7,2
|
||||||
xxpermdi 8,8,8,2
|
xxpermdi 8,8,8,2
|
||||||
|
|
Loading…
Reference in New Issue