Revision 5fafdf24 target-arm/op_iwmmxt.c

b/target-arm/op_iwmmxt.c
1 1
/*
2 2
 * iwMMXt micro operations for XScale.
3
 * 
3
 *
4 4
 * Copyright (c) 2007 OpenedHand, Ltd.
5 5
 * Written by Andrzej Zaborowski <andrew@openedhand.com>
6 6
 *
......
146 146
void OPPROTO op_iwmmxt_macsw_M0_wRn(void)
147 147
{
148 148
#define MACS(SHR) ( \
149
        EXTEND16((M0 >> SHR) & 0xffff) * EXTEND16S((M1 >> SHR) & 0xffff)) 
149
        EXTEND16((M0 >> SHR) & 0xffff) * EXTEND16S((M1 >> SHR) & 0xffff))
150 150
    M0 = (int64_t) (MACS(0) + MACS(16) + MACS(32) + MACS(48));
151 151
#undef MACS
152 152
}
......
155 155
{
156 156
#define MACU(SHR) ( \
157 157
        (uint32_t) ((M0 >> SHR) & 0xffff) * \
158
        (uint32_t) ((M1 >> SHR) & 0xffff)) 
158
        (uint32_t) ((M1 >> SHR) & 0xffff))
159 159
    M0 = MACU(0) + MACU(16) + MACU(32) + MACU(48);
160 160
#undef MACU
161 161
}

Also available in: Unified diff