cell: Float convert-to and convert-from instructions use different shift bias

This commit is contained in:
Ian Romanick 2008-03-24 12:15:59 -07:00
parent e1543fa55c
commit 84d8030735
2 changed files with 7 additions and 7 deletions

View File

@ -267,10 +267,10 @@ void _name (struct spe_function *p, unsigned rT, unsigned rA, int imm) \
emit_RI7(p, _op, rT, rA, imm); \ emit_RI7(p, _op, rT, rA, imm); \
} }
#define EMIT_RI8(_name, _op) \ #define EMIT_RI8(_name, _op, bias) \
void _name (struct spe_function *p, unsigned rT, unsigned rA, int imm) \ void _name (struct spe_function *p, unsigned rT, unsigned rA, int imm) \
{ \ { \
emit_RI8(p, _op, rT, rA, 155 - imm); \ emit_RI8(p, _op, rT, rA, bias - imm); \
} }
#define EMIT_RI10(_name, _op) \ #define EMIT_RI10(_name, _op) \

View File

@ -76,7 +76,7 @@ extern void spe_release_register(struct spe_function *p, int reg);
#define EMIT_RI7(_name, _op) \ #define EMIT_RI7(_name, _op) \
extern void _name (struct spe_function *p, unsigned rT, unsigned rA, \ extern void _name (struct spe_function *p, unsigned rT, unsigned rA, \
int imm) int imm)
#define EMIT_RI8(_name, _op) \ #define EMIT_RI8(_name, _op, bias) \
extern void _name (struct spe_function *p, unsigned rT, unsigned rA, \ extern void _name (struct spe_function *p, unsigned rT, unsigned rA, \
int imm) int imm)
#define EMIT_RI10(_name, _op) \ #define EMIT_RI10(_name, _op) \
@ -289,10 +289,10 @@ EMIT_RR (spe_dfnma, 0x35f);
EMIT_R (spe_frest, 0x1b8); EMIT_R (spe_frest, 0x1b8);
EMIT_R (spe_frsqest, 0x1b9); EMIT_R (spe_frsqest, 0x1b9);
EMIT_RR (spe_fi, 0x3d4); EMIT_RR (spe_fi, 0x3d4);
EMIT_RI8 (spe_csflt, 0x1da); EMIT_RI8 (spe_csflt, 0x1da, 155);
EMIT_RI8 (spe_cflts, 0x1d8); EMIT_RI8 (spe_cflts, 0x1d8, 173);
EMIT_RI8 (spe_cuflt, 0x1db); EMIT_RI8 (spe_cuflt, 0x1db, 155);
EMIT_RI8 (spe_cfltu, 0x1d9); EMIT_RI8 (spe_cfltu, 0x1d9, 173);
EMIT_R (spe_frds, 0x3b9); EMIT_R (spe_frds, 0x3b9);
EMIT_R (spe_fesd, 0x3b8); EMIT_R (spe_fesd, 0x3b8);
EMIT_RR (spe_dfceq, 0x3c3); EMIT_RR (spe_dfceq, 0x3c3);