#
# In this file, any line beginning with a '#' is ignored, but the # must be in
# column 0.  All multiple whitespace is reduced to one space (i.e. used only
# to distinguish where words begin/end).  Lines may be extended by putting '\'
# as the *last* character of line.
#
# The file has the following format:
# ROUT='routine name' AUTH='author names' COMP='compiler name' FLAGS='flags'
# ID=<id> MU=<mu> NU=<nu> KU=<ku> KBMIN=<#> KBMAX=<#> BETAN1=[0,1]
# TA='[t,n,c]' TB='[t,n,c]' SSE=[0,1,2,3],
# MFLOP=<#> mbB=<#> nbB=<#> kbB=<#>, AOUTER=[0,1]
# X87=[0,1] LDBOT=[0,1], RTKU=[0,1], RTMN=[0,1] ldKB=[0,1], ldab=[0,1]
# ASM=[asmlist], eg., asmlist is "GAS_x8664,GAS_x8632" or "GAS_SPARC"
# ASM defaults to no assembly dialect required.
#
# All routines are assumed to handle any runtime value of M (N) that is a
# multiple of MU (NU).  Routines are assumed to require K to be fixed using
# the KB cpp macro, and can take any
# Some of the less obvious keywords:
# LDBOT: set to 1 if you add C to A*B only after doing product (less error).
# RTKU : KU is a runtime, rather than compile time constraint
# RTMN : MU & NU are runtime not compile-time constrants
# ldKB : lda = ldb = KB assumed by kernel
# ldab : if set, lda must equal ldb, but they need not be equal to KB
# AOUTER: M is not/is outer loop of kernel
# BETAN1: kernel does not/does have special case for BETA=-1
#
# For most [0,1] choices, 0 means 'No', or 'False', 1 means opposite.
#
# ID, ROUT, AUTH, MU, NU, KU, are mandatory, and if COMP is given, so is FLAGS.
# Defaults: TA='t', TB='n', SSE=0, X87=0, LDBOT=1, RTKU=0, AOUTER=0,
#           KBMAX=KU, KBMIN=KU, BETAN1=0, RTMN=1
#
ID=1  ROUT='ATL_smm4x4x128_av.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=4 \
      LDKB=1 LDBOT=1 KBMIN=4 KBMAX=128 ASM=GAS_PPC \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=2  ROUT='ATL_smm4x4x16_av.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=16 \
      LDKB=1 LDBOT=0 KBMIN=16 KBMAX=2048 ASM=GAS_SPARC \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=10 ROUT='ATL_smm4x4x16_US.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=16 \
      LDKB=1 LDBOT=0 KBMIN=16 KBMAX=2048 ASM=GAS_SPARC \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=11 ROUT='ATL_smm4x4x2_US.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=2 \
      LDKB=1 LDBOT=0 KBMIN=2 KBMAX=2048 ASM=GAS_SPARC \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=12 ROUT='ATL_smm4x4x72_US.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=72 \
      LDKB=1 LDBOT=0 KBMIN=72 KBMAX=72 ASM=GAS_SPARC \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=20 ROUT='ATL_smm4x4xURx_mips.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=1 \
      LDKB=0 LDBOT=0 KBMIN=1 KBMAX=2048 ASM=GAS_MIPS \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=50 ROUT='ATL_smm10x1x120_sse.c' AUTH='R. Clint Whaley' MU=10 NU=1 KU=4 \
      LDKB=1 LDBOT=1 KBMIN=4 KBMAX=128 SSE=3 ASM=GAS_x8664 \
      COMP='gcc' FLAGS='-x assembler-with-cpp -m64'
#  This routine presently has restrictino that MB <= 84
#ID=51 ROUT='ATL_smm14x1x84_sseCU.c' AUTH='R. Clint Whaley' MU=14 NU=1 KU=4 \
#      LDKB=1 LDBOT=0 SSE=1 ASM=GAS_x8664 \
#      COMP='gcc' FLAGS='-m64 -x assembler-with-cpp'
ID=52 ROUT='ATL_smm4x1x60_4_sse2.c' AUTH='R. Clint Whaley' MU=4 NU=1 KU=60 \
      LDKB=1 LDBOT=0 KBMIN=60 KBMAX=60 SSE=2 ASM=GAS_x8632 \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=53 ROUT='ATL_smm6x1x120_sse.c' AUTH='R. Clint Whaley' MU=6 NU=1 KU=120 \
      LDKB=1 LDBOT=0 KBMIN=120 KBMAX=120 SSE=1 ASM=GAS_x8664,GAS_x8632 \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
ID=54 ROUT='ATL_smm6x1x80_sse.c' AUTH='R. Clint Whaley' MU=6 NU=1 KU=4 \
      LDKB=1 LDBOT=0 KBMIN=4 KBMAX=80 SSE=1 ASM=GAS_x8664,GAS_x8632 \
      COMP='gcc' FLAGS='-x assembler-with-cpp'
