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