1bf215546Sopenharmony_ci#!/bin/bash 2bf215546Sopenharmony_ci 3bf215546Sopenharmony_ciset -e 4bf215546Sopenharmony_ci 5bf215546Sopenharmony_cigen_shader() { 6bf215546Sopenharmony_ci imm=$1 7bf215546Sopenharmony_ci if [ "$2" = "half" ]; then 8bf215546Sopenharmony_ci h="h" 9bf215546Sopenharmony_ci mov="cov.u16u32" 10bf215546Sopenharmony_ci else 11bf215546Sopenharmony_ci h="" 12bf215546Sopenharmony_ci mov="mov.u32u32" 13bf215546Sopenharmony_ci fi 14bf215546Sopenharmony_ci cat <<EOF 15bf215546Sopenharmony_ci@localsize 1, 1, 1 16bf215546Sopenharmony_ci@buf 4 ; g[0] 17bf215546Sopenharmony_cimov.u32u32 r0.x, 0 18bf215546Sopenharmony_ci(rpt5)nop 19bf215546Sopenharmony_ci(rpt5)nop 20bf215546Sopenharmony_ciadd.f ${h}r2.x, ${h}r0.x, $imm 21bf215546Sopenharmony_ci(rpt5)nop 22bf215546Sopenharmony_ci$mov r1.x, ${h}r2.x 23bf215546Sopenharmony_ci(rpt5)nop 24bf215546Sopenharmony_ci; and store results: 25bf215546Sopenharmony_cistib.b.untyped.1d.u32.1.imm r1.x, r0.x, 0 26bf215546Sopenharmony_ci(sy)nop 27bf215546Sopenharmony_ciend 28bf215546Sopenharmony_ciEOF 29bf215546Sopenharmony_ci} 30bf215546Sopenharmony_ci 31bf215546Sopenharmony_ci 32bf215546Sopenharmony_cirun() { 33bf215546Sopenharmony_ci echo "TEST: $*" 34bf215546Sopenharmony_ci gen_shader $* | ./computerator -g 1,1,1 -d 35bf215546Sopenharmony_ci} 36bf215546Sopenharmony_ci 37bf215546Sopenharmony_cifor n in `seq 0 16`; do 38bf215546Sopenharmony_ci run "$n" "full" 39bf215546Sopenharmony_ci run "h($n)" "half" 40bf215546Sopenharmony_cidone 41