Ref #750 and Ref #740 : bugfix for sdot, dsdot and ddot on arm

This commit is contained in:
Werner Saar 2016-01-23 11:59:51 +01:00
parent 72390e3ffb
commit 9066d1f982
2 changed files with 15 additions and 11 deletions

View File

@ -31,6 +31,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* CTEST : OK * CTEST : OK
* TEST : OK * TEST : OK
* *
* 2016/01/23 Saar
* Bugfix for Refs #750 and #740
**************************************************************************************/ **************************************************************************************/
#define ASSEMBLER #define ASSEMBLER
@ -152,8 +154,12 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mov Y, OLD_Y mov Y, OLD_Y
ldr INC_Y, OLD_INC_Y ldr INC_Y, OLD_INC_Y
vsub.f64 d0 , d0 , d0 movs r4, #0 // clear floating point register
vsub.f64 d1 , d1 , d1 vmov s0, r4
vmov s1, r4
vcvt.f64.f32 d0, s0
vcvt.f64.f32 d1, s1
cmp N, #0 cmp N, #0
ble ddot_kernel_L999 ble ddot_kernel_L999

View File

@ -31,6 +31,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* CTEST : OK (no test for dsdot) * CTEST : OK (no test for dsdot)
* TEST : OK (no test for dsdot) * TEST : OK (no test for dsdot)
* *
* 2016/01/23 Saar
* Bugfix for Refs #750 and #740
**************************************************************************************/ **************************************************************************************/
#define ASSEMBLER #define ASSEMBLER
@ -240,16 +242,12 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mov Y, OLD_Y mov Y, OLD_Y
ldr INC_Y, OLD_INC_Y ldr INC_Y, OLD_INC_Y
movs r4, #0 // clear floating point register
vmov s0, r4
vmov s1, r4
#if defined(DSDOT) #if defined(DSDOT)
vcvt.f64.f32 d0, s0
vsub.f64 d0 , d0 , d0 vcvt.f64.f32 d1, s1
vsub.f64 d1 , d1 , d1
#else
vsub.f32 s0 , s0 , s0
vsub.f32 s1 , s1 , s1
#endif #endif
cmp N, #0 cmp N, #0