openpower-isa.git
3 years agoadd SVREMAP new Form / Fields and CSV entry
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 16:09:44 +0000 (17:09 +0100)]
add SVREMAP new Form / Fields and CSV entry

3 years agoadd SVREMAP SPR to ISACaller and parser
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 15:08:00 +0000 (16:08 +0100)]
add SVREMAP SPR to ISACaller and parser

3 years agoadd SVREMAP SPR
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 15:02:15 +0000 (16:02 +0100)]
add SVREMAP SPR

3 years agoadd SVP64REMAP Record
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 11:35:08 +0000 (12:35 +0100)]
add SVP64REMAP Record

3 years agorename SVP64REMAP to SVP64SHAPE
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 11:34:50 +0000 (12:34 +0100)]
rename SVP64REMAP to SVP64SHAPE

3 years agorename svremap to svshape
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 11:22:03 +0000 (12:22 +0100)]
rename svremap to svshape

3 years agorename svremap to svshape
Luke Kenneth Casson Leighton [Sun, 11 Jul 2021 11:17:50 +0000 (12:17 +0100)]
rename svremap to svshape

3 years agoadd scalar ffadds unit test
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 16:25:25 +0000 (17:25 +0100)]
add scalar ffadds unit test

3 years agowhoops forgot elif in SVP64Asm translation, detection of ffmadds overwritten
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 16:24:10 +0000 (17:24 +0100)]
whoops forgot elif in SVP64Asm translation, detection of ffmadds overwritten

3 years agoin scalar case do not increment RB for FFT mode
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 16:08:24 +0000 (17:08 +0100)]
in scalar case do not increment RB for FFT mode

3 years agoadd sv.ffadds unit test, inversion of subtract needed in svfparith pseudocode
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 11:37:20 +0000 (12:37 +0100)]
add sv.ffadds unit test, inversion of subtract needed in svfparith pseudocode

3 years agomore generic allow fft mode 2nd output detection. REALLY need a CSV Out2 column
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 11:36:43 +0000 (12:36 +0100)]
more generic allow fft mode 2nd output detection.  REALLY need a CSV Out2 column

3 years agoadd ffadds decoding:
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 11:11:19 +0000 (12:11 +0100)]
add ffadds decoding:
- SVP64 trans manual creation of opcode with XO=0b01101
- add to power enums ISA list
- add to minor 59 and SVP64 CSV

3 years agoadd more generic detection of FFT mode, really needs to be a new column in CSV file...
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 11:10:08 +0000 (12:10 +0100)]
add more generic detection of FFT mode, really needs to be a new column in CSV file for Out2

3 years agoadd (disabled) FFT complex unit test under development
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 11:09:10 +0000 (12:09 +0100)]
add (disabled) FFT complex unit test under development

3 years agocorrections to remaining fft madd/msub
Luke Kenneth Casson Leighton [Sat, 10 Jul 2021 10:46:49 +0000 (11:46 +0100)]
corrections to remaining fft madd/msub

3 years agoupdate comments
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 18:42:16 +0000 (19:42 +0100)]
update comments

3 years agofor scalar destination or scalar source on ffmadd, only offset by one
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 16:12:37 +0000 (17:12 +0100)]
for scalar destination or scalar source on ffmadd, only offset by one

3 years agoadd svstep variant of fpmadds fft test
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 16:03:31 +0000 (17:03 +0100)]
add svstep variant of fpmadds fft test

3 years agoadd "odd" SVP64 unit tests which alter SVSTATE
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 15:52:37 +0000 (16:52 +0100)]
add "odd" SVP64 unit tests which alter SVSTATE

3 years agocomments in unit test
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 11:48:57 +0000 (12:48 +0100)]
comments in unit test

3 years agoadd Vertical-First explicit branch-loop using svstep, with an sv.add. works!
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 11:44:22 +0000 (12:44 +0100)]
add Vertical-First explicit branch-loop using svstep, with an sv.add. works!

3 years agoend SVP64 "Vertical First" mode on rollover when end of svstep reached
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 22:09:49 +0000 (23:09 +0100)]
end SVP64 "Vertical First" mode on rollover when end of svstep reached

3 years agoadd CR0 setting and unit test on svstep
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 22:04:51 +0000 (23:04 +0100)]
add CR0 setting and unit test on svstep

3 years agowhoops asmcode length (number of instructions) went over 256, caused
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:34:29 +0000 (22:34 +0100)]
whoops asmcode length (number of instructions) went over 256, caused
asmcode in simulator to "wrap" and get the wrong instruction name,
and then execute totally the wrong simulated instruction

3 years agotest MSR.SVF bit set after setvl Vertical-First mode set
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:26:30 +0000 (22:26 +0100)]
test MSR.SVF bit set after setvl Vertical-First mode set

3 years agowhoops must not reset last_op_svstate except when out of SVP64 mode
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:10:03 +0000 (22:10 +0100)]
whoops must not reset last_op_svstate except when out of SVP64 mode

3 years agotesting new setvl "svstep" mode
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:03:55 +0000 (22:03 +0100)]
testing new setvl "svstep" mode

3 years agowhoops sv.lfs registers must be even numbers (match SVP6 EXTRA2 encoding)
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 20:46:56 +0000 (21:46 +0100)]
whoops sv.lfs registers must be even numbers (match SVP6 EXTRA2 encoding)

3 years agoadd ability to explicitly increment SVSTATE srcstep/dststep
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 18:02:37 +0000 (19:02 +0100)]
add ability to explicitly increment SVSTATE srcstep/dststep

3 years agoadd (new) extra argument to setvl (Vertical-First mode, set to zero here)
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 15:21:49 +0000 (16:21 +0100)]
add (new) extra argument to setvl (Vertical-First mode, set to zero here)

3 years agoadd in extra "vertical" mode into SVP64 setvl
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 15:12:14 +0000 (16:12 +0100)]
add in extra "vertical" mode into SVP64 setvl

3 years agoclean up imports and unit test name
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:43:40 +0000 (16:43 +0100)]
clean up imports and unit test name

3 years agoffmuls test, had to add to b not a in expected results
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:31:08 +0000 (16:31 +0100)]
ffmuls test, had to add to b not a in expected results

3 years agoget butterfly RADIX2 SVP64 example working, breaks the fpmadds one though
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:27:46 +0000 (16:27 +0100)]
get butterfly RADIX2 SVP64 example working, breaks the fpmadds one though

3 years agoadd in DFT test from Project Nayuki to verify results of butterfly schedule
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 13:07:27 +0000 (14:07 +0100)]
add in DFT test from Project Nayuki to verify results of butterfly schedule

3 years agochange coefficients in FFT REMAP example so as not to get alternating zeros
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:15:02 +0000 (21:15 +0100)]
change coefficients in FFT REMAP example so as not to get alternating zeros

3 years agowhen REMAP shape is zero, skip it in ISACaller.
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:14:33 +0000 (21:14 +0100)]
when REMAP shape is zero, skip it in ISACaller.
also use srcstep only for FFT butterfly mode (for now)
bit of a hack

3 years agoon FRS for FFT with REMAP use scheduled offset
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:13:50 +0000 (21:13 +0100)]
on FRS for FFT with REMAP use scheduled offset

3 years agoadd FFT REMAP butterfly unit test
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 19:34:40 +0000 (20:34 +0100)]
add FFT REMAP butterfly unit test

3 years agoadd FFT SHAPE pseudocode in svremap, and a schedule in ISACaller
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 18:55:41 +0000 (19:55 +0100)]
add FFT SHAPE pseudocode in svremap, and a schedule in ISACaller

3 years agoadd FFT butterfly iteration to SVSHAPE REMAP class for ISACaller
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 16:03:53 +0000 (17:03 +0100)]
add FFT butterfly iteration to SVSHAPE REMAP class for ISACaller

3 years agowhen FFT madd detected, only enable VL offset in non-REMAP mode
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 16:03:16 +0000 (17:03 +0100)]
when FFT madd detected, only enable VL offset in non-REMAP mode

3 years agoadd 2nd matrix multiply unit test with SV REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 22:16:11 +0000 (23:16 +0100)]
add 2nd matrix multiply unit test with SV REMAP

3 years agofix ISACaller FFT-enable detection, fixes sv.fmadds, matrix multiply works
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 21:29:51 +0000 (22:29 +0100)]
fix ISACaller FFT-enable detection, fixes sv.fmadds, matrix multiply works

3 years agofix svremap field offsets
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 21:03:15 +0000 (22:03 +0100)]
fix svremap field offsets

3 years agowhoops, REMAP inverted
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 19:07:49 +0000 (20:07 +0100)]
whoops, REMAP inverted

3 years agodebug of SVP64 REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 19:01:18 +0000 (20:01 +0100)]
debug of SVP64 REMAP

3 years agodebugging SVSHAPE for REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 18:36:01 +0000 (19:36 +0100)]
debugging SVSHAPE for REMAP

3 years agoadd in use of SVSHAPE in ISACaller. untested (no damage done)
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 18:02:18 +0000 (19:02 +0100)]
add in use of SVSHAPE in ISACaller. untested (no damage done)

3 years agoadd redirection "steps" for REMAP purposes, to be set up manually
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 17:45:46 +0000 (18:45 +0100)]
add redirection "steps" for REMAP purposes, to be set up manually
in ISACaller for now

3 years agoadd last_op_svshape flag to ISACaller
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 17:33:17 +0000 (18:33 +0100)]
add last_op_svshape flag to ISACaller

3 years agoadd svremap manual instruction (Primary Opcode 22, sandbox)
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 16:28:31 +0000 (17:28 +0100)]
add svremap manual instruction (Primary Opcode 22, sandbox)

3 years agoadd SVSHAPE class, starting to add to ISACaller
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 14:53:18 +0000 (15:53 +0100)]
add SVSHAPE class, starting to add to ISACaller

3 years agoadd function to turn permute into an order list
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 13:30:50 +0000 (14:30 +0100)]
add function to turn permute into an order list

3 years agoupdate SVREMAP to match spec
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 13:18:54 +0000 (14:18 +0100)]
update SVREMAP to match spec

3 years agoadd basic README for media tests
Luke Kenneth Casson Leighton [Fri, 2 Jul 2021 12:45:31 +0000 (13:45 +0100)]
add basic README for media tests

3 years agoadd temporary SV pseudocode
Luke Kenneth Casson Leighton [Thu, 1 Jul 2021 17:12:13 +0000 (18:12 +0100)]
add temporary SV pseudocode

3 years agoadd TEMPORARY svremap form and instruction
Luke Kenneth Casson Leighton [Thu, 1 Jul 2021 14:17:35 +0000 (15:17 +0100)]
add TEMPORARY svremap form and instruction

3 years agore-enable accidentally-disabled sv ld/st tests
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:22:17 +0000 (16:22 +0100)]
re-enable accidentally-disabled sv ld/st tests

3 years agocorrections to comments and map-reduce adds, wrong way round
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:18:51 +0000 (16:18 +0100)]
corrections to comments and map-reduce adds, wrong way round
(not a prefix-sum)

3 years agotab replacement
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:16:32 +0000 (16:16 +0100)]
tab replacement

3 years agoadd some notes into imdct_standalone.c
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:35:17 +0000 (19:35 +0100)]
add some notes into imdct_standalone.c

3 years agomorph imdct36 standalone c to look like it uses predication
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:12:03 +0000 (19:12 +0100)]
morph imdct36 standalone c to look like it uses predication

loop can now be 5-long

3 years agoadd copy of imdct36 standalone c test
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:03:26 +0000 (19:03 +0100)]
add copy of imdct36 standalone c test

3 years agoadd extra offset for FRB, for FFT Cooley-Tukey twin mul/add-sub
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 14:15:03 +0000 (15:15 +0100)]
add extra offset for FRB, for FFT Cooley-Tukey twin mul/add-sub

3 years agoadd new SVP64 FFT twin multiply-and-accumulate unit test
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 17:39:11 +0000 (18:39 +0100)]
add new SVP64 FFT twin multiply-and-accumulate unit test

3 years agoadd new (experimental) ffmadds and ffmsubs, for FFT twin mul-accumulate
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 17:38:45 +0000 (18:38 +0100)]
add new (experimental) ffmadds and ffmsubs, for FFT twin mul-accumulate

3 years agooverride logic for getting FRS in SVP64 FFT mode
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 13:26:09 +0000 (14:26 +0100)]
override logic for getting FRS in SVP64 FFT mode

3 years agoadd FRS decode (2nd output) for SVP64 FFT FP mul-add in PowerDecoder2
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:52:25 +0000 (13:52 +0100)]
add FRS decode (2nd output) for SVP64 FFT FP mul-add in PowerDecoder2

3 years agochange name to OP_FP_MADD to identify fmadd (etc)
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:46:51 +0000 (13:46 +0100)]
change name to OP_FP_MADD to identify fmadd (etc)

3 years agocomments on SVP64 LD/ST Mode detection
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:46:19 +0000 (13:46 +0100)]
comments on SVP64 LD/ST Mode detection

3 years agoadd SVP64 FFT mode to PowerDecoder, add CSV entries
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:22:04 +0000 (13:22 +0100)]
add SVP64 FFT mode to PowerDecoder, add CSV entries

3 years agoadd LD bit-reversed unit test
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 17:42:56 +0000 (18:42 +0100)]
add LD bit-reversed unit test
add LD/ST bit-reverse logic in ISACaller

3 years agocomment out l*br pseudo-ops from power_enums.py
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 14:14:44 +0000 (15:14 +0100)]
comment out l*br pseudo-ops from power_enums.py

3 years agouse If Elif in power_decoder conditions, a lot easier than switch/case
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 12:37:25 +0000 (13:37 +0100)]
use If Elif in power_decoder conditions, a lot easier than switch/case

3 years agorename bit-reversed LDs to match v3.0B (strip "br")
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 12:36:56 +0000 (13:36 +0100)]
rename bit-reversed LDs to match v3.0B (strip "br")

3 years agomove D const update to after picking up main input registers
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 09:39:32 +0000 (10:39 +0100)]
move D const update to after picking up main input registers

3 years agoidentify SVP64 LD bit-reverse pattern as pseudo-assembler
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 18:18:35 +0000 (19:18 +0100)]
identify SVP64 LD bit-reverse pattern as pseudo-assembler
rewrite it before it gets too far into SVP64Asm
morph any "sv.ldxxxxbr" into "sv.ld/br" and rewrite the fields

3 years agoonly set conditions in PowerDecoder2 for svp64 mode
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 18:12:13 +0000 (19:12 +0100)]
only set conditions in PowerDecoder2 for svp64 mode

3 years agoupdate sv_analysis.py to match new CONDITIONs field in CSV files
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 13:42:55 +0000 (14:42 +0100)]
update sv_analysis.py to match new CONDITIONs field in CSV files

3 years agorename svp64 bit-reversed LD instructions to not conflict with v3.0B
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 13:42:23 +0000 (14:42 +0100)]
rename svp64 bit-reversed LD instructions to not conflict with v3.0B

3 years agowhoops SVP64 bit-rev LDs need to use SVD and SVDS immediate not D and DS
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:17:02 +0000 (22:17 +0100)]
whoops SVP64 bit-rev LDs need to use SVD and SVDS immediate not D and DS

3 years agoallow default decoder to be created with no col/row subset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:11:26 +0000 (22:11 +0100)]
allow default decoder to be created with no col/row subset

3 years agoadd in Power Decoder conditions to select SVP64 bit-rev decoding
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:07:53 +0000 (22:07 +0100)]
add in Power Decoder conditions to select SVP64 bit-rev decoding

3 years agoadd "conditions" for PowerDecoder, basic test
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:02:07 +0000 (22:02 +0100)]
add "conditions" for PowerDecoder, basic test

3 years agoremove svp64 ld/st decoder tree
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:00:58 +0000 (22:00 +0100)]
remove svp64 ld/st decoder tree

3 years agomust pass in conditions into Sub-decoders
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 19:10:52 +0000 (20:10 +0100)]
must pass in conditions into Sub-decoders

3 years agosearch for CSV "Conditions", set to static (disabled) for now
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 19:09:06 +0000 (20:09 +0100)]
search for CSV "Conditions", set to static (disabled) for now
conditions in CSV files activate an additional case statement

3 years agoadd major.csv LD operations with SVP64BREV condition
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:23:54 +0000 (19:23 +0100)]
add major.csv LD operations with SVP64BREV condition

3 years agoadd PowerDecoder condition switches (untested, doesnt break anything)
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:19:26 +0000 (19:19 +0100)]
add PowerDecoder condition switches (untested, doesnt break anything)

3 years agowas going to set 2nd decoder up through MUX but now too complicated
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:01:27 +0000 (19:01 +0100)]
was going to set 2nd decoder up through MUX but now too complicated
going to do "decoder conditions" instead

3 years agoadd extra CONDITION column to CSVs
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 17:59:47 +0000 (18:59 +0100)]
add extra CONDITION column to CSVs

3 years agowhoops fix rounding error in mapreduce unit test
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:09:25 +0000 (16:09 +0100)]
whoops fix rounding error in mapreduce unit test

3 years agoonly add svdecldst in PowerDecoder2 or LDST PowerDecodeSubset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:07:23 +0000 (16:07 +0100)]
only add svdecldst in PowerDecoder2 or LDST PowerDecodeSubset

3 years agouse PowerOp copy of PowerDecodeSubset in get_op
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:04:09 +0000 (16:04 +0100)]
use PowerOp copy of PowerDecodeSubset in get_op
not the one in the "main" decoder.
in preparation for MUXing onto self.op

3 years agoadd "user_svp64_ldst_dec" flag to PowerDecodeSubset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:50:32 +0000 (15:50 +0100)]
add "user_svp64_ldst_dec" flag to PowerDecodeSubset

3 years agouse new PowerOp.like function in PowerDecoder, fix missing fields
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:34:43 +0000 (15:34 +0100)]
use new PowerOp.like function in PowerDecoder, fix missing fields

3 years agouse get_op on "internal_op" instead of self.dec.op in PowerDecoder2
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:24:11 +0000 (15:24 +0100)]
use get_op on "internal_op" instead of self.dec.op in PowerDecoder2

3 years agodo shorter-path detection of SVP64 LD/ST bitreverse mode
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 12:25:45 +0000 (13:25 +0100)]
do shorter-path detection of SVP64 LD/ST bitreverse mode
needs to be very quick, because the entire decode path is to be MUXED