Revision e4039339

b/target-ppc/helper.h
111 111
DEF_HELPER_3(vavgsb, void, avr, avr, avr)
112 112
DEF_HELPER_3(vavgsh, void, avr, avr, avr)
113 113
DEF_HELPER_3(vavgsw, void, avr, avr, avr)
114
DEF_HELPER_3(vminsb, void, avr, avr, avr)
115
DEF_HELPER_3(vminsh, void, avr, avr, avr)
116
DEF_HELPER_3(vminsw, void, avr, avr, avr)
117
DEF_HELPER_3(vmaxsb, void, avr, avr, avr)
118
DEF_HELPER_3(vmaxsh, void, avr, avr, avr)
119
DEF_HELPER_3(vmaxsw, void, avr, avr, avr)
120
DEF_HELPER_3(vminub, void, avr, avr, avr)
121
DEF_HELPER_3(vminuh, void, avr, avr, avr)
122
DEF_HELPER_3(vminuw, void, avr, avr, avr)
123
DEF_HELPER_3(vmaxub, void, avr, avr, avr)
124
DEF_HELPER_3(vmaxuh, void, avr, avr, avr)
125
DEF_HELPER_3(vmaxuw, void, avr, avr, avr)
114 126

  
115 127
DEF_HELPER_1(efscfsi, i32, i32)
116 128
DEF_HELPER_1(efscfui, i32, i32)
b/target-ppc/op_helper.c
2007 2007
#undef VAVG_DO
2008 2008
#undef VAVG
2009 2009

  
2010
#define VMINMAX_DO(name, compare, element)                              \
2011
    void helper_v##name (ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b)      \
2012
    {                                                                   \
2013
        int i;                                                          \
2014
        for (i = 0; i < ARRAY_SIZE(r->element); i++) {                  \
2015
            if (a->element[i] compare b->element[i]) {                  \
2016
                r->element[i] = b->element[i];                          \
2017
            } else {                                                    \
2018
                r->element[i] = a->element[i];                          \
2019
            }                                                           \
2020
        }                                                               \
2021
    }
2022
#define VMINMAX(suffix, element)                \
2023
  VMINMAX_DO(min##suffix, >, element)           \
2024
  VMINMAX_DO(max##suffix, <, element)
2025
VMINMAX(sb, s8)
2026
VMINMAX(sh, s16)
2027
VMINMAX(sw, s32)
2028
VMINMAX(ub, u8)
2029
VMINMAX(uh, u16)
2030
VMINMAX(uw, u32)
2031
#undef VMINMAX_DO
2032
#undef VMINMAX
2033

  
2010 2034
#undef VECTOR_FOR_INORDER_I
2011 2035
#undef HI_IDX
2012 2036
#undef LO_IDX
b/target-ppc/translate.c
6187 6187
GEN_VXFORM(vsububm, 0, 16);
6188 6188
GEN_VXFORM(vsubuhm, 0, 17);
6189 6189
GEN_VXFORM(vsubuwm, 0, 18);
6190
GEN_VXFORM(vmaxub, 1, 0);
6191
GEN_VXFORM(vmaxuh, 1, 1);
6192
GEN_VXFORM(vmaxuw, 1, 2);
6193
GEN_VXFORM(vmaxsb, 1, 4);
6194
GEN_VXFORM(vmaxsh, 1, 5);
6195
GEN_VXFORM(vmaxsw, 1, 6);
6196
GEN_VXFORM(vminub, 1, 8);
6197
GEN_VXFORM(vminuh, 1, 9);
6198
GEN_VXFORM(vminuw, 1, 10);
6199
GEN_VXFORM(vminsb, 1, 12);
6200
GEN_VXFORM(vminsh, 1, 13);
6201
GEN_VXFORM(vminsw, 1, 14);
6190 6202
GEN_VXFORM(vavgub, 1, 16);
6191 6203
GEN_VXFORM(vavguh, 1, 17);
6192 6204
GEN_VXFORM(vavguw, 1, 18);

Also available in: Unified diff