On 09/17/2013 01:23 AM, Claudio Fontana wrote: >> It would have been handy if ARM had officially assigned identifiers to the >> formats, like Power, S390, and ia64 do. Then one can build in the format ids >> into both the function and enumeration names and use the preprocessor for >> typechecking (c.f. the tcg_out_insn macro in tcg/s390/tcg-target.c). > > No need to do force explicit typechecking like that. > That kind of use of the preprocessor really hurts.
Why do you believe this? Have you browsed through the s390 backend? I think it's a remarkably clean solution -- one we ought to have used in the ia64 backend, which has even more format codes. >> Therefore I think adding LSR, ASR and ROR shifts is both a waste of time and >> bloats the backend. > > I agree, lets just keep only left shift and right shift. > Distinguishing the two costs one comparison per call, I think we can survive > it. I don't understand you at all. You agree that removing the unused shift from cmp is sensible. You agree that not adding unused asr/ror shifts is sensible. But you insist that the unused lsr shift should be retained? You complain about wasting Y space in my positioning of comments. But you insist on wasting X space, and allowing the possibility of mismatch, by requiring format names to be duplicated? r~