ForwardCom/manual

Missing coding of option bits

Closed this issue · 3 comments

The current version of the manual only seems to mention option bits for encoding in masks (chapter 3.3), the actual instructions using them, and a very general remark in the instruction template fields (Table 3.1). I know from a previous manual version that IM3 in E2 and E3 templates could be used as option bits.

However, there seem to be no rules on when to take the option bits from IM3 over the mask bits, or vice versa.
I did not find an instruction explicitly using the immediate field as option bits, so I am inclined to believe that IM3 doesn't get used for this purpose at all anymore. Maybe the general "except if IM3 is used for other purposes" remark could then be removed from Format 2.0.7 and 2.2.7?

The following instructions have option bits in IM3: MUL_ADD, MUL_ADD2, ADD_ADD, PREFETCH, COMPARE, DIV, MOVE_BITS, TEST_BIT, TEST_BITS_AND, TEST_BITS_OR. Options for floating point rounding mode, exception control, and subnormal number support are in a mask register or NUMCONTR register. I have previously specified that the mask or NUMCONTR could also be used for instruction-specific option bits for reasons of compactness, but I decided later that it is inconvenient to have instruction-specific options in a mask or NUMCONTR because it may inadvertently affect other instructions. The possibility still exists, though, that various new options can be specified in mask or NUMCONTR in future implementations.

Thank you for your clarification.

What is your opinion about removing the mention of option bits from masks in chapter 3.3, or alternatively adding a remark that they are currently unused, while adding a short option bit section in chapter 3.2?

This will be clarified in the next update of the manual.