| ; 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 |
| } |