212 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=instruction-select %s -o - \3# RUN: | FileCheck %s4---5name: const_i64_INT_MIN6legalized: true7regBankSelected: true8tracksRegLiveness: true9body: |10 bb.0:11 liveins: $x1012 13 ; CHECK-LABEL: name: const_i64_INT_MIN14 ; CHECK: liveins: $x1015 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -117 ; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[ADDI]], 6318 ; CHECK-NEXT: $x10 = COPY [[SLLI]]19 ; CHECK-NEXT: PseudoRET implicit $x1020 %0:gprb(s64) = G_CONSTANT i64 -922337203685477580821 $x10 = COPY %0(s64)22 PseudoRET implicit $x1023 24...25---26name: const_i64_neg_922337203685477500027legalized: true28regBankSelected: true29tracksRegLiveness: true30body: |31 bb.0:32 liveins: $x1033 34 ; CHECK-LABEL: name: const_i64_neg_922337203685477500035 ; CHECK: liveins: $x1036 ; CHECK-NEXT: {{ $}}37 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -138 ; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[ADDI]], 6339 ; CHECK-NEXT: [[ADDI1:%[0-9]+]]:gpr = ADDI [[SLLI]], 80840 ; CHECK-NEXT: $x10 = COPY [[ADDI1]]41 ; CHECK-NEXT: PseudoRET implicit $x1042 %0:gprb(s64) = G_CONSTANT i64 -922337203685477500043 $x10 = COPY %0(s64)44 PseudoRET implicit $x1045 46...47---48name: const_i64_INT_MAX49legalized: true50regBankSelected: true51tracksRegLiveness: true52body: |53 bb.0:54 liveins: $x1055 56 ; CHECK-LABEL: name: const_i64_INT_MAX57 ; CHECK: liveins: $x1058 ; CHECK-NEXT: {{ $}}59 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -160 ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[ADDI]], 161 ; CHECK-NEXT: $x10 = COPY [[SRLI]]62 ; CHECK-NEXT: PseudoRET implicit $x1063 %0:gprb(s64) = G_CONSTANT i64 922337203685477580764 $x10 = COPY %0(s64)65 PseudoRET implicit $x1066 67...68---69name: const_i64_922337203685477500070legalized: true71regBankSelected: true72tracksRegLiveness: true73body: |74 bb.0:75 liveins: $x1076 77 ; CHECK-LABEL: name: const_i64_922337203685477500078 ; CHECK: liveins: $x1079 ; CHECK-NEXT: {{ $}}80 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -161581 ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[ADDI]], 182 ; CHECK-NEXT: $x10 = COPY [[SRLI]]83 ; CHECK-NEXT: PseudoRET implicit $x1084 %0:gprb(s64) = G_CONSTANT i64 922337203685477500085 $x10 = COPY %0(s64)86 PseudoRET implicit $x1087 88...89---90name: const_i64_25691legalized: true92regBankSelected: true93tracksRegLiveness: true94body: |95 bb.0:96 liveins: $x1097 98 ; CHECK-LABEL: name: const_i64_25699 ; CHECK: liveins: $x10100 ; CHECK-NEXT: {{ $}}101 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 256102 ; CHECK-NEXT: $x10 = COPY [[ADDI]]103 ; CHECK-NEXT: PseudoRET implicit $x10104 %0:gprb(s64) = G_CONSTANT i64 256105 $x10 = COPY %0(s64)106 PseudoRET implicit $x10107 108...109---110name: const_i64_0111legalized: true112regBankSelected: true113tracksRegLiveness: true114body: |115 bb.0:116 liveins: $x10117 118 ; CHECK-LABEL: name: const_i64_0119 ; CHECK: liveins: $x10120 ; CHECK-NEXT: {{ $}}121 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x0122 ; CHECK-NEXT: $x10 = COPY [[COPY]]123 ; CHECK-NEXT: PseudoRET implicit $x10124 %0:gprb(s64) = G_CONSTANT i64 0125 $x10 = COPY %0(s64)126 PseudoRET implicit $x10127 128...129---130name: const_i32_INT_MIN131legalized: true132regBankSelected: true133tracksRegLiveness: true134body: |135 bb.0:136 liveins: $x10137 138 ; CHECK-LABEL: name: const_i32_INT_MIN139 ; CHECK: liveins: $x10140 ; CHECK-NEXT: {{ $}}141 ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288142 ; CHECK-NEXT: $x10 = COPY [[LUI]]143 ; CHECK-NEXT: PseudoRET implicit $x10144 %0:gprb(s64) = G_CONSTANT i64 -2147483648145 $x10 = COPY %0(s64)146 PseudoRET implicit $x10147 148...149---150name: const_i32_neg_2147483000151legalized: true152regBankSelected: true153tracksRegLiveness: true154body: |155 bb.0:156 liveins: $x10157 158 ; CHECK-LABEL: name: const_i32_neg_2147483000159 ; CHECK: liveins: $x10160 ; CHECK-NEXT: {{ $}}161 ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288162 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[LUI]], 648163 ; CHECK-NEXT: $x10 = COPY [[ADDI]]164 ; CHECK-NEXT: PseudoRET implicit $x10165 %0:gprb(s64) = G_CONSTANT i64 -2147483000166 $x10 = COPY %0(s64)167 PseudoRET implicit $x10168 169...170---171name: const_i32_INT_MAX172legalized: true173regBankSelected: true174tracksRegLiveness: true175body: |176 bb.0:177 liveins: $x10178 179 ; CHECK-LABEL: name: const_i32_INT_MAX180 ; CHECK: liveins: $x10181 ; CHECK-NEXT: {{ $}}182 ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288183 ; CHECK-NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[LUI]], -1184 ; CHECK-NEXT: $x10 = COPY [[ADDIW]]185 ; CHECK-NEXT: PseudoRET implicit $x10186 %0:gprb(s64) = G_CONSTANT i64 2147483647187 $x10 = COPY %0(s64)188 PseudoRET implicit $x10189 190...191---192name: const_i32_2147483000193legalized: true194regBankSelected: true195tracksRegLiveness: true196body: |197 bb.0:198 liveins: $x10199 200 ; CHECK-LABEL: name: const_i32_2147483000201 ; CHECK: liveins: $x10202 ; CHECK-NEXT: {{ $}}203 ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288204 ; CHECK-NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[LUI]], -648205 ; CHECK-NEXT: $x10 = COPY [[ADDIW]]206 ; CHECK-NEXT: PseudoRET implicit $x10207 %0:gprb(s64) = G_CONSTANT i64 2147483000208 $x10 = COPY %0(s64)209 PseudoRET implicit $x10210 211...212