24 lines
679 B
LLVM

; RUN: opt -S -passes='dxil-legalize' -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s
define float @negateF(float %x) {
; CHECK-LABEL: define float @negateF(
; CHECK-SAME: float [[X:%.*]]) {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: [[Y:%.*]] = fsub float -0.000000e+00, [[X]]
; CHECK-NEXT: ret float [[Y]]
entry:
%y = fneg float %x
ret float %y
}
define double @negateD(double %x) {
; CHECK-LABEL: define double @negateD(
; CHECK-SAME: double [[X:%.*]]) {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: [[Y:%.*]] = fsub double -0.000000e+00, [[X]]
; CHECK-NEXT: ret double [[Y]]
entry:
%y = fneg double %x
ret double %y
}