# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=aarch64-unknown-unknown -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s

---
name:            contract_s64_gpr
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $x1
    ; CHECK-LABEL: name: contract_s64_gpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr64 = COPY $x1
    ; CHECK: STRXui [[COPY1]], [[COPY]], 0 :: (store (s64))
    %0:gpr(p0) = COPY $x0
    %1:gpr(s64) = COPY $x1
    %2:fpr(s64) = COPY %1
    G_STORE  %2:fpr(s64), %0 :: (store (s64))
...
---
name:            contract_s32_gpr
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $w1
    ; CHECK-LABEL: name: contract_s32_gpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr32 = COPY $w1
    ; CHECK: STRWui [[COPY1]], [[COPY]], 0 :: (store (s32))
    %0:gpr(p0) = COPY $x0
    %1:gpr(s32) = COPY $w1
    %2:fpr(s32) = COPY %1
    G_STORE  %2:fpr(s32), %0 :: (store (s32))
...
---
name:            contract_s64_fpr
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $d1
    ; CHECK-LABEL: name: contract_s64_fpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: STRDui [[COPY1]], [[COPY]], 0 :: (store (s64))
    %0:gpr(p0) = COPY $x0
    %1:fpr(s64) = COPY $d1
    %2:gpr(s64) = COPY %1
    G_STORE %2:gpr(s64), %0 :: (store (s64))
...
---
name:            contract_s32_fpr
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $s1
    ; CHECK-LABEL: name: contract_s32_fpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr32 = COPY $s1
    ; CHECK: STRSui [[COPY1]], [[COPY]], 0 :: (store (s32))
    %0:gpr(p0) = COPY $x0
    %1:fpr(s32) = COPY $s1
    %2:gpr(s32) = COPY %1
    G_STORE %2:gpr(s32), %0 :: (store (s32))
...
---
name:            contract_s16_fpr
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $h1
    ; CHECK-LABEL: name: contract_s16_fpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr16 = COPY $h1
    ; CHECK: STRHui [[COPY1]], [[COPY]], 0 :: (store (s16))
    %0:gpr(p0) = COPY $x0
    %1:fpr(s16) = COPY $h1
    %2:gpr(s16) = COPY %1
    G_STORE  %2:gpr(s16), %0 :: (store (s16))
...
---
name:            contract_g_unmerge_values_first
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $x1
    ; CHECK-LABEL: name: contract_g_unmerge_values_first
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (dereferenceable load (<2 x s64>))
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[LDRQui]].dsub
    ; CHECK: [[CPYi64_:%[0-9]+]]:fpr64 = CPYi64 [[LDRQui]], 1
    ; CHECK: STRDui [[COPY1]], [[COPY]], 0 :: (store (s64))
    %0:gpr(p0) = COPY $x0
    %1:fpr(<2 x s64>) = G_LOAD %0:gpr(p0) :: (dereferenceable load (<2 x s64>))
    %2:fpr(s64), %3:fpr(s64) = G_UNMERGE_VALUES %1:fpr(<2 x s64>)
    %4:gpr(s64) = COPY %2
    %5:gpr(s64) = COPY %3
    G_STORE  %4:gpr(s64), %0 :: (store (s64))
...
---
name:            contract_g_unmerge_values_second
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $x1
    ; CHECK-LABEL: name: contract_g_unmerge_values_second
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (dereferenceable load (<2 x s64>))
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[LDRQui]].dsub
    ; CHECK: [[CPYi64_:%[0-9]+]]:fpr64 = CPYi64 [[LDRQui]], 1
    ; CHECK: STRDui [[CPYi64_]], [[COPY]], 0 :: (store (s64))
    %0:gpr(p0) = COPY $x0
    %1:fpr(<2 x s64>) = G_LOAD %0:gpr(p0) :: (dereferenceable load (<2 x s64>))
    %2:fpr(s64), %3:fpr(s64) = G_UNMERGE_VALUES %1:fpr(<2 x s64>)
    %4:gpr(s64) = COPY %2
    %5:gpr(s64) = COPY %3
    G_STORE  %5:gpr(s64), %0 :: (store (s64))
...
---
name:            contract_s16_truncstore
legalized:       true
regBankSelected: true
body:             |
  bb.0:
    liveins: $x0, $s1
    ; CHECK-LABEL: name: contract_s16_truncstore
    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr32 = COPY $s1
    ; CHECK: [[COPY2:%[0-9]+]]:fpr16 = COPY [[COPY1]].hsub
    ; CHECK: STRHui [[COPY2]], [[COPY]], 0 :: (store (s16))
    %0:gpr(p0) = COPY $x0
    %1:fpr(s32) = COPY $s1
    %2:gpr(s32) = COPY %1
    G_STORE  %2:gpr(s32), %0 :: (store (s16))
...
