-(define-vop (make-other-immediate-type)
- (:args (val :scs (any-reg descriptor-reg))
- (type :scs (any-reg descriptor-reg immediate)
- :target temp))
- (:results (res :scs (any-reg descriptor-reg)))
- (:temporary (:scs (non-descriptor-reg)) temp)
- (:generator 2
- (sc-case type
- ((immediate)
- (inst sll val type-bits temp)
- (inst bis temp (tn-value type) res))
- (t
- (inst sra type 2 temp)
- (inst sll val (- type-bits 2) res)
- (inst bis res temp res)))))
-