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

--- |
  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"

  define void @bitcast_s32_gpr() { ret void }
  define void @bitcast_s32_fpr() { ret void }
  define void @bitcast_s32_gpr_fpr() { ret void }
  define void @bitcast_s32_fpr_gpr() { ret void }
  define void @bitcast_s64_gpr() { ret void }
  define void @bitcast_s64_fpr() { ret void }
  define void @bitcast_s64_gpr_fpr() { ret void }
  define void @bitcast_s64_fpr_gpr() { ret void }
  define void @bitcast_s64_v2f32_fpr() { ret void }
  define void @bitcast_s64_v8i8_fpr() { ret void }
...

---
name:            bitcast_s32_gpr
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }

body:             |
  bb.0:
    liveins: %w0

    ; CHECK-LABEL: name: bitcast_s32_gpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr32all = COPY %w0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr32all = COPY [[COPY]]
    ; CHECK: %w0 = COPY [[COPY1]]
    %0(s32) = COPY %w0
    %1(s32) = G_BITCAST %0
    %w0 = COPY %1(s32)
...

---
name:            bitcast_s32_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }

body:             |
  bb.0:
    liveins: %s0

    ; CHECK-LABEL: name: bitcast_s32_fpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr32 = COPY %s0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr32 = COPY [[COPY]]
    ; CHECK: %s0 = COPY [[COPY1]]
    %0(s32) = COPY %s0
    %1(s32) = G_BITCAST %0
    %s0 = COPY %1(s32)
...

---
name:            bitcast_s32_gpr_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: gpr }
  - { id: 1, class: fpr }

body:             |
  bb.0:
    liveins: %w0

    ; CHECK-LABEL: name: bitcast_s32_gpr_fpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr32all = COPY %w0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr32 = COPY [[COPY]]
    ; CHECK: %s0 = COPY [[COPY1]]
    %0(s32) = COPY %w0
    %1(s32) = G_BITCAST %0
    %s0 = COPY %1(s32)
...

---
name:            bitcast_s32_fpr_gpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: gpr }

body:             |
  bb.0:
    liveins: %s0

    ; CHECK-LABEL: name: bitcast_s32_fpr_gpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr32 = COPY %s0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr32 = COPY [[COPY]]
    ; CHECK: %w0 = COPY [[COPY1]]
    %0(s32) = COPY %s0
    %1(s32) = G_BITCAST %0
    %w0 = COPY %1(s32)
...

---
name:            bitcast_s64_gpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }

body:             |
  bb.0:
    liveins: %x0

    ; CHECK-LABEL: name: bitcast_s64_gpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64all = COPY %x0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr64all = COPY [[COPY]]
    ; CHECK: %x0 = COPY [[COPY1]]
    %0(s64) = COPY %x0
    %1(s64) = G_BITCAST %0
    %x0 = COPY %1(s64)
...

---
name:            bitcast_s64_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }

body:             |
  bb.0:
    liveins: %d0

    ; CHECK-LABEL: name: bitcast_s64_fpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY %d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[COPY]]
    ; CHECK: %d0 = COPY [[COPY1]]
    %0(s64) = COPY %d0
    %1(s64) = G_BITCAST %0
    %d0 = COPY %1(s64)
...

---
name:            bitcast_s64_gpr_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: gpr }
  - { id: 1, class: fpr }
body:             |
  bb.0:
    liveins: %x0

    ; CHECK-LABEL: name: bitcast_s64_gpr_fpr
    ; CHECK: [[COPY:%[0-9]+]]:gpr64all = COPY %x0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[COPY]]
    ; CHECK: %d0 = COPY [[COPY1]]
    %0(s64) = COPY %x0
    %1(s64) = G_BITCAST %0
    %d0 = COPY %1(s64)
...

---
name:            bitcast_s64_fpr_gpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: gpr }

body:             |
  bb.0:
    liveins: %d0

    ; CHECK-LABEL: name: bitcast_s64_fpr_gpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY %d0
    ; CHECK: [[COPY1:%[0-9]+]]:gpr64 = COPY [[COPY]]
    ; CHECK: %x0 = COPY [[COPY1]]
    %0(s64) = COPY %d0
    %1(s64) = G_BITCAST %0
    %x0 = COPY %1(s64)
...

---
name:            bitcast_s64_v2f32_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }

body:             |
  bb.0:
    liveins: %d0

    ; CHECK-LABEL: name: bitcast_s64_v2f32_fpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY %d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[COPY]]
    ; CHECK: %x0 = COPY [[COPY1]]
    %0(s64) = COPY %d0
    %1(<2 x s32>) = G_BITCAST %0
    %x0 = COPY %1(<2 x s32>)
...

---
name:            bitcast_s64_v8i8_fpr
legalized:       true
regBankSelected: true

registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }

body:             |
  bb.0:
    liveins: %d0

    ; CHECK-LABEL: name: bitcast_s64_v8i8_fpr
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY %d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY [[COPY]]
    ; CHECK: %x0 = COPY [[COPY1]]
    %0(s64) = COPY %d0
    %1(<8 x s8>) = G_BITCAST %0
    %x0 = COPY %1(<8 x s8>)
...
