; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 -mattr=+real-true16 %s -o - | FileCheck -check-prefix=GFX-SDAG-TRUE16 %s
; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 -mattr=-real-true16 %s -o - | FileCheck -check-prefix=GFX-SDAG-FAKE16 %s
; xUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 -mattr=+real-true16 %s -o - | FileCheck -check-prefix=GFX-GISEL-TRUE16 %s
; xUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 -mattr=-real-true16 %s -o - | FileCheck -check-prefix=GFX-GISEL-FAKE16 %s

define bfloat @v_log2_bf16(bfloat %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.l, v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v0, v0
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %result = call bfloat @llvm.log2.bf16(bfloat %in)
  ret bfloat %result
}

define bfloat @v_log2_fabs_bf16(bfloat %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fabs_bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.l, |v0.l|
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fabs_bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v0, |v0|
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fabs = call bfloat @llvm.fabs.bf16(bfloat %in)
  %result = call bfloat @llvm.log2.bf16(bfloat %fabs)
  ret bfloat %result
}

define bfloat @v_log2_fneg_fabs_bf16(bfloat %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fneg_fabs_bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.l, -|v0.l|
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fneg_fabs_bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v0, -|v0|
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fabs = call bfloat @llvm.fabs.bf16(bfloat %in)
  %fneg.fabs = fneg bfloat %fabs
  %result = call bfloat @llvm.log2.bf16(bfloat %fneg.fabs)
  ret bfloat %result
}

define bfloat @v_log2_fneg_bf16(bfloat %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fneg_bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.l, -v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fneg_bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v0, -v0
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fneg = fneg bfloat %in
  %result = call bfloat @llvm.log2.bf16(bfloat %fneg)
  ret bfloat %result
}

define bfloat @v_log2_bf16_fast(bfloat %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_bf16_fast:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.l, v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_bf16_fast:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v0, v0
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %result = call fast bfloat @llvm.log2.bf16(bfloat %in)
  ret bfloat %result
}

define <2 x bfloat> @v_log2_v2bf16(<2 x bfloat> %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_v2bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.h, v0.h
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.l, v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_v2bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 16, v0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v0, v0
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(TRANS32_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v1, v1
; GFX-SDAG-FAKE16-NEXT:    v_nop
; GFX-SDAG-FAKE16-NEXT:    v_perm_b32 v0, v1, v0, 0x5040100
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %result = call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> %in)
  ret <2 x bfloat> %result
}

define <2 x bfloat> @v_log2_fabs_v2bf16(<2 x bfloat> %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fabs_v2bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_and_b32_e32 v1, 0x7fff7fff, v0
; GFX-SDAG-TRUE16-NEXT:    v_bfe_u32 v2, v0, 16, 15
; GFX-SDAG-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.l, v1.l
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.h, v2.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fabs_v2bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_and_b32_e32 v1, 0x7fff7fff, v0
; GFX-SDAG-FAKE16-NEXT:    v_bfe_u32 v0, v0, 16, 15
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v1, v1
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v0, v0
; GFX-SDAG-FAKE16-NEXT:    v_nop
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(TRANS32_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_perm_b32 v0, v0, v1, 0x5040100
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fabs = call <2 x bfloat> @llvm.fabs.v2bf16(<2 x bfloat> %in)
  %result = call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> %fabs)
  ret <2 x bfloat> %result
}

define <2 x bfloat> @v_log2_fneg_fabs_v2bf16(<2 x bfloat> %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fneg_fabs_v2bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_and_b32_e32 v1, 0x7fff7fff, v0
; GFX-SDAG-TRUE16-NEXT:    v_bfe_u32 v2, v0, 16, 15
; GFX-SDAG-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.l, -v1.l
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.h, -v2.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fneg_fabs_v2bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_and_b32_e32 v1, 0x7fff7fff, v0
; GFX-SDAG-FAKE16-NEXT:    v_bfe_u32 v0, v0, 16, 15
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v1, -v1
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v0, -v0
; GFX-SDAG-FAKE16-NEXT:    v_nop
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(TRANS32_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_perm_b32 v0, v0, v1, 0x5040100
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fabs = call <2 x bfloat> @llvm.fabs.v2bf16(<2 x bfloat> %in)
  %fneg.fabs = fneg <2 x bfloat> %fabs
  %result = call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> %fneg.fabs)
  ret <2 x bfloat> %result
}

define <2 x bfloat> @v_log2_fneg_v2bf16(<2 x bfloat> %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_fneg_v2bf16:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.h, -v0.h
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e64 v0.l, -v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_fneg_v2bf16:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 16, v0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v0, -v0
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(TRANS32_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e64 v1, -v1
; GFX-SDAG-FAKE16-NEXT:    v_nop
; GFX-SDAG-FAKE16-NEXT:    v_perm_b32 v0, v1, v0, 0x5040100
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %fneg = fneg <2 x bfloat> %in
  %result = call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> %fneg)
  ret <2 x bfloat> %result
}

define <2 x bfloat> @v_log2_v2bf16_fast(<2 x bfloat> %in) {
; GFX-SDAG-TRUE16-LABEL: v_log2_v2bf16_fast:
; GFX-SDAG-TRUE16:       ; %bb.0:
; GFX-SDAG-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-TRUE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.h, v0.h
; GFX-SDAG-TRUE16-NEXT:    v_log_bf16_e32 v0.l, v0.l
; GFX-SDAG-TRUE16-NEXT:    s_set_pc_i64 s[30:31]
;
; GFX-SDAG-FAKE16-LABEL: v_log2_v2bf16_fast:
; GFX-SDAG-FAKE16:       ; %bb.0:
; GFX-SDAG-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0
; GFX-SDAG-FAKE16-NEXT:    s_wait_kmcnt 0x0
; GFX-SDAG-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 16, v0
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v0, v0
; GFX-SDAG-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(TRANS32_DEP_1)
; GFX-SDAG-FAKE16-NEXT:    v_log_bf16_e32 v1, v1
; GFX-SDAG-FAKE16-NEXT:    v_nop
; GFX-SDAG-FAKE16-NEXT:    v_perm_b32 v0, v1, v0, 0x5040100
; GFX-SDAG-FAKE16-NEXT:    s_set_pc_i64 s[30:31]
  %result = call fast <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> %in)
  ret <2 x bfloat> %result
}

declare bfloat @llvm.log2.bf16(bfloat) #0
declare <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat>) #0
declare bfloat @llvm.fabs.bf16(bfloat) #0
declare <2 x bfloat> @llvm.fabs.v2bf16(<2 x bfloat>) #0

attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
