1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s 3 4... 5--- 6name: fcmeq 7alignment: 4 8legalized: true 9regBankSelected: true 10body: | 11 bb.0: 12 ; CHECK-LABEL: name: fcmeq 13 ; CHECK: %lhs:fpr128 = COPY $q0 14 ; CHECK: %rhs:fpr128 = COPY $q1 15 ; CHECK: %fcmp:fpr128 = nofpexcept FCMEQv2f64 %lhs, %rhs 16 ; CHECK: $q0 = COPY %fcmp 17 ; CHECK: RET_ReallyLR implicit $q0 18 %lhs:fpr(<2 x s64>) = COPY $q0 19 %rhs:fpr(<2 x s64>) = COPY $q1 20 %fcmp:fpr(<2 x s64>) = G_FCMEQ %lhs, %rhs(<2 x s64>) 21 $q0 = COPY %fcmp(<2 x s64>) 22 RET_ReallyLR implicit $q0 23 24... 25--- 26name: fcmge 27alignment: 4 28legalized: true 29regBankSelected: true 30body: | 31 bb.0: 32 ; CHECK-LABEL: name: fcmge 33 ; CHECK: %lhs:fpr128 = COPY $q0 34 ; CHECK: %rhs:fpr128 = COPY $q1 35 ; CHECK: %fcmp:fpr128 = nofpexcept FCMGEv2f64 %lhs, %rhs 36 ; CHECK: $q0 = COPY %fcmp 37 ; CHECK: RET_ReallyLR implicit $q0 38 %lhs:fpr(<2 x s64>) = COPY $q0 39 %rhs:fpr(<2 x s64>) = COPY $q1 40 %fcmp:fpr(<2 x s64>) = G_FCMGE %lhs, %rhs(<2 x s64>) 41 $q0 = COPY %fcmp(<2 x s64>) 42 RET_ReallyLR implicit $q0 43 44... 45--- 46name: fcmgt 47alignment: 4 48legalized: true 49regBankSelected: true 50body: | 51 bb.0: 52 ; CHECK-LABEL: name: fcmgt 53 ; CHECK: %lhs:fpr128 = COPY $q0 54 ; CHECK: %rhs:fpr128 = COPY $q1 55 ; CHECK: %fcmp:fpr128 = nofpexcept FCMGTv2f64 %lhs, %rhs 56 ; CHECK: $q0 = COPY %fcmp 57 ; CHECK: RET_ReallyLR implicit $q0 58 %lhs:fpr(<2 x s64>) = COPY $q0 59 %rhs:fpr(<2 x s64>) = COPY $q1 60 %fcmp:fpr(<2 x s64>) = G_FCMGT %lhs, %rhs(<2 x s64>) 61 $q0 = COPY %fcmp(<2 x s64>) 62 RET_ReallyLR implicit $q0 63 64... 65--- 66name: fcmeqz 67alignment: 4 68legalized: true 69regBankSelected: true 70body: | 71 bb.0: 72 ; CHECK-LABEL: name: fcmeqz 73 ; CHECK: %lhs:fpr128 = COPY $q0 74 ; CHECK: %fcmp:fpr128 = nofpexcept FCMEQv2i64rz %lhs 75 ; CHECK: $q0 = COPY %fcmp 76 ; CHECK: RET_ReallyLR implicit $q0 77 %lhs:fpr(<2 x s64>) = COPY $q0 78 %zero:gpr(s64) = G_CONSTANT i64 0 79 %zero_vec:fpr(<2 x s64>) = G_BUILD_VECTOR %zero(s64), %zero(s64) 80 %fcmp:fpr(<2 x s64>) = G_FCMEQZ %lhs 81 $q0 = COPY %fcmp(<2 x s64>) 82 RET_ReallyLR implicit $q0 83 84... 85--- 86name: fcmgez 87alignment: 4 88legalized: true 89regBankSelected: true 90body: | 91 bb.0: 92 ; CHECK-LABEL: name: fcmgez 93 ; CHECK: %lhs:fpr128 = COPY $q0 94 ; CHECK: %fcmp:fpr128 = nofpexcept FCMGEv2i64rz %lhs 95 ; CHECK: $q0 = COPY %fcmp 96 ; CHECK: RET_ReallyLR implicit $q0 97 %lhs:fpr(<2 x s64>) = COPY $q0 98 %zero:gpr(s64) = G_CONSTANT i64 0 99 %zero_vec:fpr(<2 x s64>) = G_BUILD_VECTOR %zero(s64), %zero(s64) 100 %fcmp:fpr(<2 x s64>) = G_FCMGEZ %lhs 101 $q0 = COPY %fcmp(<2 x s64>) 102 RET_ReallyLR implicit $q0 103 104... 105--- 106name: fcmgtz 107alignment: 4 108legalized: true 109regBankSelected: true 110body: | 111 bb.0: 112 ; CHECK-LABEL: name: fcmgtz 113 ; CHECK: %lhs:fpr128 = COPY $q0 114 ; CHECK: %fcmp:fpr128 = nofpexcept FCMGTv2i64rz %lhs 115 ; CHECK: $q0 = COPY %fcmp 116 ; CHECK: RET_ReallyLR implicit $q0 117 %lhs:fpr(<2 x s64>) = COPY $q0 118 %zero:gpr(s64) = G_CONSTANT i64 0 119 %zero_vec:fpr(<2 x s64>) = G_BUILD_VECTOR %zero(s64), %zero(s64) 120 %fcmp:fpr(<2 x s64>) = G_FCMGTZ %lhs 121 $q0 = COPY %fcmp(<2 x s64>) 122 RET_ReallyLR implicit $q0 123 124... 125--- 126name: fcmlez 127alignment: 4 128legalized: true 129regBankSelected: true 130body: | 131 bb.0: 132 ; CHECK-LABEL: name: fcmlez 133 ; CHECK: %lhs:fpr128 = COPY $q0 134 ; CHECK: %fcmp:fpr128 = nofpexcept FCMLEv2i64rz %lhs 135 ; CHECK: $q0 = COPY %fcmp 136 ; CHECK: RET_ReallyLR implicit $q0 137 %lhs:fpr(<2 x s64>) = COPY $q0 138 %zero:gpr(s64) = G_CONSTANT i64 0 139 %zero_vec:fpr(<2 x s64>) = G_BUILD_VECTOR %zero(s64), %zero(s64) 140 %fcmp:fpr(<2 x s64>) = G_FCMLEZ %lhs 141 $q0 = COPY %fcmp(<2 x s64>) 142 RET_ReallyLR implicit $q0 143 144... 145--- 146name: fcmltz 147alignment: 4 148legalized: true 149regBankSelected: true 150body: | 151 bb.0: 152 ; CHECK-LABEL: name: fcmltz 153 ; CHECK: %lhs:fpr128 = COPY $q0 154 ; CHECK: %fcmp:fpr128 = nofpexcept FCMLTv2i64rz %lhs 155 ; CHECK: $q0 = COPY %fcmp 156 ; CHECK: RET_ReallyLR implicit $q0 157 %lhs:fpr(<2 x s64>) = COPY $q0 158 %zero:gpr(s64) = G_CONSTANT i64 0 159 %zero_vec:fpr(<2 x s64>) = G_BUILD_VECTOR %zero(s64), %zero(s64) 160 %fcmp:fpr(<2 x s64>) = G_FCMLTZ %lhs 161 $q0 = COPY %fcmp(<2 x s64>) 162 RET_ReallyLR implicit $q0 163