[flang] Update CommandTest for AIX (NFC) (#118403)
[llvm-project.git] / llvm / test / Bitcode / flags.ll
blob99988c9ba3d3d47c450b320cae760b9e7e1a6197
1 ; RUN: llvm-as < %s | llvm-dis > %t0
2 ; RUN: opt -S < %s > %t1
3 ; RUN: diff %t0 %t1
4 ; RUN: verify-uselistorder < %s
5 ; PR6140
7 ; Make sure the flags are serialized/deserialized properly for both
8 ; forward and backward references.
10 define void @foo() nounwind {
11 entry:
12   br label %first
14 second:                                           ; preds = %first
15   %u = add nuw i32 %a, 0                          ; <i32> [#uses=0]
16   %s = add nsw i32 %a, 0                          ; <i32> [#uses=0]
17   %us = add nuw nsw i32 %a, 0                     ; <i32> [#uses=0]
18   %z = add i32 %a, 0                              ; <i32> [#uses=0]
19   %hh = zext nneg i32 %a to i64
20   %ll = zext i32 %s to i64
21   %ff = uitofp nneg i32 %a to float
22   %bb = uitofp i32 %s to float
23   %jj = or disjoint i32 %a, 0
24   %oo = or i32 %a, 0
25   %tu = trunc nuw i32 %a to i16
26   %ts = trunc nsw i32 %a to i16
27   %tus = trunc nuw nsw i32 %a to i16
28   %t = trunc i32 %a to i16
29   %tuv = trunc nuw <2 x i32> %aa to <2 x i16>
30   %tsv = trunc nsw <2 x i32> %aa to <2 x i16>
31   %tusv = trunc nuw nsw <2 x i32> %aa to <2 x i16>
32   %tv = trunc <2 x i32> %aa to <2 x i16>
33   %ii = icmp samesign ult i32 %a, %z
34   %iv = icmp samesign ult <2 x i32> %aa, %aa
35   unreachable
37 first:                                                    ; preds = %entry
38   %aa = bitcast <2 x i32> <i32 0, i32 0> to <2 x i32>
39   %a = bitcast i32 0 to i32                               ; <i32> [#uses=8]
40   %uu = add nuw i32 %a, 0                                 ; <i32> [#uses=0]
41   %ss = add nsw i32 %a, 0                                 ; <i32> [#uses=0]
42   %uuss = add nuw nsw i32 %a, 0                           ; <i32> [#uses=0]
43   %zz = add i32 %a, 0                                     ; <i32> [#uses=0]
44   %kk = zext nneg i32 %a to i64
45   %rr = zext i32 %ss to i64
46   %ww = uitofp nneg i32 %a to float
47   %xx = uitofp i32 %ss to float
48   %mm = or disjoint i32 %a, 0
49   %nn = or i32 %a, 0
50   %tuu = trunc nuw i32 %a to i16
51   %tss = trunc nsw i32 %a to i16
52   %tuss = trunc nuw nsw i32 %a to i16
53   %tt = trunc i32 %a to i16
54   %ttuv = trunc nuw <2 x i32> %aa to <2 x i16>
55   %ttsv = trunc nsw <2 x i32> %aa to <2 x i16>
56   %ttusv = trunc nuw nsw <2 x i32> %aa to <2 x i16>
57   %ttv = trunc <2 x i32> %aa to <2 x i16>
58   %icm = icmp samesign ult i32 %a, %zz
59   %icv = icmp samesign ult <2 x i32> %aa, %aa
60   br label %second