ret i64 %r
}
+; @test11b
+; CHECK: ret i64 undef
+define i64 @test11b(i64 %a) {
+ %r = shl i64 %a, undef
+ ret i64 %r
+}
+
; @test12
; CHECK: ret i64 undef
define i64 @test12() {
ret i64 %r
}
+; @test12b
+; CHECK: ret i64 undef
+define i64 @test12b(i64 %a) {
+ %r = ashr i64 %a, undef
+ ret i64 %r
+}
+
; @test13
; CHECK: ret i64 undef
define i64 @test13() {
ret i64 %r
}
+; @test13b
+; CHECK: ret i64 undef
+define i64 @test13b(i64 %a) {
+ %r = lshr i64 %a, undef
+ ret i64 %r
+}
+
; @test14
; CHECK: ret i1 undef
define i1 @test14() {
%r = call i64 (i64)* undef(i64 %a)
ret i64 %r
}
+
+; CHECK-LABEL: @test19
+; CHECK: ret <4 x i8> undef
+define <4 x i8> @test19(<4 x i8> %a) {
+ %b = shl <4 x i8> %a, <i8 8, i8 9, i8 undef, i8 -1>
+ ret <4 x i8> %b
+}