On 7/26/21 2:57 AM, Song Gao wrote:
Hi, Richard.
On 07/23/2021 01:12 PM, Richard Henderson wrote:
On 7/20/21 11:53 PM, Song Gao wrote:
+target_ulong helper_cpucfg(CPULoongArchState *env, target_ulong rj)
+{
+ target_ulong r = 0;
+
+ switch (rj) {
+ case 0:
+ r = env->CSR_MCSR0 & 0xffffffff;
+ break;
+ case 1:
+ r = (env->CSR_MCSR0 & 0xffffffff00000000) >> 32;
+ break;
Why do you represent all of these as high and low portions of a 64-bit internal
value, when the manual describes them as 32-bit values?
This method can reduce variables on env.
The number of variables may increase, but the memory consumed -- which is the metric that
is more important -- is still the same.
Also, it is much less confusing to match the description in the manual.
r~