On 10/13/18 9:34 PM, Richard Henderson wrote:
On 10/12/18 10:30 AM, Bastian Koppelmann wrote:
+@c_flwsp_ldsp   ... .  ..... ..... .. &c_flwsp_ldsp uimm_flwsp=%uimm_6bit_lw \
+    uimm_ldsp=%uimm_6bit_ld %rd
+@c_fswsp_sdsp   ... .  ..... ..... .. &c_fswsp_sdsp uimm_fswsp=%uimm_6bit_sw \
+    uimm_sdsp=%uimm_6bit_sd rs2=%rs2_5
I'm not especially keen about decoding the same bits twice.

I wonder if it's better to call the proper extract_foo function
within the trans_ function like you do elsewhere.  Written as

c_flwsp_ldsp    011 -  ----- ----- 10


Hmm, Do you mean split the formats up into:

@c_fswsp ... . ..... ..... .. &fswsp_sdsp uimm=%uimm_6bit_sw

and

@c_sdsp ... . ..... ..... .. &fswsp_sdsp uimm=%uimm_6bit_sd rs2=%rs2_5


And then call extract_c_sdsp and extract_c_fswsp in each of the TARGET_RVX cases. However then we end up with unused functions in either TARGET_RV32 and TARGET_RV64.

I don't think its worth it to go through all that trouble for a small optimization.


Cheers,

Bastian


Reply via email to