From 24b72efc54368408d0634816234a88d691d65ec8 Mon Sep 17 00:00:00 2001 From: Pawel Jalocha Date: Wed, 19 Oct 2016 13:07:16 +0200 Subject: [PATCH] Updated to 0.2.5 and implemented BiasTee - but requires updated RTL-SDR driver installed --- Makefile | 2 +- boxfilter.h | 161 ++++ hex/shader_1024k.hex | 948 +++++++++++++++++++++++ hex/shader_128k.hex | 1340 ++++++++++++++++++--------------- hex/shader_16k.hex | 1250 ++++++++++++++++-------------- hex/shader_1k.hex | 970 +++++++++++++----------- hex/shader_2048k.hex | 1353 +++++++++++++++++++++++++++++++++ hex/shader_256.hex | 680 +++++++++-------- hex/shader_256k.hex | 861 +++++++++++++++++++++ hex/shader_2k.hex | 1444 ++++++++++++++++++----------------- hex/shader_32k.hex | 1235 +++++++++++++++++------------- hex/shader_4096k.hex | 1523 +++++++++++++++++++++++++++++++++++++ hex/shader_4k.hex | 948 ++++++++++++----------- hex/shader_512.hex | 944 ++++++++++++----------- hex/shader_512k.hex | 983 ++++++++++++++++++++++++ hex/shader_64k.hex | 1712 +++++++++++++++++++++++------------------- hex/shader_8k.hex | 1119 ++++++++++++++------------- hex/shader_trans.hex | 126 ++++ ogn-rf.cc | 11 +- pulsefilter.h | 69 ++ rtlsdr.h | 2 + serialize.h | 25 + socket.h | 15 +- tonefilter.h | 91 +++ 24 files changed, 12484 insertions(+), 5328 deletions(-) create mode 100644 boxfilter.h create mode 100644 hex/shader_1024k.hex create mode 100644 hex/shader_2048k.hex create mode 100644 hex/shader_256k.hex create mode 100644 hex/shader_4096k.hex create mode 100644 hex/shader_512k.hex create mode 100644 hex/shader_trans.hex create mode 100644 pulsefilter.h create mode 100644 serialize.h create mode 100644 tonefilter.h diff --git a/Makefile b/Makefile index f18fbd3..9431e3f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = 0.2.5 +VERSION = 0.2.6 # USE_RPI_GPU_FFT = 1 diff --git a/boxfilter.h b/boxfilter.h new file mode 100644 index 0000000..53c62c5 --- /dev/null +++ b/boxfilter.h @@ -0,0 +1,161 @@ +#ifndef __BOXFILTER_H__ +#define __BOXFILTER_H__ + +#include +#include + +#include "alloc.h" + +// =========================================================================================== + +template + class BoxPeakSum +{ public: + int Size; // How many samples to remember + Type *Pipe; // storage for Size most recent signals + int Ptr; // most recent signal position + Type Peak; // max. signal value + int PeakPtr; // position of max. signal + Type Sum; // sum of all signals in the Pipe + + public: + BoxPeakSum() { Size=0; Pipe=0; Clear(); } + ~BoxPeakSum() { Free(); } + void Free(void) { free(Pipe); Size=0; Pipe=0; Clear(); } + + void Print(void) + { printf("BoxPeakSum[%d]", Size); + for(int Idx=0; IdxSize=Size; + if(Malloc(Pipe, Size)<=0) return -1; + Clear(); return Size; } + + void Clear(void) + { Ptr=0; Peak=0; PeakPtr=0; Sum=0; for(int Idx=0; IdxPeak) { Peak=Sig; PeakPtr=Idx; } + } + } + + // Type operator[](int Idx) + // { Idx+=PeakPtr; if(Idx>=Size) Idx-=Size; return Pipe[Idx]; } + + Type GetPipe(int Delay=0) + { int Idx = Ptr-Delay; if(Idx<0) Idx+=Size; return Pipe[Idx]; } + + void Process(Type Input) + { Ptr+=1; if(Ptr>=Size) Ptr=0; + Sum -= Pipe[Ptr]; + Sum += (Pipe[Ptr]=Input); + if(Input>Peak) { Peak=Input; PeakPtr=Ptr; } + if((Ptr==0) || (Ptr==PeakPtr) ) ReCalc(); } + + int isAtPeak(void) + { int AntiPtr=Ptr-Size/2; if(AntiPtr<0) AntiPtr+=Size; + return AntiPtr==PeakPtr; } // return 1 when peak is in the center of the pipeline + + Type AtPeak(int Ofs=0) + { int Idx=PeakPtr+Ofs; + if(Idx>=Size) Idx-=Size; + else if(Idx<0) Idx+=Size; + return Pipe[Idx]; } + + Type PeakSum(int Radius=0) + { Type Sum=0; if(Radius>(Size/2)) Radius=Size/2; + int Count=2*Radius+1; + int Idx=PeakPtr-Radius; if(Idx<0) Idx+=Size; + for( ; Count>0; Count--) + { Sum+=Pipe[Idx++]; if(Idx>=Size) Idx-=Size; } + return Sum; } + + template + int FitGauss(FitType &Peak, FitType &Pos, FitType &Sigma, Type Bias=0, int LogFit=0) + { int Idx = Ptr-PeakPtr; if(Idx<0) Idx+=Size; // Idx = distance from the current sample to the peak + Peak=this->Peak; Pos=(-Idx); Sigma=0; if( (Idx==0) || (Idx==(Size-1)) ) return -1; + Idx=PeakPtr; Type C=Pipe[Idx]-Bias; if(C<=0) return -2; // center + Idx=(PeakPtr-1); if(Idx<0) Idx+=Size; Type L=Pipe[Idx]-Bias; if(L<=0) return -2; // left (before center) + Idx=(PeakPtr+1); if(Idx>=Size) Idx-=Size; Type R=Pipe[Idx]-Bias; if(R<=0) return -2; // right (after center) + if(LogFit) { C=log(C); R=log(R); L=log(L); } + FitType A = (R+L)/2-C; if(A>=0) return -3; // parabole coeff: A, B, C + FitType B = (R-L)/2; + FitType D = B*B-4*A*C; // Delta + Peak = (-D/(4*A)); if(LogFit) Peak=exp(Peak); // interpolated maximum value + Pos += -B/(2*A); // interpolated position + if(LogFit) Sigma = sqrt(-0.5/A); // interpolated width + else Sigma = sqrt(-0.5*Peak/A); + return 3; } + + int FitTriangle(double &Peak, double &Pos) + { int Idx = Ptr-PeakPtr; if(Idx<0) Idx+=Size; // Idx = distance from the current sample to the peak + Peak=this->Peak; Pos=(-Idx); if( (Idx<2) || (Idx>=(Size-2)) ) return -1; + Idx=PeakPtr; Type C=Pipe[Idx]; // center + Idx=(PeakPtr-1); if(Idx<0) Idx+=Size; Type L=Pipe[Idx]; // left (before center) + Idx=(PeakPtr+1); if(Idx>=Size) Idx-=Size; Type R=Pipe[Idx]; // right (after center) + if(R==L) return 2; + if(R>L) + { Idx=(PeakPtr+2); if(Idx>=Size) Idx-=Size; Type RR=Pipe[Idx]; // next right + double X = (-C+2*R-RR)/(-L+C+R-RR); Peak=C+X*(C-L); Pos+=X; } + else + { Idx=(PeakPtr-2); if(Idx<0) Idx+=Size; Type LL=Pipe[Idx]; // next left + double X = (-LL+2*L-C)/(LL-L-C+R); Peak=C+X*(R-C); Pos+=X; } + return 2; } + +} ; + +// =========================================================================================== + +template + class BoxSumFilter +{ public: + int Size; // box size + Type *Pipe; // box storage + int Ptr; // pipe pointer + SumType Output; // filter output = sum of all elements in the box + int RoundsPerRecalc; // how often to recalculate + int RoundsToRecalc; // recalc. counter + + public: + BoxSumFilter() { Size=0; Pipe=0; Clear(); } + ~BoxSumFilter() { Free(); } + void Free(void) { free(Pipe); Size=0; Pipe=0; } + + int Preset(int Size, int RoundsPerRecalc=4) + { Free(); + this->Size=Size; this->RoundsPerRecalc=RoundsPerRecalc; + if(Malloc(Pipe, Size)<=0) return -1; + Clear(); return Size; } + + void Clear(Type Zero=0) + { Ptr=0; Output=Size*(SumType)Zero; for(int Idx=0; Idx=Size) Ptr=0; + Output-=Pipe[Ptr]; + Output+=(Pipe[Ptr]=Input); + if( (Ptr==0) && RoundsPerRecalc ) + { RoundsToRecalc--; + if(RoundsToRecalc==0) + { ReCalc(); RoundsToRecalc=RoundsPerRecalc; } + } + return Output; } + + SumType Average(void) { return Output/Size; } + Type operator[](int Delay) { int Idx=Ptr-Delay; if(Idx<0) Idx+=Size; return Pipe[Idx]; } +} ; + + +// =========================================================================================== + +#endif // __BOXFILTER_H__ diff --git a/hex/shader_1024k.hex b/hex/shader_1024k.hex new file mode 100644 index 0000000..bad96b5 --- /dev/null +++ b/hex/shader_1024k.hex @@ -0,0 +1,948 @@ +0x00000014, 0xe0021227, // mov rb_STAGES, STAGES +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x00000080, 0xe0021767, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217e7, // mov rb_0x100, 0x100 +0x55555555, 0xe0020767, // mov rx_0x55555555, 0x55555555 +0x33333333, 0xe00207a7, // mov rx_0x33333333, 0x33333333 +0x0f0f0f0f, 0xe00207e7, // mov rx_0x0F0F0F0F, 0x0F0F0F0F +0x00ff00ff, 0xe0021027, // mov rx_0x00FF00FF, 0x00FF00FF +0x0000ffff, 0xe00216a7, // mov rx_0x0000FFFF, 0x0000FFFF +0x80904000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(1, 16, dma_h32( 0,0)) +0x80905000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(1, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x100246a0, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246e0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000002e8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x15727d80, 0x10020827, // mov r0, ra_vdw_32 +0x8c05cdf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00040000, 0xe00208e7, // mov r3, PASS32_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x000005d8, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd78, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149c01c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149c01c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9db1c0, 0x10020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119db3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c91c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95682ff6, 0x10024682, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c7ff6, 0x100246c7, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb50, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95682ff6, 0x10024682, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c7ff6, 0x100246c7, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00001258, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149c01c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149c01c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9db1c0, 0x10020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119db3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c91c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff998, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff970, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff9d0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00007fff, 0xe0020827, // mov r0, 0x7FFF +0x141e7c00, 0x100229e7, // and.setf -, ra_points, r0 +0xfffff9a0, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100601e7, // add.ifnz ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff710, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff4a0, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff480, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff460, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff440, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff1b0, 0xf00809e7, // brr.allz -, r:pass_3 +0x00000060, 0xe0020827, // mov r0, 3*4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000007, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000006, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xffffef40, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xffffecb0, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xffffed78, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_128k.hex b/hex/shader_128k.hex index 2eca6a1..6b82f92 100644 --- a/hex/shader_128k.hex +++ b/hex/shader_128k.hex @@ -1,605 +1,735 @@ -0x00000011, 0xe0021227, -0x00000010, 0xe00216a7, -0x00000040, 0xe00216e7, -0x00000080, 0xe0021727, -0x000000f0, 0xe0021767, -0x00000100, 0xe00217a7, -0x00000fff, 0xe00217e7, -0x55555555, 0xe0020767, -0x33333333, 0xe00207a7, -0x0f0f0f0f, 0xe00207e7, -0x00ff00ff, 0xe0021627, -0x0000ffff, 0xe0021667, -0x88104000, 0xe00206e7, -0x88105000, 0xe0021027, -0x90104000, 0xe0020727, -0x90105000, 0xe0021067, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x10021367, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dc1c0, 0xa0020827, -0x159e7900, 0x10020427, -0x0c9e7280, 0x10020e27, -0x0c9dc3c0, 0xa0020867, -0x159e7900, 0x10021427, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10024660, -0xcc9e7081, 0x100246a0, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x156e7d80, 0x10021c67, -0xc000ffc0, 0xe0021c67, -0x8c05bdf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x000000c8, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15727d80, 0x10021c67, -0xc0007fc0, 0xe0021c67, -0x8c05bdf6, 0x10024072, -0x00000050, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000560, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x204a7030, 0x1000d9c2, -0x209d2039, 0x1000c9e2, -0x22092cb8, 0x1006c823, -0x204a7031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x20527030, 0x1000d9c2, -0x209d4039, 0x1000c9e2, -0x22094cb8, 0x1006c823, -0x20527031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x20567030, 0x1000d9c2, -0x209d5039, 0x1000c9e2, -0x22095cb8, 0x1006c823, -0x20567031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15ddf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d81c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149d81c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d91c0, 0x10020867, -0x0e9da1c0, 0x10020827, -0x149d91c0, 0x10020827, -0x119da3c0, 0x10020867, -0x159e7040, 0x10020827, -0x0e9cc1c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffd78, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15adf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d81c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149d81c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d91c0, 0x10020867, -0x0e9da1c0, 0x10020827, -0x149d91c0, 0x10020827, -0x119da3c0, 0x10020867, -0x159e7040, 0x10020827, -0x0e9cc1c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc30, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20467006, 0x100059c2, -0x209d100f, 0x100049e2, -0x2046700e, 0x100049e3, -0x22091c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f549e7, -0x95642ff6, 0x10024642, -0x95687ff6, 0x10024687, -0x95701ff6, 0x10024701, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffba0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x00000000, 0xf0f489e7, -0x009e7000, 0x100009e7, -0x95642ff6, 0x10024642, -0x956c0ff6, 0x100246c0, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000007b0, 0xf00809e7, -0x952cbdbf, 0x10024451, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15adf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d81c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149d81c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149d91c0, 0x10020867, -0x0e9da1c0, 0x10020827, -0x149d91c0, 0x10020827, -0x119da3c0, 0x10020867, -0x159e7040, 0x10020827, -0x0e9cc1c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffac0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dedc0, 0x100201e7, -0x0e1c8dc0, 0x100229e7, -0xfffffa98, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dedc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc68, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0x141dfdc0, 0x100229e7, -0xfffffc40, 0xf01809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100601e7, -0x95555dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02567c80, 0x100208a7, -0x029d5ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x0e1c8dc0, 0x100229e7, -0xfffffb78, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffa78, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0xfffffa58, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0x95555dbf, 0x100248a3, -0x203a7016, 0x100049e0, -0x209ce017, 0x100049e1, -0x209ce01f, 0x100049e2, -0x213a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02567c80, 0x100208a7, -0x029d5ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x0e1c8dc0, 0x100229e7, -0xfffff990, 0xf00809e7, -0x00000020, 0xe0020827, -0x0d227c00, 0x10020227, -0x0c1dcdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x95410dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff890, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0x95555dbf, 0x100248a3, -0x203e7016, 0x100049e0, -0x209cf017, 0x100049e1, -0x209cf01f, 0x100049e2, -0x213e709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02567c80, 0x100208a7, -0x029d5ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x0e1c8dc0, 0x100229e7, -0xfffff7c8, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dcdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffff820, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000011, 0xe0021227, // mov rb_STAGES, STAGES +0x00000010, 0xe00216a7, // mov rb_0x10, 0x10 +0x00000040, 0xe00216e7, // mov rb_0x40, 0x40 +0x00000080, 0xe0021727, // mov rb_0x80, 0x80 +0x000000f0, 0xe0021767, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217a7, // mov rb_0x100, 0x100 +0x00000fff, 0xe00217e7, // mov rb_0xFFF, 0xFFF +0x55555555, 0xe0020767, // mov rx_0x55555555, 0x55555555 +0x33333333, 0xe00207a7, // mov rx_0x33333333, 0x33333333 +0x0f0f0f0f, 0xe00207e7, // mov rx_0x0F0F0F0F, 0x0F0F0F0F +0x00ff00ff, 0xe0021627, // mov rx_0x00FF00FF, 0x00FF00FF +0x0000ffff, 0xe0021667, // mov rx_0x0000FFFF, 0x0000FFFF +0x88104000, 0xe00206e7, // mov ra_vdw_16, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88105000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0(16, 16, dma_h32(32,0)) +0x90104000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024660, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x156e7d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc000ffc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05bdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000c8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc0007fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05bdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000560, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd78, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d81c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d81c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9da1c0, 0x10020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119da3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9cc1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c0ff6, 0x100246c0, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000d00, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d81c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d81c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9da1c0, 0x10020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119da3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9cc1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa08, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff9e0, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffaf0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x141dfdc0, 0x100229e7, // and.setf -, ra_points, rb_0xFFF +0xfffffac8, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100601e7, // add.ifnz ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff938, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff778, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffff758, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff5c8, 0xf00809e7, // brr.allz -, r:pass_3 +0x00000020, 0xe0020827, // mov r0, 4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff408, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff278, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff2d0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_16k.hex b/hex/shader_16k.hex index 9bc506d..160d783 100644 --- a/hex/shader_16k.hex +++ b/hex/shader_16k.hex @@ -1,562 +1,688 @@ -0x00000010, 0xe00216e7, -0x00000040, 0xe0021727, -0x00000080, 0xe0021767, -0x000000f0, 0xe00217a7, -0x00000100, 0xe00217e7, -0x00005555, 0xe0020767, -0x00003333, 0xe00207a7, -0x00000f0f, 0xe00207e7, -0x000000ff, 0xe00216a7, -0x88104000, 0xe00206e7, -0x88105000, 0xe0021027, -0x90104000, 0xe0020727, -0x90105000, 0xe0021067, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021367, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020427, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021427, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10024660, -0xcc9e7081, 0x100246a0, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x156e7d80, 0x10021c67, -0xc0001fc0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x000000c8, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15727d80, 0x10021c67, -0xc0000fc0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000050, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x000005f0, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x204a7030, 0x1000d9c2, -0x209d2039, 0x1000c9e2, -0x22092cb8, 0x1006c823, -0x204a7031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x20527030, 0x1000d9c2, -0x209d4039, 0x1000c9e2, -0x22094cb8, 0x1006c823, -0x20527031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x20567030, 0x1000d9c2, -0x209d5039, 0x1000c9e2, -0x22095cb8, 0x1006c823, -0x20567031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15edf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c11c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c11c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20467006, 0x100059c2, -0x209d100f, 0x100049e2, -0x2046700e, 0x100049e3, -0x22091c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f549e7, -0x95642ff6, 0x10024642, -0x95687ff6, 0x10024687, -0x95701ff6, 0x10024701, -0x8c15edf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbf0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffba0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x20467006, 0x100059c2, -0x209d100f, 0x100049e2, -0x2046700e, 0x100049e3, -0x22091c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f549e7, -0x95642ff6, 0x10024642, -0x95687ff6, 0x10024687, -0x95701ff6, 0x10024701, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffb10, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x00000000, 0xf0f489e7, -0x009e7000, 0x100009e7, -0x95642ff6, 0x10024642, -0x956c0ff6, 0x100246c0, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000005e0, 0xf00809e7, -0x952cbdbf, 0x10024451, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c11c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffa58, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x0e1cedc0, 0xd00229e7, -0xfffffa30, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x952cbdbf, 0x10024451, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffba8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0xfffffb88, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x95451dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02467c80, 0x10020467, -0x029d1ec0, 0x10021467, -0x95555dbf, 0x100248a3, -0x203a7016, 0x100049e0, -0x209ce017, 0x100049e1, -0x209ce01f, 0x100049e2, -0x213a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02567c80, 0x100208a7, -0x029d5ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x0e1cedc0, 0xd00229e7, -0xfffffa80, 0xf00809e7, -0x00000020, 0xe0020827, -0x0d227c00, 0x10020227, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x95410dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffa60, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0x95555dbf, 0x100248a3, -0x203e7016, 0x100049e0, -0x209cf017, 0x100049e1, -0x209cf01f, 0x100049e2, -0x213e709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02567c80, 0x100208a7, -0x029d5ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c562, -0x959f86db, 0xd002d563, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c522, -0x959f46db, 0xd002d523, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4e2, -0x959f26db, 0xd002d4e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4a2, -0x959f16db, 0xd002d4a3, -0x0e1cedc0, 0xd00229e7, -0xfffff998, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffff9f0, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x00000080, 0xe0021767, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217e7, // mov rb_0x100, 0x100 +0x00005555, 0xe0020767, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00207a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00216a7, // mov rx_0x00FF, 0x00FF +0x88104000, 0xe00206e7, // mov ra_vdw_16, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88105000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0(16, 16, dma_h32(32,0)) +0x90104000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024660, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x156e7d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc0001fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000c8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc0000fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x000005f0, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c11c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffbf0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb10, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c0ff6, 0x100246c0, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000b10, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c11c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff9a0, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1cedc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff978, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff988, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff968, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cedc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff6d8, 0xf00809e7, // brr.allz -, r:pass_2 +0x00000020, 0xe0020827, // mov r0, 4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff5f8, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cedc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff468, 0xf00809e7, // brr.allz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff4c0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_1k.hex b/hex/shader_1k.hex index 2c8e384..7de3279 100644 --- a/hex/shader_1k.hex +++ b/hex/shader_1k.hex @@ -1,447 +1,523 @@ -0x00000010, 0xe00216e7, -0x00000040, 0xe0021727, -0x000000f0, 0xe0021767, -0x00005555, 0xe00207a7, -0x00003333, 0xe00217a7, -0x00000f0f, 0xe00207e7, -0x000000ff, 0xe00217e7, -0x90104000, 0xe0020767, -0x90105000, 0xe0021067, -0x00000080, 0xe00208e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100202a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100212a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021367, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x100246e0, -0xcc9e7081, 0x10024720, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000c8, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15727d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15767d80, 0x10021c67, -0xc00000c0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000050, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15727d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000588, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x20467030, 0x1000d9c2, -0x209d1039, 0x1000c9e2, -0x22091cb8, 0x1006c823, -0x20467031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x204a7030, 0x1000d9c2, -0x209d2039, 0x1000c9e2, -0x22092cb8, 0x1006c823, -0x204a7031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x20527030, 0x1000d9c2, -0x209d4039, 0x1000c9e2, -0x22094cb8, 0x1006c823, -0x20527031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15ddf6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20427006, 0x100059c2, -0x209d000f, 0x100049e2, -0x2042700e, 0x100049e3, -0x22090c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x956c2ff6, 0x100246c2, -0x95707ff6, 0x10024707, -0x95741ff6, 0x10024741, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbf0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffba0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x20427006, 0x100059c2, -0x209d000f, 0x100049e2, -0x2042700e, 0x100049e3, -0x22090c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x956c2ff6, 0x100246c2, -0x95707ff6, 0x10024707, -0x95741ff6, 0x10024741, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000003f8, 0xf00809e7, -0x9528adbf, 0x10024410, -0x952cbdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffac8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x0e1cadc0, 0xd00229e7, -0xfffffaa0, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9538edbf, 0x10024410, -0x953cfdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc18, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x95410dbf, 0x100248a3, -0x20327016, 0x100049e0, -0x209cc017, 0x100049e1, -0x209cc01f, 0x100049e2, -0x2132709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02427c80, 0x10020427, -0x029d0ec0, 0x10021427, -0x95514dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02527c80, 0x100208a7, -0x029d4ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x0e1cadc0, 0xd00229e7, -0xfffffb10, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffffbd8, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x000000f0, 0xe0021767, // mov rb_0xF0, 0xF0 +0x00005555, 0xe00207a7, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00217a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00217e7, // mov rx_0x00FF, 0x00FF +0x90104000, 0xe0020767, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202a7, // mov rx_tw_shared, unif +0x15827d80, 0x100212a7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x100246e0, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10024720, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000c8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15767d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc00000c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000588, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c31c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204a7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d200f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204a700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22092c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x956c2ff6, 0x100246c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95707ff6, 0x10024707, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95741ff6, 0x10024741, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffbf0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204a7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d200f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204a700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22092c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x956c2ff6, 0x100246c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95707ff6, 0x10024707, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95741ff6, 0x10024741, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x000007a0, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024451, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe00244d3, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c31c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa10, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x0e1cadc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff9e8, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cae00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cae40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cae00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cae40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214a7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100202e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100212e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024451, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe00244d3, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff9f8, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x95492dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024a7c80, 0x10020827, // fsub r0, a, b +0x024a7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024a7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014e7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024a7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204e7, // fadd a+1, r0, r1 +0x029d2ec0, 0x10020827, // fsub r0, a, b +0x029d21c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d2e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d33c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d2e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214e7, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x202e7016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cb017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cb01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x212e709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02427c80, 0x10020827, // fsub r0, a, b +0x02427180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02427c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01467380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02427c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020467, // fadd a+1, r0, r1 +0x029d0ec0, 0x10020827, // fsub r0, a, b +0x029d01c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d0e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d13c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d0e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021467, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cadc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff768, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff830, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_2048k.hex b/hex/shader_2048k.hex new file mode 100644 index 0000000..c49cd94 --- /dev/null +++ b/hex/shader_2048k.hex @@ -0,0 +1,1353 @@ +0x00000010, 0xe0021227, // mov rb_0x10, 0x10 +0x000001d0, 0xe0021967, // mov r5rep, 0x1D0 +0x15827d80, 0x100203e7, // mov rx_tw_shared, unif +0x15827d80, 0x100213e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10025020, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10025060, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000002e8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x153a7d80, 0x10020827, // mov r0, ra_vdw_32 +0x8c04ddf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00080000, 0xe00208e7, // mov r3, PASS32_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000520, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x80904000, 0xe0020827, // mov r0, vdw_setup_0(1, 16, dma_h32(0,0)) +0x00000040, 0xe0020867, // mov r1, 0x40 +0x8c067c76, 0x10024061, // add ra_save_ptr, ra_save_ptr, r1; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00040000, 0xe00208e7, // mov r3, PASS64_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000002b8, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd00200a7, // shl ra_temp, r0, 5 +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000e0, 0xf0f809e7, // brr -, r:2f +0x00000010, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000c0, 0xf0f809e7, // brr -, r:2f +0x00000011, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000a0, 0xf0f809e7, // brr -, r:2f +0x00000012, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000080, 0xf0f809e7, // brr -, r:2f +0x00000013, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000060, 0xf0f809e7, // brr -, r:2f +0x00000014, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000040, 0xf0f809e7, // brr -, r:2f +0x00000015, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000020, 0xf0f809e7, // brr -, r:2f +0x00000016, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f809e7, // brr -, r:2f +0x00000017, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000008, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000009, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000a, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000b, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000c, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000d, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000e, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000f, 0xe80009e7, // mov -, srel(i+8) +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000998, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd50, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c81c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffbe0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x01267c00, 0x100202e7, // fadd ra_64+0, ra_32_re, r0 +0x019c9e40, 0x10020327, // fadd ra_64+1, rb_32_im, r1 +0x02267c00, 0x10020367, // fsub ra_64+2, ra_32_re, r0 +0x029c9e40, 0x100203a7, // fsub ra_64+3, rb_32_im, r1 +0x8c167d76, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c81c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffa30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c81c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffff8c0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x029c9e40, 0x100208e7, // fsub r3, rb_32_im, r1 +0x02267c00, 0x100208a7, // fsub r2, ra_32_re, r0 +0x019c9e40, 0x10020867, // fadd r1, rb_32_im, r1 +0x01267c00, 0x10020827, // fadd r0, ra_32_re, r0 +0x2066700e, 0x100049c9, // nop; fmul rb_32_im, r1, ra_tw_re+TW48 +0x209d900f, 0x100059c9, // nop; fmul ra_32_re, r1, rb_tw_im+TW48 +0x209d9007, 0x100049e1, // nop; fmul r1, r0, rb_tw_im+TW48 +0x216493c6, 0x10025320, // fadd rb_64+1, r1, rb_32_im; fmul r0, r0, ra_tw_re+TW48 +0x2225a19f, 0x100252c9, // fsub rb_64+0, r0, ra_32_re; fmul ra_32_re, r3, rb_tw_im+TW64 +0x206a701e, 0x100049c9, // nop; fmul rb_32_im, r3, ra_tw_re+TW64 +0x00000000, 0xf0f549e7, // bra -, ra_save_64 +0x209da017, 0x100049e3, // nop; fmul r3, r2, rb_tw_im+TW64 +0x216897d6, 0x100253a2, // fadd rb_64+3, r3, rb_32_im; fmul r2, r2, ra_tw_re+TW64 +0x02267580, 0x10021367, // fsub rb_64+2, r2, ra_32_re +0x8c14cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff7e0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff790, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x952c2ff6, 0x100242c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95307ff6, 0x10024307, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x9538eff6, 0x1002438e, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_64, rx_save_slave_64 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00001378, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020667, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021667, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100206a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100216a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c61c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c81c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff4f8, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000015, 0xe0020867, // mov r1, STAGES +0x0e1e7c40, 0x100229e7, // shr.setf -, ra_points, r1 +0xfffff4c8, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159c0fc0, 0x100202e7, // mov ra_vpm_lo, rb_vpm +0x159c1fc0, 0x10020327, // mov ra_vpm_hi, rb_vpm_16 +0x80904000, 0xe00203a7, // mov ra_vdw_32, vdw_setup_0(1, 16, dma_h32( 0,0)) +0x80905000, 0xe00213a7, // mov rb_vdw_32, vdw_setup_0(1, 16, dma_h32(32,0)) +0x00000015, 0xe00212e7, // mov rb_STAGES, STAGES +0x000000f0, 0xe0021327, // mov rb_0xF0, 0xF0 +0x00000040, 0xe0021367, // mov rb_0x40, 0x40 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff8b0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00007fff, 0xe0020827, // mov r0, 0x7FFF +0x141e7c00, 0x100229e7, // and.setf -, ra_points, r0 +0xfffff880, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100601e7, // add.ifnz ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff5f0, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000007, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000006, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff380, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff360, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff340, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff320, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0x00000100, 0xe0020827, // mov r0, 0x100 +0xfffff088, 0xf00809e7, // brr.allz -, r:pass_3 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000060, 0xe0020827, // mov r0, (4-1)*4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000009, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000008, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xffffee18, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xffffeb88, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xffffec58, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_256.hex b/hex/shader_256.hex index 00332ef..bfd5b45 100644 --- a/hex/shader_256.hex +++ b/hex/shader_256.hex @@ -1,321 +1,359 @@ -0x00000040, 0xe00217a7, -0x00000080, 0xe00217e7, -0x00005555, 0xe0020767, -0x00003333, 0xe00207a7, -0x00000f0f, 0xe00207e7, -0x88104000, 0xe0020727, -0x88104800, 0xe0021727, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x10020227, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x10020267, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x10021227, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x10021267, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x100202a7, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x100212a7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x100246e0, -0xcc9e7081, 0x100256e0, -0xcc9e7081, 0x100049e0, -0x0c9e7080, 0x100009e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f409e7, -0x15727d80, 0x10021c67, -0xc0000040, 0xe0021c67, -0x8c05edf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x156e7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f409e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000248, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x202e7030, 0x1000d9c2, -0x209cb039, 0x1000c9e2, -0x2208bcb8, 0x1006c823, -0x202e7031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x20327030, 0x1000d9c2, -0x209cc039, 0x1000c9e2, -0x2208ccb8, 0x1006c823, -0x20327031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x20367030, 0x1000d9c2, -0x209cd039, 0x1000c9e2, -0x2208dcb8, 0x1006c823, -0x20367031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x203a7030, 0x1000d9c2, -0x209ce039, 0x1000c9e2, -0x2208ecb8, 0x1006c823, -0x203a7031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f489e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0xfffffe98, 0xf0f809e7, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x00000420, 0xf00809e7, -0x95208dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3a2, -0x959f86db, 0xd002d3a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c362, -0x959f46db, 0xd002d363, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c322, -0x959f26db, 0xd002d323, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c2e2, -0x959f16db, 0xd002d2e3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15fdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x8c15fdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffdb0, 0xf0f80027, -0x009e7000, 0x100009e7, -0x956dbff6, 0x100246db, -0x9571cff6, 0x1002471c, -0xfffffd90, 0xf0f80027, -0x009e7000, 0x100009e7, -0x956dbff6, 0x100246db, -0x9571cff6, 0x1002471c, -0x00000000, 0xf0f4c027, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x950c3dbf, 0x100250c3, -0x9528adbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3a2, -0x959f86db, 0xd002d3a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c362, -0x959f46db, 0xd002d363, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c322, -0x959f26db, 0xd002d323, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c2e2, -0x959f16db, 0xd002d2e3, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15fdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x8c15fdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc68, 0xf0f80027, -0x009e7000, 0x100009e7, -0x956dbff6, 0x100246db, -0x9571cff6, 0x1002471c, -0x9538edbf, 0x100248a3, -0x20267016, 0x100049e0, -0x209c9017, 0x100049e1, -0x209c901f, 0x100049e2, -0x2126709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x023a7c80, 0x100208a7, -0x029ceec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3a2, -0x959f86db, 0xd002d3a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c362, -0x959f46db, 0xd002d363, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c322, -0x959f26db, 0xd002d323, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c2e2, -0x959f16db, 0xd002d2e3, -0xfffffba8, 0xf0f80027, -0x009e7000, 0x100009e7, -0x956dbff6, 0x100246db, -0x9571cff6, 0x1002471c, -0x00000000, 0xf0f4c027, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0xfffffbb0, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000040, 0xe00217a7, // mov rb_0x40, 0x40 +0x00000080, 0xe00217e7, // mov rb_0x80, 0x80 +0x00005555, 0xe0020767, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00207a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x88104000, 0xe0020727, // mov ra_vdw, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88104800, 0xe0021727, // mov rb_vdw, vdw_setup_0(16, 16, dma_h32(16,0)) +0x15827d80, 0x10020227, // mov rx_tw_shared, unif +0x15827d80, 0x10021227, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x100246e0, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100256e0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100049e0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100009e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc0000040, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05edf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x156e7d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000248, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffd50, 0xf0f80027, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x956dbff6, 0x100246db, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x9571cff6, 0x1002471c, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0xfffffd30, 0xf0f80027, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x956dbff6, 0x100246db, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x9571cff6, 0x1002471c, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x00000000, 0xf0f4c027, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9c8e00, 0x10020e27, // add t0s, ptr, r0 +0x0c9c8e40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c227c00, 0x10020e27, // add t0s, ptr, r0 +0x0c227c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020267, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021267, // mov rb_tw_im+dst, r4 +0x00000000, 0xe002438e, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb50, 0xf0f80027, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x956dbff6, 0x100246db, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x9571cff6, 0x1002471c, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20267016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209c9017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209c901f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2126709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02367c80, 0x10020827, // fsub r0, a, b +0x02367180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02367c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x013a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002588d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02367c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100203a7, // fadd a+1, r0, r1 +0x029cdec0, 0x10020827, // fsub r0, a, b +0x029cd1c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029cde40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019ce3c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002488d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029cde80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100213a7, // fadd a+1, r0, r1 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0xfffff9c8, 0xf0f80027, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x956dbff6, 0x100246db, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x9571cff6, 0x1002471c, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x00000000, 0xf0f4c027, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0xfffff9d0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_256k.hex b/hex/shader_256k.hex new file mode 100644 index 0000000..d51e651 --- /dev/null +++ b/hex/shader_256k.hex @@ -0,0 +1,861 @@ +0x00000012, 0xe0021227, // mov rb_STAGES, STAGES +0x00000010, 0xe00216a7, // mov rb_0x10, 0x10 +0x00000040, 0xe00216e7, // mov rb_0x40, 0x40 +0x00000080, 0xe0021727, // mov rb_0x80, 0x80 +0x000000f0, 0xe0021767, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217a7, // mov rb_0x100, 0x100 +0x00001fff, 0xe00217e7, // mov rb_0x1FFF, 0x1FFF +0x55555555, 0xe0020767, // mov rx_0x55555555, 0x55555555 +0x33333333, 0xe00207a7, // mov rx_0x33333333, 0x33333333 +0x0f0f0f0f, 0xe00207e7, // mov rx_0x0F0F0F0F, 0x0F0F0F0F +0x00ff00ff, 0xe0021627, // mov rx_0x00FF00FF, 0x00FF00FF +0x0000ffff, 0xe0021667, // mov rx_0x0000FFFF, 0x0000FFFF +0x80904000, 0xe00206e7, // mov ra_vdw_16, vdw_setup_0( 1, 16, dma_h32( 0,0)) +0x80905000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0( 1, 16, dma_h32(32,0)) +0x90104000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024660, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000001d0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x156e7d80, 0x10020827, // mov r0, arg_vdw +0x8c05bdf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00020000, 0xe00208e7, // mov r3, PASS16_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000c8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc000ffc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05bdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000640, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd78, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d81c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d81c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9da1c0, 0x10020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119da3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9cb1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c0ff6, 0x100246c0, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb38, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffae8, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000ef0, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d81c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d81c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9da1c0, 0x10020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119da3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9cb1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff928, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff900, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa10, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x141dfdc0, 0x100229e7, // and.setf -, ra_points, rb_0x1FFF +0xfffff9e8, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100601e7, // add.ifnz ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff858, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff698, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffff678, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffff658, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffff638, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff4a8, 0xf00809e7, // brr.allz -, r:pass_3 +0x00000060, 0xe0020827, // mov r0, 3*4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dcdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15adf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff2a0, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff010, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff0e0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_2k.hex b/hex/shader_2k.hex index c90e550..bd30abb 100644 --- a/hex/shader_2k.hex +++ b/hex/shader_2k.hex @@ -1,679 +1,765 @@ -0x00000010, 0xe0021727, -0x00000040, 0xe0021767, -0x000000f0, 0xe00217a7, -0x000001d0, 0xe00217e7, -0x00005555, 0xe0020727, -0x00003333, 0xe0020767, -0x00000f0f, 0xe00207a7, -0x000000ff, 0xe00207e7, -0x00000080, 0xe00208e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020427, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020467, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100204a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100204e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020527, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021427, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021467, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100214a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100214e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021527, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020567, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100205a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021567, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100215a7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10025020, -0xcc9e7081, 0x10025060, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000c8, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15327d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15367d80, 0x10021c67, -0xc00001c0, 0xe0021c67, -0x8c05ddf6, 0x10024072, -0x00000050, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15327d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x000000f8, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000001, 0xe80009e7, -0x00000002, 0xe80009e7, -0x00000003, 0xe80009e7, -0x00000004, 0xe80009e7, -0x00000005, 0xe80009e7, -0x00000006, 0xe80009e7, -0x00000007, 0xe80009e7, -0x159c0fc0, 0x10021c67, -0x012cbdc0, 0x10020c27, -0x0130cdc0, 0x10020c27, -0x159c1fc0, 0x10021c67, -0x0134ddc0, 0x10020c27, -0x0138edc0, 0x10020c27, -0x159c2fc0, 0x10021c67, -0x022cbdc0, 0x10020c27, -0x0230cdc0, 0x10020c27, -0x159c7fc0, 0x10021c67, -0x0234ddc0, 0x10020c27, -0x0238edc0, 0x10020c27, -0x00000019, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000000, 0xf0f509e7, -0xa0104000, 0xe0021c67, -0xc00000c0, 0xe0021c67, -0x8c05ddf6, 0x10024072, -0x000002b8, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd00200a7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0fc49e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000e0, 0xf0f809e7, -0x00000010, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000c0, 0xf0f809e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000a0, 0xf0f809e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000080, 0xf0f809e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000060, 0xf0f809e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000040, 0xf0f809e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000020, 0xf0f809e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f809e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c0fc0, 0x10021c67, -0x012cbdc0, 0x10020c27, -0x0130cdc0, 0x10020c27, -0x159c1fc0, 0x10021c67, -0x0134ddc0, 0x10020c27, -0x0138edc0, 0x10020c27, -0x159c2fc0, 0x10021c67, -0x022cbdc0, 0x10020c27, -0x0230cdc0, 0x10020c27, -0x159c7fc0, 0x10021c67, -0x0234ddc0, 0x10020c27, -0x0238edc0, 0x10020c27, -0x00000000, 0xf0fc49e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000008, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000009, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000a, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000b, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000c, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000d, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000f, 0xe80009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000858, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x20627030, 0x1000d9c2, -0x209d8039, 0x1000c9e2, -0x22098cb8, 0x1006c823, -0x20627031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x20667030, 0x1000d9c2, -0x209d9039, 0x1000c9e2, -0x22099cb8, 0x1006c823, -0x20667031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x206a7030, 0x1000d9c2, -0x209da039, 0x1000c9e2, -0x2209acb8, 0x1006c823, -0x206a7031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x206e7030, 0x1000d9c2, -0x209db039, 0x1000c9e2, -0x2209bcb8, 0x1006c823, -0x206e7031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x205e7006, 0x100059c2, -0x209d700f, 0x100049e2, -0x205e700e, 0x100049e3, -0x22097c87, 0x10024821, -0x019e72c0, 0x10020867, -0x01267c00, 0x100202e7, -0x019c9e40, 0x10020327, -0x02267c00, 0x10020367, -0x029c9e40, 0x100203a7, -0x8c15fdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffb20, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffa00, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x205e7006, 0x100059c2, -0x209d700f, 0x100049e2, -0x205e700e, 0x100049e3, -0x22097c87, 0x10024821, -0x019e72c0, 0x10020867, -0x029c9e40, 0x100208e7, -0x02267c00, 0x100208a7, -0x019c9e40, 0x10020867, -0x01267c00, 0x10020827, -0x203e700e, 0x100049c9, -0x209cf00f, 0x100059c9, -0x209cf007, 0x100049e1, -0x213c93c6, 0x10025320, -0x2225019f, 0x100252c9, -0x2042701e, 0x100049c9, -0x00000000, 0xf0f549e7, -0x209d0017, 0x100049e3, -0x214097d6, 0x100253a2, -0x02267580, 0x10021367, -0x8c15edf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff920, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x959e7009, 0x10024249, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff8d0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x205e7006, 0x100059c2, -0x209d700f, 0x100049e2, -0x205e700e, 0x100049e3, -0x22097c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x952c2ff6, 0x100242c2, -0x95307ff6, 0x10024307, -0x9534dff6, 0x1002434d, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x00000418, 0xf00809e7, -0x95451dbf, 0x100245d7, -0x95492dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c6e2, -0x959f86db, 0xd002d6e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c6a2, -0x959f46db, 0xd002d6a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c662, -0x959f26db, 0xd002d663, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c622, -0x959f16db, 0xd002d623, -0x159c5fc0, 0x10020827, -0x119c61c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff7f0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000200, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x0e1cbdc0, 0xd00229e7, -0xfffff7c8, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000200, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x159c0fc0, 0x100202e7, -0x159c1fc0, 0x10020327, -0x90104000, 0xe0020367, -0x90105000, 0xe0021367, -0x950c3dbf, 0x100250c3, -0x95555dbf, 0x100245d7, -0x95596dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c6e2, -0x959f86db, 0xd002d6e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c6a2, -0x959f46db, 0xd002d6a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c662, -0x959f26db, 0xd002d663, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c622, -0x959f16db, 0xd002d623, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbf0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x955d7dbf, 0x100248a3, -0x204e7016, 0x100049e0, -0x209d3017, 0x100049e1, -0x209d301f, 0x100049e2, -0x214e709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x025e7c80, 0x100205e7, -0x029d7ec0, 0x100215e7, -0x956dbdbf, 0x100248a3, -0x20527016, 0x100049e0, -0x209d4017, 0x100049e1, -0x209d401f, 0x100049e2, -0x2152709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x026e7c80, 0x100208a7, -0x029dbec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c6e2, -0x959f86db, 0xd002d6e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c6a2, -0x959f46db, 0xd002d6a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c662, -0x959f26db, 0xd002d663, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c622, -0x959f16db, 0xd002d623, -0x0e1cbdc0, 0xd00229e7, -0xfffffae8, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffffbb8, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe0021727, // mov rb_0x10, 0x10 +0x00000040, 0xe0021767, // mov rb_0x40, 0x40 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x000001d0, 0xe00217e7, // mov rb_0x1D0, 0x1D0 +0x00005555, 0xe0020727, // mov rx_0x5555, 0x5555 +0x00003333, 0xe0020767, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207a7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00207e7, // mov rx_0x00FF, 0x00FF +0x15827d80, 0x100203e7, // mov rx_tw_shared, unif +0x15827d80, 0x100213e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10025020, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10025060, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000c8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15367d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc00001c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05ddf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000f8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0xa0104000, 0xe0021c67, // mov vw_setup, vdw_setup_0(64, 16, dma_h32(0,0)) +0xc00000c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(PASS64_STRIDE-16*4) +0x8c05ddf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, step; mov vw_addr, ra_save_ptr +0x000002b8, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd00200a7, // shl ra_temp, r0, 5 +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000e0, 0xf0f809e7, // brr -, r:2f +0x00000010, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000c0, 0xf0f809e7, // brr -, r:2f +0x00000011, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000a0, 0xf0f809e7, // brr -, r:2f +0x00000012, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000080, 0xf0f809e7, // brr -, r:2f +0x00000013, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000060, 0xf0f809e7, // brr -, r:2f +0x00000014, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000040, 0xf0f809e7, // brr -, r:2f +0x00000015, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000020, 0xf0f809e7, // brr -, r:2f +0x00000016, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f809e7, // brr -, r:2f +0x00000017, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000008, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000009, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000a, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000b, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000c, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000d, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000e, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000f, 0xe80009e7, // mov -, srel(i+8) +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000858, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c21c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x01267c00, 0x100202e7, // fadd ra_64+0, ra_32_re, r0 +0x019c9e40, 0x10020327, // fadd ra_64+1, rb_32_im, r1 +0x02267c00, 0x10020367, // fsub ra_64+2, ra_32_re, r0 +0x029c9e40, 0x100203a7, // fsub ra_64+3, rb_32_im, r1 +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c21c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffb20, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c21c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffa00, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x029c9e40, 0x100208e7, // fsub r3, rb_32_im, r1 +0x02267c00, 0x100208a7, // fsub r2, ra_32_re, r0 +0x019c9e40, 0x10020867, // fadd r1, rb_32_im, r1 +0x01267c00, 0x10020827, // fadd r0, ra_32_re, r0 +0x2066700e, 0x100049c9, // nop; fmul rb_32_im, r1, ra_tw_re+TW48 +0x209d900f, 0x100059c9, // nop; fmul ra_32_re, r1, rb_tw_im+TW48 +0x209d9007, 0x100049e1, // nop; fmul r1, r0, rb_tw_im+TW48 +0x216493c6, 0x10025320, // fadd rb_64+1, r1, rb_32_im; fmul r0, r0, ra_tw_re+TW48 +0x2225a19f, 0x100252c9, // fsub rb_64+0, r0, ra_32_re; fmul ra_32_re, r3, rb_tw_im+TW64 +0x206a701e, 0x100049c9, // nop; fmul rb_32_im, r3, ra_tw_re+TW64 +0x00000000, 0xf0f549e7, // bra -, ra_save_64 +0x209da017, 0x100049e3, // nop; fmul r3, r2, rb_tw_im+TW64 +0x216897d6, 0x100253a2, // fadd rb_64+3, r3, rb_32_im; fmul r2, r2, ra_tw_re+TW64 +0x02267580, 0x10021367, // fsub rb_64+2, r2, ra_32_re +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff920, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff8d0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x952c2ff6, 0x100242c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95307ff6, 0x10024307, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x9534dff6, 0x1002434d, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_64, rx_save_slave_64 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000870, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020667, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021667, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100206a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100216a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c61c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c21c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff688, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x0e1cbdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff660, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159c0fc0, 0x100202e7, // mov ra_vpm_lo, rb_vpm +0x159c1fc0, 0x10020327, // mov ra_vpm_hi, rb_vpm_16 +0x90104000, 0xe0020367, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021367, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff920, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff690, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff760, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_32k.hex b/hex/shader_32k.hex index dd5992a..3b6fd77 100644 --- a/hex/shader_32k.hex +++ b/hex/shader_32k.hex @@ -1,538 +1,697 @@ -0x00000010, 0xe00216e7, -0x00000040, 0xe0021727, -0x00000080, 0xe0021767, -0x000000f0, 0xe00217a7, -0x00000100, 0xe00217e7, -0x00005555, 0xe0020767, -0x00003333, 0xe00207a7, -0x00000f0f, 0xe00207e7, -0x000000ff, 0xe00216a7, -0x90104000, 0xe0020727, -0x90105000, 0xe0021067, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100202a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100212a7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021367, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020427, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020467, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021427, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021467, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x100246a0, -0xcc9e7081, 0x100246e0, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000c8, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156e7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15727d80, 0x10021c67, -0xc0001fc0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000050, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156e7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000588, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x20527030, 0x1000d9c2, -0x209d4039, 0x1000c9e2, -0x22094cb8, 0x1006c823, -0x20527031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x20567030, 0x1000d9c2, -0x209d5039, 0x1000c9e2, -0x22095cb8, 0x1006c823, -0x20567031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x205a7030, 0x1000d9c2, -0x209d6039, 0x1000c9e2, -0x22096cb8, 0x1006c823, -0x205a7031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15edf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x204a7006, 0x100059c2, -0x209d200f, 0x100049e2, -0x204a700e, 0x100049e3, -0x22092c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x95682ff6, 0x10024682, -0x956c7ff6, 0x100246c7, -0x95701ff6, 0x10024701, -0x8c15edf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbf0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffba0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x204a7006, 0x100059c2, -0x209d200f, 0x100049e2, -0x204a700e, 0x100049e3, -0x22092c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x95682ff6, 0x10024682, -0x956c7ff6, 0x100246c7, -0x95701ff6, 0x10024701, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x00000668, 0xf00809e7, -0x9528adbf, 0x10024492, -0x952cbdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c5a2, -0x959f86db, 0xd002d5a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c562, -0x959f46db, 0xd002d563, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c522, -0x959f26db, 0xd002d523, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4e2, -0x959f16db, 0xd002d4e3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c21c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffac8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x0e1cfdc0, 0xd00229e7, -0xfffffaa0, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9528adbf, 0x10024492, -0x952cbdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c5a2, -0x959f86db, 0xd002d5a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c562, -0x959f46db, 0xd002d563, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c522, -0x959f26db, 0xd002d523, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4e2, -0x959f16db, 0xd002d4e3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc18, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0xfffffbf8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0xfffffbd8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0xfffffbb8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x95492dbf, 0x100248a3, -0x20327016, 0x100049e0, -0x209cc017, 0x100049e1, -0x209cc01f, 0x100049e2, -0x2132709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x024a7c80, 0x100204a7, -0x029d2ec0, 0x100214a7, -0x95596dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x025a7c80, 0x100208a7, -0x029d6ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c5a2, -0x959f86db, 0xd002d5a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c562, -0x959f46db, 0xd002d563, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c522, -0x959f26db, 0xd002d523, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4e2, -0x959f16db, 0xd002d4e3, -0x0e1cfdc0, 0xd00229e7, -0xfffffab0, 0xf00809e7, -0x00000060, 0xe0020827, -0x0d227c00, 0x10020227, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x95410dbf, 0x10024492, -0x95451dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c5a2, -0x959f86db, 0xd002d5a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c562, -0x959f46db, 0xd002d563, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c522, -0x959f26db, 0xd002d523, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4e2, -0x959f16db, 0xd002d4e3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff9a8, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x95492dbf, 0x100248a3, -0x203a7016, 0x100049e0, -0x209ce017, 0x100049e1, -0x209ce01f, 0x100049e2, -0x213a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x024a7c80, 0x100204a7, -0x029d2ec0, 0x100214a7, -0x95596dbf, 0x100248a3, -0x203e7016, 0x100049e0, -0x209cf017, 0x100049e1, -0x209cf01f, 0x100049e2, -0x213e709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x025a7c80, 0x100208a7, -0x029d6ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c5a2, -0x959f86db, 0xd002d5a3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c562, -0x959f46db, 0xd002d563, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c522, -0x959f26db, 0xd002d523, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c4e2, -0x959f16db, 0xd002d4e3, -0x0e1cfdc0, 0xd00229e7, -0xfffff8a0, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffff968, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x00000080, 0xe0021767, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217e7, // mov rb_0x100, 0x100 +0x00005555, 0xe0020767, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00207a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00216a7, // mov rx_0x00FF, 0x00FF +0x90104000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202a7, // mov rx_tw_shared, unif +0x15827d80, 0x100212a7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x100246a0, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246e0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000c8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc0001fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000588, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c21c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204a7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d200f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204a700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22092c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x95682ff6, 0x10024682, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c7ff6, 0x100246c7, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffbf0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204a7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d200f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204a700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22092c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x95682ff6, 0x10024682, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c7ff6, 0x100246c7, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000d00, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024451, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe00244d3, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c21c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa10, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1cfdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff9e8, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214a7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100202e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100212e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024451, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe00244d3, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff9f8, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff9d8, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff9b8, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff998, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x95492dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024a7c80, 0x10020827, // fsub r0, a, b +0x024a7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024a7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014e7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024a7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204e7, // fadd a+1, r0, r1 +0x029d2ec0, 0x10020827, // fsub r0, a, b +0x029d21c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d2e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d33c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d2e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214e7, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x202e7016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cb017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cb01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x212e709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02427c80, 0x10020827, // fsub r0, a, b +0x02427180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02427c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01467380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02427c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020467, // fadd a+1, r0, r1 +0x029d0ec0, 0x10020827, // fsub r0, a, b +0x029d01c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d0e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d13c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d0e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021467, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cfdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff708, 0xf00809e7, // brr.allz -, r:pass_2 +0x00000060, 0xe0020827, // mov r0, 3*4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cae00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cae40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cae00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cae40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214a7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100202e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100212e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2a7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2a7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024451, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe00244d3, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff498, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x95492dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024a7c80, 0x10020827, // fsub r0, a, b +0x024a7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024a7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014e7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024a7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204e7, // fadd a+1, r0, r1 +0x029d2ec0, 0x10020827, // fsub r0, a, b +0x029d21c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d2e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d33c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024892, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d2e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214e7, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x202e7016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cb017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cb01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x212e709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02427c80, 0x10020827, // fsub r0, a, b +0x02427180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02427c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01467380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02427c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020467, // fadd a+1, r0, r1 +0x029d0ec0, 0x10020827, // fsub r0, a, b +0x029d01c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d0e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d13c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024890, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d0e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021467, // fadd a+1, r0, r1 +0x95410dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cfdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff208, 0xf00809e7, // brr.allz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff2d0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_4096k.hex b/hex/shader_4096k.hex new file mode 100644 index 0000000..f49df21 --- /dev/null +++ b/hex/shader_4096k.hex @@ -0,0 +1,1523 @@ +0x00000010, 0xe0021227, // mov rb_0x10, 0x10 +0x000001d0, 0xe0021967, // mov r5rep, 0x1D0 +0x15827d80, 0x100203e7, // mov rx_tw_shared, unif +0x15827d80, 0x100213e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10025020, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10025060, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000002e8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x153a7d80, 0x10020827, // mov r0, ra_vdw_32 +0x8c04ddf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00100000, 0xe00208e7, // mov r3, PASS32_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000520, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x80904000, 0xe0020827, // mov r0, vdw_setup_0(1, 16, dma_h32(0,0)) +0x00000040, 0xe0020867, // mov r1, 0x40 +0x8c067c76, 0x10024061, // add ra_save_ptr, ra_save_ptr, r1; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00080000, 0xe00208e7, // mov r3, PASS64_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000002b8, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd00200a7, // shl ra_temp, r0, 5 +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000e0, 0xf0f809e7, // brr -, r:2f +0x00000010, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000c0, 0xf0f809e7, // brr -, r:2f +0x00000011, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000a0, 0xf0f809e7, // brr -, r:2f +0x00000012, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000080, 0xf0f809e7, // brr -, r:2f +0x00000013, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000060, 0xf0f809e7, // brr -, r:2f +0x00000014, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000040, 0xf0f809e7, // brr -, r:2f +0x00000015, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000020, 0xf0f809e7, // brr -, r:2f +0x00000016, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f809e7, // brr -, r:2f +0x00000017, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000008, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000009, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000a, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000b, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000c, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000d, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000e, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000f, 0xe80009e7, // mov -, srel(i+8) +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000ba8, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd50, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c71c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffbe0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x01267c00, 0x100202e7, // fadd ra_64+0, ra_32_re, r0 +0x019c9e40, 0x10020327, // fadd ra_64+1, rb_32_im, r1 +0x02267c00, 0x10020367, // fsub ra_64+2, ra_32_re, r0 +0x029c9e40, 0x100203a7, // fsub ra_64+3, rb_32_im, r1 +0x8c167d76, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c71c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffa30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c71c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffff8c0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x029c9e40, 0x100208e7, // fsub r3, rb_32_im, r1 +0x02267c00, 0x100208a7, // fsub r2, ra_32_re, r0 +0x019c9e40, 0x10020867, // fadd r1, rb_32_im, r1 +0x01267c00, 0x10020827, // fadd r0, ra_32_re, r0 +0x2066700e, 0x100049c9, // nop; fmul rb_32_im, r1, ra_tw_re+TW48 +0x209d900f, 0x100059c9, // nop; fmul ra_32_re, r1, rb_tw_im+TW48 +0x209d9007, 0x100049e1, // nop; fmul r1, r0, rb_tw_im+TW48 +0x216493c6, 0x10025320, // fadd rb_64+1, r1, rb_32_im; fmul r0, r0, ra_tw_re+TW48 +0x2225b19f, 0x100252c9, // fsub rb_64+0, r0, ra_32_re; fmul ra_32_re, r3, rb_tw_im+TW64 +0x206e701e, 0x100049c9, // nop; fmul rb_32_im, r3, ra_tw_re+TW64 +0x00000000, 0xf0f549e7, // bra -, ra_save_64 +0x209db017, 0x100049e3, // nop; fmul r3, r2, rb_tw_im+TW64 +0x216c97d6, 0x100253a2, // fadd rb_64+3, r3, rb_32_im; fmul r2, r2, ra_tw_re+TW64 +0x02267580, 0x10021367, // fsub rb_64+2, r2, ra_32_re +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff7e0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff790, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x01267c00, 0x100202e7, // fadd ra_64+0, ra_32_re, r0 +0x019c9e40, 0x10020327, // fadd ra_64+1, rb_32_im, r1 +0x02267c00, 0x10020367, // fsub ra_64+2, ra_32_re, r0 +0x029c9e40, 0x100203a7, // fsub ra_64+3, rb_32_im, r1 +0x8c167d76, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff700, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff6b0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x029c9e40, 0x100208e7, // fsub r3, rb_32_im, r1 +0x02267c00, 0x100208a7, // fsub r2, ra_32_re, r0 +0x019c9e40, 0x10020867, // fadd r1, rb_32_im, r1 +0x01267c00, 0x10020827, // fadd r0, ra_32_re, r0 +0x2066700e, 0x100049c9, // nop; fmul rb_32_im, r1, ra_tw_re+TW48 +0x209d900f, 0x100059c9, // nop; fmul ra_32_re, r1, rb_tw_im+TW48 +0x209d9007, 0x100049e1, // nop; fmul r1, r0, rb_tw_im+TW48 +0x216493c6, 0x10025320, // fadd rb_64+1, r1, rb_32_im; fmul r0, r0, ra_tw_re+TW48 +0x2225b19f, 0x100252c9, // fsub rb_64+0, r0, ra_32_re; fmul ra_32_re, r3, rb_tw_im+TW64 +0x206e701e, 0x100049c9, // nop; fmul rb_32_im, r3, ra_tw_re+TW64 +0x00000000, 0xf0f549e7, // bra -, ra_save_64 +0x209db017, 0x100049e3, // nop; fmul r3, r2, rb_tw_im+TW64 +0x216c97d6, 0x100253a2, // fadd rb_64+3, r3, rb_32_im; fmul r2, r2, ra_tw_re+TW64 +0x02267580, 0x10021367, // fsub rb_64+2, r2, ra_32_re +0x8c14cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff5d0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff580, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x952c2ff6, 0x100242c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95307ff6, 0x10024307, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x9538eff6, 0x1002438e, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_64, rx_save_slave_64 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x000016b8, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020667, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021667, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100206e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100216e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c61c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x55555555, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x33333333, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0f0f0f0f, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x00ff00ff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0000ffff, 0xe00208a7, // mov r2, mask +0x149e7080, 0x10020867, // and r1, r0, r2 +0x0e9c81c0, 0x10020827, // shr r0, r0, shift +0x149e7080, 0x10020827, // and r0, r0, r2 +0x119c83c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c71c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff2e8, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000016, 0xe0020867, // mov r1, STAGES +0x0e1e7c40, 0x100229e7, // shr.setf -, ra_points, r1 +0xfffff2b8, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020667, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021667, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100206e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100216e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe002469a, // mov ra_tw_re+TW48+1, 0; mov rb_tw_im+TW48+1, 0 +0x00000000, 0xe002471c, // mov ra_tw_re+TW64+1, 0; mov rb_tw_im+TW64+1, 0 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000007, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000006, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020767, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021767, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100207a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100217a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c61c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff568, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x0000ffff, 0xe0020827, // mov r0, 0xFFFF +0x141e7c00, 0x100229e7, // and.setf -, ra_points, r0 +0xfffff538, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100601e7, // add.ifnz ra_points, ra_points, r0 +0x956dbdbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x207a7016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209de017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209de01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x217a709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x026e7c80, 0x10020827, // fsub r0, a, b +0x026e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x026e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01727380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002589b, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x026e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020727, // fadd a+1, r0, r1 +0x029dbec0, 0x10020827, // fsub r0, a, b +0x029db1c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029dbe40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019dc3c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002489b, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029dbe80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021727, // fadd a+1, r0, r1 +0x95659dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20767016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209dd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209dd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2176709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02667c80, 0x10020827, // fsub r0, a, b +0x02667180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02667c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x016a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025899, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02667c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100206a7, // fadd a+1, r0, r1 +0x029d9ec0, 0x10020827, // fsub r0, a, b +0x029d91c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d9e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019da3c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024899, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d9e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100216a7, // fadd a+1, r0, r1 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x00000016, 0xe0020867, // mov r1, STAGES +0x0e1e7c40, 0x100229e7, // shr.setf -, ra_points, r1 +0xfffff0a0, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159c0fc0, 0x100202e7, // mov ra_vpm_lo, rb_vpm +0x159c1fc0, 0x10020327, // mov ra_vpm_hi, rb_vpm_16 +0x80904000, 0xe00203a7, // mov ra_vdw_32, vdw_setup_0(1, 16, dma_h32( 0,0)) +0x80905000, 0xe00213a7, // mov rb_vdw_32, vdw_setup_0(1, 16, dma_h32(32,0)) +0x00000016, 0xe00212e7, // mov rb_STAGES, STAGES +0x000000f0, 0xe0021327, // mov rb_0xF0, 0xF0 +0x00000040, 0xe0021367, // mov rb_0x40, 0x40 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000009, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000008, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff008, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x000003ff, 0xe0020827, // mov r0, 0x3FF +0x141e7c00, 0x100229e7, // and.setf -, ra_points, r0 +0xffffefd8, 0xf01809e7, // brr.allnz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100601e7, // add.ifnz ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xffffed48, 0xf00809e7, // brr.allz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x0000000b, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x0000000a, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xffffead8, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cbdc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xffffe848, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xffffe918, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_4k.hex b/hex/shader_4k.hex index 3c29b2c..c37e50d 100644 --- a/hex/shader_4k.hex +++ b/hex/shader_4k.hex @@ -1,434 +1,514 @@ -0x00000020, 0xe0021767, -0x00000040, 0xe00217a7, -0x00000080, 0xe00217e7, -0x00005555, 0xe0020727, -0x00003333, 0xe0020767, -0x00000f0f, 0xe00207a7, -0x000000ff, 0xe00207e7, -0x88104000, 0xe00206e7, -0x88104800, 0xe00216e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x10020227, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x10020267, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x100202a7, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x10021227, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x10021267, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x100212a7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9df1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7280, 0x10020e27, -0x0c9df3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x100246a0, -0xcc9e7081, 0x100256a0, -0xcc9e7081, 0x100049e0, -0x0c9e7080, 0x100009e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f409e7, -0x156e7d80, 0x10021c67, -0xc00007c0, 0xe0021c67, -0x8c05edf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x156a7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f409e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x000003e8, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f409e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x20327030, 0x1000d9c2, -0x209cc039, 0x1000c9e2, -0x2208ccb8, 0x1006c823, -0x20327031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x20367030, 0x1000d9c2, -0x209cd039, 0x1000c9e2, -0x2208dcb8, 0x1006c823, -0x20367031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x203a7030, 0x1000d9c2, -0x209ce039, 0x1000c9e2, -0x2208ecb8, 0x1006c823, -0x203a7031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x203e7030, 0x1000d9c2, -0x209cf039, 0x1000c9e2, -0x2208fcb8, 0x1006c823, -0x203e7031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f489e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15fdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c11c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x000000cc, 0xe20229e7, -0x959fa000, 0xd002c8a0, -0x959fa249, 0xd002c8e1, -0x00003300, 0xe20229e7, -0x809f6012, 0xd000c9e0, -0x809f601b, 0xd000c9e1, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x000000cc, 0xe20229e7, -0x959fa000, 0xd002c8a0, -0x959fa249, 0xd002c8e1, -0x00003300, 0xe20229e7, -0x809f6012, 0xd000c9e0, -0x809f601b, 0xd000c9e1, -0xfffffd40, 0xf0f809e7, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x8c15fdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffcf8, 0xf0f809e7, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000005c8, 0xf00809e7, -0x95208dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3e2, -0x959f86db, 0xd002d3e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c3a2, -0x959f46db, 0xd002d3a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c362, -0x959f26db, 0xd002d363, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c322, -0x959f16db, 0xd002d323, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15fdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c11c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x000000cc, 0xe20229e7, -0x959fa000, 0xd002c8a0, -0x959fa249, 0xd002c8e1, -0x00003300, 0xe20229e7, -0x809f6012, 0xd000c9e0, -0x809f601b, 0xd000c9e1, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc40, 0xf0f80027, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x0e1ccdc0, 0xd00229e7, -0xfffffc18, 0xf00809e7, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c027, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x95208dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3e2, -0x959f86db, 0xd002d3e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c3a2, -0x959f46db, 0xd002d3a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c362, -0x959f26db, 0xd002d363, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c322, -0x959f16db, 0xd002d323, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15fdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc90, 0xf0f80027, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0xfffffc70, 0xf0f80027, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x0d01ddc0, 0x10020027, -0x953cfdbf, 0x100248a3, -0x20267016, 0x100049e0, -0x209c9017, 0x100049e1, -0x209c901f, 0x100049e2, -0x2126709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x023e7c80, 0x100208a7, -0x029cfec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3e2, -0x959f86db, 0xd002d3e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c3a2, -0x959f46db, 0xd002d3a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c362, -0x959f26db, 0xd002d363, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c322, -0x959f16db, 0xd002d323, -0x0e1ccdc0, 0xd00229e7, -0xfffffba0, 0xf00809e7, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c027, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x952cbdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3e2, -0x959f86db, 0xd002d3e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c3a2, -0x959f46db, 0xd002d3a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c362, -0x959f26db, 0xd002d363, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c322, -0x959f16db, 0xd002d323, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15fdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffaa0, 0xf0f80027, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x953cfdbf, 0x100248a3, -0x202a7016, 0x100049e0, -0x209ca017, 0x100049e1, -0x209ca01f, 0x100049e2, -0x212a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x023e7c80, 0x100208a7, -0x029cfec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c3e2, -0x959f86db, 0xd002d3e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c3a2, -0x959f46db, 0xd002d3a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c362, -0x959f26db, 0xd002d363, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c322, -0x959f16db, 0xd002d323, -0x0e1ccdc0, 0xd00229e7, -0xfffff9d8, 0xf00809e7, -0x9569aff6, 0x1002469a, -0x956dbff6, 0x100246db, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c027, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffffa08, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000020, 0xe0021767, // mov rb_0x20, 0x20 +0x00000040, 0xe00217a7, // mov rb_0x40, 0x40 +0x00000080, 0xe00217e7, // mov rb_0x80, 0x80 +0x00005555, 0xe0020727, // mov rx_0x5555, 0x5555 +0x00003333, 0xe0020767, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207a7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00207e7, // mov rx_0x00FF, 0x00FF +0x88104000, 0xe00206e7, // mov ra_vdw, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88104800, 0xe00216e7, // mov rb_vdw, vdw_setup_0(16, 16, dma_h32(16,0)) +0x15827d80, 0x10020227, // mov rx_tw_shared, unif +0x15827d80, 0x10021227, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x100246a0, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100256a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100049e0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100009e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x156e7d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc00007c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05edf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x156a7d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x000003e8, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f409e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x000000cc, 0xe20229e7, // mov.setf -, [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0] +0x959fa000, 0xd002c8a0, // mov r2, r0; mov.ifnz r0, r0 << 6 +0x959fa249, 0xd002c8e1, // mov r3, r1; mov.ifnz r1, r1 << 6 +0x00003300, 0xe20229e7, // mov.setf -, [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0] +0x809f6012, 0xd000c9e0, // nop; mov.ifnz r0, r2 >> 6 +0x809f601b, 0xd000c9e1, // nop; mov.ifnz r1, r3 >> 6 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x000000cc, 0xe20229e7, // mov.setf -, [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0] +0x959fa000, 0xd002c8a0, // mov r2, r0; mov.ifnz r0, r0 << 6 +0x959fa249, 0xd002c8e1, // mov r3, r1; mov.ifnz r1, r1 << 6 +0x00003300, 0xe20229e7, // mov.setf -, [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0] +0x809f6012, 0xd000c9e0, // nop; mov.ifnz r0, r2 >> 6 +0x809f601b, 0xd000c9e1, // nop; mov.ifnz r1, r3 >> 6 +0xfffffd40, 0xf0f809e7, // brr -, r:fft_16 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffcf8, 0xf0f809e7, // brr -, r:fft_16 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000928, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c227c00, 0x10020e27, // add t0s, ptr, r0 +0x0c227c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe002438e, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c11c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x000000cc, 0xe20229e7, // mov.setf -, [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0] +0x959fa000, 0xd002c8a0, // mov r2, r0; mov.ifnz r0, r0 << 6 +0x959fa249, 0xd002c8e1, // mov r3, r1; mov.ifnz r1, r1 << 6 +0x00003300, 0xe20229e7, // mov.setf -, [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0] +0x809f6012, 0xd000c9e0, // nop; mov.ifnz r0, r2 >> 6 +0x809f601b, 0xd000c9e1, // nop; mov.ifnz r1, r3 >> 6 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffbe0, 0xf0f80027, // brr ra_link_1, r:pass_1 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x0e1ccdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffffbb8, 0xf00809e7, // brr.allz -, r:pass_1 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c027, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c227c00, 0x10020e27, // add t0s, ptr, r0 +0x0c227c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c227c00, 0x10020e27, // add t0s, ptr, r0 +0x0c227c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020267, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021267, // mov rb_tw_im+dst, r4 +0x00000000, 0xe002438e, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb78, 0xf0f80027, // brr ra_link_1, r:pass_2 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffffb58, 0xf0f80027, // brr ra_link_1, r:pass_2 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x0d01ddc0, 0x10020027, // sub ra_link_1, ra_link_1, rb_0x20 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20267016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209c9017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209c901f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2126709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02367c80, 0x10020827, // fsub r0, a, b +0x02367180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02367c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x013a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002588d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02367c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100203a7, // fadd a+1, r0, r1 +0x029cdec0, 0x10020827, // fsub r0, a, b +0x029cd1c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029cde40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019ce3c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002488d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029cde80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100213a7, // fadd a+1, r0, r1 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1ccdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff9c0, 0xf00809e7, // brr.allz -, r:pass_2 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c027, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9c8e00, 0x10020e27, // add t0s, ptr, r0 +0x0c9c8e40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c227c00, 0x10020e27, // add t0s, ptr, r0 +0x0c227c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020267, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021267, // mov rb_tw_im+dst, r4 +0x00000000, 0xe002438e, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15fdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff808, 0xf0f80027, // brr ra_link_1, r:pass_3 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20267016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209c9017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209c901f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2126709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02367c80, 0x10020827, // fsub r0, a, b +0x02367180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02367c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x013a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002588d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02367c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100203a7, // fadd a+1, r0, r1 +0x029cdec0, 0x10020827, // fsub r0, a, b +0x029cd1c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029cde40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019ce3c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x1002488d, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029cde80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100213a7, // fadd a+1, r0, r1 +0x9534ddbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c362, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d363, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c322, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d323, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c2e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d2e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c2a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d2a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1ccdc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff678, 0xf00809e7, // brr.allz -, r:pass_3 +0x9569aff6, 0x1002469a, // mov ra_vpm, rb_vpm; mov rb_vpm, ra_vpm +0x956dbff6, 0x100246db, // mov ra_vdw, rb_vdw; mov rb_vdw, ra_vdw +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c027, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff6a8, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_512.hex b/hex/shader_512.hex index 2df65c5..505ab41 100644 --- a/hex/shader_512.hex +++ b/hex/shader_512.hex @@ -1,450 +1,494 @@ -0x00000010, 0xe0021727, -0x00000040, 0xe0021767, -0x00000080, 0xe00217a7, -0x000000f0, 0xe00217e7, -0x00005555, 0xe0020727, -0x00003333, 0xe0020767, -0x00000f0f, 0xe00207a7, -0x000000ff, 0xe00207e7, -0x88104000, 0xe00206a7, -0x88105000, 0xe0021027, -0x90104000, 0xe00206e7, -0x90105000, 0xe0021067, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9de1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9de1c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9de1c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7280, 0x10020e27, -0x0c9de3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9de3c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9de3c0, 0xa0020867, -0x159e7900, 0x10021367, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9de1c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7280, 0x10020e27, -0x0c9de3c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10024620, -0xcc9e7081, 0x10024660, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x156a7d80, 0x10021c67, -0xc00000c0, 0xe0021c67, -0x8c05ddf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x000000c8, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15667d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x156e7d80, 0x10021c67, -0xc0000040, 0xe0021c67, -0x8c05ddf6, 0x10024072, -0x00000050, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15667d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15627d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000510, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x20427030, 0x1000d9c2, -0x209d0039, 0x1000c9e2, -0x22090cb8, 0x1006c823, -0x20427031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x20467030, 0x1000d9c2, -0x209d1039, 0x1000c9e2, -0x22091cb8, 0x1006c823, -0x20467031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x204a7030, 0x1000d9c2, -0x209d2039, 0x1000c9e2, -0x22092cb8, 0x1006c823, -0x204a7031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15fdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c41c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c41c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x203e7006, 0x100059c2, -0x209cf00f, 0x100049e2, -0x203e700e, 0x100049e3, -0x2208fc87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f549e7, -0x95602ff6, 0x10024602, -0x95647ff6, 0x10024647, -0x956c1ff6, 0x100246c1, -0x8c15edf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbf0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x00000000, 0xf0f489e7, -0x009e7000, 0x100009e7, -0x95602ff6, 0x10024602, -0x95680ff6, 0x10024680, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000003a8, 0xf00809e7, -0x952cbdbf, 0x100243cf, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c4e2, -0x959f86db, 0xd002d4e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4a2, -0x959f46db, 0xd002d4a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c462, -0x959f26db, 0xd002d463, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c422, -0x959f16db, 0xd002d423, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15cdf6, 0x10024160, -0x14727180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14727180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x14767180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0e9c41c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffb38, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0xfffffb18, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9538edbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c4e2, -0x959f86db, 0xd002d4e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4a2, -0x959f46db, 0xd002d4a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c462, -0x959f26db, 0xd002d463, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c422, -0x959f16db, 0xd002d423, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15edf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc98, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dedc0, 0x100201e7, -0x954d3dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x024e7c80, 0x100208a7, -0x029d3ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c4e2, -0x959f86db, 0xd002d4e3, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4a2, -0x959f46db, 0xd002d4a3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c462, -0x959f26db, 0xd002d463, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c422, -0x959f16db, 0xd002d423, -0x0e1c9dc0, 0xd00229e7, -0xfffffbd0, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dedc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffffc28, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe0021727, // mov rb_0x10, 0x10 +0x00000040, 0xe0021767, // mov rb_0x40, 0x40 +0x00000080, 0xe00217a7, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217e7, // mov rb_0xF0, 0xF0 +0x00005555, 0xe0020727, // mov rx_0x5555, 0x5555 +0x00003333, 0xe0020767, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207a7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00207e7, // mov rx_0x00FF, 0x00FF +0x88104000, 0xe00206a7, // mov ra_vdw_16, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88105000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0(16, 16, dma_h32(32,0)) +0x90104000, 0xe00206e7, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024620, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10024660, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x156a7d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc00000c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05ddf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000c8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x156e7d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc0000040, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05ddf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15627d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000510, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c41c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95602ff6, 0x10024602, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95647ff6, 0x10024647, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x956c1ff6, 0x100246c1, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffbf0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95602ff6, 0x10024602, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95680ff6, 0x10024680, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x000005e8, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14727180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14727180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9c41c0, 0xd0020827, // shr r0, r0, 13-STAGES +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa80, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0xfffffa60, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb20, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c9dc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff990, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dedc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff9e8, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_512k.hex b/hex/shader_512k.hex new file mode 100644 index 0000000..ebc84d8 --- /dev/null +++ b/hex/shader_512k.hex @@ -0,0 +1,983 @@ +0x00000013, 0xe0021227, // mov rb_STAGES, STAGES +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x00000080, 0xe0021767, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217e7, // mov rb_0x100, 0x100 +0x55555555, 0xe0020767, // mov rx_0x55555555, 0x55555555 +0x33333333, 0xe00207a7, // mov rx_0x33333333, 0x33333333 +0x0f0f0f0f, 0xe00207e7, // mov rx_0x0F0F0F0F, 0x0F0F0F0F +0x00ff00ff, 0xe0021667, // mov rx_0x00FF00FF, 0x00FF00FF +0x0000ffff, 0xe00216a7, // mov rx_0x0000FFFF, 0x0000FFFF +0x80904000, 0xe00206e7, // mov ra_vdw_16, vdw_setup_0(1, 16, dma_h32( 0,0)) +0x80905000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0(1, 16, dma_h32(32,0)) +0x80904000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(1, 16, dma_h32( 0,0)) +0x80905000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(1, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024660, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000001d0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x156e7d80, 0x10020827, // mov r0, arg_vdw +0x8c05cdf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00040000, 0xe00208e7, // mov r3, PASS16_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000002e8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x15727d80, 0x10020827, // mov r0, ra_vdw_32 +0x8c05cdf6, 0x10024061, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov r1, ra_save_ptr +0x00000080, 0xe00208a7, // mov r2, vdw_setup_0(1, 16, dma_h32(1,0)) - vdw_setup_0(1, 16, dma_h32(0,0)) +0x00020000, 0xe00208e7, // mov r3, PASS32_STRIDE +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x8c9e7080, 0x10024831, // add r0, r0, r2; mov vw_setup, r0 +0x8c9e72c9, 0x10024872, // add r1, r1, r3; mov vw_addr, r1 +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000640, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffd78, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9db1c0, 0x10020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119db3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9ca1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc30, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffba0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c0ff6, 0x100246c0, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x8c15edf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb38, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffae8, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x000010a8, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149d91c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149d91c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9db1c0, 0x10020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119db3c0, 0x10020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0e9ca1c0, 0xd0020827, // shr r0, r0, 32-STAGES-3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff928, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff900, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa10, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00003fff, 0xe0020827, // mov r0, 0x3FFF +0x141e7c00, 0x100229e7, // and.setf -, ra_points, r0 +0xfffff9e0, 0xf01809e7, // brr.allnz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100601e7, // add.ifnz ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff850, 0xf00809e7, // brr.allz -, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff648, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff628, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff608, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0xfffff5e8, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff358, 0xf00809e7, // brr.allz -, r:pass_3 +0x00000060, 0xe0020827, // mov r0, 3*4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000006, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020367, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021367, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff0e8, 0xf0f80227, // brr ra_link_1, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x954d3dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20367016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cd017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cd01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2136709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x024e7c80, 0x10020827, // fsub r0, a, b +0x024e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x024e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01527380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x024e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020527, // fadd a+1, r0, r1 +0x029d3ec0, 0x10020827, // fsub r0, a, b +0x029d31c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d3e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d43c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024893, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d3e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021527, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xffffee58, 0xf00809e7, // brr.allz -, r:pass_4 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xffffef28, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_64k.hex b/hex/shader_64k.hex index f61b73b..5daa0a5 100644 --- a/hex/shader_64k.hex +++ b/hex/shader_64k.hex @@ -1,772 +1,940 @@ -0x00000010, 0xe0021227, -0x000001d0, 0xe0021967, -0x00005555, 0xe00207a7, -0x00003333, 0xe00217a7, -0x00000f0f, 0xe00207e7, -0x000000ff, 0xe00217e7, -0x00000080, 0xe00208e7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020427, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020467, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100204a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100204e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020527, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020567, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100205a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021427, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021467, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100214a7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100214e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021527, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021567, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100215a7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x100205e7, -0x0c9e7080, 0x10020e27, -0x0c9e70c0, 0xa0020827, -0x159e7900, 0x10020627, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x100215e7, -0x0c9e7280, 0x10020e27, -0x0c9e72c0, 0xa0020867, -0x159e7900, 0x10021627, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10025020, -0xcc9e7081, 0x10025060, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000c8, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15327d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x153a7d80, 0x10021c67, -0xc0003fc0, 0xe0021c67, -0x8c04ddf6, 0x10024072, -0x00000050, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x15327d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x152e7d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000100, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000040, 0xe0020827, -0x159f2fc0, 0x100009e7, -0x00000001, 0xe80009e7, -0x00000002, 0xe80009e7, -0x00000003, 0xe80009e7, -0x00000004, 0xe80009e7, -0x00000005, 0xe80009e7, -0x00000006, 0xe80009e7, -0x00000007, 0xe80009e7, -0x159c0fc0, 0x10021c67, -0x012cbdc0, 0x10020c27, -0x0130cdc0, 0x10020c27, -0x159c1fc0, 0x10021c67, -0x0134ddc0, 0x10020c27, -0x0138edc0, 0x10020c27, -0x159c2fc0, 0x10021c67, -0x022cbdc0, 0x10020c27, -0x0230cdc0, 0x10020c27, -0x159c7fc0, 0x10021c67, -0x0234ddc0, 0x10020c27, -0x0238edc0, 0x10020c27, -0x00000019, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000000, 0xf0f509e7, -0xa0104000, 0xe0021c67, -0xc0001fc0, 0xe0021c67, -0x8c067c36, 0x10024072, -0x000002b8, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd00200a7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0fc49e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000e0, 0xf0f809e7, -0x00000010, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000c0, 0xf0f809e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x000000a0, 0xf0f809e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000080, 0xf0f809e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000060, 0xf0f809e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000040, 0xf0f809e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000020, 0xf0f809e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f809e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c0fc0, 0x10021c67, -0x012cbdc0, 0x10020c27, -0x0130cdc0, 0x10020c27, -0x159c1fc0, 0x10021c67, -0x0134ddc0, 0x10020c27, -0x0138edc0, 0x10020c27, -0x159c2fc0, 0x10021c67, -0x022cbdc0, 0x10020c27, -0x0230cdc0, 0x10020c27, -0x159c7fc0, 0x10021c67, -0x0234ddc0, 0x10020c27, -0x0238edc0, 0x10020c27, -0x00000000, 0xf0fc49e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000008, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000009, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000a, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000b, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000c, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000d, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x159c0fc0, 0x10020c67, -0x15c27d80, 0x100009e7, -0x0000000f, 0xe80009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000858, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x206a7030, 0x1000d9c2, -0x209da039, 0x1000c9e2, -0x2209acb8, 0x1006c823, -0x206a7031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x206e7030, 0x1000d9c2, -0x209db039, 0x1000c9e2, -0x2209bcb8, 0x1006c823, -0x206e7031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x20727030, 0x1000d9c2, -0x209dc039, 0x1000c9e2, -0x2209ccb8, 0x1006c823, -0x20727031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x20767030, 0x1000d9c2, -0x209dd039, 0x1000c9e2, -0x2209dcb8, 0x1006c823, -0x20767031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c148df6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda0, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c148df6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc80, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20667006, 0x100059c2, -0x209d900f, 0x100049e2, -0x2066700e, 0x100049e3, -0x22099c87, 0x10024821, -0x019e72c0, 0x10020867, -0x01267c00, 0x100202e7, -0x019c9e40, 0x10020327, -0x02267c00, 0x10020367, -0x029c9e40, 0x100203a7, -0x8c167d76, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffb20, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c148df6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffa00, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20667006, 0x100059c2, -0x209d900f, 0x100049e2, -0x2066700e, 0x100049e3, -0x22099c87, 0x10024821, -0x019e72c0, 0x10020867, -0x029c9e40, 0x100208e7, -0x02267c00, 0x100208a7, -0x019c9e40, 0x10020867, -0x01267c00, 0x10020827, -0x203e700e, 0x100049c9, -0x209cf00f, 0x100059c9, -0x209cf007, 0x100049e1, -0x213c93c6, 0x10025320, -0x2225019f, 0x100252c9, -0x2042701e, 0x100049c9, -0x00000000, 0xf0f549e7, -0x209d0017, 0x100049e3, -0x214097d6, 0x100253a2, -0x02267580, 0x10021367, -0x8c14cdf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff920, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x959e7009, 0x10024249, -0x8c148df6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff8d0, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x20667006, 0x100059c2, -0x209d900f, 0x100049e2, -0x2066700e, 0x100049e3, -0x22099c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f489e7, -0x952c2ff6, 0x100242c2, -0x95307ff6, 0x10024307, -0x9538eff6, 0x1002438e, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x000006a8, 0xf00809e7, -0x95451dbf, 0x10024659, -0x95492dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c762, -0x959f86db, 0xd002d763, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c722, -0x959f46db, 0xd002d723, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c6e2, -0x959f26db, 0xd002d6e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c6a2, -0x959f16db, 0xd002d6a3, -0x159c5fc0, 0x10020827, -0x119c61c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c148df6, 0x10024160, -0x147a7180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149de1c0, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x149de1c0, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149df1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149df1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff7f0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000200, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000010, 0xe0020867, -0x0e1e7c40, 0x100229e7, -0xfffff7c0, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000200, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x159c0fc0, 0x100202e7, -0x159c1fc0, 0x10020327, -0x90104000, 0xe00203a7, -0x90105000, 0xe00213a7, -0x00000060, 0xe00212e7, -0x000000f0, 0xe0021327, -0x00000040, 0xe0021367, -0x950c3dbf, 0x100250c3, -0x95451dbf, 0x10024659, -0x95492dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c762, -0x959f86db, 0xd002d763, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c722, -0x959f46db, 0xd002d723, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c6e2, -0x959f26db, 0xd002d6e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c6a2, -0x959f16db, 0xd002d6a3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c148df6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffbd0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0xfffffbb0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0xfffffb90, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0xfffffb70, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x95659dbf, 0x100248a3, -0x204e7016, 0x100049e0, -0x209d3017, 0x100049e1, -0x209d301f, 0x100049e2, -0x214e709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02667c80, 0x10020667, -0x029d9ec0, 0x10021667, -0x9575ddbf, 0x100248a3, -0x20527016, 0x100049e0, -0x209d4017, 0x100049e1, -0x209d401f, 0x100049e2, -0x2152709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02767c80, 0x100208a7, -0x029ddec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c762, -0x959f86db, 0xd002d763, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c722, -0x959f46db, 0xd002d723, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c6e2, -0x959f26db, 0xd002d6e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c6a2, -0x959f16db, 0xd002d6a3, -0x0e1c8dc0, 0x100229e7, -0xfffffa68, 0xf00809e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x0d20bdc0, 0x10020227, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x955d7dbf, 0x10024659, -0x95618dbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c762, -0x959f86db, 0xd002d763, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c722, -0x959f46db, 0xd002d723, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c6e2, -0x959f26db, 0xd002d6e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c6a2, -0x959f16db, 0xd002d6a3, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c148df6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffff960, 0xf0f80227, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x95659dbf, 0x100248a3, -0x20567016, 0x100049e0, -0x209d5017, 0x100049e1, -0x209d501f, 0x100049e2, -0x2156709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02667c80, 0x10020667, -0x029d9ec0, 0x10021667, -0x9575ddbf, 0x100248a3, -0x205a7016, 0x100049e0, -0x209d6017, 0x100049e1, -0x209d601f, 0x100049e2, -0x215a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02767c80, 0x100208a7, -0x029ddec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c762, -0x959f86db, 0xd002d763, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c722, -0x959f46db, 0xd002d723, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c6e2, -0x959f26db, 0xd002d6e3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c6a2, -0x959f16db, 0xd002d6a3, -0x0e1c8dc0, 0x100229e7, -0xfffff858, 0xf00809e7, -0x009e7000, 0x100009e7, -0x00000100, 0xe0020827, -0x0c1e7c00, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffff928, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe0021227, // mov rb_0x10, 0x10 +0x000001d0, 0xe0021967, // mov r5rep, 0x1D0 +0x00005555, 0xe00207a7, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00217a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00217e7, // mov rx_0x00FF, 0x00FF +0x15827d80, 0x100203e7, // mov rx_tw_shared, unif +0x15827d80, 0x100213e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10025020, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x10025060, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000c8, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x153a7d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc0003fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c04ddf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x15327d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x152e7d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000100, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000040, 0xe0020827, // mov r0, 0x40 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0xa0104000, 0xe0021c67, // mov vw_setup, vdw_setup_0(64, 16, dma_h32(0,0)) +0xc0001fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(PASS64_STRIDE-16*4) +0x8c067c36, 0x10024072, // add ra_save_ptr, ra_save_ptr, step; mov vw_addr, ra_save_ptr +0x000002b8, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd00200a7, // shl ra_temp, r0, 5 +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000e0, 0xf0f809e7, // brr -, r:2f +0x00000010, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000c0, 0xf0f809e7, // brr -, r:2f +0x00000011, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x000000a0, 0xf0f809e7, // brr -, r:2f +0x00000012, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000080, 0xf0f809e7, // brr -, r:2f +0x00000013, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000060, 0xf0f809e7, // brr -, r:2f +0x00000014, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000040, 0xf0f809e7, // brr -, r:2f +0x00000015, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000020, 0xf0f809e7, // brr -, r:2f +0x00000016, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f809e7, // brr -, r:2f +0x00000017, 0xe80009e7, // mov -, sacq(i) +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c0fc0, 0x10021c67, // mov vw_setup, rb_vpm +0x012cbdc0, 0x10020c27, // fadd vpm, ra_64+0, rb_64+0 +0x0130cdc0, 0x10020c27, // fadd vpm, ra_64+1, rb_64+1 +0x159c1fc0, 0x10021c67, // mov vw_setup, rb_vpm_16 +0x0134ddc0, 0x10020c27, // fadd vpm, ra_64+2, rb_64+2 +0x0138edc0, 0x10020c27, // fadd vpm, ra_64+3, rb_64+3 +0x159c2fc0, 0x10021c67, // mov vw_setup, rb_vpm_32 +0x022cbdc0, 0x10020c27, // fsub vpm, ra_64+0, rb_64+0 +0x0230cdc0, 0x10020c27, // fsub vpm, ra_64+1, rb_64+1 +0x159c7fc0, 0x10021c67, // mov vw_setup, rb_vpm_48 +0x0234ddc0, 0x10020c27, // fsub vpm, ra_64+2, rb_64+2 +0x0238edc0, 0x10020c27, // fsub vpm, ra_64+3, rb_64+3 +0x00000000, 0xf0fc49e7, // brr -, ra_temp +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000008, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000009, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000a, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000b, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000c, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000d, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000e, 0xe80009e7, // mov -, srel(i+8) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x159c0fc0, 0x10020c67, // mov vr_setup, rb_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x0000000f, 0xe80009e7, // mov -, srel(i+8) +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000858, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda0, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc80, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x01267c00, 0x100202e7, // fadd ra_64+0, ra_32_re, r0 +0x019c9e40, 0x10020327, // fadd ra_64+1, rb_32_im, r1 +0x02267c00, 0x10020367, // fsub ra_64+2, ra_32_re, r0 +0x029c9e40, 0x100203a7, // fsub ra_64+3, rb_32_im, r1 +0x8c167d76, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffb20, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffa00, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x029c9e40, 0x100208e7, // fsub r3, rb_32_im, r1 +0x02267c00, 0x100208a7, // fsub r2, ra_32_re, r0 +0x019c9e40, 0x10020867, // fadd r1, rb_32_im, r1 +0x01267c00, 0x10020827, // fadd r0, ra_32_re, r0 +0x2066700e, 0x100049c9, // nop; fmul rb_32_im, r1, ra_tw_re+TW48 +0x209d900f, 0x100059c9, // nop; fmul ra_32_re, r1, rb_tw_im+TW48 +0x209d9007, 0x100049e1, // nop; fmul r1, r0, rb_tw_im+TW48 +0x216493c6, 0x10025320, // fadd rb_64+1, r1, rb_32_im; fmul r0, r0, ra_tw_re+TW48 +0x2225a19f, 0x100252c9, // fsub rb_64+0, r0, ra_32_re; fmul ra_32_re, r3, rb_tw_im+TW64 +0x206a701e, 0x100049c9, // nop; fmul rb_32_im, r3, ra_tw_re+TW64 +0x00000000, 0xf0f549e7, // bra -, ra_save_64 +0x209da017, 0x100049e3, // nop; fmul r3, r2, rb_tw_im+TW64 +0x216897d6, 0x100253a2, // fadd rb_64+3, r3, rb_32_im; fmul r2, r2, ra_tw_re+TW64 +0x02267580, 0x10021367, // fsub rb_64+2, r2, ra_32_re +0x8c14cdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff920, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff8d0, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x205e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d700f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x205e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22097c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f489e7, // bra -, ra_save_32 +0x952c2ff6, 0x100242c2, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95307ff6, 0x10024307, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x9538eff6, 0x1002438e, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_32, rx_save_slave_32 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_64, rx_save_slave_64 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000df0, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020667, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021667, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100206a7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100216a7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c61c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149de1c0, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x149de1c0, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149df1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149df1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x119c31c0, 0xd0020827, // shl r0, r0, STAGES-13 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff688, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000010, 0xe0020867, // mov r1, STAGES +0x0e1e7c40, 0x100229e7, // shr.setf -, ra_points, r1 +0xfffff658, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x00000200, 0xe0020827, // mov r0, 0x200 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159c0fc0, 0x100202e7, // mov ra_vpm_lo, rb_vpm +0x159c1fc0, 0x10020327, // mov ra_vpm_hi, rb_vpm_16 +0x90104000, 0xe00203a7, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe00213a7, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x00000060, 0xe00212e7, // mov rb_3x4x8, 3*4*8 +0x000000f0, 0xe0021327, // mov rb_0xF0, 0xF0 +0x00000040, 0xe0021367, // mov rb_0x40, 0x40 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000005, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000004, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff900, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff8e0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff8c0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0xfffff8a0, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff610, 0xf00809e7, // brr.allz -, r:pass_2 +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x0d20bdc0, 0x10020227, // sub ra_link_1, ra_link_1, rb_3x4x8 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020567, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021567, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cfe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cfe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100205e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100215e7, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000007, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020427, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021427, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000006, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c3e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c3e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024596, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024618, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c148df6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff3a0, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x955d7dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20467016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d1017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d101f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2146709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x025e7c80, 0x10020827, // fsub r0, a, b +0x025e7180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x025e7c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x01627380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x025e7c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10020627, // fadd a+1, r0, r1 +0x029d7ec0, 0x10020827, // fsub r0, a, b +0x029d71c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d7e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d83c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024897, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d7e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x10021627, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20427016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209d0017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209d001f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2142709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02567c80, 0x10020827, // fsub r0, a, b +0x02567180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02567c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x015a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02567c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100205a7, // fadd a+1, r0, r1 +0x029d5ec0, 0x10020827, // fsub r0, a, b +0x029d51c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d5e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d63c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024895, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d5e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100215a7, // fadd a+1, r0, r1 +0x95555dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c562, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d563, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c522, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d523, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c4e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d4e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c4a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d4a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1c8dc0, 0x100229e7, // shr.setf -, ra_points, rb_STAGES +0xfffff110, 0xf00809e7, // brr.allz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x00000100, 0xe0020827, // mov r0, 0x100 +0x0c1e7c00, 0x100201e7, // add ra_points, ra_points, r0 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff1e0, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_8k.hex b/hex/shader_8k.hex index b619449..7e1f112 100644 --- a/hex/shader_8k.hex +++ b/hex/shader_8k.hex @@ -1,516 +1,603 @@ -0x00000010, 0xe00216e7, -0x00000040, 0xe0021727, -0x00000080, 0xe0021767, -0x000000f0, 0xe00217a7, -0x00000100, 0xe00217e7, -0x00005555, 0xe0020767, -0x00003333, 0xe00207a7, -0x00000f0f, 0xe00207e7, -0x000000ff, 0xe00216a7, -0x88104000, 0xe00206e7, -0x88105000, 0xe0021027, -0x90104000, 0xe0020727, -0x90105000, 0xe0021067, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100202e7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020327, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x10020367, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203a7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100212e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021327, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x10021367, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213a7, -0x15827d80, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x11983dc0, 0xd00208a7, -0x0c9e7080, 0x10020e27, -0x0c9dd1c0, 0xa0020827, -0x159e7900, 0x100203e7, -0x0c9e7280, 0x10020e27, -0x0c9dd3c0, 0xa0020867, -0x159e7900, 0x100213e7, -0x15827d80, 0x10021167, -0x00101200, 0xe0020827, -0x00000010, 0xe0020867, -0x00000002, 0xe00208a7, -0x409c5017, 0x100049e2, -0xcc9e7081, 0x10024660, -0xcc9e7081, 0x100246a0, -0xcc9e7081, 0x100250a0, -0x0c9e7080, 0x100211e7, -0x000000b0, 0xf0f80127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x156e7d80, 0x10021c67, -0xc0000fc0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000038, 0xf0f81127, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x159e7000, 0x10020c27, -0x159e7240, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x000000c8, 0xf0f802a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x15727d80, 0x10021c67, -0xc00007c0, 0xe0021c67, -0x8c05cdf6, 0x10024072, -0x00000050, 0xf0f812a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10021c67, -0x01267c00, 0x10020c27, -0x019c9e40, 0x10020c27, -0x156a7d80, 0x10021c67, -0x02267c00, 0x10020c27, -0x029c9e40, 0x10020c27, -0x00000000, 0xf0f4c9e7, -0x009e7000, 0x100009e7, -0x15667d80, 0x10020c67, -0x15c27d80, 0x100009e7, -0x00000080, 0xf0f801a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159f2fc0, 0x100009e7, -0x00000019, 0xe80009e7, -0x00000001, 0xe80009e7, -0x0000001a, 0xe80009e7, -0x00000002, 0xe80009e7, -0x0000001b, 0xe80009e7, -0x00000003, 0xe80009e7, -0x0000001c, 0xe80009e7, -0x00000004, 0xe80009e7, -0x0000001d, 0xe80009e7, -0x00000005, 0xe80009e7, -0x0000001e, 0xe80009e7, -0x00000000, 0xf0f509e7, -0x00000006, 0xe80009e7, -0x0000001f, 0xe80009e7, -0x00000007, 0xe80009e7, -0x00000500, 0xf0f811a7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x00000009, 0xe80009e7, -0x00000011, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000a, 0xe80009e7, -0x00000012, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000b, 0xe80009e7, -0x00000013, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000c, 0xe80009e7, -0x00000014, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000d, 0xe80009e7, -0x00000015, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000e, 0xe80009e7, -0x00000016, 0xe80009e7, -0x009e7000, 0x100009e7, -0x00000000, 0xf0f509e7, -0x0000000f, 0xe80009e7, -0x00000017, 0xe80009e7, -0x009e7000, 0x100009e7, -0x14981dc0, 0xd00229e7, -0x20467030, 0x1000d9c2, -0x209d1039, 0x1000c9e2, -0x22091cb8, 0x1006c823, -0x20467031, 0x1000c9e1, -0x819ff2c0, 0xd0064862, -0x819f1400, 0xd0044823, -0x829ff609, 0xd0064822, -0x819f1449, 0xd0044863, -0x029e7640, 0x10060867, -0x14982dc0, 0xd00229e7, -0x204a7030, 0x1000d9c2, -0x209d2039, 0x1000c9e2, -0x22092cb8, 0x1006c823, -0x204a7031, 0x1000c9e1, -0x819fe2c0, 0xd0064862, -0x819f2400, 0xd0044823, -0x829fe609, 0xd0064822, -0x819f2449, 0xd0044863, -0x029e7640, 0x10060867, -0x14984dc0, 0xd00229e7, -0x204e7030, 0x1000d9c2, -0x209d3039, 0x1000c9e2, -0x22093cb8, 0x1006c823, -0x204e7031, 0x1000c9e1, -0x819fc2c0, 0xd0064862, -0x819f4400, 0xd0044823, -0x829fc609, 0xd0064822, -0x819f4449, 0xd0044863, -0x029e7640, 0x10060867, -0x14988dc0, 0xd00229e7, -0x20527030, 0x1000d9c2, -0x209d4039, 0x1000c9e2, -0x22094cb8, 0x1006c823, -0x20527031, 0x1000c9e1, -0x819f82c0, 0xd0064862, -0x819f8400, 0xd0044823, -0x00000000, 0xf0f409e7, -0x829f8609, 0xd0064822, -0x819f8449, 0xd0044863, -0x029e7640, 0x10060867, -0x8c15edf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffda8, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x959e7009, 0x10024249, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0xfffffc90, 0xf0f80027, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x20427006, 0x100059c2, -0x209d000f, 0x100049e2, -0x2042700e, 0x100049e3, -0x22090c87, 0x10024821, -0x019e72c0, 0x10020867, -0x00000000, 0xf0f549e7, -0x95642ff6, 0x10024642, -0x95687ff6, 0x10024687, -0x95701ff6, 0x10024701, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc00, 0xf0f80027, -0x009e7000, 0xa00009e7, -0x159e7900, 0xa0020827, -0x159e7900, 0x10020867, -0x00000000, 0xf0f489e7, -0x009e7000, 0x100009e7, -0x95642ff6, 0x10024642, -0x956c0ff6, 0x100246c0, -0x159c5fc0, 0x10022827, -0x0d9c11c0, 0xd0020827, -0x119c51c0, 0xd0020827, -0x0c9c6e00, 0x100601a7, -0x159c4fc0, 0x10060127, -0x159cafc0, 0x100602a7, -0x15827d80, 0x100220e7, -0x15827d80, 0x100210e7, -0x00000590, 0xf00809e7, -0x952cbdbf, 0x10024410, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x159c5fc0, 0x10020827, -0x119c51c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15bdf6, 0x10024160, -0x14767180, 0x10020867, -0x0e9c11c0, 0xd0020827, -0x14767180, 0x10020827, -0x119c13c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147a7180, 0x10020867, -0x0e9c21c0, 0xd0020827, -0x147a7180, 0x10020827, -0x119c23c0, 0xd0020867, -0x159e7040, 0x10020827, -0x147e7180, 0x10020867, -0x0e9c41c0, 0xd0020827, -0x147e7180, 0x10020827, -0x119c43c0, 0xd0020867, -0x159e7040, 0x10020827, -0x149da1c0, 0x10020867, -0x0e9c81c0, 0xd0020827, -0x149da1c0, 0x10020827, -0x119c83c0, 0xd0020867, -0x159e7040, 0x10020827, -0x0c9c41c0, 0xd0020867, -0x94981dc0, 0xd00269e2, -0x959f1489, 0xd004c820, -0x959ff252, 0xd0068861, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffb50, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x0e1cddc0, 0xd00229e7, -0xfffffb28, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dfdc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x9530cdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffc98, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0xfffffc78, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0x95514dbf, 0x100248a3, -0x20367016, 0x100049e0, -0x209cd017, 0x100049e1, -0x209cd01f, 0x100049e2, -0x2136709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02527c80, 0x100208a7, -0x029d4ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x0e1cddc0, 0xd00229e7, -0xfffffbb0, 0xf00809e7, -0x00000020, 0xe0020827, -0x0d227c00, 0x10020227, -0x0c1dddc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0x950c3dbf, 0x100250c3, -0x953cfdbf, 0x100248a3, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x159c5fc0, 0x10020827, -0x119c41c0, 0xd0020827, -0x0c9a7180, 0x10020167, -0x00000000, 0xe00201e7, -0x159c3fc0, 0x10020067, -0x8c15ddf6, 0x10024160, -0x119c31c0, 0xd0020827, -0x0c9c41c0, 0xd0020867, -0x0c0e7c00, 0x10020e27, -0x0c0e7c40, 0x10020e27, -0xfffffab0, 0xf0f80227, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0x95514dbf, 0x100248a3, -0x203a7016, 0x100049e0, -0x209ce017, 0x100049e1, -0x209ce01f, 0x100049e2, -0x213a709e, 0x100248a3, -0x029e7640, 0x100208e7, -0x02527c80, 0x100208a7, -0x029d4ec0, 0x100208e7, -0x14988dc0, 0xd00229e7, -0x959f8492, 0xd002c522, -0x959f86db, 0xd002d523, -0x14984dc0, 0xd00229e7, -0x959f4492, 0xd002c4e2, -0x959f46db, 0xd002d4e3, -0x14982dc0, 0xd00229e7, -0x959f2492, 0xd002c4a2, -0x959f26db, 0xd002d4a3, -0x14981dc0, 0xd00229e7, -0x959f1492, 0xd002c462, -0x959f16db, 0xd002d463, -0x0e1cddc0, 0xd00229e7, -0xfffff9e8, 0xf00809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x0c1dddc0, 0x100201e7, -0x00000000, 0xf0f4c227, -0x009e7000, 0x100009e7, -0x009e7000, 0xa00009e7, -0x009e7000, 0xa00009e7, -0xfffffa40, 0xf0f809e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, -0x159c3fc0, 0x100209a7, -0x009e7000, 0x300009e7, -0x009e7000, 0x100009e7, -0x009e7000, 0x100009e7, +0x00000010, 0xe00216e7, // mov rb_0x10, 0x10 +0x00000040, 0xe0021727, // mov rb_0x40, 0x40 +0x00000080, 0xe0021767, // mov rb_0x80, 0x80 +0x000000f0, 0xe00217a7, // mov rb_0xF0, 0xF0 +0x00000100, 0xe00217e7, // mov rb_0x100, 0x100 +0x00005555, 0xe0020767, // mov rx_0x5555, 0x5555 +0x00003333, 0xe00207a7, // mov rx_0x3333, 0x3333 +0x00000f0f, 0xe00207e7, // mov rx_0x0F0F, 0x0F0F +0x000000ff, 0xe00216a7, // mov rx_0x00FF, 0x00FF +0x88104000, 0xe00206e7, // mov ra_vdw_16, vdw_setup_0(16, 16, dma_h32( 0,0)) +0x88105000, 0xe0021027, // mov rb_vdw_16, vdw_setup_0(16, 16, dma_h32(32,0)) +0x90104000, 0xe0020727, // mov ra_vdw_32, vdw_setup_0(32, 16, dma_h32( 0,0)) +0x90105000, 0xe0021067, // mov rb_vdw_32, vdw_setup_0(32, 16, dma_h32(32,0)) +0x15827d80, 0x100202e7, // mov rx_tw_shared, unif +0x15827d80, 0x100212e7, // mov rx_tw_unique, unif +0x15827d80, 0x10021167, // mov rb_inst, unif +0x00101200, 0xe0020827, // mov r0, vpm_setup(1, 1, v32( 0,0)) +0x00000010, 0xe0020867, // mov r1, vpm_setup(1, 1, v32(16,0)) - vpm_setup(1, 1, v32(0,0)) +0x00000002, 0xe00208a7, // mov r2, vpm_setup(1, 1, v32( 0,2)) - vpm_setup(1, 1, v32(0,0)) +0x409c5017, 0x100049e2, // nop; mul24 r2, r2, in_inst +0xcc9e7081, 0x10024660, // add out_0, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100246a0, // add out_1, r0, r2; v8adds r0, r0, r1 +0xcc9e7081, 0x100250a0, // add out_2, r0, r2; v8adds r0, r0, r1 +0x0c9e7080, 0x100211e7, // add out_3, r0, r2 +0x000000b0, 0xf0f80127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x156e7d80, 0x10021c67, // mov vw_setup, arg_vdw +0xc0000fc0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS16_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000038, 0xf0f81127, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, arg +0x159e7000, 0x10020c27, // mov vpm, r0 +0x159e7240, 0x10020c27, // mov vpm, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, arg_vpm +0x15c27d80, 0x100009e7, // mov -, vpm +0x000000c8, 0xf0f802a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x15727d80, 0x10021c67, // mov vw_setup, ra_vdw_32 +0xc00007c0, 0xe0021c67, // mov vw_setup, vdw_setup_1(0) + PASS32_STRIDE-16*4 +0x8c05cdf6, 0x10024072, // add ra_save_ptr, ra_save_ptr, rb_0x40; mov vw_addr, ra_save_ptr +0x00000050, 0xf0f812a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10021c67, // mov vw_setup, ra_vpm_lo +0x01267c00, 0x10020c27, // fadd vpm, ra_32_re, r0 +0x019c9e40, 0x10020c27, // fadd vpm, rb_32_im, r1 +0x156a7d80, 0x10021c67, // mov vw_setup, ra_vpm_hi +0x02267c00, 0x10020c27, // fsub vpm, ra_32_re, r0 +0x029c9e40, 0x10020c27, // fsub vpm, rb_32_im, r1 +0x00000000, 0xf0f4c9e7, // bra -, ra_sync +0x009e7000, 0x100009e7, // nop +0x15667d80, 0x10020c67, // mov vr_setup, ra_vpm_lo +0x15c27d80, 0x100009e7, // mov -, vpm +0x00000080, 0xf0f801a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x00000019, 0xe80009e7, // mov -, sacq(i+9) +0x00000001, 0xe80009e7, // mov -, srel(i+1) +0x0000001a, 0xe80009e7, // mov -, sacq(i+9) +0x00000002, 0xe80009e7, // mov -, srel(i+1) +0x0000001b, 0xe80009e7, // mov -, sacq(i+9) +0x00000003, 0xe80009e7, // mov -, srel(i+1) +0x0000001c, 0xe80009e7, // mov -, sacq(i+9) +0x00000004, 0xe80009e7, // mov -, srel(i+1) +0x0000001d, 0xe80009e7, // mov -, sacq(i+9) +0x00000005, 0xe80009e7, // mov -, srel(i+1) +0x0000001e, 0xe80009e7, // mov -, sacq(i+9) +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000006, 0xe80009e7, // mov -, srel(i+1) +0x0000001f, 0xe80009e7, // mov -, sacq(i+9) +0x00000007, 0xe80009e7, // mov -, srel(i+1) +0x00000500, 0xf0f811a7, // brr rx_ptr, label +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x00000009, 0xe80009e7, // mov -, srel(i+9) +0x00000011, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000a, 0xe80009e7, // mov -, srel(i+9) +0x00000012, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000b, 0xe80009e7, // mov -, srel(i+9) +0x00000013, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000c, 0xe80009e7, // mov -, srel(i+9) +0x00000014, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000d, 0xe80009e7, // mov -, srel(i+9) +0x00000015, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000e, 0xe80009e7, // mov -, srel(i+9) +0x00000016, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x00000000, 0xf0f509e7, // bra -, ra_link_1 +0x0000000f, 0xe80009e7, // mov -, srel(i+9) +0x00000017, 0xe80009e7, // mov -, sacq(i+1) +0x009e7000, 0x100009e7, // nop +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> (1<> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffda8, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x959e7009, 0x10024249, // mov ra_32_re, r0; mov rb_32_im, r1 +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0xfffffc90, 0xf0f80027, // brr ra_link_0, call +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x204e7006, 0x100059c2, // nop; fmul ra_temp, r0, ra_tw_re+TW32 +0x209d300f, 0x100049e2, // nop; fmul r2, r1, rb_tw_im+TW32 +0x204e700e, 0x100049e3, // nop; fmul r3, r1, ra_tw_re+TW32 +0x22093c87, 0x10024821, // fsub r0, ra_temp, r2; fmul r1, r0, rb_tw_im+TW32 +0x019e72c0, 0x10020867, // fadd r1, r1, r3 +0x00000000, 0xf0f549e7, // bra -, ra_save_32 +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x95687ff6, 0x10024687, // mov ra_vpm_hi, rb_vpm_hi; mov rb_vpm_hi, ra_vpm_hi +0x95701ff6, 0x10024701, // mov ra_vdw_32, rb_vdw_32; mov rb_vdw_32, ra_vdw_32 +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffc00, 0xf0f80027, // brr ra_link_0, call +0x009e7000, 0xa00009e7, // nop; ldtmu0 +0x159e7900, 0xa0020827, // mov r0, r4; ldtmu0 +0x159e7900, 0x10020867, // mov r1, r4 +0x00000000, 0xf0f489e7, // bra -, ra_save_16 +0x009e7000, 0x100009e7, // nop +0x95642ff6, 0x10024642, // mov ra_vpm_lo, rb_vpm_lo; mov rb_vpm_lo, ra_vpm_lo +0x956c0ff6, 0x100246c0, // mov ra_vdw_16, rb_vdw_16; mov rb_vdw_16, ra_vdw_16 +0x159c5fc0, 0x10022827, // mov.setf r0, rb_inst +0x0d9c11c0, 0xd0020827, // sub r0, r0, 1 +0x119c51c0, 0xd0020827, // shl r0, r0, 5 +0x0c9c6e00, 0x100601a7, // add.ifnz ra_sync, rx_sync_slave, r0 +0x159c4fc0, 0x10060127, // mov.ifnz ra_save_16, rx_save_slave_16 +0x159cafc0, 0x100602a7, // mov.ifnz ra_save_32, rx_save_slave_32 +0x15827d80, 0x100220e7, // mov.setf ra_addr_x, unif +0x15827d80, 0x100210e7, // mov rb_addr_y, unif +0x00000958, 0xf00809e7, // brr.allz -, r:end +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100204e7, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x100214e7, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c51c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15bdf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x14767180, 0x10020867, // and r1, r0, mask +0x0e9c11c0, 0xd0020827, // shr r0, r0, shift +0x14767180, 0x10020827, // and r0, r0, mask +0x119c13c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147a7180, 0x10020867, // and r1, r0, mask +0x0e9c21c0, 0xd0020827, // shr r0, r0, shift +0x147a7180, 0x10020827, // and r0, r0, mask +0x119c23c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x147e7180, 0x10020867, // and r1, r0, mask +0x0e9c41c0, 0xd0020827, // shr r0, r0, shift +0x147e7180, 0x10020827, // and r0, r0, mask +0x119c43c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x149da1c0, 0x10020867, // and r1, r0, mask +0x0e9c81c0, 0xd0020827, // shr r0, r0, shift +0x149da1c0, 0x10020827, // and r0, r0, mask +0x119c83c0, 0xd0020867, // shl r1, r1, shift +0x159e7040, 0x10020827, // or r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x94981dc0, 0xd00269e2, // and.setf -, elem_num, 1; mov r2, r0 +0x959f1489, 0xd004c820, // mov.ifz r0, r2; mov.ifnz r0, r1 >> 1 +0x959ff252, 0xd0068861, // mov.ifnz r1, r1; mov.ifz r1, r2 << 1 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffa98, 0xf0f80227, // brr ra_link_1, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x0e1cddc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffffa70, 0xf00809e7, // brr.allz -, r:pass_1 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dfdc0, 0x100201e7, // add ra_points, ra_points, rb_0x100 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000001, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000002, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffffb20, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0xfffffb00, 0xf0f80227, // brr ra_link_1, r:pass_2 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cddc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff970, 0xf00809e7, // brr.allz -, r:pass_2 +0x00000020, 0xe0020827, // mov r0, 4*8 +0x0d227c00, 0x10020227, // sub ra_link_1, ra_link_1, r0 +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0x950c3dbf, 0x100250c3, // mov rb_addr_y, ra_addr_x; mov ra_addr_x, rb_addr_y +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000000, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c9cbe00, 0x10020e27, // add t0s, ptr, r0 +0x0c9cbe40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020467, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021467, // mov rb_tw_im+dst, r4 +0x11983dc0, 0xd0020827, // shl r0, elem_num, 3 +0x00000003, 0xe0020867, // mov r1, src +0x119c73c0, 0xd0020867, // shl r1, r1, 7 +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c2e7c00, 0x10020e27, // add t0s, ptr, r0 +0x0c2e7c40, 0x10020e27, // add t0s, ptr, r1 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020327, // mov ra_tw_re+dst, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10021327, // mov rb_tw_im+dst, r4 +0x00000000, 0xe0024492, // mov ra_tw_re+TW16+4, 0; mov rb_tw_im+TW16+4, 0 +0x00000000, 0xe0024514, // mov ra_tw_re+TW32+1, 0; mov rb_tw_im+TW32+1, 0 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x159c5fc0, 0x10020827, // mov r0, rb_inst +0x119c41c0, 0xd0020827, // shl r0, r0, m +0x0c9a7180, 0x10020167, // add ra_load_idx, r0, elem_num +0x00000000, 0xe00201e7, // mov ra_points, 0 +0x159c3fc0, 0x10020067, // mov ra_save_ptr, rb_addr_y +0x8c15ddf6, 0x10024160, // add ra_load_idx, ra_load_idx, stride; mov r0, ra_load_idx +0x119c31c0, 0xd0020827, // shl r0, r0, 3 +0x0c9c41c0, 0xd0020867, // add r1, r0, 4 +0x0c0e7c00, 0x10020e27, // add t0s, ra_addr_x, r0 +0x0c0e7c40, 0x10020e27, // add t0s, ra_addr_x, r1 +0xfffff7b0, 0xf0f80227, // brr ra_link_1, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+base; mov r3, rb_tw_im+base +0x20327016, 0x100049e0, // nop; fmul r0, r2, ra_tw_re+step +0x209cc017, 0x100049e1, // nop; fmul r1, r2, rb_tw_im+step +0x209cc01f, 0x100049e2, // nop; fmul r2, r3, rb_tw_im+step +0x2132709e, 0x100248a3, // fadd r2, r0, r2; fmul r3, r3, ra_tw_re+step +0x029e7640, 0x100208e7, // fsub r3, r3, r1 +0x02467c80, 0x10020827, // fsub r0, a, b +0x02467180, 0x10020867, // fsub r1, r0, a +0x019e7280, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x02467c40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x014a7380, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10025891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x02467c80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100204a7, // fadd a+1, r0, r1 +0x029d1ec0, 0x10020827, // fsub r0, a, b +0x029d11c0, 0x10020867, // fsub r1, r0, a +0x019e72c0, 0x100208a7, // fadd r2, r1, b +0x029e7040, 0x10020867, // fsub r1, r0, r1 +0x029d1e40, 0x10020867, // fsub r1, a, r1 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x019d23c0, 0x10020867, // fadd r1, r1, a+1 +0x019e7040, 0x100208a7, // fadd r2, r0, r1 +0x829e7412, 0x10024891, // fsub r2, r2, r0; mov a, r2 +0x029e7280, 0x10020867, // fsub r1, r1, r2 +0x029d1e80, 0x100208a7, // fsub r2, a, r2 +0x029e7080, 0x10020827, // fsub r0, r0, r2 +0x019e7040, 0x100214a7, // fadd a+1, r0, r1 +0x95451dbf, 0x100248a3, // mov r2, ra_tw_re+TW16+3; mov r3, rb_tw_im+TW16+3 +0x14988dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f8492, 0xd002c462, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f86db, 0xd002d463, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14984dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f4492, 0xd002c422, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f46db, 0xd002d423, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14982dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f2492, 0xd002c3e2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f26db, 0xd002d3e3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x14981dc0, 0xd00229e7, // and.setf -, elem_num, (8>>i) +0x959f1492, 0xd002c3a2, // mov ra_tw_re+TW16+3-i, r2; mov.ifnz r2, r2 >> (8>>i) +0x959f16db, 0xd002d3a3, // mov rb_tw_im+TW16+3-i, r3; mov.ifnz r3, r3 >> (8>>i) +0x0e1cddc0, 0xd00229e7, // shr.setf -, ra_points, STAGES +0xfffff620, 0xf00809e7, // brr.allz -, r:pass_3 +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c1dddc0, 0x100201e7, // add ra_points, ra_points, rb_0x80 +0x00000000, 0xf0f4c227, // bra ra_link_1, ra_sync +0x009e7000, 0x100009e7, // nop +0x009e7000, 0xa00009e7, // ldtmu0 +0x009e7000, 0xa00009e7, // ldtmu0 +0xfffff678, 0xf0f809e7, // brr -, r:loop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x159c3fc0, 0x100209a7, // mov interrupt, flag +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/hex/shader_trans.hex b/hex/shader_trans.hex new file mode 100644 index 0000000..93af75e --- /dev/null +++ b/hex/shader_trans.hex @@ -0,0 +1,126 @@ +0x15827d80, 0x10020e27, // mov t0s, unif +0x009e7000, 0xa00009e7, // ldtmu0 +0x0c9cc9c0, 0xd0020e27, // add t0s, r4, 3*4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x0c827980, 0x100200a7, // add ra_src_base, r4, unif +0x15827d80, 0x10020e27, // mov t0s, unif +0x009e7000, 0xa00009e7, // ldtmu0 +0x0c9cc9c0, 0xd0020e27, // add t0s, r4, 3*4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x0c827980, 0x100200e7, // add ra_dst_base, r4, unif +0x15827d80, 0x100214a7, // mov rb_Y_STRIDE_SRC, unif +0x15827d80, 0x100214e7, // mov rb_Y_STRIDE_DST, unif +0x15827d80, 0x10021527, // mov rb_NX, unif +0x15827d80, 0x10021567, // mov rb_NY, unif +0x00000008, 0xe0021467, // mov rb_X_STRIDE, 2*4 +0x00000010, 0xe0021427, // mov rb_0x10, 0x10 +0xc0000000, 0xe0020827, // mov r0, vdw_setup_1(0) +0x0c9d31c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_DST +0x00000040, 0xe0020867, // mov r1, 16*4 +0x0d9e7040, 0x100201a7, // sub ra_vdw_stride, r0, r1 +0x40991037, 0x100049e0, // nop; mul24 r0, elem_num, rb_X_STRIDE +0x159e7000, 0x10021027, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd0021227, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x10021067, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd0021267, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x100210a7, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd00212a7, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x100210e7, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd00212e7, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x10021127, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd0021327, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x10021167, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd0021367, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x100211a7, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd00213a7, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x159e7000, 0x100211e7, // mov rb_offsets_re+i, r0 +0x0c9c41c0, 0xd00213e7, // add rb_offsets_im+i, r0, 4 +0x0c9d21c0, 0x10020827, // add r0, r0, rb_Y_STRIDE_SRC +0x00000000, 0xe0020067, // mov ra_y, 0 +0x00000000, 0xe0020027, // mov ra_x, 0 +0x40052037, 0x100049e1, // nop; mul24 r1, ra_y, rb_Y_STRIDE_SRC +0x40011037, 0x100049e0, // nop; mul24 r0, ra_x, rb_X_STRIDE +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c0a7c00, 0x10020127, // add ra_src_cell, ra_src_base, r0 +0x40013037, 0x100049e1, // nop; mul24 r1, ra_x, rb_Y_STRIDE_DST +0x40051037, 0x100049e0, // nop; mul24 r0, ra_y, rb_X_STRIDE +0x0c9e7040, 0x10020827, // add r0, r0, r1 +0x0c0e7c00, 0x10020167, // add ra_dst_cell, ra_dst_base, r0 +0x00001200, 0xe0021c67, // mov vw_setup, vpm_setup(16, 1, v32(0,0)) +0x0c100dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re +0x0c108dc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im +0x0c101dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c109dc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c102dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10adc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c103dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10bdc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c104dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10cdc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c105dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10ddc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c106dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10edc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x0c107dc0, 0x10020e27, // add t0s, ra_src_cell, rb_offsets_re+1+i +0x0c10fdc0, 0x10020f27, // add t1s, ra_src_cell, rb_offsets_im+1+i +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xa00009e7, // ldtmu0 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x009e7000, 0xb00009e7, // ldtmu1 +0x159e7900, 0x10020c27, // mov vpm, r4 +0x88104000, 0xe0021c67, // mov vw_setup, vdw_setup_0(16, 16, dma_h32(0,0)) +0x151a7d80, 0x10021c67, // mov vw_setup, ra_vdw_stride +0x15167d80, 0x10021ca7, // mov vw_addr, ra_dst_cell +0x159f2fc0, 0x100009e7, // mov -, vw_wait +0x0c010dc0, 0x10020027, // add ra_x, ra_x, rb_0x10 +0x009e7000, 0x100009e7, // nop +0x0d014dc0, 0x100229e7, // sub.setf -, ra_x, rb_NX +0xfffffde0, 0xf01809e7, // brr.allnz -, r:inner +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x0c048dc0, 0xd0020067, // add ra_y, ra_y, 8 +0x009e7000, 0x100009e7, // nop +0x0d055dc0, 0x100229e7, // sub.setf -, ra_y, rb_NY +0xfffffda0, 0xf01809e7, // brr.allnz -, r:outer +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop +0x00000001, 0xe00209a7, // mov interrupt, 1 +0x009e7000, 0x300009e7, // nop; nop; thrend +0x009e7000, 0x100009e7, // nop +0x009e7000, 0x100009e7, // nop diff --git a/ogn-rf.cc b/ogn-rf.cc index cd66058..c9baead 100644 --- a/ogn-rf.cc +++ b/ogn-rf.cc @@ -86,6 +86,7 @@ class RF_Acq // acquire wideband (1MHz) RF da int DeviceIndex; // rtl-sdr device index char DeviceSerial[64]; // serial number of the rtl-sdr device to be selected int OffsetTuning; // [bool] this option might be good for E4000 tuner + int BiasTee; // [bool] T-bias for external LNA power int FreqCorr; // [ppm] frequency correction applied to the Rx chip RTLSDR SDR; // SDR receiver (DVB-T stick) ReuseObjectQueue< SampleBuffer > OutQueue; // OGN sample batches are sent there @@ -124,7 +125,8 @@ class RF_Acq // acquire wideband (1MHz) RF da OGN_FreqHopChannels=0; OGN_SaveRawData=0; PulseFilt.Threshold=0; - DeviceIndex=0; DeviceSerial[0]=0; OffsetTuning=0; FreqCorr=0; + DeviceIndex=0; DeviceSerial[0]=0; + OffsetTuning=0; FreqCorr=0; BiasTee=0; GSM_CenterFreq=GSM_LowEdge+GSM_ScanStep/2; GSM_Scan=1; GSM_SamplesPerRead=(250*SampleRate)/1000; GSM_Gain=200; } int config_lookup_float_or_int(config_t *Config, const char *Path, double *Value) @@ -140,6 +142,7 @@ class RF_Acq // acquire wideband (1MHz) RF da config_lookup_string(Config,"RF.DeviceSerial", &Serial); if(Serial) { strncpy(DeviceSerial, Serial, 64); DeviceSerial[63]=0; } config_lookup_int(Config, "RF.OfsTune", &OffsetTuning); + config_lookup_int(Config, "RF.BiasTee", &BiasTee); config_lookup_int(Config, "RF.OGN.GainMode", &OGN_GainMode); config_lookup_int(Config, "RF.OGN.SaveRawData", &OGN_SaveRawData); @@ -265,6 +268,7 @@ class RF_Acq // acquire wideband (1MHz) RF da { printf("RF_Acq.Exec() ... SDR.Open(%d, , ) fails, retry after 1 sec\n", Index); usleep(1000000); } else { SDR.setOffsetTuning(OffsetTuning); + SDR.setBiasTee(BiasTee); SDR.setTunerGainMode(OGN_GainMode); SDR.setTunerGain(OGN_Gain); } SDR.setFreqCorrection(FreqCorr); @@ -869,8 +873,11 @@ Refresh: 5\r\n\ dprintf(Client->SocketFile, "RF.Device%d\n", RF->DeviceIndex); if(RF->DeviceSerial[0]) dprintf(Client->SocketFile, "RF.DeviceSerial%s\n", RF->DeviceSerial); - dprintf(Client->SocketFile, "RF.SampleRate%3.1f MHz\n", 1e-6*RF->SampleRate); + dprintf(Client->SocketFile, "RF.SampleRate%3.1f MHz\n", 1e-6*RF->SampleRate); + // dprintf(Client->SocketFile, "RF.PipeName%s\n", ??->OutPipeName ); dprintf(Client->SocketFile, "RF.FreqCorr%+3d ppm\n", RF->FreqCorr); + dprintf(Client->SocketFile, "RF.BiasTee%d\n", RF->BiasTee); + dprintf(Client->SocketFile, "RF.OffsetTuning%d\n", RF->OffsetTuning); dprintf(Client->SocketFile, "Fine calib. FreqCorr%+5.1f ppm\n", RF->GSM_FreqCorr); dprintf(Client->SocketFile, "RF.PulseFilter.Threshold%d\n", RF->PulseFilt.Threshold); dprintf(Client->SocketFile, "RF.PulseFilter duty%5.1f ppm\n", 1e6*RF->PulseFilt.Duty); diff --git a/pulsefilter.h b/pulsefilter.h new file mode 100644 index 0000000..964c9a7 --- /dev/null +++ b/pulsefilter.h @@ -0,0 +1,69 @@ +#include + +#include "buffer.h" +#include "boxfilter.h" + +class PulseFilter +{ public: + int Threshold; // apply pulse filter to the the RF samples to remove wideband pulses like radar + const static int PulseBoxRadius = 33; + const static int PulseBoxSize = 2*PulseBoxRadius+1; + BoxPeakSum PulseBox; + int Pulses; + float Duty; + + public: + PulseFilter() { PulseBox.Preset(PulseBoxSize); Threshold=0; Pulses=0; Duty=0; } + + int Process(SampleBuffer &Buffer, uint8_t Bias=127) + { PulseBox.Clear(); Pulses=0; + if(Threshold<=0) return 0; + int Samples = Buffer.Samples(); + if(Samples(Threshold*BkgNoise)) + { // printf("PulseFilter::Process() %06d: %4d+%4d+%4d+%4d+%4d=%5d/%2d\n", + // Idx/2, PulseBox.AtPeak(-2), PulseBox.AtPeak(-1), PulseBox.AtPeak(0), PulseBox.AtPeak(1), PulseBox.AtPeak(2), PeakAmpl, BkgNoise); + int32_t Thres = PeakAmpl/2; + int PeakIdx = Idx-2*PulseBoxRadius; + // printf("PulseFilter::Process() [%+3d,%+3d] [%+3d,%+3d] [%+3d,%+3d]\n", Data[PeakIdx-2]-Bias, Data[PeakIdx-1]-Bias, Data[PeakIdx]-Bias, Data[PeakIdx+1]-Bias, Data[PeakIdx+2]-Bias, Data[PeakIdx+3]-Bias); + SetZero(Data+PeakIdx, Bias); + if(PulseBox.AtPeak(-1)>Thres) + { SetZero(Data+(PeakIdx-2), Bias); SetHalf(Data+(PeakIdx-4), Bias); } + else SetHalf(Data+(PeakIdx-2), Bias); + if(PulseBox.AtPeak( 1)>Thres) + { SetZero(Data+(PeakIdx+2), Bias); SetHalf(Data+(PeakIdx+4), Bias); } + else SetHalf(Data+(PeakIdx+2), Bias); + // printf("PulseFilter::Process() [%+3d,%+3d] [%+3d,%+3d] [%+3d,%+3d]\n", Data[PeakIdx-2]-Bias, Data[PeakIdx-1]-Bias, Data[PeakIdx]-Bias, Data[PeakIdx+1]-Bias, Data[PeakIdx+2]-Bias, Data[PeakIdx+3]-Bias); + Pulses++; } + } + } + // printf("PulseFilter::Process(Buffer[%d]) (%d) => %d pulses\n", Samples, Threshold, Pulses); + Duty = (float)Pulses/Samples; + return Pulses; } + + static void SetZero(uint8_t *Data, uint8_t Bias=127) + { Data[0]=Bias; Data[1]=Bias; } + + static void SetHalf(uint8_t *Data, uint8_t Bias=127) + { int8_t I = Data[0]-Bias; Data[0] = Bias + (I>>1); + int8_t Q = Data[1]-Bias; Data[1] = Bias + (Q>>1); } + +} ; + + diff --git a/rtlsdr.h b/rtlsdr.h index 4acbb03..f1e855d 100644 --- a/rtlsdr.h +++ b/rtlsdr.h @@ -149,6 +149,8 @@ class RTLSDR int setTestMode(int Test=1) { return rtlsdr_set_testmode(Device, Test); } // Enable/Disable test mode - a counter is send, not real data int ResetBuffer(void) { return rtlsdr_reset_buffer(Device); } // obligatory, the docs say, before you start reading + int setBiasTee(int On=1) { return rtlsdr_set_bias_tee(Device, On); } // turn on or off the T-bias circuit to power extenal LNA: never use with DC-shorted antennas ! + double getTime(void) const // read the system time at this very moment #ifndef __MACH__ // _POSIX_TIMERS { struct timespec now; clock_gettime(RefClock, &now); return now.tv_sec + 1e-9*now.tv_nsec; } diff --git a/serialize.h b/serialize.h new file mode 100644 index 0000000..f442ed9 --- /dev/null +++ b/serialize.h @@ -0,0 +1,25 @@ +#ifndef __SERIALIZE_H__ +#define __SERIALIZE_H__ + +#include +#include +#include +#include + +inline int SerializeWriteSync(int Stream, uint32_t Sync) { return write(Stream, &Sync, sizeof(uint32_t)); } +inline int SerializeWriteName(int Stream, const char *Name) { return write(Stream, Name, strlen(Name)+1); } +inline int SerializeWriteData(int Stream, const void *Data, int Bytes) { return write(Stream, Data, Bytes); } +inline int SerializeReadData (int Stream, void *Data, int Bytes) { return read (Stream, Data, Bytes); } + +inline int SerializeWriteSync(FILE *Stream, uint32_t Sync) { return fwrite(&Sync, 1, sizeof(uint32_t), Stream); } +inline int SerializeWriteName(FILE *Stream, const char *Name) { return fwrite(Name, 1, strlen(Name)+1, Stream); } +inline int SerializeWriteData(FILE *Stream, const void *Data, int Bytes) { return fwrite(Data, 1, Bytes, Stream); } +inline int SerializeReadData (FILE *Stream, void *Data, int Bytes) { return fread (Data, 1, Bytes, Stream); } + +int SerializeFindSync(int Stream, uint32_t Sync); +int SerializeReadName(int Stream, char *Name, int MaxBytes); + +int SerializeFindSync(FILE *Stream, uint32_t Sync); +int SerializeReadName(FILE *Stream, char *Name, int MaxBytes); + +#endif // __SERIALIZE_H__ diff --git a/socket.h b/socket.h index bcd4d61..1c98480 100644 --- a/socket.h +++ b/socket.h @@ -28,9 +28,12 @@ #include #include #include +#include // #include #include +#include #include +#include #include #include @@ -309,6 +312,9 @@ class Socket // IP socket { struct linger Linger; Linger.l_onoff=ON; Linger.l_linger=Seconds; return setsockopt(SocketFile, SOL_SOCKET, SO_LINGER, &Linger, sizeof(Linger)); } + int setNoDelay(int ON=1) + { return setsockopt(SocketFile, IPPROTO_TCP, TCP_NODELAY, &ON, sizeof(ON)); } + int setSendBufferSize(int Bytes) { return setsockopt(SocketFile, SOL_SOCKET, SO_SNDBUF, &Bytes, sizeof(Bytes)); } @@ -408,7 +414,7 @@ class Socket // IP socket if(bind(SocketFile, (struct sockaddr *) &ListenAddress, sizeof(ListenAddress))<0) { Close(); return -1; } - + if(listen(SocketFile, MaxConnections)<0) { Close(); return -1; } @@ -439,6 +445,13 @@ class Socket // IP socket if(SentBytes>0) Buffer.Done+=SentBytes; return SentBytes; } + int SendFile(const char *FileName) + { int File=open(FileName, O_RDONLY); if(File<0) return File; + struct stat Stat; fstat(File, &Stat); int Size=Stat.st_size; + int Ret=sendfile(SocketFile, File, 0, Size); + close(File); + return Ret; } + // send data (on a non-connected socket) int SendTo(const void *Message, int Bytes, SocketAddress Address, int Flags=MSG_NOSIGNAL) { socklen_t AddressLength=sizeof(Address.Address); diff --git a/tonefilter.h b/tonefilter.h new file mode 100644 index 0000000..cb490c8 --- /dev/null +++ b/tonefilter.h @@ -0,0 +1,91 @@ +#include + +#include "buffer.h" +#include "boxfilter.h" + +template + class ToneFilter +{ public: + int FFTsize; + double Threshold; + + DFT1d FwdFFT; + DFT1d BwdFFT; + Float *Window; + Float *Sort; + + SampleBuffer< std::complex > SpectraBuffer; + SampleBuffer SpectraPwr; + + const static int PulseBoxRadius = 17; + const static int PulseBoxSize = 2*PulseBoxRadius+1; + BoxPeakSum PulseBox; + + int Pulses; + Float Duty; + + public: + + ToneFilter() { PulseBox.Preset(PulseBoxSize); + FFTsize=32768; Window=0; Sort=0; Duty=0; } + + ~ToneFilter() { if(Window) free(Window); + if(Sort) free(Sort); } + + int Preset(void) + { FwdFFT.PresetForward(FFTsize); + BwdFFT.PresetBackward(FFTsize); + Window=(Float *)realloc(Window, FFTsize*sizeof(Float)); + Sort =(Float *)realloc(Sort, FFTsize*sizeof(Float)); + FwdFFT.SetSineWindow(Window, FFTsize, (Float)(1.0/sqrt(FFTsize)) ); + return 1; } + + int Process(SampleBuffer< std::complex > *OutBuffer, SampleBuffer *InpBuffer) + { Pulses=0; + SlidingFFT(SpectraBuffer, *InpBuffer, FwdFFT, Window); // Process input samples, produce FFT spectra + SpectraPower(SpectraPwr, SpectraBuffer); // calculate spectra power + // process spectra: remove coherent signals + int FFTslides = SpectraBuffer.Samples(); // number of FFT slides in the input spectra + std::complex *Spectra = SpectraBuffer.Data; + Float *Pwr = SpectraPwr.Data; + for(int Slide=0; SlideCrop(FFTsize/2, FFTsize/2); + return Pulses; } +/* + int Process(std::complex *Spectra, Float *Pwr) + { int Pulses=0; + memcpy(Sort, Pwr, FFTsize*sizeof(Float)); + std::nth_element(Sort, Sort+FFTsize/2, Sort+FFTsize); + Float Median = Sort[FFTsize/2]; + Float Thres = Threshold*Median; + for(int Bin=0; BinThres) Spectra[Bin]*=sqrt(Thres/Power); + Pulses++; } + return Pulses; } +*/ + int Process(std::complex *Spectra, Float *Pwr) + { PulseBox.Clear(); + int Pulses=0; + int Bin; + for(Bin=0; Bin(Threshold*BkgNoise)) + { int PeakBin=Bin-PulseBoxRadius-1; + Spectra[PeakBin]=0; + Spectra[PeakBin+1]*=0.5; + Spectra[PeakBin-1]*=0.5; } + } + PulseBox.Process(Pwr[Bin]); } + return Pulses; } + + +} ; +