anchor.diff:            TYPE(LIBXSMM_SMM_FUNCTION), INTENT(IN) :: fn
             REAL(T), INTENT(IN), TARGET :: a(*), b(*)
             REAL(T), INTENT(INOUT), TARGET :: c(*)
  -          REAL(T), INTENT(IN), TARGET :: pa(*), pb(*), pc(*)
  +          REAL(T), INTENT(IN), POINTER :: pa, pb, pc
             CALL libxsmm_scall_prx(fn, C_LOC(a), C_LOC(b), C_LOC(c),      &
        &      C_LOC(pa), C_LOC(pb), C_LOC(pc))
           END SUBROUTINE
  
positive.code:           INTEGER(LIBXSMM_INT_KIND), INTENT(IN) :: m, n, k
            REAL(T), INTENT(IN) :: a(:,:), b(:,:)
            REAL(T), INTENT(INOUT) :: c(:,:)
            REAL(T), INTENT(IN), OPTIONAL :: pa(*), pb(*), pc(*)
            INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: flags
            REAL(T), INTENT(IN), OPTIONAL :: alpha, beta
            TYPE(LIBXSMM_SMM_FUNCTION) :: function
            INTEGER(LIBXSMM_INT_KIND) :: f
            f = MERGE(LIBXSMM_FLAGS, flags, .NOT.PRESENT(flags))
            IF (LIBXSMM_MAX_MNK.GE.(m * n * k)) THEN
              IF (PRESENT(pa).OR.PRESENT(pb).OR.PRESENT(pc)) THEN
                function = libxsmm_sfunction1(                            &
       &          f, m, n, k, 0, 0, 0, alpha, beta,                       &
       &          MERGE(LIBXSMM_PREFETCH, LIBXSMM_PREFETCH_SIGNATURE,     &
       &              LIBXSMM_PREFETCH_NONE.NE.LIBXSMM_PREFETCH))
                IF (ASSOCIATED(function%fn1)) THEN
                  CALL libxsmm_scall_prf(function, a, b, c, pa, pb, pc)
                ELSE
                  CALL libxsmm_sblasmm(m, n, k, a, b, c, f, alpha, beta)
                END IF
              ELSE
                function = libxsmm_sfunction0(                            &
       &          f, m, n, k, 0, 0, 0, alpha, beta)
                IF (ASSOCIATED(function%fn0)) THEN
                  CALL libxsmm_scall_abc(function, a, b, c)
                ELSE
                  CALL libxsmm_sblasmm(m, n, k, a, b, c, f, alpha, beta)
                END IF
              END IF
            ELSE
              CALL libxsmm_sblasmm(m, n, k, a, b, c, f, alpha, beta)
            END IF
          END SUBROUTINE
  
  
negative.code:           TYPE(LIBXSMM_DMM_FUNCTION), INTENT(IN) :: fn
            REAL(T), INTENT(IN), TARGET :: a(*), b(*)
            REAL(T), INTENT(INOUT), TARGET :: c(*)
            REAL(T), INTENT(IN), POINTER :: pa, pb, pc
            CALL libxsmm_dcall_prx(fn, C_LOC(a), C_LOC(b), C_LOC(c),      &
       &      C_LOC(pa), C_LOC(pb), C_LOC(pc))
          END SUBROUTINE
  