I was reading the 1.041's back-end code.  Here's something that looked
wrong to me: in cgelem.c, in function elcmp(), at line 3318:

                    case 4:
                        if (sz > 2)
                            e = el_una(OPu32_64,TYshort,e);
                        else
                            e = el_una(OP32_16,TYshort,e);
                        break;

Specifically the line

e = el_una(OPu32_64,TYshort,e);

looks wrong, the unary operator type should be 64 bit, not short.  Am I
missing something?

Reply via email to