mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
Fixed unaligned handling in axpyf, dotxaxpyf.
Details: - Fixed over-cautious handling of unaligned operands in vector instrinsic implementation of axpyf kernel. - Fixed over- and under-cautious handling of unaligned operands in vector intrinsic implementation of dotxaxpyf kernel.
This commit is contained in:
@@ -217,13 +217,11 @@ void bli_dddaxpyf_opt_var1(
|
||||
use_ref = TRUE;
|
||||
}
|
||||
else if ( bli_is_unaligned_to( a, 16 ) ||
|
||||
bli_is_unaligned_to( x, 16 ) ||
|
||||
bli_is_unaligned_to( y, 16 ) )
|
||||
{
|
||||
use_ref = TRUE;
|
||||
|
||||
if ( bli_is_unaligned_to( a, 16 ) &&
|
||||
bli_is_unaligned_to( x, 16 ) &&
|
||||
bli_is_unaligned_to( y, 16 ) )
|
||||
{
|
||||
use_ref = FALSE;
|
||||
|
||||
@@ -192,18 +192,16 @@ void bli_ddddotxaxpyf_opt_var1(
|
||||
use_ref = TRUE;
|
||||
}
|
||||
else if ( bli_is_unaligned_to( a, 16 ) ||
|
||||
bli_is_unaligned_to( x, 16 ) ||
|
||||
bli_is_unaligned_to( x, 16 ) ||
|
||||
bli_is_unaligned_to( y, 16 ) ||
|
||||
bli_is_unaligned_to( z, 16 ) )
|
||||
bli_is_unaligned_to( w, 16 ) ||
|
||||
bli_is_unaligned_to( z, 16 ) ||
|
||||
bli_is_unaligned_to( y, 16 ) )
|
||||
{
|
||||
use_ref = TRUE;
|
||||
|
||||
if ( bli_is_unaligned_to( a, 16 ) &&
|
||||
bli_is_unaligned_to( w, 16 ) &&
|
||||
bli_is_unaligned_to( x, 16 ) &&
|
||||
bli_is_unaligned_to( y, 16 ) &&
|
||||
bli_is_unaligned_to( z, 16 ) )
|
||||
bli_is_unaligned_to( z, 16 ) &&
|
||||
bli_is_aligned_to( y, 16 ) ) // Note: y is not affected by a, w, and z being unaligned.
|
||||
{
|
||||
use_ref = FALSE;
|
||||
m_pre = 1;
|
||||
|
||||
Reference in New Issue
Block a user