WIP: maddsubrs initial approach
[openpower-isa.git] / openpower / isa / butterfly.mdwn
1 <!-- SVP64 Butterfly DCT Instructions here described are based on -->
2
3 <!-- PLEASE NOTE THESE ARE UNAPPROVED AND DRAFT, NOT SUBMITTED TO OPF ISA WG -->
4
5 # [DRAFT] Integer Butterfly Multiply Add/Sub FFT/DCT
6
7 DCTI-Form
8
9 * maddsubrs RT,RA,RB,SH
10
11 Pseudo-code:
12
13 sum <- (RT) + (RA)
14 diff <- (RT) - (RA)
15 prod1 <- MUL(RB, sum)
16 prod2 <- MUL(RB, diff)
17 res1 <- ROTL64(prod1, XLEN-SH)
18 res2 <- ROTL64(prod2, XLEN-SH)
19 RT <- (RT) + res1
20 RS <- (RS) + res2
21
22 Special Registers Altered:
23
24 None