| Index: src/IceTargetLoweringX8632Traits.h
 | 
| diff --git a/src/IceTargetLoweringX8632Traits.h b/src/IceTargetLoweringX8632Traits.h
 | 
| index 00ea2d91cce1de6df2b2c935b27d5e3c9af07b77..ab22bfdbe16c36b364a88897bbe26df600625b4f 100644
 | 
| --- a/src/IceTargetLoweringX8632Traits.h
 | 
| +++ b/src/IceTargetLoweringX8632Traits.h
 | 
| @@ -364,8 +364,19 @@ struct TargetX8632Traits {
 | 
|      assert(RegNum != Variable::NoRegister);
 | 
|      // TODO(stichnot): Rewrite this as a table lookup from a table computed in a
 | 
|      // TargetLowering static initializer.
 | 
| +    // [abcd]h registers are not convertible to their ?l, ?x, and e?x versions.
 | 
| +    switch (RegNum) {
 | 
| +    default:
 | 
| +      break;
 | 
| +    case RegisterSet::Reg_ah:
 | 
| +    case RegisterSet::Reg_bh:
 | 
| +    case RegisterSet::Reg_ch:
 | 
| +    case RegisterSet::Reg_dh:
 | 
| +      assert(isByteSizedType(Ty));
 | 
| +      return RegNum;
 | 
| +    }
 | 
|      RegNum = getBaseReg(RegNum);
 | 
| -    if (Ty == IceType_i8 || Ty == IceType_i1) {
 | 
| +    if (isByteSizedType(Ty)) {
 | 
|        switch (RegNum) {
 | 
|        default:
 | 
|          assert(0);
 | 
| 
 |