blob: db3df7737743f4e0b58356fe2591ac3f2c856d06 [file] [edit]
; GlobalISel is the default selector at -O0, but Arm64EC call lowering is
; unimplemented there, so fp128 compares must fall back to SelectionDAG rather
; than silently dropping the libcall.
; RUN: llc -mtriple=arm64ec-pc-windows-msvc -O0 < %s | FileCheck %s
; RUN: llc -mtriple=arm64ec-pc-windows-msvc -O2 < %s | FileCheck %s
define i1 @cmp_oeq(fp128 %a, fp128 %b) {
; CHECK-LABEL: "#cmp_oeq":
; CHECK: bl "#__eqtf2"
%r = fcmp oeq fp128 %a, %b
ret i1 %r
}
define i1 @cmp_olt(fp128 %a, fp128 %b) {
; CHECK-LABEL: "#cmp_olt":
; CHECK: bl "#__lttf2"
%r = fcmp olt fp128 %a, %b
ret i1 %r
}
define i1 @cmp_uno(fp128 %a, fp128 %b) {
; CHECK-LABEL: "#cmp_uno":
; CHECK: bl "#__unordtf2"
%r = fcmp uno fp128 %a, %b
ret i1 %r
}
define i1 @cmp_une_self(fp128 %a) {
; CHECK-LABEL: "#cmp_une_self":
; CHECK: bl "#__unordtf2"
%r = fcmp une fp128 %a, %a
ret i1 %r
}