anchor.diff:      INTEGER(LIBXSMM_INTEGER_TYPE), PARAMETER :: T = LIBXSMM_SINGLE_PRECISION
       INTEGER(LIBXSMM_INTEGER_TYPE), INTENT(IN) :: m, n, k
       INTEGER(LIBXSMM_INTEGER_TYPE) :: i, j
  -    REAL(T), INTENT(IN) :: a($SHAPE_AS1,$SHAPE_AS2), b($SHAPE_BS1,$SHAPE_BS2)
  +    REAL(T), INTENT(IN), TARGET, CONTIGUOUS :: a(:,:), b(:,:)
       REAL(T), INTENT(INOUT) :: c($SHAPE_C1,$SHAPE_C2)
  -    REAL(T) :: x($SHAPE_AT1,$SHAPE_AT2), y($SHAPE_BT1,$SHAPE_BT2)
  +    REAL(T), POINTER :: x(:,:), y(:,:)
       IF (0.NE.LIBXSMM_COL_MAJOR) THEN
         !DIR$ OMP SIMD COLLAPSE(2)
         DO j = LBOUND(b, 2), LBOUND(b, 2) + n - 1
  
positive.code:     INTEGER(LIBXSMM_INTEGER_TYPE), PARAMETER :: T = LIBXSMM_DOUBLE_PRECISION
      INTEGER(LIBXSMM_INTEGER_TYPE), INTENT(IN) :: m, n, k
      INTEGER(LIBXSMM_INTEGER_TYPE) :: i, j
      REAL(T), INTENT(IN) :: a($SHAPE_AS1,$SHAPE_AS2), b($SHAPE_BS1,$SHAPE_BS2)
      REAL(T), INTENT(INOUT) :: c($SHAPE_C1,$SHAPE_C2)
      REAL(T) :: x($SHAPE_AT1,$SHAPE_AT2), y($SHAPE_BT1,$SHAPE_BT2)
      IF (0.NE.LIBXSMM_COL_MAJOR) THEN
        !DIR$ OMP SIMD COLLAPSE(2)
        DO j = LBOUND(b, 2), LBOUND(b, 2) + n - 1
  
negative.code:   SUBROUTINE libxsmm_smm(m, n, k, a, b, c)
      INTEGER(LIBXSMM_INTEGER_TYPE), PARAMETER :: T = LIBXSMM_SINGLE_PRECISION
      INTEGER(LIBXSMM_INTEGER_TYPE), INTENT(IN) :: m, n, k
      REAL(T), TARGET, INTENT(IN) :: a(:,:), b(:,:)
      REAL(T), TARGET, INTENT(INOUT) :: c(:,:)
      !DIR$ ATTRIBUTES OFFLOAD:MIC :: xmm
      PROCEDURE(LIBXSMM_XMM_FUNCTION), POINTER :: xmm
      TYPE(C_FUNPTR) :: f
  