; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -global-isel=0 -mtriple=amdgpu6.00 < %s | FileCheck -check-prefix=GCN %s
; RUN: llc -global-isel=1 -mtriple=amdgpu6.00 < %s | FileCheck -check-prefix=GCN %s
; RUN: llc -global-isel=0 -mtriple=amdgpu8.03 < %s | FileCheck -check-prefix=GCN %s
; RUN: llc -global-isel=1 -mtriple=amdgpu8.03 < %s | FileCheck -check-prefix=GCN %s

declare float @llvm.amdgcn.cubeid(float, float, float) #0
declare float @llvm.amdgcn.cubesc(float, float, float) #0
declare float @llvm.amdgcn.cubetc(float, float, float) #0
declare float @llvm.amdgcn.cubema(float, float, float) #0

define amdgpu_ps <4 x float> @cube_vvv(float %a, float %b, float %c) #1 {
; GCN-LABEL: cube_vvv:
; GCN:       ; %bb.0:
; GCN-NEXT:    v_cubeid_f32 v6, v0, v1, v2
; GCN-NEXT:    v_cubesc_f32 v4, v0, v1, v2
; GCN-NEXT:    v_cubetc_f32 v5, v0, v1, v2
; GCN-NEXT:    v_cubema_f32 v3, v0, v1, v2
; GCN-NEXT:    v_mov_b32_e32 v0, v6
; GCN-NEXT:    v_mov_b32_e32 v1, v4
; GCN-NEXT:    v_mov_b32_e32 v2, v5
; GCN-NEXT:    ; return to shader part epilog
  %cubeid = call float @llvm.amdgcn.cubeid(float %a, float %b, float %c)
  %cubesc = call float @llvm.amdgcn.cubesc(float %a, float %b, float %c)
  %cubetc = call float @llvm.amdgcn.cubetc(float %a, float %b, float %c)
  %cubema = call float @llvm.amdgcn.cubema(float %a, float %b, float %c)

  %vec0 = insertelement <4 x float> poison, float %cubeid, i32 0
  %vec1 = insertelement <4 x float> %vec0, float %cubesc, i32 1
  %vec2 = insertelement <4 x float> %vec1, float %cubetc, i32 2
  %vec3 = insertelement <4 x float> %vec2, float %cubema, i32 3
  ret <4 x float> %vec3
}

define amdgpu_ps <4 x float> @cube_sss(float inreg %a, float inreg %b, float inreg %c) #1 {
; GCN-LABEL: cube_sss:
; GCN:       ; %bb.0:
; GCN-NEXT:    v_mov_b32_e32 v3, s1
; GCN-NEXT:    v_mov_b32_e32 v4, s2
; GCN-NEXT:    v_cubeid_f32 v0, s0, v3, v4
; GCN-NEXT:    v_cubesc_f32 v1, s0, v3, v4
; GCN-NEXT:    v_cubetc_f32 v2, s0, v3, v4
; GCN-NEXT:    v_cubema_f32 v3, s0, v3, v4
; GCN-NEXT:    ; return to shader part epilog
  %cubeid = call float @llvm.amdgcn.cubeid(float %a, float %b, float %c)
  %cubesc = call float @llvm.amdgcn.cubesc(float %a, float %b, float %c)
  %cubetc = call float @llvm.amdgcn.cubetc(float %a, float %b, float %c)
  %cubema = call float @llvm.amdgcn.cubema(float %a, float %b, float %c)

  %vec0 = insertelement <4 x float> poison, float %cubeid, i32 0
  %vec1 = insertelement <4 x float> %vec0, float %cubesc, i32 1
  %vec2 = insertelement <4 x float> %vec1, float %cubetc, i32 2
  %vec3 = insertelement <4 x float> %vec2, float %cubema, i32 3
  ret <4 x float> %vec3
}

attributes #0 = { nounwind readnone }
attributes #1 = { nounwind }
