+ (cond ((and (sc-is y character-reg) (sc-is x any-reg descriptor-reg))
+ (let ((y-dword (make-dword-tn y)))
+ (unless (location= x y)
+ (inst mov y-dword (make-dword-tn x)))
+ (inst shr y-dword n-widetag-bits)))
+ (t
+ (move y x)
+ (inst shr y n-widetag-bits)))))