# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -O0 -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs %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: $w0 = COPY [[COPY]]
    %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: $s0 = COPY [[COPY]]
    %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: $x0 = COPY [[COPY]]
    %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: $d0 = COPY [[COPY]]
    %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: $x0 = COPY [[COPY]]
    %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: $x0 = COPY [[COPY]]
    %0(s64) = COPY $d0
    %1(<8 x s8>) = G_BITCAST %0
    $x0 = COPY %1(<8 x s8>)
...
