anchor.diff:            INTEGER(LIBXSMM_INT_KIND), INTENT(IN) :: m, n, k
             REAL(T), INTENT(IN) :: a(:,:), b(:,:)
             REAL(T), INTENT(INOUT) :: c(:,:)
  -          TYPE(C_PTR), INTENT(IN), VALUE, OPTIONAL :: pa, pb, pc
  +          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
  
positive.code:         ! Call a specialized function.
          INTERFACE libxsmm_call
            MODULE PROCEDURE                                              &
       &      libxsmm_scall_abc, libxsmm_dcall_abc,                       &
       &      libxsmm_scall_prf, libxsmm_dcall_prf
          END INTERFACE
  
negative.code:           INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: ldb
            INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: ldc
            REAL(T), INTENT(IN), OPTIONAL :: alpha, beta
            PROCEDURE(LIBXSMM_FUNCTION), POINTER :: function
            CALL C_F_PROCPOINTER(                                         &
              libxsmm_ddispatch0(flags, m, n, k,                          &
       &          MERGE(0, lda, .NOT.PRESENT(lda)),                       &
       &          MERGE(0, ldb, .NOT.PRESENT(ldb)),                       &
       &          MERGE(0, ldc, .NOT.PRESENT(ldc)),                       &
       &          MERGE(REAL(LIBXSMM_ALPHA, T), alpha,                    &
       &            .NOT.PRESENT(alpha)),                                 &
       &          MERGE(REAL(LIBXSMM_BETA, T), beta,                      &
       &            .NOT.PRESENT(beta))),                                 &
       &      function)
            libxsmm_dfunction0%fn0 => function
            libxsmm_dfunction0%fn1 => NULL()
          END FUNCTION
  
  