; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=aarch64-none-eabi | FileCheck %s

define <4 x i16> @v4f16_to_v4i16(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_v4i16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to <4 x i16>
  ret <4 x i16> %1
}

define <2 x i32> @v4f16_to_v2i32(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_v2i32:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to <2 x i32>
  ret <2 x i32> %1
}

define <1 x i64> @v4f16_to_v1i64(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_v1i64:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to <1 x i64>
  ret <1 x i64> %1
}

define i64 @v4f16_to_i64(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_i64:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov x0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to i64
  ret i64 %1
}

define <2 x float> @v4f16_to_v2float(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_v2float:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to <2 x float>
  ret <2 x float> %1
}

define <1 x double> @v4f16_to_v1double(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_v1double:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to <1 x double>
  ret <1 x double> %1
}

define double @v4f16_to_double(float, <4 x half> %a) #0 {
; CHECK-LABEL: v4f16_to_double:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x half> %a to double
  ret double %1
}


define <4 x half> @v4i16_to_v4f16(float, <4 x i16> %a) #0 {
; CHECK-LABEL: v4i16_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x i16> %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @v2i32_to_v4f16(float, <2 x i32> %a) #0 {
; CHECK-LABEL: v2i32_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <2 x i32> %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @v1i64_to_v4f16(float, <1 x i64> %a) #0 {
; CHECK-LABEL: v1i64_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <1 x i64> %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @i64_to_v4f16(float, i64 %a) #0 {
; CHECK-LABEL: i64_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, x0
; CHECK-NEXT:    ret
entry:
  %1 = bitcast i64 %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @v2float_to_v4f16(float, <2 x float> %a) #0 {
; CHECK-LABEL: v2float_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <2 x float> %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @v1double_to_v4f16(float, <1 x double> %a) #0 {
; CHECK-LABEL: v1double_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <1 x double> %a to <4 x half>
  ret <4 x half> %1
}

define <4 x half> @double_to_v4f16(float, double %a) #0 {
; CHECK-LABEL: double_to_v4f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    fmov d0, d1
; CHECK-NEXT:    ret
entry:
  %1 = bitcast double %a to <4 x half>
  ret <4 x half> %1
}










define <8 x i16> @v8f16_to_v8i16(float, <8 x half> %a) #0 {
; CHECK-LABEL: v8f16_to_v8i16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x half> %a to <8 x i16>
  ret <8 x i16> %1
}

define <4 x i32> @v8f16_to_v4i32(float, <8 x half> %a) #0 {
; CHECK-LABEL: v8f16_to_v4i32:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x half> %a to <4 x i32>
  ret <4 x i32> %1
}

define <2 x i64> @v8f16_to_v2i64(float, <8 x half> %a) #0 {
; CHECK-LABEL: v8f16_to_v2i64:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x half> %a to <2 x i64>
  ret <2 x i64> %1
}

define <4 x float> @v8f16_to_v4float(float, <8 x half> %a) #0 {
; CHECK-LABEL: v8f16_to_v4float:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x half> %a to <4 x float>
  ret <4 x float> %1
}

define <2 x double> @v8f16_to_v2double(float, <8 x half> %a) #0 {
; CHECK-LABEL: v8f16_to_v2double:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x half> %a to <2 x double>
  ret <2 x double> %1
}

define <8 x half> @v8i16_to_v8f16(float, <8 x i16> %a) #0 {
; CHECK-LABEL: v8i16_to_v8f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <8 x i16> %a to <8 x half>
  ret <8 x half> %1
}

define <8 x half> @v4i32_to_v8f16(float, <4 x i32> %a) #0 {
; CHECK-LABEL: v4i32_to_v8f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x i32> %a to <8 x half>
  ret <8 x half> %1
}

define <8 x half> @v2i64_to_v8f16(float, <2 x i64> %a) #0 {
; CHECK-LABEL: v2i64_to_v8f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <2 x i64> %a to <8 x half>
  ret <8 x half> %1
}

define <8 x half> @v4float_to_v8f16(float, <4 x float> %a) #0 {
; CHECK-LABEL: v4float_to_v8f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <4 x float> %a to <8 x half>
  ret <8 x half> %1
}

define <8 x half> @v2double_to_v8f16(float, <2 x double> %a) #0 {
; CHECK-LABEL: v2double_to_v8f16:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    mov v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %1 = bitcast <2 x double> %a to <8 x half>
  ret <8 x half> %1
}
