|
kusano |
2b45e8 |
/*********************************************************************/
|
|
kusano |
2b45e8 |
/* Copyright 2009, 2010 The University of Texas at Austin. */
|
|
kusano |
2b45e8 |
/* All rights reserved. */
|
|
kusano |
2b45e8 |
/* */
|
|
kusano |
2b45e8 |
/* Redistribution and use in source and binary forms, with or */
|
|
kusano |
2b45e8 |
/* without modification, are permitted provided that the following */
|
|
kusano |
2b45e8 |
/* conditions are met: */
|
|
kusano |
2b45e8 |
/* */
|
|
kusano |
2b45e8 |
/* 1. Redistributions of source code must retain the above */
|
|
kusano |
2b45e8 |
/* copyright notice, this list of conditions and the following */
|
|
kusano |
2b45e8 |
/* disclaimer. */
|
|
kusano |
2b45e8 |
/* */
|
|
kusano |
2b45e8 |
/* 2. Redistributions in binary form must reproduce the above */
|
|
kusano |
2b45e8 |
/* copyright notice, this list of conditions and the following */
|
|
kusano |
2b45e8 |
/* disclaimer in the documentation and/or other materials */
|
|
kusano |
2b45e8 |
/* provided with the distribution. */
|
|
kusano |
2b45e8 |
/* */
|
|
kusano |
2b45e8 |
/* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
|
|
kusano |
2b45e8 |
/* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
|
|
kusano |
2b45e8 |
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
kusano |
2b45e8 |
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
|
|
kusano |
2b45e8 |
/* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
|
|
kusano |
2b45e8 |
/* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
kusano |
2b45e8 |
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
|
|
kusano |
2b45e8 |
/* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
|
|
kusano |
2b45e8 |
/* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
|
|
kusano |
2b45e8 |
/* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
kusano |
2b45e8 |
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
|
|
kusano |
2b45e8 |
/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
|
|
kusano |
2b45e8 |
/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
|
kusano |
2b45e8 |
/* POSSIBILITY OF SUCH DAMAGE. */
|
|
kusano |
2b45e8 |
/* */
|
|
kusano |
2b45e8 |
/* The views and conclusions contained in the software and */
|
|
kusano |
2b45e8 |
/* documentation are those of the authors and should not be */
|
|
kusano |
2b45e8 |
/* interpreted as representing official policies, either expressed */
|
|
kusano |
2b45e8 |
/* or implied, of The University of Texas at Austin. */
|
|
kusano |
2b45e8 |
/*********************************************************************/
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define ASSEMBLER
|
|
kusano |
2b45e8 |
#include "common.h"
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#undef ZERO
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define ALPHA 0
|
|
kusano |
2b45e8 |
#define FZERO 16
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define M r3
|
|
kusano |
2b45e8 |
#define N r4
|
|
kusano |
2b45e8 |
#define K r5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef linux
|
|
kusano |
2b45e8 |
#define A r6
|
|
kusano |
2b45e8 |
#define B r7
|
|
kusano |
2b45e8 |
#define C r8
|
|
kusano |
2b45e8 |
#define LDC r9
|
|
kusano |
2b45e8 |
#define OFFSET r10
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define TEMP r11
|
|
kusano |
2b45e8 |
#define AORIG r12
|
|
kusano |
2b45e8 |
#define KK r14
|
|
kusano |
2b45e8 |
#define INCM1 r15
|
|
kusano |
2b45e8 |
#define INCM3 r16
|
|
kusano |
2b45e8 |
#define INCM5 r17
|
|
kusano |
2b45e8 |
#define INCM7 r18
|
|
kusano |
2b45e8 |
#define INC2 r19
|
|
kusano |
2b45e8 |
#define INC r20
|
|
kusano |
2b45e8 |
#define INC4 r21
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define I r22
|
|
kusano |
2b45e8 |
#define J r23
|
|
kusano |
2b45e8 |
#define AO r24
|
|
kusano |
2b45e8 |
#define BO r25
|
|
kusano |
2b45e8 |
#define AO2 r26
|
|
kusano |
2b45e8 |
#define BO2 r27
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define CO1 r28
|
|
kusano |
2b45e8 |
#define CO2 r29
|
|
kusano |
2b45e8 |
#define ZERO r31
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifndef NEEDPARAM
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define A1 f16
|
|
kusano |
2b45e8 |
#define A2 f17
|
|
kusano |
2b45e8 |
#define A3 f18
|
|
kusano |
2b45e8 |
#define A4 f19
|
|
kusano |
2b45e8 |
#define A5 f20
|
|
kusano |
2b45e8 |
#define A6 f21
|
|
kusano |
2b45e8 |
#define A7 f22
|
|
kusano |
2b45e8 |
#define A8 f23
|
|
kusano |
2b45e8 |
#define A9 f24
|
|
kusano |
2b45e8 |
#define A10 f25
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define B1 f26
|
|
kusano |
2b45e8 |
#define B2 f27
|
|
kusano |
2b45e8 |
#define B3 f28
|
|
kusano |
2b45e8 |
#define B4 f29
|
|
kusano |
2b45e8 |
#define B5 f30
|
|
kusano |
2b45e8 |
#define B6 f31
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#define AP B6
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifndef CONJ
|
|
kusano |
2b45e8 |
#define FXCPMADD fxcpmadd
|
|
kusano |
2b45e8 |
#define FXCSMADD fxcxnpma
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
#define FXCPMADD fxcpnsma
|
|
kusano |
2b45e8 |
#define FXCSMADD fxcxma
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#define FXCPMADD fxcpmadd
|
|
kusano |
2b45e8 |
#define FXCSMADD fxcxnsma
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifndef CONJ
|
|
kusano |
2b45e8 |
#define FXCXNPMA fxcxnpma
|
|
kusano |
2b45e8 |
#define FXCXNSMA fxcxnsma
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#define FXCXNPMA fxcxnsma
|
|
kusano |
2b45e8 |
#define FXCXNSMA fxcxnpma
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
PROLOGUE
|
|
kusano |
2b45e8 |
PROFCODE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, -16
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stfpdux f14, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f15, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f16, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f17, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f18, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f19, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f20, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f21, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f22, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f23, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f24, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f25, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f26, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f27, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f28, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f29, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f30, SP, r0
|
|
kusano |
2b45e8 |
stfpdux f31, SP, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stwu r31, -4(SP)
|
|
kusano |
2b45e8 |
stwu r30, -4(SP)
|
|
kusano |
2b45e8 |
stwu r29, -4(SP)
|
|
kusano |
2b45e8 |
stwu r28, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stwu r27, -4(SP)
|
|
kusano |
2b45e8 |
stwu r26, -4(SP)
|
|
kusano |
2b45e8 |
stwu r25, -4(SP)
|
|
kusano |
2b45e8 |
stwu r24, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stwu r23, -4(SP)
|
|
kusano |
2b45e8 |
stwu r22, -4(SP)
|
|
kusano |
2b45e8 |
stwu r21, -4(SP)
|
|
kusano |
2b45e8 |
stwu r20, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stwu r19, -4(SP)
|
|
kusano |
2b45e8 |
stwu r18, -4(SP)
|
|
kusano |
2b45e8 |
stwu r17, -4(SP)
|
|
kusano |
2b45e8 |
stwu r16, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stwu r15, -4(SP)
|
|
kusano |
2b45e8 |
stwu r14, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, 0
|
|
kusano |
2b45e8 |
stwu r0, -4(SP)
|
|
kusano |
2b45e8 |
stwu r0, -4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
stfdu f2, -8(SP)
|
|
kusano |
2b45e8 |
stfdu f1, -8(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi LDC, LDC, ZBASE_SHIFT
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
cmpwi cr0, M, 0
|
|
kusano |
2b45e8 |
ble .L999
|
|
kusano |
2b45e8 |
cmpwi cr0, N, 0
|
|
kusano |
2b45e8 |
ble .L999
|
|
kusano |
2b45e8 |
cmpwi cr0, K, 0
|
|
kusano |
2b45e8 |
ble .L999
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li INC, 1 * SIZE
|
|
kusano |
2b45e8 |
li INC2, 2 * SIZE
|
|
kusano |
2b45e8 |
li INC4, 4 * SIZE
|
|
kusano |
2b45e8 |
li INCM1, -1 * SIZE
|
|
kusano |
2b45e8 |
li INCM3, -3 * SIZE
|
|
kusano |
2b45e8 |
li INCM5, -5 * SIZE
|
|
kusano |
2b45e8 |
li INCM7, -7 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi C, C, - 1 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
mullw r0, M, K
|
|
kusano |
2b45e8 |
slwi r0, r0, ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add A, A, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0, M, ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add C, C, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
neg KK, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
mullw r0, N, K
|
|
kusano |
2b45e8 |
slwi r0, r0, ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add B, B, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
mullw r0, N, LDC
|
|
kusano |
2b45e8 |
add C, C, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub KK, N, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. J, N, 1
|
|
kusano |
2b45e8 |
ble .L50
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L10:
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub B, B, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0, LDC, 1
|
|
kusano |
2b45e8 |
sub C, C, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
mr CO1, C
|
|
kusano |
2b45e8 |
add CO2, C, LDC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
add KK, M, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
mr KK, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
addi AORIG, A, -4 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
addi AO, A, -4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
#ifndef RT
|
|
kusano |
2b45e8 |
add C, CO2, LDC
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
andi. I, M, 1
|
|
kusano |
2b45e8 |
beq .L20
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
addi BO, B, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
addi BO2, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. r0, KK, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L34
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0 , KK, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, KK, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L34
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A5, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A6, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A7, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A8, BO2, INC4
|
|
kusano |
2b45e8 |
bdz- .L33
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L32:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A1, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A1, f3
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A2, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A2, f3
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A5, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A5, A3, f1
|
|
kusano |
2b45e8 |
LFPDUX A5, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f2, A6, A3, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A6, A3, f3
|
|
kusano |
2b45e8 |
LFPDUX A6, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A7, A4, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A7, A4, f1
|
|
kusano |
2b45e8 |
LFPDUX A7, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f2, A8, A4, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A8, A4, f3
|
|
kusano |
2b45e8 |
LFPDUX A8, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
bdnz+ .L32
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L33:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A1, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A2, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A2, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A5, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A5, A3, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, A6, A3, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A6, A3, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A7, A4, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A7, A4, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, A8, A4, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A8, A4, f3
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L34:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L38
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L38
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
bdz- .L37
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L36:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A1, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A1, f3
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L36
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L37:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A1, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A1, f3
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L38:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f1
|
|
kusano |
2b45e8 |
fpadd f2, f2, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 1
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi TEMP, r0, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi r0, r0, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDX f16, BO, INC4
|
|
kusano |
2b45e8 |
LFPDX f17, BO2, INC4
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDX f16, AO, INC4
|
|
kusano |
2b45e8 |
LFPDX f17, AO2, INC4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
fpsub f2, f17, f2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO2, INC4
|
|
kusano |
2b45e8 |
add BO, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A2, f0, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A2, f0, f2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A3, f2, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
add BO2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A3, f2, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f2, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f2, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 2 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDX f0, BO, INC4
|
|
kusano |
2b45e8 |
STFPDX f2, BO2, INC4
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDX f0, AO, INC4
|
|
kusano |
2b45e8 |
STFPDX f2, AO2, INC4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f2, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f2, CO2, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 2 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi r0, TEMP, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, TEMP, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, r0
|
|
kusano |
2b45e8 |
add BO, BO, TEMP
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L20:
|
|
kusano |
2b45e8 |
andi. I, M, 2
|
|
kusano |
2b45e8 |
beq .L30
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, B, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f8, f0
|
|
kusano |
2b45e8 |
addi BO2, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f12, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. r0, KK, 2
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f9, f0
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
fpmr f13, f0
|
|
kusano |
2b45e8 |
ble .L24
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0 , KK, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f8, f0
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f12, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f9, f0
|
|
kusano |
2b45e8 |
fpmr f13, f0
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L24
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A6, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B6, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A9, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A10, BO2, INC4
|
|
kusano |
2b45e8 |
bdz- .L23
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L22:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A8, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A3, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A3, f4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A3, f8
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A3, f12
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A4, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A4, f5
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A4, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A4, f13
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A5, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B5, A5, f4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B6, A5, f8
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f12, B6, A5, f12
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B5, A6, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B5, A6, f5
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B6, A6, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B6, A6, f13
|
|
kusano |
2b45e8 |
LFPDUX B6, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A9, A7, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, A9, A7, f4
|
|
kusano |
2b45e8 |
LFPDUX A6, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f8, A10, A7, f8
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f12, A10, A7, f12
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, A9, A8, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, A9, A8, f5
|
|
kusano |
2b45e8 |
LFPDUX A9, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, A10, A8, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, A10, A8, f13
|
|
kusano |
2b45e8 |
LFPDUX A10, BO2, INC4
|
|
kusano |
2b45e8 |
bdnz+ .L22
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L23:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A8, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A3, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A3, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A3, f12
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A4, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A4, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A4, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A4, f13
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B5, A5, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B6, A5, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B6, A5, f12
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B5, A6, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B5, A6, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B6, A6, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B6, A6, f13
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A9, A7, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, A9, A7, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, A10, A7, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, A10, A7, f12
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, A9, A8, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, A9, A8, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, A10, A8, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, A10, A8, f13
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L24:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L28
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L28
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
bdz- .L27
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L26:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
bdnz+ .L26
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L27:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L28:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f4
|
|
kusano |
2b45e8 |
fpadd f8, f8, f12
|
|
kusano |
2b45e8 |
fpadd f1, f1, f5
|
|
kusano |
2b45e8 |
fpadd f9, f9, f13
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 2
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi r0, r0, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDUX f16, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f18, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f17, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f19, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDUX f16, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f17, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f18, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f19, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
fpsub f1, f17, f1
|
|
kusano |
2b45e8 |
fpsub f8, f18, f8
|
|
kusano |
2b45e8 |
fpsub f9, f19, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f1
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f1, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A2, f9, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f1, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A2, f9, f8
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f8
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A1, f8, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f8
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A1, f8, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f0, f1
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A2, f8, f9
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f0, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A2, f8, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A3, f1
|
|
kusano |
2b45e8 |
fxpmul f7, A3, f9
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO2, INC4
|
|
kusano |
2b45e8 |
add BO, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A2, f0, f8
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A2, f1, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A2, f0, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A2, f1, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f8
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A3, f8, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
add BO2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f8
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A3, f8, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f8, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f9, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f8, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f9, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 4 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDUX f0, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f8, BO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f1, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f9, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDUX f0, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f1, AO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f8, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f9, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f8, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f8, CO2, INC
|
|
kusano |
2b45e8 |
STFDUX f9, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f9, CO2, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 4 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi r0, TEMP, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, r0
|
|
kusano |
2b45e8 |
add BO, BO, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L30:
|
|
kusano |
2b45e8 |
srawi. I, M, 2
|
|
kusano |
2b45e8 |
ble .L49
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L11:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, B, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f8, f0
|
|
kusano |
2b45e8 |
addi BO2, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f12, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f9, f0
|
|
kusano |
2b45e8 |
fpmr f13, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f6, f0
|
|
kusano |
2b45e8 |
fpmr f10, f0
|
|
kusano |
2b45e8 |
fpmr f14, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f7, f0
|
|
kusano |
2b45e8 |
fpmr f11, f0
|
|
kusano |
2b45e8 |
fpmr f15, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. r0, KK, 2
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L14
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0 , KK, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, KK, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f9, f0
|
|
kusano |
2b45e8 |
fpmr f13, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f6, f0
|
|
kusano |
2b45e8 |
fpmr f10, f0
|
|
kusano |
2b45e8 |
fpmr f14, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f7, f0
|
|
kusano |
2b45e8 |
fpmr f11, f0
|
|
kusano |
2b45e8 |
fpmr f15, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
fpmr f8, f0
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f12, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 2
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L14
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f9, f0
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
fpmr f13, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f6, f0
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
fpmr f10, f0
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f14, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC4
|
|
kusano |
2b45e8 |
fpmr f7, f0
|
|
kusano |
2b45e8 |
LFPDUX A9, AO, INC4
|
|
kusano |
2b45e8 |
fpmr f11, f0
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
fpmr f15, f0
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
bdz- .L13
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L12:
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 1 ##
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
LFPDUX B6, BO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
LFPDUX A10, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B2, A3, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B2, A3, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B2, A4, f11
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f15, B2, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 2 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A5, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A5, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A5, f8
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A5, f12
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A2, f9
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B3, A6, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B3, A6, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A6, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A6, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B3, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B3, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 3 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A7, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B5, A7, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A7, f8
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A7, f12
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B5, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B5, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B5, A8, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B5, A8, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B2, A8, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B2, A8, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B5, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B5, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B2, A4, f11
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f15, B2, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 4 ##
|
|
kusano |
2b45e8 |
FXCPMADD f0, B6, A9, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B6, A9, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A9, f8
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A9, f12
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B6, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B6, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A2, f9
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B6, A10, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B6, A10, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A10, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A10, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B6, A4, f3
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f7, B6, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A9, AO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
bdnz+ .L12
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L13:
|
|
kusano |
2b45e8 |
## 1 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A1, f8
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A1, f12
|
|
kusano |
2b45e8 |
LFPDUX B6, BO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
LFPDUX A10, AO, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B2, A3, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B2, A3, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B2, A4, f11
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f15, B2, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 2 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A5, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A5, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A5, f8
|
|
kusano |
2b45e8 |
LFPDUX B2, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A5, f12
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A2, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B3, A6, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B3, A6, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A6, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A6, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B3, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B3, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 3 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A7, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B5, A7, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B2, A7, f8
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
FXCSMADD f12, B2, A7, f12
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B5, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B5, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B2, A2, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B2, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B5, A8, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B5, A8, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B2, A8, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B2, A8, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B5, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B5, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B2, A4, f11
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f15, B2, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
## 4 ##
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B6, A9, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B6, A9, f4
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A9, f8
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A9, f12
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, B6, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B6, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A2, f9
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A2, f13
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B6, A10, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B6, A10, f6
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A10, f10
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A10, f14
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, B6, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B6, A4, f7
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L14:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L18
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L18
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L15:
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A10, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
bdz- .L17
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L16:
|
|
kusano |
2b45e8 |
FXCPMADD f0, A10, A2, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, A10, A2, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A2, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A2, f12
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, A10, A4, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, A10, A4, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A4, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A4, f13
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, A10, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, A10, A2, f6
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A2, f10
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A2, f14
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, A10, A4, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, A10, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A10, BO, INC4
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX B4, BO2, INC4
|
|
kusano |
2b45e8 |
bdnz+ .L16
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L17:
|
|
kusano |
2b45e8 |
FXCPMADD f0, A10, A2, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, A10, A2, f4
|
|
kusano |
2b45e8 |
FXCPMADD f8, B4, A2, f8
|
|
kusano |
2b45e8 |
FXCSMADD f12, B4, A2, f12
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f1, A10, A4, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, A10, A4, f5
|
|
kusano |
2b45e8 |
FXCPMADD f9, B4, A4, f9
|
|
kusano |
2b45e8 |
FXCSMADD f13, B4, A4, f13
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, A10, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, A10, A2, f6
|
|
kusano |
2b45e8 |
FXCPMADD f10, B4, A2, f10
|
|
kusano |
2b45e8 |
FXCSMADD f14, B4, A2, f14
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f3, A10, A4, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, A10, A4, f7
|
|
kusano |
2b45e8 |
FXCPMADD f11, B4, A4, f11
|
|
kusano |
2b45e8 |
FXCSMADD f15, B4, A4, f15
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L18:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f4
|
|
kusano |
2b45e8 |
fpadd f8, f8, f12
|
|
kusano |
2b45e8 |
fpadd f1, f1, f5
|
|
kusano |
2b45e8 |
fpadd f9, f9, f13
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpadd f2, f2, f6
|
|
kusano |
2b45e8 |
fpadd f10, f10, f14
|
|
kusano |
2b45e8 |
fpadd f3, f3, f7
|
|
kusano |
2b45e8 |
fpadd f11, f11, f15
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 4
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi TEMP, r0, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi r0, r0, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
addi AO2, AO, 2 * SIZE
|
|
kusano |
2b45e8 |
addi BO, BO, - 4 * SIZE
|
|
kusano |
2b45e8 |
addi BO2, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDUX f16, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f20, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f17, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f21, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f18, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f22, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f19, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f23, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 16 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 16 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDUX f16, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f17, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f18, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f19, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f20, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f21, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX f22, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX f23, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 16 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 16 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
fpsub f1, f17, f1
|
|
kusano |
2b45e8 |
fpsub f2, f18, f2
|
|
kusano |
2b45e8 |
fpsub f3, f19, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f8, f20, f8
|
|
kusano |
2b45e8 |
fpsub f9, f21, f9
|
|
kusano |
2b45e8 |
fpsub f10, f22, f10
|
|
kusano |
2b45e8 |
fpsub f11, f23, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A5, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A8, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A9, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A10, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 32 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 32 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A10, f3
|
|
kusano |
2b45e8 |
fxpmul f5, A10, f11
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A10, f3, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f11, A10, f11, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A9, f3, f2
|
|
kusano |
2b45e8 |
fxcpnmsub f10, A9, f11, f10
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A9, f3, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f10, A9, f11, f10
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A8, f3, f1
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A8, f11, f9
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A8, f3, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A8, f11, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A7, f3, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A7, f11, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A7, f3, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A7, f11, f8
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A6, f2
|
|
kusano |
2b45e8 |
fxpmul f5, A6, f10
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A6, f2, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f10, A6, f10, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A5, f2, f1
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A5, f10, f9
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A5, f2, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A5, f10, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A4, f2, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A4, f10, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A4, f2, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A4, f10, f8
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f1
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f1, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A2, f9, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f1, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A2, f9, f8
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f8
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A1, f8, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A4, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A5, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A7, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A9, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
add AO2, AO2, INC4
|
|
kusano |
2b45e8 |
add AO, AO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A10, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 32 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 32 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f8
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A1, f8, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f0, f1
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A2, f8, f9
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f0, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A2, f8, f9
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A3, f0, f2
|
|
kusano |
2b45e8 |
fxcpnmsub f10, A3, f8, f10
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A3, f0, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f10, A3, f8, f10
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A4, f0, f3
|
|
kusano |
2b45e8 |
fxcpnmsub f11, A4, f8, f11
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A4, f0, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f11, A4, f8, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A5, f1
|
|
kusano |
2b45e8 |
fxpmul f7, A5, f9
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A5, f1, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A5, f9, f7
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A6, f1, f2
|
|
kusano |
2b45e8 |
fxcpnmsub f10, A6, f9, f10
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A6, f1, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f10, A6, f9, f10
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A7, f1, f3
|
|
kusano |
2b45e8 |
fxcpnmsub f11, A7, f9, f11
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A7, f1, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f11, A7, f9, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A8, f2
|
|
kusano |
2b45e8 |
fxpmul f5, A8, f10
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A8, f2, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f10, A8, f10, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A9, f2, f3
|
|
kusano |
2b45e8 |
fxcpnmsub f11, A9, f10, f11
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A9, f2, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f11, A9, f10, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A10, f3
|
|
kusano |
2b45e8 |
fxpmul f7, A10, f11
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A10, f3, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f11, A10, f11, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO2, INC4
|
|
kusano |
2b45e8 |
add BO, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
fxpmul f6, A1, f2
|
|
kusano |
2b45e8 |
fxpmul f7, A1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A1, f3, f7
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f8, A2, f0, f8
|
|
kusano |
2b45e8 |
fxcpnmsub f9, A2, f1, f9
|
|
kusano |
2b45e8 |
fxcpnmsub f10, A2, f2, f10
|
|
kusano |
2b45e8 |
fxcpnmsub f11, A2, f3, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNSMA f8, A2, f0, f8
|
|
kusano |
2b45e8 |
FXCXNSMA f9, A2, f1, f9
|
|
kusano |
2b45e8 |
FXCXNSMA f10, A2, f2, f10
|
|
kusano |
2b45e8 |
FXCXNSMA f11, A2, f3, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f8
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
fxpmul f6, A3, f10
|
|
kusano |
2b45e8 |
fxpmul f7, A3, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A3, f8, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f10, A3, f10, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f11, A3, f11, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDUX A1, BO, INC4
|
|
kusano |
2b45e8 |
add BO2, BO2, INC4
|
|
kusano |
2b45e8 |
LFPDUX A2, BO, INC4
|
|
kusano |
2b45e8 |
LFPDUX A3, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f8
|
|
kusano |
2b45e8 |
fxpmul f5, A3, f9
|
|
kusano |
2b45e8 |
fxpmul f6, A3, f10
|
|
kusano |
2b45e8 |
fxpmul f7, A3, f11
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f8, A3, f8, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f9, A3, f9, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f10, A3, f10, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f11, A3, f11, f7
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f8, f0
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f9, f1
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A2, f10, f2
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A2, f11, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f8, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f9, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A2, f10, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A2, f11, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
fxpmul f6, A1, f2
|
|
kusano |
2b45e8 |
fxpmul f7, A1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A1, f3, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 8 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDUX f0, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f8, BO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f1, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f9, BO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f2, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f10, BO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f3, BO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f11, BO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 16 * SIZE
|
|
kusano |
2b45e8 |
subi BO2, BO2, 16 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDUX f0, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f1, AO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f2, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f3, AO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f8, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f9, AO2, INC4
|
|
kusano |
2b45e8 |
STFPDUX f10, AO, INC4
|
|
kusano |
2b45e8 |
STFPDUX f11, AO2, INC4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 16 * SIZE
|
|
kusano |
2b45e8 |
subi AO2, AO2, 16 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f2, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f2, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f3, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f3, CO1, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f8, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f8, CO2, INC
|
|
kusano |
2b45e8 |
STFDUX f9, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f9, CO2, INC
|
|
kusano |
2b45e8 |
STFDUX f10, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f10, CO2, INC
|
|
kusano |
2b45e8 |
STFDUX f11, CO2, INC
|
|
kusano |
2b45e8 |
STFSDUX f11, CO2, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 8 * SIZE
|
|
kusano |
2b45e8 |
subi CO2, CO2, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi r0, TEMP, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, TEMP, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, r0
|
|
kusano |
2b45e8 |
add BO, BO, TEMP
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addic. I, I, -1
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
bgt+ .L11
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L49:
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add B, B, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
addi B, BO, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
addi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
subi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addic. J, J, -1
|
|
kusano |
2b45e8 |
bgt+ .L10
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L50:
|
|
kusano |
2b45e8 |
andi. J, N, 1
|
|
kusano |
2b45e8 |
beq .L999
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub B, B, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub C, C, LDC
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
mr CO1, C
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
add KK, M, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
mr KK, OFFSET
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
addi AORIG, A, -2 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
addi AO, A, -2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
#ifndef RT
|
|
kusano |
2b45e8 |
add C, CO2, LDC
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
andi. I, M, 1
|
|
kusano |
2b45e8 |
beq .L60
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
addi BO, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
srawi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L74
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi TEMP, KK, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L74
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B6, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A9, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A10, BO, INC2
|
|
kusano |
2b45e8 |
bdz- .L73
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L72:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A2, f3
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B3, A3, f1
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A4, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A4, f3
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B5, A5, f1
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B5, BO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f2, B6, A6, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B6, A6, f3
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B6, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A9, A7, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A9, A7, f1
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A9, BO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f2, A10, A8, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A10, A8, f3
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A10, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
bdnz+ .L72
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L73:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A2, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A2, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B3, A3, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A4, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A4, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B5, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B5, A5, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, B6, A6, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, B6, A6, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, A9, A7, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, A9, A7, f1
|
|
kusano |
2b45e8 |
FXCPMADD f2, A10, A8, f2
|
|
kusano |
2b45e8 |
FXCSMADD f3, A10, A8, f3
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L74:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 7
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L78
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 7
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L78
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
bdz- .L77
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L76:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L76
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L77:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f1, B1, A1, f1
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L78:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f2
|
|
kusano |
2b45e8 |
fpadd f1, f1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpadd f0, f0, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 1
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi TEMP, r0, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDX f16, BO, INC2
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDX f16, AO, INC2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDX A1, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDX f0, BO, INC2
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDX f0, AO, INC2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi TEMP, TEMP, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, TEMP
|
|
kusano |
2b45e8 |
add BO, BO, TEMP
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L60:
|
|
kusano |
2b45e8 |
andi. I, M, 2
|
|
kusano |
2b45e8 |
beq .L70
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
addi BO, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
srawi. r0, KK, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L64
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0 , KK, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, KK, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L64
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
bdz- .L63
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L62:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B1, A1, f2
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B1, A2, f3
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B2, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B2, A3, f2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B2, A4, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A4, f3
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B3, A5, f2
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A6, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B3, A6, f3
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B4, A7, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B4, A7, f2
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B4, A8, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A8, f3
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L62
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L63:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B1, A1, f2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B1, A2, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B2, A3, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B2, A3, f2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B2, A4, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B2, A4, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B3, A5, f2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A6, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B3, A6, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B4, A7, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B4, A7, f2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B4, A8, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B4, A8, f3
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L64:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L68
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L68
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
bdz- .L67
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L66:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B1, A1, f2
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B1, A2, f3
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L66
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L67:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f2, B1, A1, f2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f3, B1, A2, f3
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L68:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f2
|
|
kusano |
2b45e8 |
fpadd f1, f1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 2
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi TEMP, r0, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi r0, r0, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDUX f16, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f17, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 4 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDUX f16, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f17, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
fpsub f1, f17, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f1
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f1, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f1, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f0, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f0, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A3, f1
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f6
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDUX f0, BO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 4 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDUX f0, AO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f1, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 4 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi r0, TEMP, 1 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, TEMP, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, r0
|
|
kusano |
2b45e8 |
add BO, BO, TEMP
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 2
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L70:
|
|
kusano |
2b45e8 |
srawi. I, M, 2
|
|
kusano |
2b45e8 |
ble .L89
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L51:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, B, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f6, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
fpmr f7, f0
|
|
kusano |
2b45e8 |
srawi. r0, KK, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L54
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
sub AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
slwi r0 , KK, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, KK, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, r0
|
|
kusano |
2b45e8 |
add BO, B, TEMP
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpmr f4, f0
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
fpmr f1, f0
|
|
kusano |
2b45e8 |
fpmr f5, f0
|
|
kusano |
2b45e8 |
fpmr f2, f0
|
|
kusano |
2b45e8 |
fpmr f6, f0
|
|
kusano |
2b45e8 |
fpmr f3, f0
|
|
kusano |
2b45e8 |
fpmr f7, f0
|
|
kusano |
2b45e8 |
srawi. r0, TEMP, 2
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble .L54
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
bdz- .L53
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L52:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B2, A5, f0
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
FXCSMADD f4, B2, A5, f4
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B2, A6, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B2, A6, f5
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A7, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B2, A7, f6
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B2, A8, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B2, A8, f7
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A1, f0
|
|
kusano |
2b45e8 |
LFPDUX B2, BO, INC2
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B3, A3, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B3, A3, f6
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B3, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B3, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B4, A5, f0
|
|
kusano |
2b45e8 |
LFPDUX B3, BO, INC2
|
|
kusano |
2b45e8 |
FXCSMADD f4, B4, A5, f4
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B4, A6, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B4, A6, f5
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A7, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B4, A7, f6
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B4, A8, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B4, A8, f7
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L52
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L53:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
LFPDUX B4, BO, INC2
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B2, A5, f0
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f4, B2, A5, f4
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B2, A6, f1
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f5, B2, A6, f5
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B2, A7, f2
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f6, B2, A7, f6
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B2, A8, f3
|
|
kusano |
2b45e8 |
nop
|
|
kusano |
2b45e8 |
FXCSMADD f7, B2, A8, f7
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B3, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B3, A1, f4
|
|
kusano |
2b45e8 |
FXCPMADD f1, B3, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B3, A2, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B3, A3, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, B3, A3, f6
|
|
kusano |
2b45e8 |
FXCPMADD f3, B3, A4, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, B3, A4, f7
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f0, B4, A5, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B4, A5, f4
|
|
kusano |
2b45e8 |
FXCPMADD f1, B4, A6, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B4, A6, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B4, A7, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, B4, A7, f6
|
|
kusano |
2b45e8 |
FXCPMADD f3, B4, A8, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, B4, A8, f7
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L54:
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
andi. r0, KK, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L58
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
andi. r0, TEMP, 3
|
|
kusano |
2b45e8 |
mtspr CTR, r0
|
|
kusano |
2b45e8 |
ble+ .L58
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
bdz- .L57
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L56:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX B1, BO, INC2
|
|
kusano |
2b45e8 |
bdnz+ .L56
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L57:
|
|
kusano |
2b45e8 |
FXCPMADD f0, B1, A1, f0
|
|
kusano |
2b45e8 |
FXCSMADD f4, B1, A1, f4
|
|
kusano |
2b45e8 |
FXCPMADD f1, B1, A2, f1
|
|
kusano |
2b45e8 |
FXCSMADD f5, B1, A2, f5
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCPMADD f2, B1, A3, f2
|
|
kusano |
2b45e8 |
FXCSMADD f6, B1, A3, f6
|
|
kusano |
2b45e8 |
FXCPMADD f3, B1, A4, f3
|
|
kusano |
2b45e8 |
FXCSMADD f7, B1, A4, f7
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L58:
|
|
kusano |
2b45e8 |
fpadd f0, f0, f4
|
|
kusano |
2b45e8 |
fpadd f1, f1, f5
|
|
kusano |
2b45e8 |
fpadd f2, f2, f6
|
|
kusano |
2b45e8 |
fpadd f3, f3, f7
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(RT)
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi r0, KK, 4
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
subi r0, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
slwi TEMP, r0, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi r0, r0, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AORIG, TEMP
|
|
kusano |
2b45e8 |
add BO, B, r0
|
|
kusano |
2b45e8 |
addi BO, BO, - 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
LFPDUX f16, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f17, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f18, BO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f19, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
LFPDUX f16, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f17, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f18, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX f19, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fpsub f0, f16, f0
|
|
kusano |
2b45e8 |
fpsub f1, f17, f1
|
|
kusano |
2b45e8 |
fpsub f2, f18, f2
|
|
kusano |
2b45e8 |
fpsub f3, f19, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A9, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A10, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 32 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A10, f3
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A10, f3, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A9, f3, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A9, f3, f2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A8, f3, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A8, f3, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A7, f3, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A7, f3, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A6, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A6, f2, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A5, f2, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A5, f2, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A4, f2, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A4, f2, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A3, f1
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A3, f1, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f0, A2, f1, f0
|
|
kusano |
2b45e8 |
FXCXNSMA f0, A2, f1, f0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
LFPDUX A1, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A2, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A3, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A4, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A5, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A6, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A7, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A8, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A9, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
add AO, AO, INC2
|
|
kusano |
2b45e8 |
LFPDUX A10, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 32 * SIZE
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f1, A2, f0, f1
|
|
kusano |
2b45e8 |
FXCXNSMA f1, A2, f0, f1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A3, f0, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A3, f0, f2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A4, f0, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A4, f0, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A5, f1
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A5, f1, f6
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f2, A6, f1, f2
|
|
kusano |
2b45e8 |
FXCXNSMA f2, A6, f1, f2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A7, f1, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A7, f1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A8, f2
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A8, f2, f4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxcpnmsub f3, A9, f2, f3
|
|
kusano |
2b45e8 |
FXCXNSMA f3, A9, f2, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f6, A10, f3
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A10, f3, f6
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
fxpmul f6, A1, f2
|
|
kusano |
2b45e8 |
fxpmul f7, A1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A1, f3, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
LFPDX A1, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
fxpmul f4, A1, f0
|
|
kusano |
2b45e8 |
fxpmul f5, A1, f1
|
|
kusano |
2b45e8 |
fxpmul f6, A1, f2
|
|
kusano |
2b45e8 |
fxpmul f7, A1, f3
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
FXCXNPMA f0, A1, f0, f4
|
|
kusano |
2b45e8 |
FXCXNPMA f1, A1, f1, f5
|
|
kusano |
2b45e8 |
FXCXNPMA f2, A1, f2, f6
|
|
kusano |
2b45e8 |
FXCXNPMA f3, A1, f3, f7
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LN) || defined(LT)
|
|
kusano |
2b45e8 |
STFPDUX f0, BO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f1, BO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f2, BO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f3, BO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi BO, BO, 8 * SIZE
|
|
kusano |
2b45e8 |
#else
|
|
kusano |
2b45e8 |
STFPDUX f0, AO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f1, AO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f2, AO, INC2
|
|
kusano |
2b45e8 |
STFPDUX f3, AO, INC2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi AO, AO, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
STFDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f0, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f1, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f2, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f2, CO1, INC
|
|
kusano |
2b45e8 |
STFDUX f3, CO1, INC
|
|
kusano |
2b45e8 |
STFSDUX f3, CO1, INC
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi CO1, CO1, 8 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
slwi r0, K, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AORIG, AORIG, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
sub TEMP, K, KK
|
|
kusano |
2b45e8 |
slwi r0, TEMP, 2 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
slwi TEMP, TEMP, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add AO, AO, r0
|
|
kusano |
2b45e8 |
add BO, BO, TEMP
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LT
|
|
kusano |
2b45e8 |
addi KK, KK, 4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
subi KK, KK, 4
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
addic. I, I, -1
|
|
kusano |
2b45e8 |
li r0, FZERO
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lfpsx f0, SP, r0
|
|
kusano |
2b45e8 |
bgt+ .L51
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L89:
|
|
kusano |
2b45e8 |
#ifdef LN
|
|
kusano |
2b45e8 |
slwi r0, K, 0 + ZBASE_SHIFT
|
|
kusano |
2b45e8 |
add B, B, r0
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#if defined(LT) || defined(RN)
|
|
kusano |
2b45e8 |
addi B, BO, 2 * SIZE
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RN
|
|
kusano |
2b45e8 |
addi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
#ifdef RT
|
|
kusano |
2b45e8 |
subi KK, KK, 1
|
|
kusano |
2b45e8 |
#endif
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
.L999:
|
|
kusano |
2b45e8 |
addi SP, SP, 20
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lwzu r14, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r15, 4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lwzu r16, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r17, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r18, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r19, 4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lwzu r20, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r21, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r22, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r23, 4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lwzu r24, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r25, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r26, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r27, 4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lwzu r28, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r29, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r30, 4(SP)
|
|
kusano |
2b45e8 |
lwzu r31, 4(SP)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
subi SP, SP, 12
|
|
kusano |
2b45e8 |
li r0, 16
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
lfpdux f31, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f30, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f29, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f28, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f27, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f26, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f25, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f24, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f23, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f22, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f21, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f20, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f19, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f18, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f17, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f16, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f15, SP, r0
|
|
kusano |
2b45e8 |
lfpdux f14, SP, r0
|
|
kusano |
2b45e8 |
addi SP, SP, 16
|
|
kusano |
2b45e8 |
blr
|
|
kusano |
2b45e8 |
.align 4
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
EPILOGUE
|
|
kusano |
2b45e8 |
#endif
|