~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to tune/blas/gemm/CASES/ATL_smm4x4x128_av.c

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot, Sylvestre Ledru, Sébastien Villemot
  • Date: 2013-06-11 15:58:16 UTC
  • mfrom: (1.1.4) (25 sid)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: package-import@ubuntu.com-20130611155816-8xeeiziu1iml040c
Tags: 3.10.1-1
[ Sylvestre Ledru ]
* New upstream release (Closes: #609287)

[ Sébastien Villemot ]
* Provide architectural defaults (i.e. precomputed timings) for all
  release archs (except armel and mips for the time being, due to slow
  porterboxes). This will make the package build much faster and should
  eliminate transient build failures due to excessive variance in the
  timings.
* Move symlinks for lib{cblas,f77blas,atlas,lapack_atlas} out of the
  libblas.so.3 alternative and make them always present, so that
  software relying on these libs do not break when another alternative
  is selected for BLAS
* ATLAS now has improved ARM support with native asm constructs. This required
  the following tunes:
  + armel-is-v4t.diff: new patch, prevents FTBFS on armel; otherwise,
    ATLAS uses asm constructs too recent for the platform (armel is only v4t)
  + debian/rules: on armhf, define the ATL_ARM_HARDFP flag; otherwise the asm
    constructs use the soft-float ABI for passing floating points
  + on armhf, ensure that -mfloat-abi=softfp and -mcpu=vfpv3 flags are never
    used; this is implemented via a patch (armhf.diff) and by the use of fixed
    archdefs
* The generic package is now built without multi-threading, because otherwise
  the package fails to build on some single-processor machines (this required
  the introduction of a patch: fix-non-threaded-build.diff). As a side effect,
  the build of the custom package gracefully handles non-threaded
  builds. (Closes: #602524)
* Add libblas.a as slave in the libblas.so alternative (Closes: #701921)
* Add symlinks for lib{f77blas,atlas}.a in /usr/lib (Closes: #666203)
* Modify shlibs file of libatlas3-base, such that packages using
  libblas/liblapack depend on any BLAS/LAPACK alternative, while packages
  depending on ATLAS-specific libraries (e.g. libatlas.so) depend specifically
  on libatlas3-base.
* corei1.diff: remove patch, applied upstream
* Use my @debian.org email address
* Remove obsolete DM-Upload-Allowed flag
* Switch VCS to git
* Remove Conflicts/Replaces against pre-squeeze packages
* libatlas-base-dev now provides libblas.so, as libblas-dev
* No longer use -Wa,--noexecstack in CFLAGS, it makes the package FTBFS
* Do not use POWER3 arch for powerpcspe port (Closes: #701068)
* Bump to debhelper compat level 9
* README.Debian: mention that devscripts is needed to compile the custom
  package (Closes: #697431)
* Bump Standards-Version to 3.9.4. As a consequence, add Built-Using
  fields because the package embeds stuff from liblapack-pic

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *             Automatically Tuned Linear Algebra Software v3.8.4
 
2
 *             Automatically Tuned Linear Algebra Software v3.10.1
3
3
 *                    (C) Copyright 2007 R. Clint Whaley
4
4
 *
5
5
 * Redistribution and use in source and binary forms, with or without
40
40
#ifndef MB
41
41
   #define MB 0
42
42
#endif
 
43
#ifdef ATL_GAS_LINUX_PPC
 
44
   #define ATL_ReadVRSAVE(r_) mfvrsave r_
 
45
   #define ATL_WriteVRSAVE(r_) mtvrsave r_
 
46
#else
 
47
   #define ATL_ReadVRSAVE(r_) mfspr r_, VRsave
 
48
   #define ATL_WriteVRSAVE(r_) mtspr VRsave, r_
 
49
#endif
43
50
 
44
51
#ifdef DCPLX
45
52
   #define CMUL(i_) ((i_)*2)
113
120
#define off12   r26
114
121
 
115
122
#if defined(ATL_USE64BITS)
116
 
   #define FSIZE   320
 
123
   #define FSIZE   368
117
124
   #define FST     48
118
125
#else
119
 
   #define FSIZE   304
 
126
   #define FSIZE   352
120
127
   #define FST     32
121
128
#endif
122
129
#define BOFF    FSIZE-16
239
246
        std     r18, FST+32(r1)
240
247
        std     r19, FST+40(r1)
241
248
        std     r20, FST+48(r1)
242
 
        mfspr   r14, VRsave
 
249
        ATL_ReadVRSAVE(r14)
243
250
        std     r14, FST+56(r1)
244
251
        li      r14, FST+64
245
252
        stvx    v20, r1, r14
276
283
        stvx    v0, 0, pBETA
277
284
#endif
278
285
        eqv     r0, r0, r0      /* all 1s */
279
 
        mtspr   VRsave, r0      /* signal we use all vector regs */
 
286
        ATL_WriteVRSAVE(r0)     /* signal we use all vector regs */
280
287
#if defined (ATL_USE64BITS)
281
288
        ld      pC0, FSIZE+120(r1)
282
289
        ld      ldc, FSIZE+128(r1)
4157
4164
        ld      r19, FST+40(r1)
4158
4165
        ld      r20, FST+48(r1)
4159
4166
        ld      r3, FST+56(r1)
4160
 
        mtspr   VRsave, r3
 
4167
        ATL_WriteVRSAVE(r3)
4161
4168
        li      r3, FST+64
4162
4169
        lvx     v20, r1, r3
4163
4170
        addi    r3, r3, 16
4199
4206
        std     r16, FST+16(r1)
4200
4207
        std     r17, FST+24(r1)
4201
4208
 
4202
 
        mfspr   r14, VRsave
 
4209
        ATL_ReadVRSAVE(r14)
4203
4210
        nop
4204
4211
        nop
4205
4212
        nop
4249
4256
        stvx    v0, 0, pBETA
4250
4257
#endif
4251
4258
        eqv     r0, r0, r0      /* all 1s */
4252
 
        mtspr   VRsave, r0      /* signal we use all vector regs */
 
4259
        ATL_WriteVRSAVE(r0)     /* signal we use all vector regs */
4253
4260
#if defined (ATL_USE64BITS)
4254
4261
        ld      pC0, FSIZE+120(r1)
4255
4262
        ld      ldc, FSIZE+128(r1)
8305
8312
        ld      r25, FST+88(r1)
8306
8313
        ld      r26, FST+96(r1)
8307
8314
        ld      r3, FST+104(r1)
8308
 
        mtspr   VRsave, r3
 
8315
        ATL_WriteVRSAVE(r3)
8309
8316
        li      r3, FST+112
8310
8317
        lvx     v20, r1, r3
8311
8318
        addi    r3, r3, 16