Revision 0387d928 target-sparc/translate.c
b/target-sparc/translate.c | ||
---|---|---|
87 | 87 |
#define GET_FIELD_SPs(x,a,b) sign_extend (GET_FIELD_SP(x,a,b), ((b) - (a) + 1)) |
88 | 88 |
|
89 | 89 |
#ifdef TARGET_SPARC64 |
90 |
#define DFPREG(r) (((r & 1) << 6) | (r & 0x1e))
|
|
90 |
#define DFPREG(r) (((r & 1) << 5) | (r & 0x1e))
|
|
91 | 91 |
#else |
92 | 92 |
#define DFPREG(r) (r & 0x1e) |
93 | 93 |
#endif |
... | ... | |
431 | 431 |
{ |
432 | 432 |
int asi, offset, rd; |
433 | 433 |
|
434 |
rd = GET_FIELD(insn, 2, 6);
|
|
434 |
rd = DFPREG(GET_FIELD(insn, 2, 6));
|
|
435 | 435 |
if (IS_IMM) { |
436 | 436 |
offset = GET_FIELD(insn, 25, 31); |
437 | 437 |
gen_op_ldf_asi_reg(offset, size, rd); |
... | ... | |
445 | 445 |
{ |
446 | 446 |
int asi, offset, rd; |
447 | 447 |
|
448 |
rd = GET_FIELD(insn, 2, 6);
|
|
448 |
rd = DFPREG(GET_FIELD(insn, 2, 6));
|
|
449 | 449 |
if (IS_IMM) { |
450 | 450 |
offset = GET_FIELD(insn, 25, 31); |
451 | 451 |
gen_op_stf_asi_reg(offset, size, rd); |
Also available in: Unified diff