; RUN: llvm-as < %s | lli -force-interpreter | |
; Extending a value due to zeroext/signext will leave it the wrong size | |
; causing problems later, such as a crash if you try to extend it again. | |
define void @zero(i8 zeroext %foo) { | |
zext i8 %foo to i32 | |
ret void | |
} | |
define void @sign(i8 signext %foo) { | |
sext i8 %foo to i32 | |
ret void | |
} | |
define i32 @main() { | |
call void @zero(i8 0) | |
call void @sign(i8 0) | |
ret i32 0 | |
} |