brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 1562cd5 Raw
157 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-unknown-unknown -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4---5name:            contract_s64_gpr6legalized:       true7regBankSelected: true8body:             |9  bb.0:10    liveins: $x0, $x111    ; CHECK-LABEL: name: contract_s64_gpr12    ; CHECK: liveins: $x0, $x113    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x015    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x116    ; CHECK-NEXT: STRXui [[COPY1]], [[COPY]], 0 :: (store (s64))17    %0:gpr(p0) = COPY $x018    %1:gpr(s64) = COPY $x119    %2:fpr(s64) = COPY %120    G_STORE  %2:fpr(s64), %0 :: (store (s64))21...22---23name:            contract_s32_gpr24legalized:       true25regBankSelected: true26body:             |27  bb.0:28    liveins: $x0, $w129    ; CHECK-LABEL: name: contract_s32_gpr30    ; CHECK: liveins: $x0, $w131    ; CHECK-NEXT: {{  $}}32    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x033    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w134    ; CHECK-NEXT: STRWui [[COPY1]], [[COPY]], 0 :: (store (s32))35    %0:gpr(p0) = COPY $x036    %1:gpr(s32) = COPY $w137    %2:fpr(s32) = COPY %138    G_STORE  %2:fpr(s32), %0 :: (store (s32))39...40---41name:            contract_s64_fpr42legalized:       true43regBankSelected: true44body:             |45  bb.0:46    liveins: $x0, $d147    ; CHECK-LABEL: name: contract_s64_fpr48    ; CHECK: liveins: $x0, $d149    ; CHECK-NEXT: {{  $}}50    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x051    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d152    ; CHECK-NEXT: STRDui [[COPY1]], [[COPY]], 0 :: (store (s64))53    %0:gpr(p0) = COPY $x054    %1:fpr(s64) = COPY $d155    %2:gpr(s64) = COPY %156    G_STORE %2:gpr(s64), %0 :: (store (s64))57...58---59name:            contract_s32_fpr60legalized:       true61regBankSelected: true62body:             |63  bb.0:64    liveins: $x0, $s165    ; CHECK-LABEL: name: contract_s32_fpr66    ; CHECK: liveins: $x0, $s167    ; CHECK-NEXT: {{  $}}68    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x069    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $s170    ; CHECK-NEXT: STRSui [[COPY1]], [[COPY]], 0 :: (store (s32))71    %0:gpr(p0) = COPY $x072    %1:fpr(s32) = COPY $s173    %2:gpr(s32) = COPY %174    G_STORE %2:gpr(s32), %0 :: (store (s32))75...76---77name:            contract_s16_fpr78legalized:       true79regBankSelected: true80body:             |81  bb.0:82    liveins: $x0, $h183    ; CHECK-LABEL: name: contract_s16_fpr84    ; CHECK: liveins: $x0, $h185    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x087    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $h188    ; CHECK-NEXT: STRHui [[COPY1]], [[COPY]], 0 :: (store (s16))89    %0:gpr(p0) = COPY $x090    %1:fpr(s16) = COPY $h191    %2:gpr(s16) = COPY %192    G_STORE  %2:gpr(s16), %0 :: (store (s16))93...94---95name:            contract_g_unmerge_values_first96legalized:       true97regBankSelected: true98body:             |99  bb.0:100    liveins: $x0, $x1101    ; CHECK-LABEL: name: contract_g_unmerge_values_first102    ; CHECK: liveins: $x0, $x1103    ; CHECK-NEXT: {{  $}}104    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0105    ; CHECK-NEXT: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (dereferenceable load (<2 x s64>))106    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY [[LDRQui]].dsub107    ; CHECK-NEXT: [[DUPi64_:%[0-9]+]]:fpr64 = DUPi64 [[LDRQui]], 1108    ; CHECK-NEXT: STRDui [[COPY1]], [[COPY]], 0 :: (store (s64))109    %0:gpr(p0) = COPY $x0110    %1:fpr(<2 x s64>) = G_LOAD %0:gpr(p0) :: (dereferenceable load (<2 x s64>))111    %2:fpr(s64), %3:fpr(s64) = G_UNMERGE_VALUES %1:fpr(<2 x s64>)112    %4:gpr(s64) = COPY %2113    %5:gpr(s64) = COPY %3114    G_STORE  %4:gpr(s64), %0 :: (store (s64))115...116---117name:            contract_g_unmerge_values_second118legalized:       true119regBankSelected: true120body:             |121  bb.0:122    liveins: $x0, $x1123    ; CHECK-LABEL: name: contract_g_unmerge_values_second124    ; CHECK: liveins: $x0, $x1125    ; CHECK-NEXT: {{  $}}126    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0127    ; CHECK-NEXT: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (dereferenceable load (<2 x s64>))128    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY [[LDRQui]].dsub129    ; CHECK-NEXT: [[DUPi64_:%[0-9]+]]:fpr64 = DUPi64 [[LDRQui]], 1130    ; CHECK-NEXT: STRDui [[DUPi64_]], [[COPY]], 0 :: (store (s64))131    %0:gpr(p0) = COPY $x0132    %1:fpr(<2 x s64>) = G_LOAD %0:gpr(p0) :: (dereferenceable load (<2 x s64>))133    %2:fpr(s64), %3:fpr(s64) = G_UNMERGE_VALUES %1:fpr(<2 x s64>)134    %4:gpr(s64) = COPY %2135    %5:gpr(s64) = COPY %3136    G_STORE  %5:gpr(s64), %0 :: (store (s64))137...138---139name:            contract_s16_truncstore140legalized:       true141regBankSelected: true142body:             |143  bb.0:144    liveins: $x0, $s1145    ; CHECK-LABEL: name: contract_s16_truncstore146    ; CHECK: liveins: $x0, $s1147    ; CHECK-NEXT: {{  $}}148    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0149    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $s1150    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:fpr16 = COPY [[COPY1]].hsub151    ; CHECK-NEXT: STRHui [[COPY2]], [[COPY]], 0 :: (store (s16))152    %0:gpr(p0) = COPY $x0153    %1:fpr(s32) = COPY $s1154    %2:gpr(s32) = COPY %1155    G_STORE  %2:gpr(s32), %0 :: (store (s16))156...157