[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / select-sqrt.mir
blob13ce9f9966b423068f23b4900b71197a377fe5bb
1 # RUN: llc -verify-machineinstrs -mtriple aarch64--- \
2 # RUN: -run-pass=instruction-select -mattr=+fullfp16 -global-isel %s -o - \
3 # RUN: | FileCheck %s
4 ...
5 ---
6 name:            sqrt_float
7 legalized:       true
8 regBankSelected: true
9 tracksRegLiveness: true
10 registers:
11   - { id: 0, class: fpr }
12   - { id: 1, class: fpr }
13 body:             |
14   bb.0:
15     ; CHECK-LABEL: name:            sqrt_float
16     ; CHECK: %{{[0-9]+}}:fpr32 = nofpexcept FSQRTSr %{{[0-9]+}}
17     liveins: $s0
18     %0:fpr(s32) = COPY $s0
19     %1:fpr(s32) = G_FSQRT %0
20     $s0 = COPY %1(s32)
22 ...
23 ---
24 name:            sqrt_double
25 legalized:       true
26 regBankSelected: true
27 tracksRegLiveness: true
28 registers:
29   - { id: 0, class: fpr }
30   - { id: 1, class: fpr }
31 body:             |
32   bb.0:
33     ; CHECK-LABEL: name:            sqrt_double
34     ; CHECK: %{{[0-9]+}}:fpr64 = nofpexcept FSQRTDr %{{[0-9]+}}
35     liveins: $d0
36     %0:fpr(s64) = COPY $d0
37     %1:fpr(s64) = G_FSQRT %0
38     $d0 = COPY %1(s64)
40 ...
41 ---
42 name:            sqrt_v2f32
43 legalized:       true
44 regBankSelected: true
45 tracksRegLiveness: true
46 registers:
47   - { id: 0, class: fpr }
48   - { id: 1, class: fpr }
49 body:             |
50   bb.0:
51     ; CHECK-LABEL: name:            sqrt_v2f32
52     ; CHECK: %{{[0-9]+}}:fpr64 = nofpexcept FSQRTv2f32 %{{[0-9]+}}
53     liveins: $d0
54     %0:fpr(<2 x s32>) = COPY $d0
55     %1:fpr(<2 x s32>) = G_FSQRT %0
56     $d0 = COPY %1(<2 x s32>)
58 ...
59 ---
60 name:            sqrt_v4f32
61 legalized:       true
62 regBankSelected: true
63 tracksRegLiveness: true
64 registers:
65   - { id: 0, class: fpr }
66   - { id: 1, class: fpr }
67 body:             |
68   bb.0:
69     ; CHECK-LABEL: name:            sqrt_v4f32
70     ; CHECK: %{{[0-9]+}}:fpr128 = nofpexcept FSQRTv4f32 %{{[0-9]+}}
71     liveins: $q0
72     %0:fpr(<4 x s32>) = COPY $q0
73     %1:fpr(<4 x s32>) = G_FSQRT %0
74     $q0 = COPY %1(<4 x s32>)
76 ...
77 ---
78 name:            sqrt_v2f64
79 legalized:       true
80 regBankSelected: true
81 tracksRegLiveness: true
82 registers:
83   - { id: 0, class: fpr }
84   - { id: 1, class: fpr }
85 body:             |
86   bb.0:
87     ; CHECK-LABEL: name:            sqrt_v2f64
88     ; CHECK: %{{[0-9]+}}:fpr128 = nofpexcept FSQRTv2f64 %{{[0-9]+}}
89     liveins: $q0
90     %0:fpr(<2 x s64>) = COPY $q0
91     %1:fpr(<2 x s64>) = G_FSQRT %0
92     $q0 = COPY %1(<2 x s64>)
94 ...
95 ---
96 name:            sqrt_v4f16
97 legalized:       true
98 regBankSelected: true
99 tracksRegLiveness: true
100 registers:
101   - { id: 0, class: fpr }
102   - { id: 1, class: fpr }
103 body:             |
104   bb.0:
105     ; CHECK-LABEL: name:            sqrt_v4f16
106     ; CHECK: %{{[0-9]+}}:fpr64 = nofpexcept FSQRTv4f16 %{{[0-9]+}}
107     liveins: $d0
108     %0:fpr(<4 x s16>) = COPY $d0
109     %1:fpr(<4 x s16>) = G_FSQRT %0
110     $d0 = COPY %1(<4 x s16>)
114 name:            sqrt_v8f16
115 legalized:       true
116 regBankSelected: true
117 tracksRegLiveness: true
118 registers:
119   - { id: 0, class: fpr }
120   - { id: 1, class: fpr }
121 body:             |
122   bb.0:
123     ; CHECK-LABEL: name:            sqrt_v8f16
124     ; CHECK: %{{[0-9]+}}:fpr128 = nofpexcept FSQRTv8f16 %{{[0-9]+}}
125     liveins: $q0
126     %0:fpr(<8 x s16>) = COPY $q0
127     %1:fpr(<8 x s16>) = G_FSQRT %0
128     $q0 = COPY %1(<8 x s16>)