Make HReg a struct. In the past there were several occurences where
a HReg was assigned to an integer. This worked by accident because the
bits representing the register number (which was meant to be accessed)
happened to be in the right place.
Two new functions: hregIsInvalid and sameHReg.
The HReg struct just wraps the integer that was previously used to
represent a register without changing the encoding.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2682 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/host_s390_isel.c b/priv/host_s390_isel.c
index cfca458..1203459 100644
--- a/priv/host_s390_isel.c
+++ b/priv/host_s390_isel.c
@@ -196,7 +196,7 @@
 lookupIRTemp(ISelEnv *env, IRTemp tmp)
 {
    vassert(tmp < env->n_vregmap);
-   vassert(env->vregmap[tmp] != INVALID_HREG);
+   vassert(! hregIsInvalid(env->vregmap[tmp]));
 
    return env->vregmap[tmp];
 }
@@ -207,7 +207,7 @@
 lookupIRTemp128(HReg *hi, HReg *lo, ISelEnv *env, IRTemp tmp)
 {
    vassert(tmp < env->n_vregmap);
-   vassert(env->vregmapHI[tmp] != INVALID_HREG);
+   vassert(! hregIsInvalid(env->vregmapHI[tmp]));
 
    *lo = env->vregmap[tmp];
    *hi = env->vregmapHI[tmp];