Index: crosstest/test_cast_to_u1.ll |
diff --git a/crosstest/test_cast_to_u1.ll b/crosstest/test_cast_to_u1.ll |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f8a9ec6f07bf4c4857c98fce84edd38801c1bce0 |
--- /dev/null |
+++ b/crosstest/test_cast_to_u1.ll |
@@ -0,0 +1,92 @@ |
+target triple = "i686-pc-linux-gnu" |
+ |
+define i32 @_Z4castIxbET0_T_(i64 %a) { |
+entry: |
+; %tobool = icmp ne i64 %a, 0 |
+ %tobool = trunc i64 %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIybET0_T_(i64 %a) { |
+entry: |
+; %tobool = icmp ne i64 %a, 0 |
+ %tobool = trunc i64 %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIibET0_T_(i32 %a) { |
+entry: |
+; %tobool = icmp ne i32 %a, 0 |
+ %tobool = trunc i32 %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIjbET0_T_(i32 %a) { |
+entry: |
+; %tobool = icmp ne i32 %a, 0 |
+ %tobool = trunc i32 %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIsbET0_T_(i32 %a) { |
+entry: |
+ %a.arg_trunc = trunc i32 %a to i16 |
+; %tobool = icmp ne i16 %a.arg_trunc, 0 |
+ %tobool = trunc i16 %a.arg_trunc to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castItbET0_T_(i32 %a) { |
+entry: |
+ %a.arg_trunc = trunc i32 %a to i16 |
+; %tobool = icmp ne i16 %a.arg_trunc, 0 |
+ %tobool = trunc i16 %a.arg_trunc to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIabET0_T_(i32 %a) { |
+entry: |
+ %a.arg_trunc = trunc i32 %a to i8 |
+; %tobool = icmp ne i8 %a.arg_trunc, 0 |
+ %tobool = trunc i8 %a.arg_trunc to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIhbET0_T_(i32 %a) { |
+entry: |
+ %a.arg_trunc = trunc i32 %a to i8 |
+; %tobool = icmp ne i8 %a.arg_trunc, 0 |
+ %tobool = trunc i8 %a.arg_trunc to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIbbET0_T_(i32 %a) { |
+entry: |
+ %a.arg_trunc = trunc i32 %a to i1 |
+ %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 |
+ ret i32 %a.arg_trunc.ret_ext |
+} |
+ |
+define i32 @_Z4castIdbET0_T_(double %a) { |
+entry: |
+; %tobool = fcmp une double %a, 0.000000e+00 |
+ %tobool = fptoui double %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |
+ |
+define i32 @_Z4castIfbET0_T_(float %a) { |
+entry: |
+; %tobool = fcmp une float %a, 0.000000e+00 |
+ %tobool = fptoui float %a to i1 |
+ %tobool.ret_ext = zext i1 %tobool to i32 |
+ ret i32 %tobool.ret_ext |
+} |