; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=aarch64-linux-gnu < %s | FileCheck %s
; RUN: llc -mtriple=aarch64_be < %s | FileCheck %s --check-prefix=CHECK_BE

;
; bitcast to nxv16i8
;

define <vscale x 16 x i8> @bitcast_nxv8i16_to_nxv16i8(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv4i32_to_nxv16i8(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv2i64_to_nxv16i8(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv8f16_to_nxv16i8(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv4f32_to_nxv16i8(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv2f64_to_nxv16i8(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

define <vscale x 16 x i8> @bitcast_nxv8bf16_to_nxv16i8(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv16i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv16i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 16 x i8>
  ret <vscale x 16 x i8> %bc
}

;
; bitcast to nxv8i16
;

define <vscale x 8 x i16> @bitcast_nxv16i8_to_nxv8i16(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv4i32_to_nxv8i16(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv2i64_to_nxv8i16(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv8f16_to_nxv8i16(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv4f32_to_nxv8i16(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv2f64_to_nxv8i16(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

define <vscale x 8 x i16> @bitcast_nxv8bf16_to_nxv8i16(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv8i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv8i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 8 x i16>
  ret <vscale x 8 x i16> %bc
}

;
; bitcast to nxv4i32
;

define <vscale x 4 x i32> @bitcast_nxv16i8_to_nxv4i32(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv8i16_to_nxv4i32(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv2i64_to_nxv4i32(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv8f16_to_nxv4i32(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv4f32_to_nxv4i32(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv2f64_to_nxv4i32(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

define <vscale x 4 x i32> @bitcast_nxv8bf16_to_nxv4i32(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv4i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv4i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 4 x i32>
  ret <vscale x 4 x i32> %bc
}

;
; bitcast to nxv2i64
;

define <vscale x 2 x i64> @bitcast_nxv16i8_to_nxv2i64(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv8i16_to_nxv2i64(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv4i32_to_nxv2i64(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv8f16_to_nxv2i64(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv4f32_to_nxv2i64(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv2f64_to_nxv2i64(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

define <vscale x 2 x i64> @bitcast_nxv8bf16_to_nxv2i64(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv2i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv2i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 2 x i64>
  ret <vscale x 2 x i64> %bc
}

;
; bitcast to nxv8f16
;

define <vscale x 8 x half> @bitcast_nxv16i8_to_nxv8f16(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv8i16_to_nxv8f16(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv4i32_to_nxv8f16(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv2i64_to_nxv8f16(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv4f32_to_nxv8f16(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv2f64_to_nxv8f16(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

define <vscale x 8 x half> @bitcast_nxv8bf16_to_nxv8f16(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv8f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv8f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 8 x half>
  ret <vscale x 8 x half> %bc
}

;
; bitcast to nxv4f32
;

define <vscale x 4 x float> @bitcast_nxv16i8_to_nxv4f32(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv8i16_to_nxv4f32(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv4i32_to_nxv4f32(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv2i64_to_nxv4f32(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv8f16_to_nxv4f32(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv2f64_to_nxv4f32(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

define <vscale x 4 x float> @bitcast_nxv8bf16_to_nxv4f32(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv4f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv4f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 4 x float>
  ret <vscale x 4 x float> %bc
}

;
; bitcast to nxv2f64
;

define <vscale x 2 x double> @bitcast_nxv16i8_to_nxv2f64(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv8i16_to_nxv2f64(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv4i32_to_nxv2f64(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv2i64_to_nxv2f64(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv8f16_to_nxv2f64(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv4f32_to_nxv2f64(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

define <vscale x 2 x double> @bitcast_nxv8bf16_to_nxv2f64(<vscale x 8 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv8bf16_to_nxv2f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8bf16_to_nxv2f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x bfloat> %v to <vscale x 2 x double>
  ret <vscale x 2 x double> %bc
}

;
; bitcast to nxv8bf16
;

define <vscale x 8 x bfloat> @bitcast_nxv16i8_to_nxv8bf16(<vscale x 16 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv16i8_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv16i8_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 16 x i8> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv8i16_to_nxv8bf16(<vscale x 8 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i16_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i16_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i16> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv4i32_to_nxv8bf16(<vscale x 4 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i32_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i32_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i32> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv2i64_to_nxv8bf16(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i64_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i64_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i64> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv8f16_to_nxv8bf16(<vscale x 8 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv8f16_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8f16_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x half> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv4f32_to_nxv8bf16(<vscale x 4 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f32_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f32_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x float> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

define <vscale x 8 x bfloat> @bitcast_nxv2f64_to_nxv8bf16(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f64_to_nxv8bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f64_to_nxv8bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x double> %v to <vscale x 8 x bfloat>
  ret <vscale x 8 x bfloat> %bc
}

;
; bitcast to nxv8i8
;

define <vscale x 8 x i8> @bitcast_nxv4i16_to_nxv8i8(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.h
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.h
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv2i32_to_nxv8i8(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.h
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.h
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv1i64_to_nxv8i8(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.h, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    uunpklo z0.h, z0.b
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv4f16_to_nxv8i8(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.h
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.h
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv2f32_to_nxv8i8(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.h
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.h
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv1f64_to_nxv8i8(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.h, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    uunpklo z0.h, z0.b
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

define <vscale x 8 x i8> @bitcast_nxv4bf16_to_nxv8i8(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv8i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.h
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv8i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.h
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.h }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 8 x i8>
  ret <vscale x 8 x i8> %bc
}

;
; bitcast to nxv4i16
;

define <vscale x 4 x i16> @bitcast_nxv8i8_to_nxv4i16(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.h
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv2i32_to_nxv4i16(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv1i64_to_nxv4i16(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv4f16_to_nxv4i16(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv2f32_to_nxv4i16(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv1f64_to_nxv4i16(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

define <vscale x 4 x i16> @bitcast_nxv4bf16_to_nxv4i16(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv4i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv4i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 4 x i16>
  ret <vscale x 4 x i16> %bc
}

;
; bitcast to nxv2i32
;

define <vscale x 2 x i32> @bitcast_nxv8i8_to_nxv2i32(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.h
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv4i16_to_nxv2i32(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv1i64_to_nxv2i32(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv4f16_to_nxv2i32(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv2f32_to_nxv2i32(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv1f64_to_nxv2i32(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

define <vscale x 2 x i32> @bitcast_nxv4bf16_to_nxv2i32(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv2i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv2i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bc
}

;
; bitcast to nxv1i64
;

define <vscale x 1 x i64> @bitcast_nxv8i8_to_nxv1i64(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv4i16_to_nxv1i64(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv2i32_to_nxv1i64(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv4f16_to_nxv1i64(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv2f32_to_nxv1i64(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv1f64_to_nxv1i64(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

define <vscale x 1 x i64> @bitcast_nxv4bf16_to_nxv1i64(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv1i64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv1i64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 1 x i64>
  ret <vscale x 1 x i64> %bc
}

;
; bitcast to nxv4f16
;

define <vscale x 4 x half> @bitcast_nxv8i8_to_nxv4f16(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.h
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv4i16_to_nxv4f16(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv2i32_to_nxv4f16(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv1i64_to_nxv4f16(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv2f32_to_nxv4f16(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv1f64_to_nxv4f16(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

define <vscale x 4 x half> @bitcast_nxv4bf16_to_nxv4f16(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv4f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv4f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 4 x half>
  ret <vscale x 4 x half> %bc
}

;
; bitcast to nxv2f32
;

define <vscale x 2 x float> @bitcast_nxv8i8_to_nxv2f32(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.h
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv4i16_to_nxv2f32(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv2i32_to_nxv2f32(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv1i64_to_nxv2f32(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv4f16_to_nxv2f32(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv1f64_to_nxv2f32(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

define <vscale x 2 x float> @bitcast_nxv4bf16_to_nxv2f32(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv2f32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv2f32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 2 x float>
  ret <vscale x 2 x float> %bc
}

;
; bitcast to nxv1f64
;

define <vscale x 1 x double> @bitcast_nxv8i8_to_nxv1f64(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv4i16_to_nxv1f64(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv2i32_to_nxv1f64(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv1i64_to_nxv1f64(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv4f16_to_nxv1f64(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv2f32_to_nxv1f64(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

define <vscale x 1 x double> @bitcast_nxv4bf16_to_nxv1f64(<vscale x 4 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv4bf16_to_nxv1f64:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4bf16_to_nxv1f64:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x bfloat> %v to <vscale x 1 x double>
  ret <vscale x 1 x double> %bc
}

;
; bitcast to nxv4bf16
;

define <vscale x 4 x bfloat> @bitcast_nxv8i8_to_nxv4bf16(<vscale x 8 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv8i8_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.h
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv8i8_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1b { z0.h }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 8 x i8> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv4i16_to_nxv4bf16(<vscale x 4 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i16_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i16_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i16> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv2i32_to_nxv4bf16(<vscale x 2 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i32_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i32_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i32> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv1i64_to_nxv4bf16(<vscale x 1 x i64> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i64_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i64_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i64> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv4f16_to_nxv4bf16(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv4f16_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4f16_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x half> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv2f32_to_nxv4bf16(<vscale x 2 x float> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f32_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f32_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1w { z0.d }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.s }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x float> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

define <vscale x 4 x bfloat> @bitcast_nxv1f64_to_nxv4bf16(<vscale x 1 x double> %v) #0 {
; CHECK-LABEL: bitcast_nxv1f64_to_nxv4bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1f64_to_nxv4bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x double> %v to <vscale x 4 x bfloat>
  ret <vscale x 4 x bfloat> %bc
}

;
; bitcast to nxv4i8
;

define <vscale x 4 x i8> @bitcast_nxv2i16_to_nxv4i8(<vscale x 2 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i16_to_nxv4i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i16_to_nxv4i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i16> %v to <vscale x 4 x i8>
  ret <vscale x 4 x i8> %bc
}

define <vscale x 4 x i8> @bitcast_nxv1i32_to_nxv4i8(<vscale x 1 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i32_to_nxv4i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.h, z0.b
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i32_to_nxv4i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    uunpklo z0.h, z0.b
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i32> %v to <vscale x 4 x i8>
  ret <vscale x 4 x i8> %bc
}

define <vscale x 4 x i8> @bitcast_nxv2f16_to_nxv4i8(<vscale x 2 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f16_to_nxv4i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f16_to_nxv4i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x half> %v to <vscale x 4 x i8>
  ret <vscale x 4 x i8> %bc
}

; @bitcast_nxv1f32_to_nxv4i8 is missing

define <vscale x 4 x i8> @bitcast_nxv2bf16_to_nxv4i8(<vscale x 2 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv2bf16_to_nxv4i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    ptrue p1.s
; CHECK-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2bf16_to_nxv4i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    st1h { z0.d }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1b { z0.s }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x bfloat> %v to <vscale x 4 x i8>
  ret <vscale x 4 x i8> %bc
}

;
; bitcast to nxv2i16
;

define <vscale x 2 x i16> @bitcast_nxv4i8_to_nxv2i16(<vscale x 4 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i8_to_nxv2i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i8_to_nxv2i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i8> %v to <vscale x 2 x i16>
  ret <vscale x 2 x i16> %bc
}

define <vscale x 2 x i16> @bitcast_nxv1i32_to_nxv2i16(<vscale x 1 x i32> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i32_to_nxv2i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i32_to_nxv2i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i32> %v to <vscale x 2 x i16>
  ret <vscale x 2 x i16> %bc
}

define <vscale x 2 x i16> @bitcast_nxv2f16_to_nxv2i16(<vscale x 2 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f16_to_nxv2i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f16_to_nxv2i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x half> %v to <vscale x 2 x i16>
  ret <vscale x 2 x i16> %bc
}

; @bitcast_nxv1f32_to_nxv2i16 is missing

define <vscale x 2 x i16> @bitcast_nxv2bf16_to_nxv2i16(<vscale x 2 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv2bf16_to_nxv2i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2bf16_to_nxv2i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x bfloat> %v to <vscale x 2 x i16>
  ret <vscale x 2 x i16> %bc
}

;
; bitcast to nxv1i32
;

define <vscale x 1 x i32> @bitcast_nxv4i8_to_nxv1i32(<vscale x 4 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i8_to_nxv1i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i8_to_nxv1i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i8> %v to <vscale x 1 x i32>
  ret <vscale x 1 x i32> %bc
}

define <vscale x 1 x i32> @bitcast_nxv2i16_to_nxv1i32(<vscale x 2 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i16_to_nxv1i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i16_to_nxv1i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i16> %v to <vscale x 1 x i32>
  ret <vscale x 1 x i32> %bc
}

define <vscale x 1 x i32> @bitcast_nxv2f16_to_nxv1i32(<vscale x 2 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f16_to_nxv1i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f16_to_nxv1i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x half> %v to <vscale x 1 x i32>
  ret <vscale x 1 x i32> %bc
}

; @bitcast_nxv1f32_to_nxv1i32 is missing

define <vscale x 1 x i32> @bitcast_nxv2bf16_to_nxv1i32(<vscale x 2 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv2bf16_to_nxv1i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2bf16_to_nxv1i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    revb z0.s, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x bfloat> %v to <vscale x 1 x i32>
  ret <vscale x 1 x i32> %bc
}

;
; bitcast to nxv2f16
;

define <vscale x 2 x half> @bitcast_nxv4i8_to_nxv2f16(<vscale x 4 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i8_to_nxv2f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i8_to_nxv2f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i8> %v to <vscale x 2 x half>
  ret <vscale x 2 x half> %bc
}

define <vscale x 2 x half> @bitcast_nxv2i16_to_nxv2f16(<vscale x 2 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i16_to_nxv2f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i16_to_nxv2f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i16> %v to <vscale x 2 x half>
  ret <vscale x 2 x half> %bc
}

; @bitcast_nxv1i32_to_nxv2f16 is missing
; @bitcast_nxv1f32_to_nxv2f16 is missing

define <vscale x 2 x half> @bitcast_nxv2bf16_to_nxv2f16(<vscale x 2 x bfloat> %v) #0 {
; CHECK-LABEL: bitcast_nxv2bf16_to_nxv2f16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2bf16_to_nxv2f16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x bfloat> %v to <vscale x 2 x half>
  ret <vscale x 2 x half> %bc
}

;
; bitcast to nxv1f32
;

; @bitcast_nxv4i8_to_nxv1f32 is missing
; @bitcast_nxv2i16_to_nxv1f32 is missing
; @bitcast_nxv1i32_to_nxv1f32 is missing
; @bitcast_nxv2f16_to_nxv1f32 is missing
; @bitcast_nxv2bf16_to_nxv1f32 is missing

;
; bitcast to nxv2bf16
;

define <vscale x 2 x bfloat> @bitcast_nxv4i8_to_nxv2bf16(<vscale x 4 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv4i8_to_nxv2bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv4i8_to_nxv2bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    st1b { z0.s }, p0, [sp, #3, mul vl]
; CHECK_BE-NEXT:    ld1h { z0.d }, p1/z, [sp, #3, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 4 x i8> %v to <vscale x 2 x bfloat>
  ret <vscale x 2 x bfloat> %bc
}

define <vscale x 2 x bfloat> @bitcast_nxv2i16_to_nxv2bf16(<vscale x 2 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i16_to_nxv2bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i16_to_nxv2bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i16> %v to <vscale x 2 x bfloat>
  ret <vscale x 2 x bfloat> %bc
}

; @bitcast_nxv1i32_to_nxv2bf16 is missing

define <vscale x 2 x bfloat> @bitcast_nxv2f16_to_nxv2bf16(<vscale x 2 x half> %v) #0 {
; CHECK-LABEL: bitcast_nxv2f16_to_nxv2bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2f16_to_nxv2bf16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x half> %v to <vscale x 2 x bfloat>
  ret <vscale x 2 x bfloat> %bc
}

; @bitcast_nxv1f32_to_nxv2bf16 is missing

;
; bitcast to nxv2i8
;

define <vscale x 2 x i8> @bitcast_nxv1i16_to_nxv2i8(<vscale x 1 x i16> %v) #0 {
; CHECK-LABEL: bitcast_nxv1i16_to_nxv2i8:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uunpklo z0.h, z0.b
; CHECK-NEXT:    uunpklo z0.s, z0.h
; CHECK-NEXT:    uunpklo z0.d, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv1i16_to_nxv2i8:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    uunpklo z0.h, z0.b
; CHECK_BE-NEXT:    uunpklo z0.s, z0.h
; CHECK_BE-NEXT:    uunpklo z0.d, z0.s
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 1 x i16> %v to <vscale x 2 x i8>
  ret <vscale x 2 x i8> %bc
}

; @bitcast_nxv1f16_to_nxv2i8 is missing
; @bitcast_nxv1bf16_to_nxv2i8 is missing

;
; bitcast to nxv1i16
;

define <vscale x 1 x i16> @bitcast_nxv2i8_to_nxv1i16(<vscale x 2 x i8> %v) #0 {
; CHECK-LABEL: bitcast_nxv2i8_to_nxv1i16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_nxv2i8_to_nxv1i16:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    uzp1 z0.s, z0.s, z0.s
; CHECK_BE-NEXT:    ptrue p0.h
; CHECK_BE-NEXT:    uzp1 z0.h, z0.h, z0.h
; CHECK_BE-NEXT:    uzp1 z0.b, z0.b, z0.b
; CHECK_BE-NEXT:    revb z0.h, p0/m, z0.h
; CHECK_BE-NEXT:    ret
  %bc = bitcast <vscale x 2 x i8> %v to <vscale x 1 x i16>
  ret <vscale x 1 x i16> %bc
}

; @bitcast_nxv1f16_to_nxv1i16 is missing
; @bitcast_nxv1bf16_to_nxv1i16 is missing

;
; bitcast to nxv1f16
;

; @bitcast_nxv2i8_to_nxv1f16 is missing
; @bitcast_nxv1i16_to_nxv1f16 is missing
; @bitcast_nxv1bf16_to_nxv1f16 is missing

;
; bitcast to nxv1bf16
;

; @bitcast_nxv2i8_to_nxv1bf16 is missing
; @bitcast_nxv1i16_to_nxv1bf16 is missing
; @bitcast_nxv1f16_to_nxv1bf16 is missing

;
; Other
;

define <vscale x 2 x i32> @bitcast_short_float_to_i32(<vscale x 2 x double> %v) #0 {
; CHECK-LABEL: bitcast_short_float_to_i32:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    fcvt z0.s, p0/m, z0.d
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_short_float_to_i32:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    fcvt z0.s, p0/m, z0.d
; CHECK_BE-NEXT:    revb z0.s, p1/m, z0.s
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    ret
  %trunc = fptrunc <vscale x 2 x double> %v to <vscale x 2 x float>
  %bitcast = bitcast <vscale x 2 x float> %trunc to <vscale x 2 x i32>
  ret <vscale x 2 x i32> %bitcast
}

define <vscale x 2 x double> @bitcast_short_i32_to_float(<vscale x 2 x i64> %v) #0 {
; CHECK-LABEL: bitcast_short_i32_to_float:
; CHECK:       // %bb.0:
; CHECK-NEXT:    ptrue p0.d
; CHECK-NEXT:    fcvt z0.d, p0/m, z0.s
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_short_i32_to_float:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    ptrue p0.d
; CHECK_BE-NEXT:    ptrue p1.s
; CHECK_BE-NEXT:    revb z0.d, p0/m, z0.d
; CHECK_BE-NEXT:    revb z0.s, p1/m, z0.s
; CHECK_BE-NEXT:    fcvt z0.d, p0/m, z0.s
; CHECK_BE-NEXT:    ret
  %trunc = trunc <vscale x 2 x i64> %v to <vscale x 2 x i32>
  %bitcast = bitcast <vscale x 2 x i32> %trunc to <vscale x 2 x float>
  %extended = fpext <vscale x 2 x float> %bitcast to <vscale x 2 x double>
  ret <vscale x 2 x double> %extended
}

define <vscale x 2 x float> @bitcast_short_half_to_float(<vscale x 4 x half> %v) #0 {
; CHECK-LABEL: bitcast_short_half_to_float:
; CHECK:       // %bb.0:
; CHECK-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT:    addvl sp, sp, #-1
; CHECK-NEXT:    ptrue p0.s
; CHECK-NEXT:    ptrue p1.d
; CHECK-NEXT:    fadd z0.h, p0/m, z0.h, z0.h
; CHECK-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK-NEXT:    addvl sp, sp, #1
; CHECK-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT:    ret
;
; CHECK_BE-LABEL: bitcast_short_half_to_float:
; CHECK_BE:       // %bb.0:
; CHECK_BE-NEXT:    str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK_BE-NEXT:    addvl sp, sp, #-1
; CHECK_BE-NEXT:    ptrue p0.s
; CHECK_BE-NEXT:    ptrue p1.d
; CHECK_BE-NEXT:    fadd z0.h, p0/m, z0.h, z0.h
; CHECK_BE-NEXT:    st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK_BE-NEXT:    ld1w { z0.d }, p1/z, [sp, #1, mul vl]
; CHECK_BE-NEXT:    addvl sp, sp, #1
; CHECK_BE-NEXT:    ldr x29, [sp], #16 // 8-byte Folded Reload
; CHECK_BE-NEXT:    ret
  %add = fadd <vscale x 4 x half> %v, %v
  %bitcast = bitcast <vscale x 4 x half> %add to <vscale x 2 x float>
  ret <vscale x 2 x float> %bitcast
}

; +bf16 is required for the bfloat version.
attributes #0 = { nounwind "target-features"="+sve,+bf16" }
