252 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=aarch64-postlegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: add6alignment: 47legalized: true8liveins:9 - { reg: '$w0' }10body: |11 bb.1.entry:12 liveins: $x013 14 ; CHECK-LABEL: name: add15 ; CHECK: liveins: $x016 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 4218 ; CHECK-NEXT: $x0 = COPY %res(s64)19 ; CHECK-NEXT: RET_ReallyLR implicit $x020 %a:_(s64) = G_CONSTANT i64 4021 %b:_(s64) = G_CONSTANT i64 222 %res:_(s64) = G_ADD %a, %b23 $x0 = COPY %res(s64)24 RET_ReallyLR implicit $x025 26...27---28name: sub29alignment: 430legalized: true31liveins:32 - { reg: '$w0' }33body: |34 bb.1.entry:35 liveins: $x036 37 ; CHECK-LABEL: name: sub38 ; CHECK: liveins: $x039 ; CHECK-NEXT: {{ $}}40 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 3841 ; CHECK-NEXT: $x0 = COPY %res(s64)42 ; CHECK-NEXT: RET_ReallyLR implicit $x043 %a:_(s64) = G_CONSTANT i64 4044 %b:_(s64) = G_CONSTANT i64 245 %res:_(s64) = G_SUB %a, %b46 $x0 = COPY %res(s64)47 RET_ReallyLR implicit $x048 49...50---51name: mul52alignment: 453legalized: true54liveins:55 - { reg: '$w0' }56body: |57 bb.1.entry:58 liveins: $x059 60 ; CHECK-LABEL: name: mul61 ; CHECK: liveins: $x062 ; CHECK-NEXT: {{ $}}63 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 8064 ; CHECK-NEXT: $x0 = COPY %res(s64)65 ; CHECK-NEXT: RET_ReallyLR implicit $x066 %a:_(s64) = G_CONSTANT i64 4067 %b:_(s64) = G_CONSTANT i64 268 %res:_(s64) = G_MUL %a, %b69 $x0 = COPY %res(s64)70 RET_ReallyLR implicit $x071 72...73---74name: and75alignment: 476legalized: true77liveins:78 - { reg: '$w0' }79body: |80 bb.1.entry:81 liveins: $x082 83 ; CHECK-LABEL: name: and84 ; CHECK: liveins: $x085 ; CHECK-NEXT: {{ $}}86 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 087 ; CHECK-NEXT: $x0 = COPY %res(s64)88 ; CHECK-NEXT: RET_ReallyLR implicit $x089 %a:_(s64) = G_CONSTANT i64 4090 %b:_(s64) = G_CONSTANT i64 291 %res:_(s64) = G_AND %a, %b92 $x0 = COPY %res(s64)93 RET_ReallyLR implicit $x094 95...96---97name: or98alignment: 499legalized: true100liveins:101 - { reg: '$w0' }102body: |103 bb.1.entry:104 liveins: $x0105 106 ; CHECK-LABEL: name: or107 ; CHECK: liveins: $x0108 ; CHECK-NEXT: {{ $}}109 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 62110 ; CHECK-NEXT: $x0 = COPY %res(s64)111 ; CHECK-NEXT: RET_ReallyLR implicit $x0112 %a:_(s64) = G_CONSTANT i64 42113 %b:_(s64) = G_CONSTANT i64 22114 %res:_(s64) = G_OR %a, %b115 $x0 = COPY %res(s64)116 RET_ReallyLR implicit $x0117 118...119---120name: xor121alignment: 4122legalized: true123liveins:124 - { reg: '$w0' }125body: |126 bb.1.entry:127 liveins: $x0128 129 ; CHECK-LABEL: name: xor130 ; CHECK: liveins: $x0131 ; CHECK-NEXT: {{ $}}132 ; CHECK-NEXT: %res:_(s64) = G_CONSTANT i64 12133 ; CHECK-NEXT: $x0 = COPY %res(s64)134 ; CHECK-NEXT: RET_ReallyLR implicit $x0135 %a:_(s64) = G_CONSTANT i64 8136 %b:_(s64) = G_CONSTANT i64 4137 %res:_(s64) = G_XOR %a, %b138 $x0 = COPY %res(s64)139 RET_ReallyLR implicit $x0140 141...142---143name: fadd144legalized: true145liveins:146 - { reg: '$d0' }147body: |148 bb.1.entry:149 liveins: $d0150 151 ; CHECK-LABEL: name: fadd152 ; CHECK: liveins: $d0153 ; CHECK-NEXT: {{ $}}154 ; CHECK-NEXT: %res:_(s64) = G_FCONSTANT double 4.200000e+01155 ; CHECK-NEXT: $d0 = COPY %res(s64)156 ; CHECK-NEXT: RET_ReallyLR implicit $d0157 %a:_(s64) = G_FCONSTANT double 40.0158 %b:_(s64) = G_FCONSTANT double 2.0159 %res:_(s64) = G_FADD %a, %b160 $d0 = COPY %res(s64)161 RET_ReallyLR implicit $d0162 163...164---165name: fsub166legalized: true167liveins:168 - { reg: '$d0' }169body: |170 bb.1.entry:171 liveins: $d0172 173 ; CHECK-LABEL: name: fsub174 ; CHECK: liveins: $d0175 ; CHECK-NEXT: {{ $}}176 ; CHECK-NEXT: %res:_(s64) = G_FCONSTANT double 3.800000e+01177 ; CHECK-NEXT: $d0 = COPY %res(s64)178 ; CHECK-NEXT: RET_ReallyLR implicit $d0179 %a:_(s64) = G_FCONSTANT double 40.0180 %b:_(s64) = G_FCONSTANT double 2.0181 %res:_(s64) = G_FSUB %a, %b182 $d0 = COPY %res(s64)183 RET_ReallyLR implicit $d0184 185...186---187name: fmul188legalized: true189liveins:190 - { reg: '$d0' }191body: |192 bb.1.entry:193 liveins: $d0194 195 ; CHECK-LABEL: name: fmul196 ; CHECK: liveins: $d0197 ; CHECK-NEXT: {{ $}}198 ; CHECK-NEXT: %res:_(s64) = G_FCONSTANT double 8.000000e+01199 ; CHECK-NEXT: $d0 = COPY %res(s64)200 ; CHECK-NEXT: RET_ReallyLR implicit $d0201 %a:_(s64) = G_FCONSTANT double 40.0202 %b:_(s64) = G_FCONSTANT double 2.0203 %res:_(s64) = G_FMUL %a, %b204 $d0 = COPY %res(s64)205 RET_ReallyLR implicit $d0206 207...208---209name: fdiv210legalized: true211liveins:212 - { reg: '$d0' }213body: |214 bb.1.entry:215 liveins: $d0216 217 ; CHECK-LABEL: name: fdiv218 ; CHECK: liveins: $d0219 ; CHECK-NEXT: {{ $}}220 ; CHECK-NEXT: %res:_(s64) = G_FCONSTANT double 2.000000e+01221 ; CHECK-NEXT: $d0 = COPY %res(s64)222 ; CHECK-NEXT: RET_ReallyLR implicit $d0223 %a:_(s64) = G_FCONSTANT double 40.0224 %b:_(s64) = G_FCONSTANT double 2.0225 %res:_(s64) = G_FDIV %a, %b226 $d0 = COPY %res(s64)227 RET_ReallyLR implicit $d0228 229...230---231name: fadd32232legalized: true233liveins:234 - { reg: '$s0' }235body: |236 bb.1.entry:237 liveins: $s0238 239 ; CHECK-LABEL: name: fadd32240 ; CHECK: liveins: $s0241 ; CHECK-NEXT: {{ $}}242 ; CHECK-NEXT: %res:_(s32) = G_FCONSTANT float 4.200000e+01243 ; CHECK-NEXT: $s0 = COPY %res(s32)244 ; CHECK-NEXT: RET_ReallyLR implicit $s0245 %a:_(s32) = G_FCONSTANT float 40.0246 %b:_(s32) = G_FCONSTANT float 2.0247 %res:_(s32) = G_FADD %a, %b248 $s0 = COPY %res(s32)249 RET_ReallyLR implicit $s0250 251...252