1 #!/bin/bash
   2 
   3 javac -d . ../../../../../../../make/jdk/src/classes/build/tools/spp/Spp.java
   4 
   5 SPP=build.tools.spp.Spp
   6 
   7 typeprefix=
   8 
   9 for type in byte short int long float double
  10 do
  11   Type="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}"
  12   TYPE="$(tr '[:lower:]' '[:upper:]' <<< ${type})"
  13   args="-K$type -Dtype=$type -DType=$Type -DTYPE=$TYPE"
  14 
  15   Boxtype=$Type
  16   Wideboxtype=$Boxtype
  17 
  18   kind=BITWISE
  19 
  20   bitstype=$type
  21   Bitstype=$Type
  22   Boxbitstype=$Boxtype
  23 
  24   fptype=$type
  25   Fptype=$Type
  26   Boxfptype=$Boxtype
  27 
  28   case $type in
  29     byte)
  30       Wideboxtype=Integer
  31       ;;
  32     short)
  33       Wideboxtype=Integer
  34       ;;
  35     int)
  36       Boxtype=Integer
  37       Wideboxtype=Integer
  38       fptype=float
  39       Fptype=Float
  40       Boxfptype=Float
  41       args="$args -KintOrLong -KintOrFP -KintOrFloat"
  42       ;;
  43     long)
  44       fptype=double
  45       Fptype=Double
  46       Boxfptype=Double
  47       args="$args -KintOrLong"
  48       ;;
  49     float)
  50       kind=FP
  51       bitstype=int
  52       Bitstype=Int
  53       Boxbitstype=Integer
  54       args="$args -KintOrFP -KintOrFloat"
  55       ;;
  56     double)
  57       kind=FP
  58       bitstype=long
  59       Bitstype=Long
  60       Boxbitstype=Long
  61       args="$args -KintOrFP"
  62       ;;
  63   esac
  64 
  65   args="$args -K$kind -DBoxtype=$Boxtype -DWideboxtype=$Wideboxtype"
  66   args="$args -Dbitstype=$bitstype -DBitstype=$Bitstype -DBoxbitstype=$Boxbitstype"
  67   args="$args -Dfptype=$fptype -DFptype=$Fptype -DBoxfptype=$Boxfptype"
  68 
  69   abstractvectortype=${typeprefix}${Type}Vector
  70   abstractbitsvectortype=${typeprefix}${Bitstype}Vector
  71   abstractfpvectortype=${typeprefix}${Fptype}Vector
  72   args="$args -Dabstractvectortype=$abstractvectortype -Dabstractbitsvectortype=$abstractbitsvectortype -Dabstractfpvectortype=$abstractfpvectortype"
  73   echo $args
  74   java $SPP -nel $args \
  75     < X-Vector.java.template \
  76     > $abstractvectortype.java
  77 
  78   if [ VAR_OS_ENV==windows.cygwin ]; then
  79     tr -d '\r' < $abstractvectortype.java > temp
  80     mv temp $abstractvectortype.java
  81   fi
  82 
  83   java $SPP -nel $args \
  84     < X-VectorHelper.java.template \
  85     > ${abstractvectortype}Helper.java
  86 
  87   if [ VAR_OS_ENV==windows.cygwin ]; then
  88     tr -d '\r' < ${abstractvectortype}Helper.java > temp
  89     mv temp ${abstractvectortype}Helper.java
  90   fi
  91 
  92   for bits in 64 128 256 512 Scalable
  93   do
  94     vectortype=${typeprefix}${Type}${bits}Vector
  95     masktype=${typeprefix}${Type}${bits}Mask
  96     shuffletype=${typeprefix}${Type}${bits}Shuffle
  97     bitsvectortype=${typeprefix}${Bitstype}${bits}Vector
  98     fpvectortype=${typeprefix}${Fptype}${bits}Vector
  99     shape=S${bits}Bit
 100     Shape=S_${bits}_BIT
 101     bitargs="$args -Dbits=$bits -Dvectortype=$vectortype -Dmasktype=$masktype -Dshuffletype=$shuffletype -Dbitsvectortype=$bitsvectortype -Dfpvectortype=$fpvectortype -Dshape=$shape -DShape=$Shape"
 102 
 103     echo $bitargs
 104     java $SPP -nel $bitargs \
 105       < X-VectorBits.java.template \
 106       > $vectortype.java
 107 
 108     if [ VAR_OS_ENV==windows.cygwin ]; then
 109       tr -d  '\r' < $vectortype.java > temp
 110       mv temp $vectortype.java
 111     fi
 112   done
 113 
 114 done
 115 
 116 rm -fr build
 117