[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / postlegalizercombiner-select.mir
blob635b6c2482c09994fd280d11894ae7168293baa7
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -run-pass=aarch64-postlegalizer-combiner -verify-machineinstrs -mtriple aarch64-unknown-unknown %s -o - | FileCheck %s
3 ---
4 # select (c, x, x) -> x
5 name:            test_combine_select_same_res
6 legalized:       true
7 body:             |
8   bb.1:
9     liveins: $x0, $x1
10     ; CHECK-LABEL: name: test_combine_select_same_res
11     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
12     ; CHECK: $x0 = COPY [[COPY]](s64)
13     %0:_(s64) = COPY $x0
14     %1:_(s1) = G_TRUNC %0
15     %2:_(s64) = G_SELECT %1, %0, %0
16     $x0 = COPY %2(s64)
17 ...
18 ---
19 # select (undef, x, y) -> y
20 name:            test_combine_select_undef_res0_res1
21 legalized:       true
22 body:             |
23   bb.1:
24     liveins: $x0, $x1
25     ; CHECK-LABEL: name: test_combine_select_undef_res0_res1
26     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
27     ; CHECK: $x0 = COPY [[COPY]](s64)
28     %0:_(s64) = COPY $x0
29     %1:_(s64) = COPY $x1
30     %2:_(s1) = G_IMPLICIT_DEF
31     %3:_(s64) = G_SELECT %2, %0, %1
32     $x0 = COPY %3(s64)
33 ...
34 ---
35 # select (false, x, y) -> y
36 name:            test_combine_select_false_res0_res1
37 legalized:       true
38 body:             |
39   bb.1:
40     liveins: $x0, $x1
41     ; CHECK-LABEL: name: test_combine_select_false_res0_res1
42     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1
43     ; CHECK: $x0 = COPY [[COPY]](s64)
44     %0:_(s64) = COPY $x0
45     %1:_(s64) = COPY $x1
46     %2:_(s1) = G_CONSTANT i1 false
47     %3:_(s64) = G_SELECT %2, %0, %1
48     $x0 = COPY %3(s64)
49 ...
50 ---
51 # select (true, x, y) -> x
52 name:            test_combine_select_true_res0_res1
53 legalized:       true
54 body:             |
55   bb.1:
56     liveins: $x0, $x1
57     ; CHECK-LABEL: name: test_combine_select_true_res0_res1
58     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
59     ; CHECK: $x0 = COPY [[COPY]](s64)
60     %0:_(s64) = COPY $x0
61     %1:_(s64) = COPY $x1
62     %2:_(s1) = G_CONSTANT i1 true
63     %3:_(s64) = G_SELECT %2, %0, %1
64     $x0 = COPY %3(s64)
65 ...