* m32c.cpu (f-dsp-8-s24): Mask high byte after shifting it.

* m32c-ibld.c: Regenerate.
This commit is contained in:
DJ Delorie 2010-07-03 04:09:56 +00:00
parent 81a0b7e2ae
commit 21375995bd
4 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2010-07-03 DJ Delorie <dj@delorie.com>
* m32c.cpu (f-dsp-8-s24): Mask high byte after shifting it.
2010-02-11 Doug Evans <dje@sebabeach.org>
* m32r.cpu (HASH-PREFIX): Delete.

View File

@ -572,10 +572,10 @@
)
(df f-dsp-8-s24 "24 bit signed" (all-isas) 8 24 INT
((value pc) (or SI
(or (srl value 16) (and value #xff00))
(or (and (srl value 16) #xff) (and value #xff00))
(sll (ext INT (trunc QI (and value #xff))) 16)))
((value pc) (or SI
(or (srl value 16) (and value #xff00))
(or (and (srl value 16) #xff) (and value #xff00))
(sll (ext INT (trunc QI (and value #xff))) 16)))
)

View File

@ -1,3 +1,7 @@
2010-07-03 DJ Delorie <dj@delorie.com>
* m32c-ibld.c: Regenerate.
2010-07-03 Alan Modra <amodra@gmail.com>
* ppc-opc.c (PWR2COM): Define.

View File

@ -1077,7 +1077,7 @@ m32c_cgen_insert_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_DSP_8_S24 :
{
long value = fields->f_dsp_8_s24;
value = ((((((USI) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
value = ((((((((USI) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, buffer);
}
break;
@ -2234,7 +2234,7 @@ m32c_cgen_extract_operand (CGEN_CPU_DESC cd,
{
long value;
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 24, 32, total_length, pc, & value);
value = ((((((USI) (value) >> (16))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
value = ((((((((USI) (value) >> (16))) & (255))) | (((value) & (65280))))) | (((EXTQISI (TRUNCSIQI (((value) & (255))))) << (16))));
fields->f_dsp_8_s24 = value;
}
break;