1 <!-- SVP64 Butterfly DCT Instructions here described are based on -->
3 <!-- PLEASE NOTE THESE ARE UNAPPROVED AND DRAFT, NOT SUBMITTED TO OPF ISA WG -->
5 # [DRAFT] Integer Butterfly Multiply Add/Sub FFT/DCT
9 * maddsubrs RT,RA,SH,RB
16 prod1 <- MULS(RB, sum)
17 prod2 <- MULS(RB, diff)
19 prod1_lo <- prod1[XLEN:(XLEN*2)-1]
20 prod2_lo <- prod2[XLEN:(XLEN*2)-1]
26 prod1 <- prod1 + round
27 prod2 <- prod2 + round
28 m <- MASK(XLEN-n, XLEN-1)
29 res1 <- prod1[XLEN-n:XLEN*2 -n -1]
30 res2 <- prod2[XLEN-n:XLEN*2 -n -1]
33 smask1 <- ([signbit1]*XLEN) & ¬m
34 smask2 <- ([signbit2]*XLEN) & ¬m
38 Special Registers Altered:
42 # [DRAFT] Integer Butterfly Multiply Add and Accumulate FFT/DCT
53 prod_lo <- prod[XLEN:(XLEN*2)-1]
65 m <- MASK(XLEN-n, (XLEN-1))
66 res1 <- prod1[XLEN-n:XLEN*2 -n -1]
67 res2 <- prod2[XLEN-n:XLEN*2 -n -1]
68 smask1 <- ([signbit1]*XLEN) & ¬m
69 smask2 <- ([signbit2]*XLEN) & ¬m
73 Special Registers Altered: