forked from OSchip/llvm-project
46 lines
1.1 KiB
LLVM
46 lines
1.1 KiB
LLVM
; RUN: llc -mtriple=hexagon-unknown-elf -mcpu=hexagonv67 < %s | FileCheck %s
|
|
|
|
|
|
; CHECK-LABEL: t1
|
|
; CHECK: dfmax
|
|
|
|
define dso_local double @t1(double %a, double %b) local_unnamed_addr {
|
|
entry:
|
|
%0 = tail call double @llvm.maxnum.f64(double %a, double %b)
|
|
ret double %0
|
|
}
|
|
|
|
; CHECK-LABEL: t2
|
|
; CHECK: dfmin
|
|
|
|
define dso_local double @t2(double %a, double %b) local_unnamed_addr {
|
|
entry:
|
|
%0 = tail call double @llvm.minnum.f64(double %a, double %b)
|
|
ret double %0
|
|
}
|
|
|
|
; CHECK-LABEL: t3
|
|
; CHECK: sfmax
|
|
|
|
define dso_local float @t3(float %a, float %b) local_unnamed_addr {
|
|
entry:
|
|
%0 = tail call float @llvm.maxnum.f32(float %a, float %b)
|
|
ret float %0
|
|
}
|
|
|
|
; CHECK-LABEL: t4
|
|
; CHECK: sfmin
|
|
|
|
define dso_local float @t4(float %a, float %b) local_unnamed_addr {
|
|
entry:
|
|
%0 = tail call float @llvm.minnum.f32(float %a, float %b)
|
|
ret float %0
|
|
}
|
|
|
|
declare double @llvm.minnum.f64(double, double) #1
|
|
declare double @llvm.maxnum.f64(double, double) #1
|
|
declare float @llvm.maxnum.f32(float, float) #1
|
|
declare float @llvm.minnum.f32(float, float) #1
|
|
|
|
attributes #1 = { nounwind readnone speculatable }
|