+ /*
+ * Some special cases that require register pairs...
+ * Have to check for ==, <=, etc. because the result is type int
+ * but need a register pair temp if either side is wide.
+ * For +=, *= etc. where lhs is narrow and rhs is wide, the temp
+ * register must be wide.
+ */
+ if( (n&NAMASK) &&
+ (szty(p->in.type) == 2 ||
+ (logop(p->in.op) && (szty(p->in.left->in.type) == 2 ||
+ szty(p->in.right->in.type) == 2)) ||
+ (asgop(p->in.op) && szty(p->in.right->in.type) == 2 &&
+ szty(p->in.left->in.type) == 1))
+ ){
+#ifndef NOEVENODD