; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt -S -mtriple=amdgpu7.00-- -passes=amdgpu-codegenprepare %s | FileCheck -check-prefixes=CHECK,GFX7 %s
; RUN: opt -S -mtriple=amdgpu8.03-- -passes=amdgpu-codegenprepare %s | FileCheck -check-prefixes=CHECK,GFX8 %s

; Ignore correct case
define half @log_f16(half %x) {
; CHECK-LABEL: define half @log_f16(
; CHECK-SAME: half [[X:%.*]]) {
; CHECK-NEXT:    [[RESULT:%.*]] = call half @llvm.log.f16(half [[X]])
; CHECK-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log.f16(half %x)
  ret half %result
}

; afn case should be handled by codegen
define half @log_afn_f16(half %x) {
; CHECK-LABEL: define half @log_afn_f16(
; CHECK-SAME: half [[X:%.*]]) {
; CHECK-NEXT:    [[RESULT:%.*]] = call afn half @llvm.log.f16(half [[X]])
; CHECK-NEXT:    ret half [[RESULT]]
;
  %result = call afn half @llvm.log.f16(half %x)
  ret half %result
}

; exact ulp threshold
define half @log_f16_ulp180(half %x) {
; GFX7-LABEL: define half @log_f16_ulp180(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call half @llvm.log.f16(half [[X]]), !fpmath [[META0:![0-9]+]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log_f16_ulp180(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[TMP1:%.*]] = call half @llvm.log2.f16(half [[X]])
; GFX8-NEXT:    [[RESULT:%.*]] = fmul half [[TMP1]], 6.933590e-01
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log.f16(half %x), !fpmath !{float 0x3FFCCCCCC0000000}
  ret half %result
}

; off by one, ignore
define half @log_f16_ulp180_nextdown(half %x) {
; GFX7-LABEL: define half @log_f16_ulp180_nextdown(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call half @llvm.log.f16(half [[X]]), !fpmath [[META1:![0-9]+]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log_f16_ulp180_nextdown(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[RESULT:%.*]] = call half @llvm.log.f16(half [[X]]), !fpmath [[META0:![0-9]+]]
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log.f16(half %x), !fpmath !{float 0x3FFCCCCCA0000000}
  ret half %result
}

; OpenCL limit
define half @log_f16_ulp2(half %x) {
; GFX7-LABEL: define half @log_f16_ulp2(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call half @llvm.log.f16(half [[X]]), !fpmath [[META2:![0-9]+]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log_f16_ulp2(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[TMP1:%.*]] = call half @llvm.log2.f16(half [[X]])
; GFX8-NEXT:    [[RESULT:%.*]] = fmul half [[TMP1]], 6.933590e-01
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log.f16(half %x), !fpmath !0
  ret half %result
}

; OpenCL limit
define half @log10_f16_ulp2(half %x) {
; GFX7-LABEL: define half @log10_f16_ulp2(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call half @llvm.log10.f16(half [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log10_f16_ulp2(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[TMP1:%.*]] = call half @llvm.log2.f16(half [[X]])
; GFX8-NEXT:    [[RESULT:%.*]] = fmul half [[TMP1]], 3.010250e-01
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log10.f16(half %x), !fpmath !0
  ret half %result
}

; Ignore log2
define half @log2_f16_ulp2(half %x) {
; GFX7-LABEL: define half @log2_f16_ulp2(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call half @llvm.log2.f16(half [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log2_f16_ulp2(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[RESULT:%.*]] = call half @llvm.log2.f16(half [[X]]), !fpmath [[META1:![0-9]+]]
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call half @llvm.log2.f16(half %x), !fpmath !0
  ret half %result
}

; afn case should be handled by codegen
define half @log_afn_f16_ulp2(half %x) {
; GFX7-LABEL: define half @log_afn_f16_ulp2(
; GFX7-SAME: half [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call afn half @llvm.log.f16(half [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret half [[RESULT]]
;
; GFX8-LABEL: define half @log_afn_f16_ulp2(
; GFX8-SAME: half [[X:%.*]]) {
; GFX8-NEXT:    [[RESULT:%.*]] = call afn half @llvm.log.f16(half [[X]]), !fpmath [[META1]]
; GFX8-NEXT:    ret half [[RESULT]]
;
  %result = call afn half @llvm.log.f16(half %x), !fpmath !0
  ret half %result
}

; Handle vector with scalarization
define <2 x half> @log_v2f16_ulp2(<2 x half> %x) {
; GFX7-LABEL: define <2 x half> @log_v2f16_ulp2(
; GFX7-SAME: <2 x half> [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call <2 x half> @llvm.log.v2f16(<2 x half> [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret <2 x half> [[RESULT]]
;
; GFX8-LABEL: define <2 x half> @log_v2f16_ulp2(
; GFX8-SAME: <2 x half> [[X:%.*]]) {
; GFX8-NEXT:    [[TMP1:%.*]] = call <2 x half> @llvm.log2.v2f16(<2 x half> [[X]])
; GFX8-NEXT:    [[RESULT:%.*]] = fmul <2 x half> [[TMP1]], splat (half 6.933590e-01)
; GFX8-NEXT:    ret <2 x half> [[RESULT]]
;
  %result = call <2 x half> @llvm.log.v2f16(<2 x half> %x), !fpmath !0
  ret <2 x half> %result
}

; Handle vector with scalarization
define <3 x half> @log_v3f16_ulp2(<3 x half> %x) {
; GFX7-LABEL: define <3 x half> @log_v3f16_ulp2(
; GFX7-SAME: <3 x half> [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call <3 x half> @llvm.log.v3f16(<3 x half> [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret <3 x half> [[RESULT]]
;
; GFX8-LABEL: define <3 x half> @log_v3f16_ulp2(
; GFX8-SAME: <3 x half> [[X:%.*]]) {
; GFX8-NEXT:    [[TMP1:%.*]] = call <3 x half> @llvm.log2.v3f16(<3 x half> [[X]])
; GFX8-NEXT:    [[RESULT:%.*]] = fmul <3 x half> [[TMP1]], splat (half 6.933590e-01)
; GFX8-NEXT:    ret <3 x half> [[RESULT]]
;
  %result = call <3 x half> @llvm.log.v3f16(<3 x half> %x), !fpmath !0
  ret <3 x half> %result
}

; bfloat not handled
define bfloat @log_bf16_ulp2(bfloat %x) {
; GFX7-LABEL: define bfloat @log_bf16_ulp2(
; GFX7-SAME: bfloat [[X:%.*]]) {
; GFX7-NEXT:    [[RESULT:%.*]] = call bfloat @llvm.log.bf16(bfloat [[X]]), !fpmath [[META2]]
; GFX7-NEXT:    ret bfloat [[RESULT]]
;
; GFX8-LABEL: define bfloat @log_bf16_ulp2(
; GFX8-SAME: bfloat [[X:%.*]]) {
; GFX8-NEXT:    [[RESULT:%.*]] = call bfloat @llvm.log.bf16(bfloat [[X]]), !fpmath [[META1]]
; GFX8-NEXT:    ret bfloat [[RESULT]]
;
  %result = call bfloat @llvm.log.bf16(bfloat %x), !fpmath !0
  ret bfloat %result
}

!0 = !{float 2.0}


;.
; GFX7: [[META0]] = !{float 1.800000e+00}
; GFX7: [[META1]] = !{float f0x3FE66665}
; GFX7: [[META2]] = !{float 2.000000e+00}
;.
; GFX8: [[META0]] = !{float f0x3FE66665}
; GFX8: [[META1]] = !{float 2.000000e+00}
;.
