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)[XLEN:(XLEN*2)-1] + 1
17 prod2 <- MULS(RB, diff)[XLEN:(XLEN*2)-1] + 1
18 res1 <- ROTL64(prod1, XLEN-n)
19 res2 <- ROTL64(prod2, XLEN-n)
20 m <- MASK(n, (XLEN-1))
23 smask1 <- ([signbit1]*XLEN) & ¬m
24 smask2 <- ([signbit2]*XLEN) & ¬m
25 s64_1 <- [0]*(XLEN-1) || signbit1
26 s64_2 <- [0]*(XLEN-1) || signbit2
27 RT <- (res1 & m | smask1) + s64_1
28 RS <- (res2 & m | smask2) + s64_2
30 Special Registers Altered: