#736 Revert #733 patch to fix bus error on ARM.
authorZhang Xianyi <traits.zhang@gmail.com>
Tue, 12 Jan 2016 22:19:58 +0000 (22:19 +0000)
committerZhang Xianyi <traits.zhang@gmail.com>
Tue, 12 Jan 2016 22:19:58 +0000 (22:19 +0000)
32 files changed:
kernel/arm/asum_vfp.S
kernel/arm/cdot_vfp.S
kernel/arm/cgemm_kernel_2x2_vfp.S
kernel/arm/cgemm_kernel_2x2_vfpv3.S
kernel/arm/cgemv_n_vfp.S
kernel/arm/cgemv_t_vfp.S
kernel/arm/ctrmm_kernel_2x2_vfp.S
kernel/arm/ctrmm_kernel_2x2_vfpv3.S
kernel/arm/ddot_vfp.S
kernel/arm/dgemm_kernel_4x2_vfp.S
kernel/arm/dgemm_kernel_4x4_vfpv3.S
kernel/arm/dtrmm_kernel_4x2_vfp.S
kernel/arm/dtrmm_kernel_4x4_vfpv3.S
kernel/arm/gemv_n_vfp.S
kernel/arm/gemv_n_vfpv3.S
kernel/arm/gemv_t_vfp.S
kernel/arm/gemv_t_vfpv3.S
kernel/arm/iamax_vfp.S
kernel/arm/nrm2_vfp.S
kernel/arm/nrm2_vfpv3.S
kernel/arm/sdot_vfp.S
kernel/arm/sgemm_kernel_4x2_vfp.S
kernel/arm/sgemm_kernel_4x4_vfpv3.S
kernel/arm/strmm_kernel_4x2_vfp.S
kernel/arm/strmm_kernel_4x4_vfpv3.S
kernel/arm/zdot_vfp.S
kernel/arm/zgemm_kernel_2x2_vfp.S
kernel/arm/zgemm_kernel_2x2_vfpv3.S
kernel/arm/zgemv_n_vfp.S
kernel/arm/zgemv_t_vfp.S
kernel/arm/ztrmm_kernel_2x2_vfp.S
kernel/arm/ztrmm_kernel_2x2_vfpv3.S

index afa936e..2b6ceb1 100644 (file)
@@ -368,11 +368,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        .align 5
 
 #if defined(DOUBLE)
-       vldr.f64                d0 , =0
-       vldr.f64                d1 , =0
+       vsub.f64                d0 , d0 , d0
+       vsub.f64                d1 , d1 , d1
 #else
-       vldr.f32                s0 , =0
-       vldr.f32                s1 , =0
+       vsub.f32                s0 , s0 , s0
+       vsub.f32                s1 , s1 , s1
 #endif
 
        cmp     N, #0
index b8edb49..2ccda33 100644 (file)
@@ -188,10 +188,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        mov     Y, OLD_Y
        ldr     INC_Y, OLD_INC_Y
 
-       vldr.f32                s0 , =0
-       vldr.f32                s1 , =0
-       vldr.f32                s2 , =0
-       vldr.f32                s3 , =0
+       vsub.f32                s0 , s0 , s0
+       vsub.f32                s1 , s1 , s1
+       vsub.f32                s2 , s2 , s2
+       vsub.f32                s3 , s3 , s3
 
        cmp     N, #0
        ble     cdot_kernel_L999
index d2c6028..a059ef5 100644 (file)
@@ -138,7 +138,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -340,7 +340,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s12, s8
        vmov.f32                s13, s8
@@ -514,7 +514,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -681,7 +681,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
 
 .endm
index 3b64f6c..8bc200c 100644 (file)
@@ -147,6 +147,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -367,6 +368,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -548,6 +550,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -727,6 +730,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s24, s16
        vmov.f32                s25, s16
@@ -1004,12 +1008,9 @@ cgemm_kernel_L2_M2_32:
 
        b        cgemm_kernel_L2_M2_44
 
-cgemm_f32zero:
-        .word 0x00000000
 
 cgemm_kernel_L2_M2_40:
 
-       vldr.f32                s16 , cgemm_f32zero
        INIT2x2
 
 
@@ -1043,7 +1044,6 @@ cgemm_kernel_L2_M1_BEGIN:
 
 cgemm_kernel_L2_M1_20:
 
-       vldr.f32                s16 , cgemm_f32zero
        INIT1x2
 
        mov     BO, BC
@@ -1219,7 +1219,6 @@ cgemm_kernel_L1_M2_32:
 
 cgemm_kernel_L1_M2_40:
 
-       vldr.f32                s16 , =0
        INIT2x1
 
 
@@ -1253,7 +1252,6 @@ cgemm_kernel_L1_M1_BEGIN:
 
 cgemm_kernel_L1_M1_20:
 
-       vldr.f32                s16 , =0
        INIT1x1
 
        mov     BO, BC
index cec818e..712e7f0 100644 (file)
@@ -117,7 +117,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .macro INIT_F4
 
        pld     [ YO, #Y_PRE ]
-        vldr.f32                s8 , =0
+        vsub.f32                s8 , s8 , s8
         vmov.f32                s9 , s8
         vmov.f32                s10, s8
         vmov.f32                s11, s8
@@ -220,7 +220,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-        vldr.f32                s8 , =0
+        vsub.f32                s8 , s8 , s8
         vmov.f32                s9 , s8
 
 .endm
@@ -267,7 +267,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S4
 
-        vldr.f32                s8 , =0
+        vsub.f32                s8 , s8 , s8
         vmov.f32                s9 , s8
         vmov.f32                s10, s8
         vmov.f32                s11, s8
@@ -384,7 +384,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-        vldr.f32                s8 , =0
+        vsub.f32                s8 , s8 , s8
         vmov.f32                s9 , s8
 
 .endm
index c164e95..52276a0 100644 (file)
@@ -116,10 +116,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f32        s12, =0
-       vldr.f32        s13, =0
-       vldr.f32        s14, =0
-       vldr.f32        s15, =0
+       vsub.f32        s12, s12, s12
+       vsub.f32        s13, s13, s13
+       vsub.f32        s14, s14, s14
+       vsub.f32        s15, s15, s15
 
 .endm
 
@@ -172,8 +172,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f32        s12, =0
-       vldr.f32        s13, =0
+       vsub.f32        s12, s12, s12
+       vsub.f32        s13, s13, s13
 
 .endm
 
@@ -215,10 +215,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f32        s12, =0
-       vldr.f32        s13, =0
-       vldr.f32        s14, =0
-       vldr.f32        s15, =0
+       vsub.f32        s12, s12, s12
+       vsub.f32        s13, s13, s13
+       vsub.f32        s14, s14, s14
+       vsub.f32        s15, s15, s15
 
 .endm
 
@@ -281,8 +281,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f32        s12, =0
-       vldr.f32        s13, =0
+       vsub.f32        s12, s12, s12
+       vsub.f32        s13, s13, s13
 
 .endm
 
index e6b8a99..a48c860 100644 (file)
@@ -136,7 +136,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -301,10 +301,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        flds            s0, ALPHA_R
        flds            s1, ALPHA_I
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
-       vldr.f32        s6, =0
-       vldr.f32        s7, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
+       vsub.f32        s6, s6, s6
+       vsub.f32        s7, s7, s7
 
        FMAC_R1 s4 , s0 , s8
        FMAC_I1 s5 , s0 , s9
@@ -318,10 +318,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        fstmias CO1, { s4 - s7 }
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
-       vldr.f32        s6, =0
-       vldr.f32        s7, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
+       vsub.f32        s6, s6, s6
+       vsub.f32        s7, s7, s7
 
        FMAC_R1 s4 , s0 , s12
        FMAC_I1 s5 , s0 , s13
@@ -343,7 +343,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s12, s8
        vmov.f32                s13, s8
@@ -490,8 +490,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        flds            s0, ALPHA_R
        flds            s1, ALPHA_I
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
 
        FMAC_R1 s4 , s0 , s8
        FMAC_I1 s5 , s0 , s9
@@ -500,8 +500,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        fstmias CO1, { s4 - s5 }
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
 
        FMAC_R1 s4 , s0 , s12
        FMAC_I1 s5 , s0 , s13
@@ -519,7 +519,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -663,10 +663,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        flds            s0, ALPHA_R
        flds            s1, ALPHA_I
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
-       vldr.f32        s6, =0
-       vldr.f32        s7, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
+       vsub.f32        s6, s6, s6
+       vsub.f32        s7, s7, s7
 
        FMAC_R1 s4 , s0 , s8
        FMAC_I1 s5 , s0 , s9
@@ -689,7 +689,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
 
 .endm
@@ -795,8 +795,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        flds            s0, ALPHA_R
        flds            s1, ALPHA_I
 
-       vldr.f32        s4, =0
-       vldr.f32        s5, =0
+       vsub.f32        s4, s4, s4
+       vsub.f32        s5, s5, s5
 
        FMAC_R1 s4 , s0 , s8
        FMAC_I1 s5 , s0 , s9
index 5171c6e..f06e260 100644 (file)
@@ -134,6 +134,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -350,6 +351,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -527,6 +529,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -703,6 +706,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s24, s16
        vmov.f32                s25, s16
@@ -1016,12 +1020,9 @@ _L2_M2_32:
 
        b        _L2_M2_44
 
-ctrmm_f32zero:
-        .word 0x00000000
 
 _L2_M2_40:
 
-       vldr.f32                s16 , ctrmm_f32zero
        INIT2x2
 
 
@@ -1073,7 +1074,6 @@ _L2_M1_BEGIN:
 
 _L2_M1_20:
 
-       vldr.f32                s16 , ctrmm_f32zero
        INIT1x2
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1337,7 +1337,6 @@ _L1_M2_32:
 
 _L1_M2_40:
 
-       vldr.f32                s16 , =0
        INIT2x1
 
 
@@ -1390,7 +1389,6 @@ _L1_M1_BEGIN:
 
 _L1_M1_20:
 
-       vldr.f32                s16 , =0
        INIT1x1
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
index b402bcc..71b3c1c 100644 (file)
@@ -152,8 +152,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        mov     Y, OLD_Y
        ldr     INC_Y, OLD_INC_Y
 
-       vldr.f64                d0 , =0
-       vldr.f64                d1 , =0
+       vsub.f64                d0 , d0 , d0
+       vsub.f64                d1 , d1 , d1
 
        cmp     N, #0
        ble     ddot_kernel_L999
index 8bb2bd3..9fb881d 100644 (file)
@@ -85,7 +85,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -173,7 +173,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d12, d8
        vmov.f64                d13, d8
@@ -233,7 +233,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d12, d8
 
 .endm
@@ -283,7 +283,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -338,7 +338,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
 
 .endm
@@ -380,7 +380,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
 
 .endm
 
index 32f3b69..7c1dbae 100644 (file)
@@ -102,7 +102,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -376,7 +376,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -470,7 +470,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d20, d16
        vmov.f64                d24, d16
        vmov.f64                d28, d16
@@ -533,7 +533,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -617,7 +617,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -678,7 +678,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d20, d16
 
 .endm
@@ -723,7 +723,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -782,7 +782,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
 
 .endm
@@ -826,7 +826,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
 
 .endm
 
index 45c8c0c..3528e08 100644 (file)
@@ -90,7 +90,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -165,7 +165,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d12, d8
        vmov.f64                d13, d8
@@ -220,7 +220,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d12, d8
 
 .endm
@@ -268,7 +268,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9, d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -318,7 +318,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
 
 .endm
@@ -357,7 +357,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
 
 .endm
 
index cd11b14..04cc451 100644 (file)
@@ -89,7 +89,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -386,7 +386,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -468,7 +468,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x4
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d20, d16
        vmov.f64                d24, d16
        vmov.f64                d28, d16
@@ -527,7 +527,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -601,7 +601,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -656,7 +656,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d20, d16
 
 .endm
@@ -699,7 +699,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -753,7 +753,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
 
 .endm
@@ -794,7 +794,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
 
 .endm
 
index 0e85e2e..505033c 100644 (file)
@@ -79,7 +79,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        pld     [ YO , #Y_PRE ]
        pld     [ YO , #Y_PRE+32 ]
 
-       vldr.f64        d8 , =0
+       vsub.f64        d8 , d8 , d8
        vmov.f64        d9  , d8
        vmov.f64        d10 , d8
        vmov.f64        d11 , d8
@@ -158,7 +158,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f64        d12 , =0
+       vsub.f64        d12 , d12 , d12
 
 .endm
 
@@ -185,7 +185,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S4
 
-       vldr.f64        d12 , =0
+       vsub.f64        d12 , d12 , d12
        vmov.f64        d13 , d12
        vmov.f64        d14 , d12
        vmov.f64        d15 , d12
@@ -245,7 +245,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f64        d12 , =0
+       vsub.f64        d12 , d12 , d12
 
 .endm
 
@@ -279,7 +279,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        pld     [ YO , #Y_PRE ]
 
-       vldr.f32        s8 , =0
+       vsub.f32        s8 , s8 , s8
        vmov.f32        s9  , s8
        vmov.f32        s10 , s8
        vmov.f32        s11 , s8
@@ -357,7 +357,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f32        s12 , =0
+       vsub.f32        s12 , s12 , s12
 
 .endm
 
@@ -384,7 +384,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S4
 
-       vldr.f32        s12 , =0
+       vsub.f32        s12 , s12 , s12
        vmov.f32        s13 , s12
        vmov.f32        s14 , s12
        vmov.f32        s15 , s12
@@ -445,7 +445,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f32        s12 , =0
+       vsub.f32        s12 , s12 , s12
 
 .endm
 
index 84dbde4..0e9ba0c 100644 (file)
@@ -79,7 +79,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        pld     [ YO , #Y_PRE ]
        pld     [ YO , #Y_PRE+32 ]
 
-       vldr.f64        d24 , =0
+       vsub.f64        d24 , d24 , d24
        vmov.f64        d25 , d24
        vmov.f64        d26 , d24
        vmov.f64        d27 , d24
@@ -147,7 +147,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f64        d24 , =0
+       vsub.f64        d24 , d24 , d24
 
 .endm
 
@@ -175,7 +175,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S8
 
-       vldr.f64        d24 , =0
+       vsub.f64        d24 , d24 , d24
        vmov.f64        d25 , d24
        vmov.f64        d26 , d24
        vmov.f64        d27 , d24
@@ -269,7 +269,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f64        d24 , =0
+       vsub.f64        d24 , d24 , d24
 
 .endm
 
@@ -302,7 +302,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        pld     [ YO , #Y_PRE ]
 
-       vldr.f32        s24 , =0
+       vsub.f32        s24 , s24 , s24
        vmov.f32        s25 , s24
        vmov.f32        s26 , s24
        vmov.f32        s27 , s24
@@ -368,7 +368,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f32        s24 , =0
+       vsub.f32        s24 , s24 , s24
 
 .endm
 
@@ -396,7 +396,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S8
 
-       vldr.f32        s24 , =0
+       vsub.f32        s24 , s24 , s24
        vmov.f32        s25 , s24
        vmov.f32        s26 , s24
        vmov.f32        s27 , s24
@@ -489,7 +489,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f32        s24 , =0
+       vsub.f32        s24 , s24 , s24
 
 .endm
 
index da92e4a..6a56ae9 100644 (file)
@@ -75,8 +75,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f64        d2 , =0
-       vldr.f64        d3 , =0
+       vsub.f64        d2 , d2 , d2
+       vsub.f64        d3 , d3 , d3
 
 .endm
 
@@ -123,7 +123,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f64        d2 , =0
+       vsub.f64        d2 , d2 , d2
 
 .endm
 
@@ -160,8 +160,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f64        d2 , =0
-       vldr.f64        d3 , =0
+       vsub.f64        d2 , d2 , d2
+       vsub.f64        d3 , d3 , d3
 
 .endm
 
@@ -224,7 +224,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f64        d2 , =0
+       vsub.f64        d2 , d2 , d2
 
 .endm
 
@@ -276,8 +276,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f32        s2 , =0
-       vldr.f32        s3 , =0
+       vsub.f32        s2 , s2 , s2
+       vsub.f32        s3 , s3 , s3
 
 .endm
 
@@ -321,7 +321,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f32        s2 , =0
+       vsub.f32        s2 , s2 , s2
 
 .endm
 
@@ -356,8 +356,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f32        s2 , =0
-       vldr.f32        s3 , =0
+       vsub.f32        s2 , s2 , s2
+       vsub.f32        s3 , s3 , s3
 
 .endm
 
@@ -418,7 +418,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f32        s2 , =0
+       vsub.f32        s2 , s2 , s2
 
 .endm
 
index 2612787..7ae5799 100644 (file)
@@ -75,8 +75,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f64        d4 , =0
-       vldr.f64        d5 , =0
+       vsub.f64        d4 , d4 , d4
+       vsub.f64        d5 , d5 , d5
 
 .endm
 
@@ -123,8 +123,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f64        d4 , =0
-       vldr.f64        d5 , =0
+       vsub.f64        d4 , d4 , d4
+       vsub.f64        d5 , d5 , d5
 
 .endm
 
@@ -183,7 +183,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f64        d4 , =0
+       vsub.f64        d4 , d4 , d4
 
 .endm
 
@@ -220,7 +220,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f64        d4 , =0
+       vsub.f64        d4 , d4 , d4
 
 .endm
 
@@ -268,8 +268,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f32        s4 , =0
-       vldr.f32        s5 , =0
+       vsub.f32        s4 , s4 , s4
+       vsub.f32        s5 , s5 , s5
 
 .endm
 
@@ -313,8 +313,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f32        s4 , =0
-       vldr.f32        s5 , =0
+       vsub.f32        s4 , s4 , s4
+       vsub.f32        s5 , s5 , s5
 
 .endm
 
@@ -371,7 +371,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f32        s4 , =0
+       vsub.f32        s4 , s4 , s4
 
 .endm
 
@@ -406,7 +406,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f32        s4 , =0
+       vsub.f32        s4 , s4 , s4
 
 .endm
 
index a779805..f50c28e 100644 (file)
@@ -342,9 +342,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        push    {r4}
 
 #if defined(DOUBLE)
-       vldr.f64                d0 , =0
+       vsub.f64                d0 , d0 , d0
 #else
-       vldr.f32                s0 , =0
+       vsub.f32                s0 , s0 , s0
 #endif
        mov     INDEX, #0
 
index 47279df..d80179a 100644 (file)
@@ -446,12 +446,12 @@ nrm2_begin:
 #if defined(COMPLEX)
 
 #if defined(DOUBLE)
-       vldr.f64                d0 , =0         // scale=0.0
+       vsub.f64                d0 , d0 , d0            // scale=0.0
        vldr.64                 d1 , znrm2_one          // ssq=1.0
        vmov.f64                d7 , d1                 // value 1.0
        vmov.f64                d6 , d0                 // value 0.0
 #else
-       vldr.f32                s0 , =0         // scale=0.0
+       vsub.f32                s0 , s0 , s0            // scale=0.0
        vldr.32                 s1 , cnrm2_one          // ssq=1.0
        vmov.f32                s7 , s1                 // value 1.0
        vmov.f32                s6 , s0                 // value 0.0
@@ -460,12 +460,12 @@ nrm2_begin:
 #else
 
 #if defined(DOUBLE)
-       vldr.f64                d0 , =0         // scale=0.0
+       vsub.f64                d0 , d0 , d0            // scale=0.0
        vldr.64                 d1 , dnrm2_one          // ssq=1.0
        vmov.f64                d7 , d1                 // value 1.0
        vmov.f64                d6 , d0                 // value 0.0
 #else
-       vldr.f32                s0 , =0         // scale=0.0
+       vsub.f32                s0 , s0 , s0            // scale=0.0
        vldr.32                 s1 , snrm2_one          // ssq=1.0
        vmov.f32                s7 , s1                 // value 1.0
        vmov.f32                s6 , s0                 // value 0.0
index 8c47a5e..34b251e 100644 (file)
@@ -400,22 +400,17 @@ KERNEL_S1_END_\@:
 * End of macro definitions
 **************************************************************************************/
 
-nrm2_zeros:
-        .align 5
-        .word 0x00000000
-        .word 0x00000000
-
        PROLOGUE
 
        .align 5
 
 #if defined(DOUBLE)
-       vldr.f64                d0 , nrm2_zeros         // scale=0.0
+       vsub.f64                d0 , d0 , d0            // scale=0.0
        vmov.f64                d1 , #1.0               // ssq=1.0
        vmov.f64                d7 , d1                 // value 1.0
        vmov.f64                d6 , d0                 // value 0.0
 #else
-       vldr.f32                s0 , nrm2_zeros         // scale=0.0
+       vsub.f32                s0 , s0 , s0            // scale=0.0
        vmov.f32                s1 , #1.0               // ssq=1.0
        vmov.f32                s7 , s1                 // value 1.0
        vmov.f32                s6 , s0                 // value 0.0
index 0f350e8..a6fcf2a 100644 (file)
@@ -242,13 +242,13 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #if    defined(DSDOT)
 
-       vldr.f64                d0 , =0
-       vldr.f64                d1 , =0
+       vsub.f64                d0 , d0 , d0
+       vsub.f64                d1 , d1 , d1
 
 #else
 
-       vldr.f32                s0 , =0
-       vldr.f32                s1 , =0
+       vsub.f32                s0 , s0 , s0
+       vsub.f32                s1 , s1 , s1
 
 #endif
 
index bff8a7e..4dfb733 100644 (file)
@@ -85,7 +85,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -161,7 +161,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s12, s8
        vmov.f32                s13, s8
@@ -221,7 +221,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s12, s8
 
 .endm
@@ -271,7 +271,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -326,7 +326,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
 
 .endm
@@ -368,7 +368,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
 
 .endm
 
index ef0b8fc..078f14a 100644 (file)
@@ -102,6 +102,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -348,6 +349,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -441,6 +443,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s20, s16
        vmov.f32                s24, s16
        vmov.f32                s28, s16
@@ -503,6 +506,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -586,6 +590,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -646,6 +651,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s20, s16
 
 .endm
@@ -690,6 +696,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -748,6 +755,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
 
 .endm
@@ -789,6 +797,13 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 /******************************************************************************/
 
+.macro INIT1x1
+
+       vsub.f32                s16 , s16 , s16
+
+.endm
+
+
 
 .macro KERNEL1x1_SUB
 
@@ -915,24 +930,9 @@ sgemm_kernel_L4_M4_32:
 
        b        sgemm_kernel_L4_M4_44
 
-        /* Note on loading zero into a fp register
-         * vsub doesn't work since it cannot handle NaN and infinity
-         * vmov.Fn doesn't work with 0
-         * vmov.In and veor are neon
-         * vldr , =0 doesn't work since the function is larger than 2KB
-         *     and the assembler is not able to insert constant pool inside
-         *     the function body.
-         *
-         * Therefore, the best way I've found is to manually create multiple
-         * copies of the zero constant and `vldr` from different ones depending
-         * on where the instruction is.
-         */
-sgemm_f32zero:
-        .word 0x00000000
 
 sgemm_kernel_L4_M4_40:
 
-       vldr.f32                s16 , sgemm_f32zero
        INIT4x4
 
 
@@ -969,7 +969,6 @@ sgemm_kernel_L4_M2_BEGIN:
 
 sgemm_kernel_L4_M2_20:
 
-       vldr.f32                s16 , sgemm_f32zero
        INIT2x4
 
        mov     BO, BC
@@ -1015,14 +1014,9 @@ sgemm_kernel_L4_M1_BEGIN:
 
        tst     I, #1                                   // I = I % 2
        ble     sgemm_kernel_L4_END
-        b       sgemm_kernel_L4_M1_20
-
-sgemm_f32zero4:
-        .word 0x00000000
 
 sgemm_kernel_L4_M1_20:
 
-       vldr.f32                s16 , sgemm_f32zero4
        INIT1x4
 
        mov     BO, BC
@@ -1106,7 +1100,6 @@ sgemm_kernel_L2_M4_BEGIN:
 
 sgemm_kernel_L2_M4_20:
 
-       vldr.f32                s16 , sgemm_f32zero3
        INIT4x2
 
        mov     BO, BC
@@ -1128,6 +1121,7 @@ sgemm_kernel_L2_M4_22:
        subs    L, L, #1
        bgt     sgemm_kernel_L2_M4_22
 
+
 sgemm_kernel_L2_M4_40:
 
        ands    L , K1, #7                                      // L = L % 8
@@ -1148,10 +1142,7 @@ sgemm_kernel_L2_M4_END:
 
        subs    I, I, #1
        bgt     sgemm_kernel_L2_M4_20
-        b       sgemm_kernel_L2_M2_BEGIN
 
-sgemm_f32zero3:
-        .word 0x00000000
 
 sgemm_kernel_L2_M2_BEGIN:
 
@@ -1164,7 +1155,6 @@ sgemm_kernel_L2_M2_BEGIN:
 
 sgemm_kernel_L2_M2_20:
 
-       vldr.f32                s16 , sgemm_f32zero3
        INIT2x2
 
        mov     BO, BC
@@ -1213,7 +1203,6 @@ sgemm_kernel_L2_M1_BEGIN:
 
 sgemm_kernel_L2_M1_20:
 
-       vldr.f32                s16 , sgemm_f32zero3
        INIT1x2
 
        mov     BO, BC
@@ -1289,7 +1278,6 @@ sgemm_kernel_L1_M4_BEGIN:
 
 sgemm_kernel_L1_M4_20:
 
-       vldr.f32                s16 , sgemm_f32zero3
        INIT4x1
 
        mov     BO, BC
@@ -1345,7 +1333,6 @@ sgemm_kernel_L1_M2_BEGIN:
 
 sgemm_kernel_L1_M2_20:
 
-       vldr.f32                s16 , sgemm_f32zero2
        INIT2x1
 
        mov     BO, BC
@@ -1394,7 +1381,7 @@ sgemm_kernel_L1_M1_BEGIN:
 
 sgemm_kernel_L1_M1_20:
 
-       vldr.f32                s16 , sgemm_f32zero2
+       INIT1x1
 
        mov     BO, BC
        asrs    L , K1, #3                                      // L = L / 8
@@ -1447,5 +1434,3 @@ sgemm_kernel_L999:
 
        EPILOGUE
 
-sgemm_f32zero2:
-        .word 0x00000000
index c7ae94d..e7511ff 100644 (file)
@@ -90,7 +90,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -156,7 +156,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s12, s8
        vmov.f32                s13, s8
@@ -211,7 +211,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s12, s8
 
 .endm
@@ -259,7 +259,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9, s8
        vmov.f32                s10, s8
        vmov.f32                s11, s8
@@ -309,7 +309,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
        vmov.f32                s9 , s8
 
 .endm
@@ -348,7 +348,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f32                s8 , =0
+       vsub.f32                s8 , s8 , s8
 
 .endm
 
index f9b439e..f6342a0 100644 (file)
@@ -88,6 +88,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -321,6 +322,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -403,6 +405,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x4
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s20, s16
        vmov.f32                s24, s16
        vmov.f32                s28, s16
@@ -461,6 +464,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -534,6 +538,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s20, s16
        vmov.f32                s21, s16
@@ -588,6 +593,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s20, s16
 
 .endm
@@ -630,6 +636,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT4x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
        vmov.f32                s18, s16
        vmov.f32                s19, s16
@@ -683,6 +690,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
+       vsub.f32                s16 , s16 , s16
        vmov.f32                s17, s16
 
 .endm
@@ -721,6 +729,13 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 /******************************************************************************/
 
+.macro INIT1x1
+
+       vsub.f32                s16 , s16 , s16
+
+.endm
+
+
 
 .macro KERNEL1x1_SUB
 
@@ -940,24 +955,9 @@ _L4_M4_32:
 
        b        _L4_M4_44
 
-        /* Note on loading zero into a fp register
-         * vsub doesn't work since it cannot handle NaN and infinity
-         * vmov.Fn doesn't work with 0
-         * vmov.In and veor are neon
-         * vldr , =0 doesn't work since the function is larger than 2KB
-         *     and the assembler is not able to insert constant pool inside
-         *     the function body.
-         *
-         * Therefore, the best way I've found is to manually create multiple
-         * copies of the zero constant and `vldr` from different ones depending
-         * on where the instruction is.
-         */
-strmm_f32zero:
-        .word 0x00000000
 
 _L4_M4_40:
 
-       vldr.f32                s16 , strmm_f32zero
        INIT4x4
 
 
@@ -1014,7 +1014,6 @@ _L4_M2_BEGIN:
 
 _L4_M2_20:
 
-       vldr.f32                s16 , strmm_f32zero
        INIT2x4
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1113,7 +1112,6 @@ _L4_M1_BEGIN:
 
 _L4_M1_20:
 
-       vldr.f32                s16 , strmm_f32zero3
        INIT1x4
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1254,14 +1252,9 @@ _L2_M4_BEGIN:
        ldr     I, M
        asrs    I, I, #2                                        // I = I / 4
        ble     _L2_M2_BEGIN
-        b       _L2_M4_20
-
-strmm_f32zero3:
-        .word 0x00000000
 
 _L2_M4_20:
 
-       vldr.f32                s16 , strmm_f32zero3
        INIT4x2
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1367,7 +1360,6 @@ _L2_M2_BEGIN:
 
 _L2_M2_20:
 
-       vldr.f32                s16 , strmm_f32zero3
        INIT2x2
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1466,7 +1458,6 @@ _L2_M1_BEGIN:
 
 _L2_M1_20:
 
-       vldr.f32                s16 , strmm_f32zero4
        INIT1x2
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1600,14 +1591,9 @@ _L1_M4_BEGIN:
        ldr     I, M
        asrs    I, I, #2                                        // I = I / 4
        ble     _L1_M2_BEGIN
-        b       _L1_M4_20
-
-strmm_f32zero4:
-        .word 0x00000000
 
 _L1_M4_20:
 
-       vldr.f32                s16 , strmm_f32zero4
        INIT4x1
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1714,7 +1700,6 @@ _L1_M2_BEGIN:
 
 _L1_M2_20:
 
-       vldr.f32                s16 , strmm_f32zero2
        INIT2x1
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
@@ -1813,7 +1798,7 @@ _L1_M1_BEGIN:
 
 _L1_M1_20:
 
-       vldr.f32                s16 , strmm_f32zero2
+       INIT1x1
 
 #if  (defined(LEFT) &&  defined(TRANSA)) || \
     (!defined(LEFT) && !defined(TRANSA))
@@ -1897,5 +1882,3 @@ _L999:
 
        EPILOGUE
 
-strmm_f32zero2:
-        .word 0x00000000
index a2327db..622169b 100644 (file)
@@ -190,10 +190,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        mov     Y, OLD_Y
        ldr     INC_Y, OLD_INC_Y
 
-       vldr.f64                d0 , =0
-       vldr.f64                d1 , =0
-       vldr.f64                d2 , =0
-       vldr.f64                d3 , =0
+       vsub.f64                d0 , d0 , d0
+       vsub.f64                d1 , d1 , d1
+       vsub.f64                d2 , d2 , d2
+       vsub.f64                d3 , d3 , d3
 
        cmp     N, #0
        ble     zdot_kernel_L999
index 28b737a..f4134ea 100644 (file)
@@ -131,7 +131,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -383,7 +383,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d12, d8
        vmov.f64                d13, d8
@@ -557,7 +557,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -724,7 +724,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
 
 .endm
index 7333a09..29c3f45 100644 (file)
@@ -147,7 +147,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -404,7 +404,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -586,7 +586,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -766,7 +766,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d24, d16
        vmov.f64                d25, d16
index 9369f98..d4cab09 100644 (file)
@@ -117,7 +117,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .macro INIT_F4
 
        pld     [ YO, #Y_PRE ]
-        vldr.f64                d8 , =0
+        vsub.f64                d8 , d8 , d8
         vmov.f64                d9 , d8
         vmov.f64                d10, d8
         vmov.f64                d11, d8
@@ -222,7 +222,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-        vldr.f64                d8 , =0
+        vsub.f64                d8 , d8 , d8
         vmov.f64                d9 , d8
 
 .endm
@@ -269,7 +269,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S4
 
-        vldr.f64                d8 , =0
+        vsub.f64                d8 , d8 , d8
         vmov.f64                d9 , d8
         vmov.f64                d10, d8
         vmov.f64                d11, d8
@@ -386,7 +386,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-        vldr.f64                d8 , =0
+        vsub.f64                d8 , d8 , d8
         vmov.f64                d9 , d8
 
 .endm
index 789c9d8..500a3b6 100644 (file)
@@ -117,10 +117,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F2
 
-       vldr.f64        d12, =0
-       vldr.f64        d13, =0
-       vldr.f64        d14, =0
-       vldr.f64        d15, =0
+       vsub.f64        d12, d12, d12
+       vsub.f64        d13, d13, d13
+       vsub.f64        d14, d14, d14
+       vsub.f64        d15, d15, d15
 
 .endm
 
@@ -173,8 +173,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_F1
 
-       vldr.f64        d12, =0
-       vldr.f64        d13, =0
+       vsub.f64        d12, d12, d12
+       vsub.f64        d13, d13, d13
 
 .endm
 
@@ -216,10 +216,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S2
 
-       vldr.f64        d12, =0
-       vldr.f64        d13, =0
-       vldr.f64        d14, =0
-       vldr.f64        d15, =0
+       vsub.f64        d12, d12, d12
+       vsub.f64        d13, d13, d13
+       vsub.f64        d14, d14, d14
+       vsub.f64        d15, d15, d15
 
 .endm
 
@@ -282,8 +282,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT_S1
 
-       vldr.f64        d12, =0
-       vldr.f64        d13, =0
+       vsub.f64        d12, d12, d12
+       vsub.f64        d13, d13, d13
 
 .endm
 
index 9b63c11..109ee07 100644 (file)
@@ -140,7 +140,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -356,10 +356,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        fldd            d0, ALPHA_R
        fldd            d1, ALPHA_I
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
-       vldr.f64        d6, =0
-       vldr.f64        d7, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
+       vsub.f64        d6, d6 , d6
+       vsub.f64        d7, d7 , d7
 
        FMAC_R1 d4 , d0 , d8
        FMAC_I1 d5 , d0 , d9
@@ -373,10 +373,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        fstmiad CO1, { d4 - d7 }
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
-       vldr.f64        d6, =0
-       vldr.f64        d7, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
+       vsub.f64        d6, d6 , d6
+       vsub.f64        d7, d7 , d7
 
        FMAC_R1 d4 , d0 , d12
        FMAC_I1 d5 , d0 , d13
@@ -398,7 +398,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d12, d8
        vmov.f64                d13, d8
@@ -545,8 +545,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        fldd            d0, ALPHA_R
        fldd            d1, ALPHA_I
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
 
        FMAC_R1 d4 , d0 , d8
        FMAC_I1 d5 , d0 , d9
@@ -555,8 +555,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
        fstmiad CO1, { d4 - d5 }
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
 
        FMAC_R1 d4 , d0 , d12
        FMAC_I1 d5 , d0 , d13
@@ -574,7 +574,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
        vmov.f64                d10, d8
        vmov.f64                d11, d8
@@ -718,10 +718,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        fldd            d0, ALPHA_R
        fldd            d1, ALPHA_I
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
-       vldr.f64        d6, =0
-       vldr.f64        d7, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
+       vsub.f64        d6, d6 , d6
+       vsub.f64        d7, d7 , d7
 
        FMAC_R1 d4 , d0 , d8
        FMAC_I1 d5 , d0 , d9
@@ -744,7 +744,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d8 , =0
+       vsub.f64                d8 , d8 , d8
        vmov.f64                d9 , d8
 
 .endm
@@ -850,8 +850,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        fldd            d0, ALPHA_R
        fldd            d1, ALPHA_I
 
-       vldr.f64        d4, =0
-       vldr.f64        d5, =0
+       vsub.f64        d4, d4 , d4
+       vsub.f64        d5, d5 , d5
 
        FMAC_R1 d4 , d0 , d8
        FMAC_I1 d5 , d0 , d9
index db83d43..761dbcc 100644 (file)
@@ -134,7 +134,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -388,7 +388,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x2
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d20, d16
        vmov.f64                d21, d16
@@ -566,7 +566,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT2x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d18, d16
        vmov.f64                d19, d16
@@ -743,7 +743,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 .macro INIT1x1
 
-       vldr.f64                d16 , =0
+       vsub.f64                d16 , d16 , d16
        vmov.f64                d17, d16
        vmov.f64                d24, d16
        vmov.f64                d25, d16